From d7cd65054369a5eb93235a2d9b85b0f553bd1306 Mon Sep 17 00:00:00 2001 From: jeremytchang <78522362+jeremytchang@users.noreply.github.com> Date: Fri, 31 Mar 2023 15:27:41 -0700 Subject: [PATCH] feat: generate SDKs for Looker 23.4 (#1290) Release-As: 23.4.0 --- csharp/rtl/Constants.cs | 2 +- csharp/sdk/3.1/methods.cs | 2 +- csharp/sdk/3.1/models.cs | 2 +- csharp/sdk/4.0/methods.cs | 50 ++--- csharp/sdk/4.0/models.cs | 50 +---- go/sdk/v4/methods.go | 45 ++-- go/sdk/v4/models.go | 30 +-- kotlin/src/main/com/looker/sdk/4.0/methods.kt | 42 ++-- kotlin/src/main/com/looker/sdk/4.0/models.kt | 56 +---- kotlin/src/main/com/looker/sdk/4.0/streams.kt | 34 +-- kotlin/src/main/com/looker/sdk/Constants.kt | 2 +- packages/sdk/src/3.1/funcs.ts | 2 +- packages/sdk/src/3.1/methods.ts | 2 +- packages/sdk/src/3.1/methodsInterface.ts | 2 +- packages/sdk/src/3.1/models.ts | 2 +- packages/sdk/src/3.1/streams.ts | 2 +- packages/sdk/src/4.0/funcs.ts | 55 ++--- packages/sdk/src/4.0/methods.ts | 53 ++--- packages/sdk/src/4.0/methodsInterface.ts | 42 ++-- packages/sdk/src/4.0/models.ts | 80 +------ packages/sdk/src/4.0/streams.ts | 57 ++--- packages/sdk/src/constants.ts | 2 +- python/looker_sdk/sdk/api31/methods.py | 2 +- python/looker_sdk/sdk/api31/models.py | 2 +- python/looker_sdk/sdk/api40/methods.py | 56 ++--- python/looker_sdk/sdk/api40/models.py | 98 +-------- python/looker_sdk/sdk/constants.py | 2 +- spec/Looker.3.1.json | 20 +- spec/Looker.3.1.oas.json | 32 ++- spec/Looker.4.0.json | 152 ++------------ spec/Looker.4.0.oas.json | 197 ++++-------------- swift/looker/rtl/constants.swift | 2 +- swift/looker/sdk/methods.swift | 46 ++-- swift/looker/sdk/models.swift | 187 +---------------- swift/looker/sdk/streams.swift | 38 ++-- 35 files changed, 317 insertions(+), 1131 deletions(-) diff --git a/csharp/rtl/Constants.cs b/csharp/rtl/Constants.cs index e718ebe06..c31c2a6bb 100644 --- a/csharp/rtl/Constants.cs +++ b/csharp/rtl/Constants.cs @@ -61,7 +61,7 @@ public struct Constants public const string DefaultApiVersion = "4.0"; public const string AgentPrefix = "CS-SDK"; - public const string LookerVersion = "23.2"; + public const string LookerVersion = "23.4"; public const string Bearer = "Bearer"; public const string LookerAppiId = "x-looker-appid"; diff --git a/csharp/sdk/3.1/methods.cs b/csharp/sdk/3.1/methods.cs index 811fe5cfc..31af786e6 100644 --- a/csharp/sdk/3.1/methods.cs +++ b/csharp/sdk/3.1/methods.cs @@ -1,6 +1,6 @@ /// MIT License /// -/// Copyright (c) 2021 Looker Data Sciences, Inc. +/// Copyright (c) 2023 Looker Data Sciences, Inc. /// /// Permission is hereby granted, free of charge, to any person obtaining a copy /// of this software and associated documentation files (the "Software"), to deal diff --git a/csharp/sdk/3.1/models.cs b/csharp/sdk/3.1/models.cs index 56435f35f..968acaf2f 100644 --- a/csharp/sdk/3.1/models.cs +++ b/csharp/sdk/3.1/models.cs @@ -1,6 +1,6 @@ /// MIT License /// -/// Copyright (c) 2021 Looker Data Sciences, Inc. +/// Copyright (c) 2023 Looker Data Sciences, Inc. /// /// Permission is hereby granted, free of charge, to any person obtaining a copy /// of this software and associated documentation files (the "Software"), to deal diff --git a/csharp/sdk/4.0/methods.cs b/csharp/sdk/4.0/methods.cs index 7e3473db7..48909d45c 100644 --- a/csharp/sdk/4.0/methods.cs +++ b/csharp/sdk/4.0/methods.cs @@ -1,6 +1,6 @@ /// MIT License /// -/// Copyright (c) 2021 Looker Data Sciences, Inc. +/// Copyright (c) 2023 Looker Data Sciences, Inc. /// /// Permission is hereby granted, free of charge, to any person obtaining a copy /// of this software and associated documentation files (the "Software"), to deal @@ -21,7 +21,7 @@ /// SOFTWARE. /// -/// 460 API methods +/// 459 API methods #nullable enable using System; @@ -725,16 +725,20 @@ public async Task> create_embed_url_as_ /// ### Acquire a cookieless embed session. /// /// The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - /// to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - /// otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - /// attributes if the embed user already exists. This is the same behavior as the embed SSO login. + /// to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + /// similar behavior to the embed SSO login as they both can create and update embed user data. /// /// The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired /// and the credentials match the credentials for the embed session, a new authentication token will be /// generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - /// the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + /// the session is NOT extended in this scenario. In other words the session_length parameter is ignored. /// - /// If the session_reference_token has expired, it will be ignored and a new embed session will be created. + /// **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + /// is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + /// first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + /// + /// If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + /// new embed session will be created. Note that the embed user definition will be updated in this scenario. /// /// If the credentials do not match the credentials associated with an exisiting session_reference_token, a /// 404 will be returned. @@ -2167,20 +2171,6 @@ public async Task> update_cloud_stor return await AuthRequest(HttpMethod.Patch, "/cloud_storage", null,body,options); } - /// ### Looker Configuration Refresh - /// - /// This is an endpoint for manually calling refresh on Configuration manager. - /// - /// PUT /configuration_force_refresh -> object - /// - /// object Refresh Looker Configuration (application/json) - /// - public async Task> configuration_force_refresh( - ITransportSettings? options = null) -{ - return await AuthRequest(HttpMethod.Put, "/configuration_force_refresh", null,null,options); - } - /// ### Get the current status and content of custom welcome emails /// /// GET /custom_welcome_email -> CustomWelcomeEmail @@ -2409,7 +2399,6 @@ public async Task> mobile_settings( /// - timezone /// - host_url /// - email_domain_allowlist - /// - sisu /// /// GET /setting -> Setting /// @@ -2439,7 +2428,6 @@ public async Task> get_setting( /// - timezone /// - host_url /// - email_domain_allowlist - /// - sisu /// /// See the `Setting` type for more information on the specific values that can be configured. /// @@ -3747,28 +3735,28 @@ public async Task> move_dashboard( /// Note that the created dashboard is not linked to any LookML Dashboard, /// i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. /// - /// POST /dashboards/lookml -> DashboardLookml + /// POST /dashboards/lookml -> Dashboard /// - /// DashboardLookml DashboardLookML (application/json) + /// Dashboard dashboard (application/json) /// - public async Task> import_dashboard_from_lookml( + public async Task> import_dashboard_from_lookml( WriteDashboardLookml body, ITransportSettings? options = null) { - return await AuthRequest(HttpMethod.Post, "/dashboards/lookml", null,body,options); + return await AuthRequest(HttpMethod.Post, "/dashboards/lookml", null,body,options); } /// # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) /// - /// POST /dashboards/from_lookml -> DashboardLookml + /// POST /dashboards/from_lookml -> Dashboard /// - /// DashboardLookml DashboardLookML (application/json) + /// Dashboard dashboard (application/json) /// - public async Task> create_dashboard_from_lookml( + public async Task> create_dashboard_from_lookml( WriteDashboardLookml body, ITransportSettings? options = null) { - return await AuthRequest(HttpMethod.Post, "/dashboards/from_lookml", null,body,options); + return await AuthRequest(HttpMethod.Post, "/dashboards/from_lookml", null,body,options); } /// ### Copy an existing dashboard diff --git a/csharp/sdk/4.0/models.cs b/csharp/sdk/4.0/models.cs index 6257f7fc2..fc1872c41 100644 --- a/csharp/sdk/4.0/models.cs +++ b/csharp/sdk/4.0/models.cs @@ -1,6 +1,6 @@ /// MIT License /// -/// Copyright (c) 2021 Looker Data Sciences, Inc. +/// Copyright (c) 2023 Looker Data Sciences, Inc. /// /// Permission is hereby granted, free of charge, to any person obtaining a copy /// of this software and associated documentation files (the "Software"), to deal @@ -21,7 +21,7 @@ /// SOFTWARE. /// -/// 328 API models: 245 Spec, 0 Request, 61 Write, 22 Enum +/// 326 API models: 244 Spec, 0 Request, 60 Write, 22 Enum #nullable enable using System; @@ -4745,27 +4745,6 @@ public class Setting : SdkModel public bool? override_warnings { get; set; } = null; /// An array of Email Domain Allowlist of type string for Scheduled Content public string[]? email_domain_allowlist { get; set; } = null; - public SisuSetting? sisu { get; set; } -} - -public class SisuSetting : SdkModel -{ - /// Operations the current user is able to perform on this object (read-only) - public StringDictionary? can { get; set; } = null; - /// Whether the Sisu integration is enabled - public bool? enabled { get; set; } = null; - /// The extension ID of the installed Sisu extension - public string? extension_id { get; set; } = null; - /// Whether the Looker instance has been configured with Sisu - public bool? configured { get; set; } = null; - /// The API key ID generated for use with Sisu - public string? api_key_id { get; set; } = null; - /// The user ID associated with the API key generated for use with Sisu - public string? api_user_id { get; set; } = null; - /// The marketplace installation id of the Sisu extension - public string? installation_id { get; set; } = null; - /// An alternate marketplace listing id to use for the Sisu extension. - public string? listing_id_override { get; set; } = null; } public class SmtpNodeStatus : SdkModel @@ -6693,31 +6672,6 @@ public class WriteSetting : SdkModel public bool? override_warnings { get; set; } = null; /// An array of Email Domain Allowlist of type string for Scheduled Content public string[]? email_domain_allowlist { get; set; } = null; - /// - /// Dynamic writeable type for SisuSetting removes: - /// can - /// - public WriteSisuSetting? sisu { get; set; } -} - -/// Dynamic writeable type for SisuSetting removes: -/// can -public class WriteSisuSetting : SdkModel -{ - /// Whether the Sisu integration is enabled - public bool? enabled { get; set; } = null; - /// The extension ID of the installed Sisu extension - public string? extension_id { get; set; } = null; - /// Whether the Looker instance has been configured with Sisu - public bool? configured { get; set; } = null; - /// The API key ID generated for use with Sisu - public string? api_key_id { get; set; } = null; - /// The user ID associated with the API key generated for use with Sisu - public string? api_user_id { get; set; } = null; - /// The marketplace installation id of the Sisu extension - public string? installation_id { get; set; } = null; - /// An alternate marketplace listing id to use for the Sisu extension. - public string? listing_id_override { get; set; } = null; } /// Dynamic writeable type for SshServer removes: diff --git a/go/sdk/v4/methods.go b/go/sdk/v4/methods.go index 2eb4c3b13..b39604763 100644 --- a/go/sdk/v4/methods.go +++ b/go/sdk/v4/methods.go @@ -2,7 +2,7 @@ MIT License -Copyright (c) 2021 Looker Data Sciences, Inc. +Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -26,7 +26,7 @@ SOFTWARE. /* -460 API methods +459 API methods */ // NOTE: Do not edit this file generated by Looker SDK Codegen for API v4 @@ -596,16 +596,20 @@ func (l *LookerSDK) CreateEmbedUrlAsMe( // ### Acquire a cookieless embed session. // // The acquire session endpoint negates the need for signing the embed url and passing it as a parameter -// to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, -// otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group -// attributes if the embed user already exists. This is the same behavior as the embed SSO login. +// to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is +// similar behavior to the embed SSO login as they both can create and update embed user data. // // The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired // and the credentials match the credentials for the embed session, a new authentication token will be // generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that -// the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. +// the session is NOT extended in this scenario. In other words the session_length parameter is ignored. // -// If the session_reference_token has expired, it will be ignored and a new embed session will be created. +// **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user +// is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the +// first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. +// +// If the `session_reference_token` is provided but the session has expired, the token will be ignored and a +// new embed session will be created. Note that the embed user definition will be updated in this scenario. // // If the credentials do not match the credentials associated with an exisiting session_reference_token, a // 404 will be returned. @@ -1799,19 +1803,6 @@ func (l *LookerSDK) UpdateCloudStorageConfiguration( } -// ### Looker Configuration Refresh -// -// This is an endpoint for manually calling refresh on Configuration manager. -// -// PUT /configuration_force_refresh -> interface{} -func (l *LookerSDK) ConfigurationForceRefresh( - options *rtl.ApiSettings) (interface{}, error) { - var result interface{} - err := l.session.Do(&result, "PUT", "/4.0", "/configuration_force_refresh", nil, nil, options) - return result, err - -} - // ### Get the current status and content of custom welcome emails // // GET /custom_welcome_email -> CustomWelcomeEmail @@ -2022,7 +2013,6 @@ func (l *LookerSDK) MobileSettings( // - timezone // - host_url // - email_domain_allowlist -// - sisu // // GET /setting -> Setting func (l *LookerSDK) GetSetting( @@ -2049,7 +2039,6 @@ func (l *LookerSDK) GetSetting( // - timezone // - host_url // - email_domain_allowlist -// - sisu // // See the `Setting` type for more information on the specific values that can be configured. // @@ -3042,11 +3031,11 @@ func (l *LookerSDK) MoveDashboard( // Note that the created dashboard is not linked to any LookML Dashboard, // i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. // -// POST /dashboards/lookml -> DashboardLookml +// POST /dashboards/lookml -> Dashboard func (l *LookerSDK) ImportDashboardFromLookml( body WriteDashboardLookml, - options *rtl.ApiSettings) (DashboardLookml, error) { - var result DashboardLookml + options *rtl.ApiSettings) (Dashboard, error) { + var result Dashboard err := l.session.Do(&result, "POST", "/4.0", "/dashboards/lookml", nil, body, options) return result, err @@ -3054,11 +3043,11 @@ func (l *LookerSDK) ImportDashboardFromLookml( // # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) // -// POST /dashboards/from_lookml -> DashboardLookml +// POST /dashboards/from_lookml -> Dashboard func (l *LookerSDK) CreateDashboardFromLookml( body WriteDashboardLookml, - options *rtl.ApiSettings) (DashboardLookml, error) { - var result DashboardLookml + options *rtl.ApiSettings) (Dashboard, error) { + var result Dashboard err := l.session.Do(&result, "POST", "/4.0", "/dashboards/from_lookml", nil, body, options) return result, err diff --git a/go/sdk/v4/models.go b/go/sdk/v4/models.go index 37173bd90..11c8510b2 100644 --- a/go/sdk/v4/models.go +++ b/go/sdk/v4/models.go @@ -2,7 +2,7 @@ MIT License -Copyright (c) 2021 Looker Data Sciences, Inc. +Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -26,7 +26,7 @@ SOFTWARE. /* -393 API models: 245 Spec, 66 Request, 60 Write, 22 Enum +391 API models: 244 Spec, 66 Request, 59 Write, 22 Enum */ // NOTE: Do not edit this file generated by Looker SDK Codegen for API v4 @@ -3366,18 +3366,6 @@ type Setting struct { 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 - Sisu *SisuSetting `json:"sisu,omitempty"` -} - -type SisuSetting struct { - Can *map[string]bool `json:"can,omitempty"` // Operations the current user is able to perform on this object - Enabled *bool `json:"enabled,omitempty"` // Whether the Sisu integration is enabled - ExtensionId *string `json:"extension_id,omitempty"` // The extension ID of the installed Sisu extension - Configured *bool `json:"configured,omitempty"` // Whether the Looker instance has been configured with Sisu - ApiKeyId *string `json:"api_key_id,omitempty"` // The API key ID generated for use with Sisu - ApiUserId *string `json:"api_user_id,omitempty"` // The user ID associated with the API key generated for use with Sisu - InstallationId *string `json:"installation_id,omitempty"` // The marketplace installation id of the Sisu extension - ListingIdOverride *string `json:"listing_id_override,omitempty"` // An alternate marketplace listing id to use for the Sisu extension. } type SmtpNodeStatus struct { @@ -4479,20 +4467,6 @@ type WriteSetting struct { 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 - Sisu *WriteSisuSetting `json:"sisu,omitempty"` // Dynamic writeable type for SisuSetting removes: - // can -} - -// Dynamic writeable type for SisuSetting removes: -// can -type WriteSisuSetting struct { - Enabled *bool `json:"enabled,omitempty"` // Whether the Sisu integration is enabled - ExtensionId *string `json:"extension_id,omitempty"` // The extension ID of the installed Sisu extension - Configured *bool `json:"configured,omitempty"` // Whether the Looker instance has been configured with Sisu - ApiKeyId *string `json:"api_key_id,omitempty"` // The API key ID generated for use with Sisu - ApiUserId *string `json:"api_user_id,omitempty"` // The user ID associated with the API key generated for use with Sisu - InstallationId *string `json:"installation_id,omitempty"` // The marketplace installation id of the Sisu extension - ListingIdOverride *string `json:"listing_id_override,omitempty"` // An alternate marketplace listing id to use for the Sisu extension. } // Dynamic writeable type for SshServer 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 b6f39353e..ecdbca820 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/methods.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/methods.kt @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 460 API methods + * 459 API methods */ @@ -734,16 +734,20 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - * to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - * otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - * attributes if the embed user already exists. This is the same behavior as the embed SSO login. + * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - * the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * - * If the session_reference_token has expired, it will be ignored and a new embed session will be created. + * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + * + * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an exisiting session_reference_token, a * 404 will be returned. @@ -2201,20 +2205,6 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { } - /** - * ### Looker Configuration Refresh - * - * This is an endpoint for manually calling refresh on Configuration manager. - * - * PUT /configuration_force_refresh -> Any - */ - fun configuration_force_refresh( - - ) : SDKResponse { - return this.put("/configuration_force_refresh", mapOf()) - } - - /** * ### Get the current status and content of custom welcome emails * @@ -2450,7 +2440,6 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * @param {String} fields Requested fields * @@ -2480,7 +2469,6 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * See the `Setting` type for more information on the specific values that can be configured. * @@ -3807,12 +3795,12 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * @param {WriteDashboardLookml} body * - * POST /dashboards/lookml -> DashboardLookml + * POST /dashboards/lookml -> Dashboard */ fun import_dashboard_from_lookml( body: WriteDashboardLookml ) : SDKResponse { - return this.post("/dashboards/lookml", mapOf(), body) + return this.post("/dashboards/lookml", mapOf(), body) } @@ -3821,12 +3809,12 @@ class LookerSDK(authSession: AuthSession) : APIMethods(authSession) { * * @param {WriteDashboardLookml} body * - * POST /dashboards/from_lookml -> DashboardLookml + * POST /dashboards/from_lookml -> Dashboard */ fun create_dashboard_from_lookml( body: WriteDashboardLookml ) : SDKResponse { - return this.post("/dashboards/from_lookml", mapOf(), body) + return this.post("/dashboards/from_lookml", mapOf(), 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 b2241e2b5..9874163d9 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/models.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/models.kt @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 328 API models: 245 Spec, 0 Request, 61 Write, 22 Enum + * 326 API models: 244 Spec, 0 Request, 60 Write, 22 Enum */ @@ -4957,7 +4957,6 @@ data class SessionConfig ( * @property host_url Change the base portion of your Looker instance URL setting * @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 sisu */ data class Setting ( var extension_framework_enabled: Boolean? = null, @@ -4972,29 +4971,7 @@ data class Setting ( var data_connector_default_enabled: Boolean? = null, var host_url: String? = null, var override_warnings: Boolean? = null, - var email_domain_allowlist: Array? = null, - var sisu: SisuSetting? = null -) : Serializable - -/** - * @property can Operations the current user is able to perform on this object (read-only) - * @property enabled Whether the Sisu integration is enabled - * @property extension_id The extension ID of the installed Sisu extension - * @property configured Whether the Looker instance has been configured with Sisu - * @property api_key_id The API key ID generated for use with Sisu - * @property api_user_id The user ID associated with the API key generated for use with Sisu - * @property installation_id The marketplace installation id of the Sisu extension - * @property listing_id_override An alternate marketplace listing id to use for the Sisu extension. - */ -data class SisuSetting ( - var can: Map? = null, - var enabled: Boolean? = null, - var extension_id: String? = null, - var configured: Boolean? = null, - var api_key_id: String? = null, - var api_user_id: String? = null, - var installation_id: String? = null, - var listing_id_override: String? = null + var email_domain_allowlist: Array? = null ) : Serializable /** @@ -6991,8 +6968,6 @@ data class WriteSessionConfig ( * @property host_url Change the base portion of your Looker instance URL setting * @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 sisu Dynamic writeable type for SisuSetting removes: - * can */ data class WriteSetting ( var extension_framework_enabled: Boolean? = null, @@ -7007,30 +6982,7 @@ data class WriteSetting ( var data_connector_default_enabled: Boolean? = null, var host_url: String? = null, var override_warnings: Boolean? = null, - var email_domain_allowlist: Array? = null, - var sisu: WriteSisuSetting? = null -) : Serializable - -/** - * Dynamic writeable type for SisuSetting removes: - * can - * - * @property enabled Whether the Sisu integration is enabled - * @property extension_id The extension ID of the installed Sisu extension - * @property configured Whether the Looker instance has been configured with Sisu - * @property api_key_id The API key ID generated for use with Sisu - * @property api_user_id The user ID associated with the API key generated for use with Sisu - * @property installation_id The marketplace installation id of the Sisu extension - * @property listing_id_override An alternate marketplace listing id to use for the Sisu extension. - */ -data class WriteSisuSetting ( - var enabled: Boolean? = null, - var extension_id: String? = null, - var configured: Boolean? = null, - var api_key_id: String? = null, - var api_user_id: String? = null, - var installation_id: String? = null, - var listing_id_override: String? = null + var email_domain_allowlist: Array? = 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 3026f4ac6..7eea5b442 100644 --- a/kotlin/src/main/com/looker/sdk/4.0/streams.kt +++ b/kotlin/src/main/com/looker/sdk/4.0/streams.kt @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 460 API methods + * 459 API methods */ @@ -733,16 +733,20 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - * to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - * otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - * attributes if the embed user already exists. This is the same behavior as the embed SSO login. + * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - * the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * - * If the session_reference_token has expired, it will be ignored and a new embed session will be created. + * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + * + * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an exisiting session_reference_token, a * 404 will be returned. @@ -2200,20 +2204,6 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { } - /** - * ### Looker Configuration Refresh - * - * This is an endpoint for manually calling refresh on Configuration manager. - * - * PUT /configuration_force_refresh -> ByteArray - */ - fun configuration_force_refresh( - - ) : SDKResponse { - return this.put("/configuration_force_refresh", mapOf()) - } - - /** * ### Get the current status and content of custom welcome emails * @@ -2449,7 +2439,6 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * @param {String} fields Requested fields * @@ -2479,7 +2468,6 @@ class LookerSDKStream(authSession: AuthSession) : APIMethods(authSession) { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * See the `Setting` type for more information on the specific values that can be configured. * diff --git a/kotlin/src/main/com/looker/sdk/Constants.kt b/kotlin/src/main/com/looker/sdk/Constants.kt index 29432e482..27f0cc3ed 100644 --- a/kotlin/src/main/com/looker/sdk/Constants.kt +++ b/kotlin/src/main/com/looker/sdk/Constants.kt @@ -28,7 +28,7 @@ package com.looker.sdk const val ENVIRONMENT_PREFIX = "LOOKERSDK" const val SDK_TAG = "KT-SDK" -const val LOOKER_VERSION = "23.2" +const val LOOKER_VERSION = "23.4" const val API_VERSION = "4.0" const val AGENT_TAG = "$SDK_TAG $LOOKER_VERSION" const val LOOKER_APPID = "x-looker-appid" diff --git a/packages/sdk/src/3.1/funcs.ts b/packages/sdk/src/3.1/funcs.ts index 3f2a6c37e..76e71aa62 100644 --- a/packages/sdk/src/3.1/funcs.ts +++ b/packages/sdk/src/3.1/funcs.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/sdk/src/3.1/methods.ts b/packages/sdk/src/3.1/methods.ts index d262e53f0..f5a0d6628 100644 --- a/packages/sdk/src/3.1/methods.ts +++ b/packages/sdk/src/3.1/methods.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/sdk/src/3.1/methodsInterface.ts b/packages/sdk/src/3.1/methodsInterface.ts index ac7770412..73974df9c 100644 --- a/packages/sdk/src/3.1/methodsInterface.ts +++ b/packages/sdk/src/3.1/methodsInterface.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/sdk/src/3.1/models.ts b/packages/sdk/src/3.1/models.ts index c094290cc..6f82c3b83 100644 --- a/packages/sdk/src/3.1/models.ts +++ b/packages/sdk/src/3.1/models.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/sdk/src/3.1/streams.ts b/packages/sdk/src/3.1/streams.ts index eab040ae9..47a9f0b89 100644 --- a/packages/sdk/src/3.1/streams.ts +++ b/packages/sdk/src/3.1/streams.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/packages/sdk/src/4.0/funcs.ts b/packages/sdk/src/4.0/funcs.ts index b92da1515..1170ec5e8 100644 --- a/packages/sdk/src/4.0/funcs.ts +++ b/packages/sdk/src/4.0/funcs.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 460 API methods + * 459 API methods */ import type { @@ -1183,16 +1183,20 @@ export const create_embed_url_as_me = async ( * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - * to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - * otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - * attributes if the embed user already exists. This is the same behavior as the embed SSO login. + * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - * the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * - * If the session_reference_token has expired, it will be ignored and a new embed session will be created. + * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + * + * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an exisiting session_reference_token, a * 404 will be returned. @@ -3208,29 +3212,6 @@ export const update_cloud_storage_configuration = async ( ) } -/** - * ### Looker Configuration Refresh - * - * This is an endpoint for manually calling refresh on Configuration manager. - * - * PUT /configuration_force_refresh -> any - * - * @param sdk IAPIMethods implementation - * @param options one-time API call overrides - * - */ -export const configuration_force_refresh = async ( - sdk: IAPIMethods, - options?: Partial -): Promise> => { - return sdk.put( - '/configuration_force_refresh', - null, - null, - options - ) -} - /** * ### Get the current status and content of custom welcome emails * @@ -3608,7 +3589,6 @@ export const mobile_settings = async ( * - timezone * - host_url * - email_domain_allowlist - * - sisu * * GET /setting -> ISetting * @@ -3646,7 +3626,6 @@ export const get_setting = async ( * - timezone * - host_url * - email_domain_allowlist - * - sisu * * See the `Setting` type for more information on the specific values that can be configured. * @@ -5378,7 +5357,7 @@ export const move_dashboard = async ( * Note that the created dashboard is not linked to any LookML Dashboard, * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. * - * POST /dashboards/lookml -> IDashboardLookml + * POST /dashboards/lookml -> IDashboard * * @param sdk IAPIMethods implementation * @param body Partial @@ -5389,8 +5368,8 @@ export const import_dashboard_from_lookml = async ( sdk: IAPIMethods, body: Partial, options?: Partial -): Promise> => { - return sdk.post( +): Promise> => { + return sdk.post( '/dashboards/lookml', null, body, @@ -5401,7 +5380,7 @@ export const import_dashboard_from_lookml = async ( /** * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) * - * POST /dashboards/from_lookml -> IDashboardLookml + * POST /dashboards/from_lookml -> IDashboard * * @param sdk IAPIMethods implementation * @param body Partial @@ -5412,8 +5391,8 @@ export const create_dashboard_from_lookml = async ( sdk: IAPIMethods, body: Partial, options?: Partial -): Promise> => { - return sdk.post( +): Promise> => { + return sdk.post( '/dashboards/from_lookml', null, body, diff --git a/packages/sdk/src/4.0/methods.ts b/packages/sdk/src/4.0/methods.ts index 65310fecd..3b8cf563f 100644 --- a/packages/sdk/src/4.0/methods.ts +++ b/packages/sdk/src/4.0/methods.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 460 API methods + * 459 API methods */ import type { @@ -1132,16 +1132,20 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - * to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - * otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - * attributes if the embed user already exists. This is the same behavior as the embed SSO login. + * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - * the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * - * If the session_reference_token has expired, it will be ignored and a new embed session will be created. + * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + * + * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an exisiting session_reference_token, a * 404 will be returned. @@ -3024,27 +3028,6 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { ) } - /** - * ### Looker Configuration Refresh - * - * This is an endpoint for manually calling refresh on Configuration manager. - * - * PUT /configuration_force_refresh -> any - * - * @param options one-time API call overrides - * - */ - async configuration_force_refresh( - options?: Partial - ): Promise> { - return this.put( - '/configuration_force_refresh', - null, - null, - options - ) - } - /** * ### Get the current status and content of custom welcome emails * @@ -3390,7 +3373,6 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * GET /setting -> ISetting * @@ -3426,7 +3408,6 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * See the `Setting` type for more information on the specific values that can be configured. * @@ -5046,7 +5027,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { * Note that the created dashboard is not linked to any LookML Dashboard, * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. * - * POST /dashboards/lookml -> IDashboardLookml + * POST /dashboards/lookml -> IDashboard * * @param body Partial * @param options one-time API call overrides @@ -5055,8 +5036,8 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { async import_dashboard_from_lookml( body: Partial, options?: Partial - ): Promise> { - return this.post( + ): Promise> { + return this.post( '/dashboards/lookml', null, body, @@ -5067,7 +5048,7 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { /** * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) * - * POST /dashboards/from_lookml -> IDashboardLookml + * POST /dashboards/from_lookml -> IDashboard * * @param body Partial * @param options one-time API call overrides @@ -5076,8 +5057,8 @@ export class Looker40SDK extends APIMethods implements ILooker40SDK { async create_dashboard_from_lookml( body: Partial, options?: Partial - ): Promise> { - return this.post( + ): Promise> { + return this.post( '/dashboards/from_lookml', null, body, diff --git a/packages/sdk/src/4.0/methodsInterface.ts b/packages/sdk/src/4.0/methodsInterface.ts index 6b5bc12c0..15561a161 100644 --- a/packages/sdk/src/4.0/methodsInterface.ts +++ b/packages/sdk/src/4.0/methodsInterface.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 460 API methods + * 459 API methods */ import type { @@ -912,16 +912,20 @@ export interface ILooker40SDK extends IAPIMethods { * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - * to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - * otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - * attributes if the embed user already exists. This is the same behavior as the embed SSO login. + * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - * the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * - * If the session_reference_token has expired, it will be ignored and a new embed session will be created. + * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + * + * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an exisiting session_reference_token, a * 404 will be returned. @@ -2256,20 +2260,6 @@ export interface ILooker40SDK extends IAPIMethods { options?: Partial ): Promise> - /** - * ### Looker Configuration Refresh - * - * This is an endpoint for manually calling refresh on Configuration manager. - * - * PUT /configuration_force_refresh -> any - * - * @param options one-time API call overrides - * - */ - configuration_force_refresh( - options?: Partial - ): Promise> - /** * ### Get the current status and content of custom welcome emails * @@ -2506,7 +2496,6 @@ export interface ILooker40SDK extends IAPIMethods { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * GET /setting -> ISetting * @@ -2535,7 +2524,6 @@ export interface ILooker40SDK extends IAPIMethods { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * See the `Setting` type for more information on the specific values that can be configured. * @@ -3649,7 +3637,7 @@ export interface ILooker40SDK extends IAPIMethods { * Note that the created dashboard is not linked to any LookML Dashboard, * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. * - * POST /dashboards/lookml -> IDashboardLookml + * POST /dashboards/lookml -> IDashboard * * @param body Partial * @param options one-time API call overrides @@ -3658,12 +3646,12 @@ export interface ILooker40SDK extends IAPIMethods { import_dashboard_from_lookml( body: Partial, options?: Partial - ): Promise> + ): Promise> /** * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) * - * POST /dashboards/from_lookml -> IDashboardLookml + * POST /dashboards/from_lookml -> IDashboard * * @param body Partial * @param options one-time API call overrides @@ -3672,7 +3660,7 @@ export interface ILooker40SDK extends IAPIMethods { create_dashboard_from_lookml( body: Partial, options?: Partial - ): Promise> + ): Promise> /** * ### Copy an existing dashboard diff --git a/packages/sdk/src/4.0/models.ts b/packages/sdk/src/4.0/models.ts index 623f198fc..95c77fd68 100644 --- a/packages/sdk/src/4.0/models.ts +++ b/packages/sdk/src/4.0/models.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 394 API models: 245 Spec, 66 Request, 61 Write, 22 Enum + * 392 API models: 244 Spec, 66 Request, 60 Write, 22 Enum */ import type { IDictionary, DelimArray } from '@looker/sdk-rtl' @@ -10314,42 +10314,6 @@ export interface ISetting { * An array of Email Domain Allowlist of type string for Scheduled Content */ email_domain_allowlist?: string[] - sisu?: ISisuSetting -} - -export interface ISisuSetting { - /** - * Operations the current user is able to perform on this object (read-only) - */ - can?: IDictionary - /** - * Whether the Sisu integration is enabled - */ - enabled?: boolean - /** - * The extension ID of the installed Sisu extension - */ - extension_id?: string | null - /** - * Whether the Looker instance has been configured with Sisu - */ - configured?: boolean - /** - * The API key ID generated for use with Sisu - */ - api_key_id?: string | null - /** - * The user ID associated with the API key generated for use with Sisu - */ - api_user_id?: string | null - /** - * The marketplace installation id of the Sisu extension - */ - installation_id?: string | null - /** - * An alternate marketplace listing id to use for the Sisu extension. - */ - listing_id_override?: string | null } export interface ISmtpNodeStatus { @@ -13533,46 +13497,6 @@ export interface IWriteSetting { * An array of Email Domain Allowlist of type string for Scheduled Content */ email_domain_allowlist?: string[] | null - /** - * Dynamic writeable type for SisuSetting removes: - * can - */ - sisu?: IWriteSisuSetting | null -} - -/** - * Dynamic writeable type for SisuSetting removes: - * can - */ -export interface IWriteSisuSetting { - /** - * Whether the Sisu integration is enabled - */ - enabled?: boolean - /** - * The extension ID of the installed Sisu extension - */ - extension_id?: string | null - /** - * Whether the Looker instance has been configured with Sisu - */ - configured?: boolean - /** - * The API key ID generated for use with Sisu - */ - api_key_id?: string | null - /** - * The user ID associated with the API key generated for use with Sisu - */ - api_user_id?: string | null - /** - * The marketplace installation id of the Sisu extension - */ - installation_id?: string | null - /** - * An alternate marketplace listing id to use for the Sisu extension. - */ - listing_id_override?: string | null } /** diff --git a/packages/sdk/src/4.0/streams.ts b/packages/sdk/src/4.0/streams.ts index 405535df2..bd794c45a 100644 --- a/packages/sdk/src/4.0/streams.ts +++ b/packages/sdk/src/4.0/streams.ts @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 460 API methods + * 459 API methods */ import type { Readable } from 'readable-stream' @@ -1250,16 +1250,20 @@ export class Looker40SDKStream extends APIMethods { * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - * to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - * otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - * attributes if the embed user already exists. This is the same behavior as the embed SSO login. + * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - * the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * - * If the session_reference_token has expired, it will be ignored and a new embed session will be created. + * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + * + * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an exisiting session_reference_token, a * 404 will be returned. @@ -3450,31 +3454,6 @@ export class Looker40SDKStream extends APIMethods { ) } - /** - * ### Looker Configuration Refresh - * - * This is an endpoint for manually calling refresh on Configuration manager. - * - * PUT /configuration_force_refresh -> any - * - * @param callback streaming output function - * @param options one-time API call overrides - * - */ - async configuration_force_refresh( - callback: (readable: Readable) => Promise, - options?: Partial - ) { - return this.authStream( - callback, - 'PUT', - '/configuration_force_refresh', - null, - null, - options - ) - } - /** * ### Get the current status and content of custom welcome emails * @@ -3887,7 +3866,6 @@ export class Looker40SDKStream extends APIMethods { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * GET /setting -> ISetting * @@ -3927,7 +3905,6 @@ export class Looker40SDKStream extends APIMethods { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * See the `Setting` type for more information on the specific values that can be configured. * @@ -5792,7 +5769,7 @@ export class Looker40SDKStream extends APIMethods { * Note that the created dashboard is not linked to any LookML Dashboard, * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. * - * POST /dashboards/lookml -> IDashboardLookml + * POST /dashboards/lookml -> IDashboard * * @param callback streaming output function * @param body Partial @@ -5800,11 +5777,11 @@ export class Looker40SDKStream extends APIMethods { * */ async import_dashboard_from_lookml( - callback: (readable: Readable) => Promise, + callback: (readable: Readable) => Promise, body: Partial, options?: Partial ) { - return this.authStream( + return this.authStream( callback, 'POST', '/dashboards/lookml', @@ -5817,7 +5794,7 @@ export class Looker40SDKStream extends APIMethods { /** * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) * - * POST /dashboards/from_lookml -> IDashboardLookml + * POST /dashboards/from_lookml -> IDashboard * * @param callback streaming output function * @param body Partial @@ -5825,11 +5802,11 @@ export class Looker40SDKStream extends APIMethods { * */ async create_dashboard_from_lookml( - callback: (readable: Readable) => Promise, + callback: (readable: Readable) => Promise, body: Partial, options?: Partial ) { - return this.authStream( + return this.authStream( callback, 'POST', '/dashboards/from_lookml', diff --git a/packages/sdk/src/constants.ts b/packages/sdk/src/constants.ts index 9cfb01fcf..4c6837fc2 100644 --- a/packages/sdk/src/constants.ts +++ b/packages/sdk/src/constants.ts @@ -24,5 +24,5 @@ */ -export const sdkVersion = '23.2' +export const sdkVersion = '23.4' export const environmentPrefix = 'LOOKERSDK' diff --git a/python/looker_sdk/sdk/api31/methods.py b/python/looker_sdk/sdk/api31/methods.py index 3baa2cb6b..53e9dc0f7 100644 --- a/python/looker_sdk/sdk/api31/methods.py +++ b/python/looker_sdk/sdk/api31/methods.py @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2021 Looker Data Sciences, Inc. +# Copyright (c) 2023 Looker Data Sciences, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/python/looker_sdk/sdk/api31/models.py b/python/looker_sdk/sdk/api31/models.py index c810a2e22..5bb0262ca 100644 --- a/python/looker_sdk/sdk/api31/models.py +++ b/python/looker_sdk/sdk/api31/models.py @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2021 Looker Data Sciences, Inc. +# Copyright (c) 2023 Looker Data Sciences, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal diff --git a/python/looker_sdk/sdk/api40/methods.py b/python/looker_sdk/sdk/api40/methods.py index 0e7d390d6..fc868df03 100644 --- a/python/looker_sdk/sdk/api40/methods.py +++ b/python/looker_sdk/sdk/api40/methods.py @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2021 Looker Data Sciences, Inc. +# Copyright (c) 2023 Looker Data Sciences, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -21,7 +21,7 @@ # SOFTWARE. # -# 460 API methods +# 459 API methods # NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0 @@ -863,16 +863,20 @@ def create_embed_url_as_me( # ### Acquire a cookieless embed session. # # The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - # to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - # otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - # attributes if the embed user already exists. This is the same behavior as the embed SSO login. + # to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + # similar behavior to the embed SSO login as they both can create and update embed user data. # # The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired # and the credentials match the credentials for the embed session, a new authentication token will be # generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - # the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + # the session is NOT extended in this scenario. In other words the session_length parameter is ignored. # - # If the session_reference_token has expired, it will be ignored and a new embed session will be created. + # **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + # is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + # first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + # + # If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + # new embed session will be created. Note that the embed user definition will be updated in this scenario. # # If the credentials do not match the credentials associated with an exisiting session_reference_token, a # 404 will be returned. @@ -2743,26 +2747,6 @@ def update_cloud_storage_configuration( ) return response - # ### Looker Configuration Refresh - # - # This is an endpoint for manually calling refresh on Configuration manager. - # - # PUT /configuration_force_refresh -> Any - def configuration_force_refresh( - self, - transport_options: Optional[transport.TransportOptions] = None, - ) -> Any: - """Force Refresh Configuration""" - response = cast( - Any, - self.put( - path="/configuration_force_refresh", - structure=Any, - transport_options=transport_options - ) - ) - return response - # ### Get the current status and content of custom welcome emails # # GET /custom_welcome_email -> mdls.CustomWelcomeEmail @@ -3091,7 +3075,6 @@ def mobile_settings( # - timezone # - host_url # - email_domain_allowlist - # - sisu # # GET /setting -> mdls.Setting def get_setting( @@ -3127,7 +3110,6 @@ def get_setting( # - timezone # - host_url # - email_domain_allowlist - # - sisu # # See the `Setting` type for more information on the specific values that can be configured. # @@ -4758,18 +4740,18 @@ def move_dashboard( # Note that the created dashboard is not linked to any LookML Dashboard, # i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. # - # POST /dashboards/lookml -> mdls.DashboardLookml + # POST /dashboards/lookml -> mdls.Dashboard def import_dashboard_from_lookml( self, body: mdls.WriteDashboardLookml, transport_options: Optional[transport.TransportOptions] = None, - ) -> mdls.DashboardLookml: + ) -> mdls.Dashboard: """Import Dashboard from LookML""" response = cast( - mdls.DashboardLookml, + mdls.Dashboard, self.post( path="/dashboards/lookml", - structure=mdls.DashboardLookml, + structure=mdls.Dashboard, body=body, transport_options=transport_options ) @@ -4778,18 +4760,18 @@ def import_dashboard_from_lookml( # # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) # - # POST /dashboards/from_lookml -> mdls.DashboardLookml + # POST /dashboards/from_lookml -> mdls.Dashboard def create_dashboard_from_lookml( self, body: mdls.WriteDashboardLookml, transport_options: Optional[transport.TransportOptions] = None, - ) -> mdls.DashboardLookml: + ) -> mdls.Dashboard: """Create Dashboard from LookML""" response = cast( - mdls.DashboardLookml, + mdls.Dashboard, self.post( path="/dashboards/from_lookml", - structure=mdls.DashboardLookml, + structure=mdls.Dashboard, body=body, transport_options=transport_options ) diff --git a/python/looker_sdk/sdk/api40/models.py b/python/looker_sdk/sdk/api40/models.py index 78ab4e2da..de35ece69 100644 --- a/python/looker_sdk/sdk/api40/models.py +++ b/python/looker_sdk/sdk/api40/models.py @@ -1,6 +1,6 @@ # MIT License # -# Copyright (c) 2021 Looker Data Sciences, Inc. +# Copyright (c) 2023 Looker Data Sciences, Inc. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal @@ -21,7 +21,7 @@ # SOFTWARE. # -# 328 API models: 245 Spec, 0 Request, 61 Write, 22 Enum +# 326 API models: 244 Spec, 0 Request, 60 Write, 22 Enum # NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0 @@ -9643,7 +9643,6 @@ class Setting(model.Model): host_url: Change the base portion of your Looker instance URL setting 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 - sisu: """ extension_framework_enabled: Optional[bool] = None extension_load_url_enabled: Optional[bool] = None @@ -9658,7 +9657,6 @@ class Setting(model.Model): host_url: Optional[str] = None override_warnings: Optional[bool] = None email_domain_allowlist: Optional[Sequence[str]] = None - sisu: Optional["SisuSetting"] = None def __init__(self, *, extension_framework_enabled: Optional[bool] = None, @@ -9673,8 +9671,7 @@ def __init__(self, *, data_connector_default_enabled: Optional[bool] = None, host_url: Optional[str] = None, override_warnings: Optional[bool] = None, - email_domain_allowlist: Optional[Sequence[str]] = None, - sisu: Optional["SisuSetting"] = None): + email_domain_allowlist: Optional[Sequence[str]] = None): 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 @@ -9688,48 +9685,6 @@ def __init__(self, *, self.host_url = host_url self.override_warnings = override_warnings self.email_domain_allowlist = email_domain_allowlist - self.sisu = sisu - - -@attr.s(auto_attribs=True, init=False) -class SisuSetting(model.Model): - """ - Attributes: - can: Operations the current user is able to perform on this object - enabled: Whether the Sisu integration is enabled - extension_id: The extension ID of the installed Sisu extension - configured: Whether the Looker instance has been configured with Sisu - api_key_id: The API key ID generated for use with Sisu - api_user_id: The user ID associated with the API key generated for use with Sisu - installation_id: The marketplace installation id of the Sisu extension - listing_id_override: An alternate marketplace listing id to use for the Sisu extension. - """ - can: Optional[MutableMapping[str, bool]] = None - enabled: Optional[bool] = None - extension_id: Optional[str] = None - configured: Optional[bool] = None - api_key_id: Optional[str] = None - api_user_id: Optional[str] = None - installation_id: Optional[str] = None - listing_id_override: Optional[str] = None - - def __init__(self, *, - can: Optional[MutableMapping[str, bool]] = None, - enabled: Optional[bool] = None, - extension_id: Optional[str] = None, - configured: Optional[bool] = None, - api_key_id: Optional[str] = None, - api_user_id: Optional[str] = None, - installation_id: Optional[str] = None, - listing_id_override: Optional[str] = None): - self.can = can - self.enabled = enabled - self.extension_id = extension_id - self.configured = configured - self.api_key_id = api_key_id - self.api_user_id = api_user_id - self.installation_id = installation_id - self.listing_id_override = listing_id_override @attr.s(auto_attribs=True, init=False) @@ -13447,8 +13402,6 @@ class WriteSetting(model.Model): host_url: Change the base portion of your Looker instance URL setting 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 - sisu: Dynamic writeable type for SisuSetting removes: -can """ extension_framework_enabled: Optional[bool] = None extension_load_url_enabled: Optional[bool] = None @@ -13463,7 +13416,6 @@ class WriteSetting(model.Model): host_url: Optional[str] = None override_warnings: Optional[bool] = None email_domain_allowlist: Optional[Sequence[str]] = None - sisu: Optional["WriteSisuSetting"] = None def __init__(self, *, extension_framework_enabled: Optional[bool] = None, @@ -13478,8 +13430,7 @@ def __init__(self, *, data_connector_default_enabled: Optional[bool] = None, host_url: Optional[str] = None, override_warnings: Optional[bool] = None, - email_domain_allowlist: Optional[Sequence[str]] = None, - sisu: Optional["WriteSisuSetting"] = None): + email_domain_allowlist: Optional[Sequence[str]] = None): 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 @@ -13493,47 +13444,6 @@ def __init__(self, *, self.host_url = host_url self.override_warnings = override_warnings self.email_domain_allowlist = email_domain_allowlist - self.sisu = sisu - - -@attr.s(auto_attribs=True, init=False) -class WriteSisuSetting(model.Model): - """ - Dynamic writeable type for SisuSetting removes: -can - - Attributes: - enabled: Whether the Sisu integration is enabled - extension_id: The extension ID of the installed Sisu extension - configured: Whether the Looker instance has been configured with Sisu - api_key_id: The API key ID generated for use with Sisu - api_user_id: The user ID associated with the API key generated for use with Sisu - installation_id: The marketplace installation id of the Sisu extension - listing_id_override: An alternate marketplace listing id to use for the Sisu extension. - """ - enabled: Optional[bool] = None - extension_id: Optional[str] = None - configured: Optional[bool] = None - api_key_id: Optional[str] = None - api_user_id: Optional[str] = None - installation_id: Optional[str] = None - listing_id_override: Optional[str] = None - - def __init__(self, *, - enabled: Optional[bool] = None, - extension_id: Optional[str] = None, - configured: Optional[bool] = None, - api_key_id: Optional[str] = None, - api_user_id: Optional[str] = None, - installation_id: Optional[str] = None, - listing_id_override: Optional[str] = None): - self.enabled = enabled - self.extension_id = extension_id - self.configured = configured - self.api_key_id = api_key_id - self.api_user_id = api_user_id - self.installation_id = installation_id - self.listing_id_override = listing_id_override @attr.s(auto_attribs=True, init=False) diff --git a/python/looker_sdk/sdk/constants.py b/python/looker_sdk/sdk/constants.py index 0e0e87175..0579931e3 100644 --- a/python/looker_sdk/sdk/constants.py +++ b/python/looker_sdk/sdk/constants.py @@ -20,5 +20,5 @@ # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN # THE SOFTWARE. -sdk_version = "23.2" +sdk_version = "23.4" environment_prefix = "LOOKERSDK" diff --git a/spec/Looker.3.1.json b/spec/Looker.3.1.json index da9098ae3..ac1afbb96 100644 --- a/spec/Looker.3.1.json +++ b/spec/Looker.3.1.json @@ -2,7 +2,7 @@ "swagger": "2.0", "info": { "version": "3.1.0", - "x-looker-release-version": "23.2.26", + "x-looker-release-version": "23.4.29", "title": "Looker API 3.1 Reference", "description": "### Authorization\n\nThe classic method of API authorization uses Looker **API3** credentials for authorization and access control.\nLooker admins can create API3 credentials on Looker's **Admin/Users** page.\n\nAPI 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.\n\nFor details, see [Looker API Authorization](https://cloud.google.com/looker/docs/r/api/authorization).\n\n\n### API Explorer\n\nThe API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs.\n\nFor details, see the [API Explorer documentation](https://cloud.google.com/looker/docs/r/api/explorer).\n\n\n### Looker Language SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker\nhas an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several\nlanguage SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically\nauthenticate API requests when needed.\n\nFor details on available Looker SDKs, see [Looker API Client SDKs](https://cloud.google.com/looker/docs/r/api/client_sdks).\n\n\n### API Versioning\n\nFuture releases of Looker expand the latest API version release-by-release to securely expose more and more of the core\npower of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\n\nFor details, see [Looker API Versioning](https://cloud.google.com/looker/docs/r/api/versioning).\n\n\n### 3.1 Legacy API\n\nAPI 3.1 is now **deprecated**. API 4.0 should be used instead.\n\nThe text below is retained for reference purposes.\n\nThe following are a few examples of noteworthy items that have changed between API 3.0 and API 3.1.\nFor more comprehensive coverage of API changes, please see the release notes for your Looker release.\n\n### Examples of new things added in API 3.1 (compared to API 3.0):\n\n* [Dashboard construction](#!/3.1/Dashboard/) APIs\n* [Themes](#!/3.1/Theme/) and [custom color collections](#!/3.1/ColorCollection) APIs\n* Create and run [SQL Runner](#!/3.1/Query/run_sql_query) queries\n* Create and run [merged results](#!/3.1/Query/create_merge_query) queries\n* Create and modify [dashboard filters](#!/3.1/Dashboard/create_dashboard_filter)\n* Create and modify [password requirements](#!/3.1/Auth/password_config)\n\n### Deprecated in API 3.0\n\nThe following functions and properties have been deprecated in API 3.0. They continue to exist and work in API 3.0\nfor the next several Looker releases but they have not been carried forward to API 3.1:\n\n* Dashboard Prefetch functions\n* User access_filter functions\n* User API 1.0 credentials functions\n* Space.is_root and Space.is_user_root properties. Use Space.is_shared_root and Space.is_users_root instead.\n\n### Semantic changes in API 3.1:\n\n* [all_looks()](#!/3.1/Look/all_looks) no longer includes soft-deleted looks, matching [all_dashboards()](#!/3.1/Dashboard/all_dashboards) behavior.\nYou can find soft-deleted looks using [search_looks()](#!/3.1/Look/search_looks) with the `deleted` param set to True.\n* [all_spaces()](#!/3.1/Space/all_spaces) no longer includes duplicate items\n* [search_users()](#!/3.1/User/search_users) no longer accepts Y,y,1,0,N,n for Boolean params, only \"true\" and \"false\".\n* For greater client and network compatibility, [render_task_results](#!/3.1/RenderTask/render_task_results) now returns\nHTTP status **202 Accepted** instead of HTTP status **102 Processing**\n* [all_running_queries()](#!/3.1/Query/all_running_queries) and [kill_query](#!/3.1/Query/kill_query) functions have moved into the [Query](#!/3.1/Query/) function group.\n\nThe API Explorer can be used to [interactively compare](https://cloud.google.com/looker/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.\n\n\n### API and SDK Support Policies\n\nLooker API versions and language SDKs have varying support levels. Please read the API and SDK\n[support policies](https://cloud.google.com/looker/docs/r/api/support-policy) for more information.\n\n\n", "contact": { @@ -9103,6 +9103,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -9145,6 +9151,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -9194,6 +9206,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { diff --git a/spec/Looker.3.1.oas.json b/spec/Looker.3.1.oas.json index 057fc1223..74772d737 100644 --- a/spec/Looker.3.1.oas.json +++ b/spec/Looker.3.1.oas.json @@ -2,7 +2,7 @@ "openapi": "3.0.0", "info": { "version": "3.1.0", - "x-looker-release-version": "23.2.26", + "x-looker-release-version": "23.4.29", "title": "Looker API 3.1 Reference", "description": "### Authorization\n\nThe classic method of API authorization uses Looker **API3** credentials for authorization and access control.\nLooker admins can create API3 credentials on Looker's **Admin/Users** page.\n\nAPI 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.\n\nFor details, see [Looker API Authorization](https://cloud.google.com/looker/docs/r/api/authorization).\n\n\n### API Explorer\n\nThe API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs.\n\nFor details, see the [API Explorer documentation](https://cloud.google.com/looker/docs/r/api/explorer).\n\n\n### Looker Language SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker\nhas an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several\nlanguage SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically\nauthenticate API requests when needed.\n\nFor details on available Looker SDKs, see [Looker API Client SDKs](https://cloud.google.com/looker/docs/r/api/client_sdks).\n\n\n### API Versioning\n\nFuture releases of Looker expand the latest API version release-by-release to securely expose more and more of the core\npower of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\n\nFor details, see [Looker API Versioning](https://cloud.google.com/looker/docs/r/api/versioning).\n\n\n### 3.1 Legacy API\n\nAPI 3.1 is now **deprecated**. API 4.0 should be used instead.\n\nThe text below is retained for reference purposes.\n\nThe following are a few examples of noteworthy items that have changed between API 3.0 and API 3.1.\nFor more comprehensive coverage of API changes, please see the release notes for your Looker release.\n\n### Examples of new things added in API 3.1 (compared to API 3.0):\n\n* [Dashboard construction](#!/3.1/Dashboard/) APIs\n* [Themes](#!/3.1/Theme/) and [custom color collections](#!/3.1/ColorCollection) APIs\n* Create and run [SQL Runner](#!/3.1/Query/run_sql_query) queries\n* Create and run [merged results](#!/3.1/Query/create_merge_query) queries\n* Create and modify [dashboard filters](#!/3.1/Dashboard/create_dashboard_filter)\n* Create and modify [password requirements](#!/3.1/Auth/password_config)\n\n### Deprecated in API 3.0\n\nThe following functions and properties have been deprecated in API 3.0. They continue to exist and work in API 3.0\nfor the next several Looker releases but they have not been carried forward to API 3.1:\n\n* Dashboard Prefetch functions\n* User access_filter functions\n* User API 1.0 credentials functions\n* Space.is_root and Space.is_user_root properties. Use Space.is_shared_root and Space.is_users_root instead.\n\n### Semantic changes in API 3.1:\n\n* [all_looks()](#!/3.1/Look/all_looks) no longer includes soft-deleted looks, matching [all_dashboards()](#!/3.1/Dashboard/all_dashboards) behavior.\nYou can find soft-deleted looks using [search_looks()](#!/3.1/Look/search_looks) with the `deleted` param set to True.\n* [all_spaces()](#!/3.1/Space/all_spaces) no longer includes duplicate items\n* [search_users()](#!/3.1/User/search_users) no longer accepts Y,y,1,0,N,n for Boolean params, only \"true\" and \"false\".\n* For greater client and network compatibility, [render_task_results](#!/3.1/RenderTask/render_task_results) now returns\nHTTP status **202 Accepted** instead of HTTP status **102 Processing**\n* [all_running_queries()](#!/3.1/Query/all_running_queries) and [kill_query](#!/3.1/Query/kill_query) functions have moved into the [Query](#!/3.1/Query/) function group.\n\nThe API Explorer can be used to [interactively compare](https://cloud.google.com/looker/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.\n\n\n### API and SDK Support Policies\n\nLooker API versions and language SDKs have varying support levels. Please read the API and SDK\n[support policies](https://cloud.google.com/looker/docs/r/api/support-policy) for more information.\n\n\n", "contact": { @@ -12493,6 +12493,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -12549,6 +12559,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -12603,6 +12623,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { diff --git a/spec/Looker.4.0.json b/spec/Looker.4.0.json index 5816fef0c..8b1d90493 100644 --- a/spec/Looker.4.0.json +++ b/spec/Looker.4.0.json @@ -1,8 +1,8 @@ { "swagger": "2.0", "info": { - "version": "4.0.23.2", - "x-looker-release-version": "23.2.26", + "version": "4.0.23.4", + "x-looker-release-version": "23.4.29", "title": "Looker API 4.0 Reference", "description": "\nAPI 4.0 is the current release of the Looker API. API 3.1 is deprecated.\n\n### Authorization\n\nThe classic method of API authorization uses Looker **API3** credentials for authorization and access control.\nLooker admins can create API3 credentials on Looker's **Admin/Users** page.\n\nAPI 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.\n\nFor details, see [Looker API Authorization](https://cloud.google.com/looker/docs/r/api/authorization).\n\n\n### API Explorer\n\nThe API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs.\n\nFor details, see the [API Explorer documentation](https://cloud.google.com/looker/docs/r/api/explorer).\n\n\n### Looker Language SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker\nhas an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several\nlanguage SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically\nauthenticate API requests when needed.\n\nFor details on available Looker SDKs, see [Looker API Client SDKs](https://cloud.google.com/looker/docs/r/api/client_sdks).\n\n\n### API Versioning\n\nFuture releases of Looker expand the latest API version release-by-release to securely expose more and more of the core\npower of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\n\nFor details, see [Looker API Versioning](https://cloud.google.com/looker/docs/r/api/versioning).\n\n\n### In This Release\n\nAPI 4.0 version was introduced to make adjustments to API functions, parameters, and response types to\nfix bugs and inconsistencies. These changes fall outside the bounds of non-breaking additive changes we can\nmake to the previous API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped languages like TypeScript, Kotlin, Swift, Go, C#, and more.\n\nSee the [API 4.0 GA announcement](https://developers.looker.com/api/advanced-usage/version-4-ga) for more information\nabout API 4.0.\n\nThe API Explorer can be used to [interactively compare](https://cloud.google.com/looker/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.\n\n\n### API and SDK Support Policies\n\nLooker API versions and language SDKs have varying support levels. Please read the API and SDK\n[support policies](https://cloud.google.com/looker/docs/r/api/support-policy) for more information.\n\n\n", "contact": { @@ -2863,57 +2863,6 @@ "x-looker-activity-type": "non_query" } }, - "/configuration_force_refresh": { - "put": { - "tags": [ - "Config" - ], - "operationId": "configuration_force_refresh", - "summary": "Force Refresh Configuration", - "description": "### Looker Configuration Refresh\n\nThis is an endpoint for manually calling refresh on Configuration manager.\n", - "responses": { - "200": { - "description": "Refresh Looker Configuration", - "schema": { - "type": "any", - "format": "any" - } - }, - "400": { - "description": "Bad Request", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "403": { - "description": "Permission Denied", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "404": { - "description": "Not Found", - "schema": { - "$ref": "#/definitions/Error" - } - }, - "422": { - "description": "Validation Error", - "schema": { - "$ref": "#/definitions/ValidationError" - } - }, - "429": { - "description": "Too Many Requests", - "schema": { - "$ref": "#/definitions/Error" - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, "/content_favorite/search": { "get": { "tags": [ @@ -4947,12 +4896,6 @@ ], "responses": { "200": { - "description": "DashboardLookML", - "schema": { - "$ref": "#/definitions/DashboardLookml" - } - }, - "201": { "description": "dashboard", "schema": { "$ref": "#/definitions/Dashboard" @@ -5014,12 +4957,6 @@ ], "responses": { "200": { - "description": "DashboardLookML", - "schema": { - "$ref": "#/definitions/DashboardLookml" - } - }, - "201": { "description": "dashboard", "schema": { "$ref": "#/definitions/Dashboard" @@ -7700,7 +7637,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 it if it does not exist,\notherwise it reuses it. Note that this endpoint will not update the user, user attributes or group\nattributes if the embed user already exists. This is the same behavior as the embed SSO login.\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 will NOT be extended in this scenario, in other words the session_length parameter is ignored.\n\nIf the session_reference_token has expired, it will be ignored and a new embed session will be created.\n\nIf the credentials do not match the credentials associated with an exisiting 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", + "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 exisiting 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", "parameters": [ { "name": "body", @@ -11578,6 +11515,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -11619,6 +11562,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -11667,6 +11616,12 @@ "$ref": "#/definitions/Error" } }, + "403": { + "description": "Permission Denied", + "schema": { + "$ref": "#/definitions/Error" + } + }, "404": { "description": "Not Found", "schema": { @@ -19135,7 +19090,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 - extension_framework_enabled\n - extension_load_url_enabled\n - marketplace_auto_install_enabled\n - marketplace_enabled\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - sisu\n\nSee the `Setting` type for more information on the specific values that can be configured.\n", + "description": "### Configure Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - extension_framework_enabled\n - extension_load_url_enabled\n - marketplace_auto_install_enabled\n - marketplace_enabled\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n\nSee the `Setting` type for more information on the specific values that can be configured.\n", "parameters": [ { "name": "body", @@ -19201,7 +19156,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 - extension_framework_enabled\n - extension_load_url_enabled\n - marketplace_auto_install_enabled\n - marketplace_enabled\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - sisu\n\n", + "description": "### Get Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - extension_framework_enabled\n - extension_load_url_enabled\n - marketplace_auto_install_enabled\n - marketplace_enabled\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n\n", "parameters": [ { "name": "fields", @@ -19235,12 +19190,6 @@ "schema": { "$ref": "#/definitions/ValidationError" } - }, - "429": { - "description": "Too Many Requests", - "schema": { - "$ref": "#/definitions/Error" - } } }, "x-looker-status": "stable", @@ -38553,61 +38502,6 @@ }, "description": "An array of Email Domain Allowlist of type string for Scheduled Content", "x-looker-nullable": false - }, - "sisu": { - "$ref": "#/definitions/SisuSetting", - "readOnly": true, - "description": "Settings for the Sisu integration", - "x-looker-nullable": false - } - }, - "x-looker-status": "stable" - }, - "SisuSetting": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { - "type": "boolean" - }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "x-looker-nullable": false - }, - "enabled": { - "type": "boolean", - "description": "Whether the Sisu integration is enabled", - "x-looker-nullable": false - }, - "extension_id": { - "type": "string", - "description": "The extension ID of the installed Sisu extension", - "x-looker-nullable": true - }, - "configured": { - "type": "boolean", - "description": "Whether the Looker instance has been configured with Sisu", - "x-looker-nullable": false - }, - "api_key_id": { - "type": "string", - "description": "The API key ID generated for use with Sisu", - "x-looker-nullable": true - }, - "api_user_id": { - "type": "string", - "description": "The user ID associated with the API key generated for use with Sisu", - "x-looker-nullable": true - }, - "installation_id": { - "type": "string", - "description": "The marketplace installation id of the Sisu extension", - "x-looker-nullable": true - }, - "listing_id_override": { - "type": "string", - "description": "An alternate marketplace listing id to use for the Sisu extension.", - "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 29605a085..f8cf3e22c 100644 --- a/spec/Looker.4.0.oas.json +++ b/spec/Looker.4.0.oas.json @@ -1,8 +1,8 @@ { "openapi": "3.0.0", "info": { - "version": "4.0.23.2", - "x-looker-release-version": "23.2.26", + "version": "4.0.23.4", + "x-looker-release-version": "23.4.29", "title": "Looker API 4.0 Reference", "description": "\nAPI 4.0 is the current release of the Looker API. API 3.1 is deprecated.\n\n### Authorization\n\nThe classic method of API authorization uses Looker **API3** credentials for authorization and access control.\nLooker admins can create API3 credentials on Looker's **Admin/Users** page.\n\nAPI 4.0 adds additional ways to authenticate API requests, including OAuth and CORS requests.\n\nFor details, see [Looker API Authorization](https://cloud.google.com/looker/docs/r/api/authorization).\n\n\n### API Explorer\n\nThe API Explorer is a Looker-provided utility with many new and unique features for learning and using the Looker API and SDKs.\n\nFor details, see the [API Explorer documentation](https://cloud.google.com/looker/docs/r/api/explorer).\n\n\n### Looker Language SDKs\n\nThe Looker API is a RESTful system that should be usable by any programming language capable of making\nHTTPS requests. SDKs for a variety of programming languages are also provided to streamline using the API. Looker\nhas an OpenSource [sdk-codegen project](https://github.com/looker-open-source/sdk-codegen) that provides several\nlanguage SDKs. Language SDKs generated by `sdk-codegen` have an Authentication manager that can automatically\nauthenticate API requests when needed.\n\nFor details on available Looker SDKs, see [Looker API Client SDKs](https://cloud.google.com/looker/docs/r/api/client_sdks).\n\n\n### API Versioning\n\nFuture releases of Looker expand the latest API version release-by-release to securely expose more and more of the core\npower of the Looker platform to API client applications. API endpoints marked as \"beta\" may receive breaking changes without\nwarning (but we will try to avoid doing that). Stable (non-beta) API endpoints should not receive breaking\nchanges in future releases.\n\nFor details, see [Looker API Versioning](https://cloud.google.com/looker/docs/r/api/versioning).\n\n\n### In This Release\n\nAPI 4.0 version was introduced to make adjustments to API functions, parameters, and response types to\nfix bugs and inconsistencies. These changes fall outside the bounds of non-breaking additive changes we can\nmake to the previous API 3.1.\n\nOne benefit of these type adjustments in API 4.0 is dramatically better support for strongly\ntyped languages like TypeScript, Kotlin, Swift, Go, C#, and more.\n\nSee the [API 4.0 GA announcement](https://developers.looker.com/api/advanced-usage/version-4-ga) for more information\nabout API 4.0.\n\nThe API Explorer can be used to [interactively compare](https://cloud.google.com/looker/docs/r/api/explorer#comparing_api_versions) the differences between API 3.1 and 4.0.\n\n\n### API and SDK Support Policies\n\nLooker API versions and language SDKs have varying support levels. Please read the API and SDK\n[support policies](https://cloud.google.com/looker/docs/r/api/support-policy) for more information.\n\n\n", "contact": { @@ -4027,81 +4027,6 @@ "x-looker-activity-type": "non_query" } }, - "/configuration_force_refresh": { - "put": { - "tags": [ - "Config" - ], - "operationId": "configuration_force_refresh", - "summary": "Force Refresh Configuration", - "description": "### Looker Configuration Refresh\n\nThis is an endpoint for manually calling refresh on Configuration manager.\n", - "responses": { - "200": { - "description": "Refresh Looker Configuration", - "content": { - "application/json": { - "schema": { - "type": "any", - "format": "any" - } - } - } - }, - "400": { - "description": "Bad Request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "403": { - "description": "Permission Denied", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "404": { - "description": "Not Found", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - }, - "422": { - "description": "Validation Error", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/ValidationError" - } - } - } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } - } - }, - "x-looker-status": "beta", - "x-looker-activity-type": "non_query" - } - }, "/content_favorite/search": { "get": { "tags": [ @@ -6839,16 +6764,6 @@ "description": "### Creates a dashboard object based on LookML Dashboard YAML, and returns the details of the newly created dashboard.\n\nIf a dashboard exists with the YAML-defined \"preferred_slug\", the new dashboard will overwrite it. Otherwise, a new\ndashboard will be created. Note that when a dashboard is overwritten, alerts will not be maintained.\n\nIf a folder_id is specified: new dashboards will be placed in that folder, and overwritten dashboards will be moved to it\nIf the folder_id isn't specified: new dashboards will be placed in the caller's personal folder, and overwritten dashboards\nwill remain where they were\n\nLookML must contain valid LookML YAML code. It's recommended to use the LookML format returned\nfrom [dashboard_lookml()](#!/Dashboard/dashboard_lookml) as the input LookML (newlines replaced with \n).\n\nNote that the created dashboard is not linked to any LookML Dashboard,\ni.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method.\n", "responses": { "200": { - "description": "DashboardLookML", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DashboardLookml" - } - } - } - }, - "201": { "description": "dashboard", "content": { "application/json": { @@ -6934,16 +6849,6 @@ "description": "# DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml)\n", "responses": { "200": { - "description": "DashboardLookML", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/DashboardLookml" - } - } - } - }, - "201": { "description": "dashboard", "content": { "application/json": { @@ -10623,7 +10528,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 it if it does not exist,\notherwise it reuses it. Note that this endpoint will not update the user, user attributes or group\nattributes if the embed user already exists. This is the same behavior as the embed SSO login.\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 will NOT be extended in this scenario, in other words the session_length parameter is ignored.\n\nIf the session_reference_token has expired, it will be ignored and a new embed session will be created.\n\nIf the credentials do not match the credentials associated with an exisiting 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", + "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 exisiting 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", "responses": { "200": { "description": "Embed cookieless acquire session response", @@ -15880,6 +15785,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -15935,6 +15850,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -15988,6 +15913,16 @@ } } }, + "403": { + "description": "Permission Denied", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/Error" + } + } + } + }, "404": { "description": "Not Found", "content": { @@ -26250,7 +26185,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 - extension_framework_enabled\n - extension_load_url_enabled\n - marketplace_auto_install_enabled\n - marketplace_enabled\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - sisu\n\nSee the `Setting` type for more information on the specific values that can be configured.\n", + "description": "### Configure Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - extension_framework_enabled\n - extension_load_url_enabled\n - marketplace_auto_install_enabled\n - marketplace_enabled\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n\nSee the `Setting` type for more information on the specific values that can be configured.\n", "parameters": [ { "name": "fields", @@ -26344,7 +26279,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 - extension_framework_enabled\n - extension_load_url_enabled\n - marketplace_auto_install_enabled\n - marketplace_enabled\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n - sisu\n\n", + "description": "### Get Looker Settings\n\nAvailable settings are:\n - allow_user_timezones\n - custom_welcome_email\n - data_connector_default_enabled\n - extension_framework_enabled\n - extension_load_url_enabled\n - marketplace_auto_install_enabled\n - marketplace_enabled\n - onboarding_enabled\n - privatelabel_configuration\n - timezone\n - host_url\n - email_domain_allowlist\n\n", "parameters": [ { "name": "fields", @@ -26396,16 +26331,6 @@ } } } - }, - "429": { - "description": "Too Many Requests", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/Error" - } - } - } } }, "x-looker-status": "stable", @@ -47925,58 +47850,6 @@ }, "description": "An array of Email Domain Allowlist of type string for Scheduled Content", "nullable": false - }, - "sisu": { - "$ref": "#/components/schemas/SisuSetting" - } - }, - "x-looker-status": "stable" - }, - "SisuSetting": { - "properties": { - "can": { - "type": "object", - "additionalProperties": { - "type": "boolean" - }, - "readOnly": true, - "description": "Operations the current user is able to perform on this object", - "nullable": false - }, - "enabled": { - "type": "boolean", - "description": "Whether the Sisu integration is enabled", - "nullable": false - }, - "extension_id": { - "type": "string", - "description": "The extension ID of the installed Sisu extension", - "nullable": true - }, - "configured": { - "type": "boolean", - "description": "Whether the Looker instance has been configured with Sisu", - "nullable": false - }, - "api_key_id": { - "type": "string", - "description": "The API key ID generated for use with Sisu", - "nullable": true - }, - "api_user_id": { - "type": "string", - "description": "The user ID associated with the API key generated for use with Sisu", - "nullable": true - }, - "installation_id": { - "type": "string", - "description": "The marketplace installation id of the Sisu extension", - "nullable": true - }, - "listing_id_override": { - "type": "string", - "description": "An alternate marketplace listing id to use for the Sisu extension.", - "nullable": true } }, "x-looker-status": "stable" diff --git a/swift/looker/rtl/constants.swift b/swift/looker/rtl/constants.swift index 1cb5ba177..2b62c5089 100644 --- a/swift/looker/rtl/constants.swift +++ b/swift/looker/rtl/constants.swift @@ -51,7 +51,7 @@ extension String { } public struct Constants { - public static let lookerVersion = "23.2" + public static let lookerVersion = "23.4" 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 014641dd9..5e762b3cb 100644 --- a/swift/looker/sdk/methods.swift +++ b/swift/looker/sdk/methods.swift @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 460 API methods + * 459 API methods */ @@ -824,16 +824,20 @@ open class LookerSDK: APIMethods { * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - * to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - * otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - * attributes if the embed user already exists. This is the same behavior as the embed SSO login. + * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - * the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * - * If the session_reference_token has expired, it will be ignored and a new embed session will be created. + * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + * + * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an exisiting session_reference_token, a * 404 will be returned. @@ -2489,20 +2493,6 @@ open class LookerSDK: APIMethods { return result } - /** - * ### Looker Configuration Refresh - * - * This is an endpoint for manually calling refresh on Configuration manager. - * - * PUT /configuration_force_refresh -> AnyCodable - */ - public func configuration_force_refresh( - options: ITransportSettings? = nil - ) -> SDKResponse { - let result: SDKResponse = self.put("/configuration_force_refresh", nil, nil, options) - return result - } - /** * ### Get the current status and content of custom welcome emails * @@ -2756,7 +2746,6 @@ open class LookerSDK: APIMethods { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * GET /setting -> Setting */ @@ -2788,7 +2777,6 @@ open class LookerSDK: APIMethods { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * See the `Setting` type for more information on the specific values that can be configured. * @@ -4334,7 +4322,7 @@ open class LookerSDK: APIMethods { * Note that the created dashboard is not linked to any LookML Dashboard, * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. * - * POST /dashboards/lookml -> DashboardLookml + * POST /dashboards/lookml -> Dashboard */ public func import_dashboard_from_lookml( /** @@ -4342,15 +4330,15 @@ open class LookerSDK: APIMethods { */ _ body: WriteDashboardLookml, options: ITransportSettings? = nil - ) -> SDKResponse { - let result: SDKResponse = self.post("/dashboards/lookml", nil, try! self.encode(body), options) + ) -> SDKResponse { + let result: SDKResponse = self.post("/dashboards/lookml", nil, try! self.encode(body), options) return result } /** * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) * - * POST /dashboards/from_lookml -> DashboardLookml + * POST /dashboards/from_lookml -> Dashboard */ public func create_dashboard_from_lookml( /** @@ -4358,8 +4346,8 @@ open class LookerSDK: APIMethods { */ _ body: WriteDashboardLookml, options: ITransportSettings? = nil - ) -> SDKResponse { - let result: SDKResponse = self.post("/dashboards/from_lookml", nil, try! self.encode(body), options) + ) -> SDKResponse { + let result: SDKResponse = self.post("/dashboards/from_lookml", nil, try! self.encode(body), options) return result } diff --git a/swift/looker/sdk/models.swift b/swift/looker/sdk/models.swift index 9dd75f8fd..b945d89a9 100644 --- a/swift/looker/sdk/models.swift +++ b/swift/looker/sdk/models.swift @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 328 API models: 245 Spec, 0 Request, 61 Write, 22 Enum + * 326 API models: 244 Spec, 0 Request, 60 Write, 22 Enum */ @@ -19702,7 +19702,6 @@ public struct Setting: SDKModel { case _host_url = "host_url" case override_warnings case _email_domain_allowlist = "email_domain_allowlist" - case sisu } /** * Toggle extension framework on or off @@ -19775,9 +19774,7 @@ public struct Setting: SDKModel { set { if let v = newValue { _email_domain_allowlist = v.map { AnyString.init($0) } } else { _email_domain_allowlist = nil } } } - public var sisu: SisuSetting? - - public init(extension_framework_enabled: Bool? = nil, extension_load_url_enabled: Bool? = nil, marketplace_auto_install_enabled: Bool? = nil, marketplace_enabled: 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, sisu: SisuSetting? = nil) { + public init(extension_framework_enabled: Bool? = nil, extension_load_url_enabled: Bool? = nil, marketplace_auto_install_enabled: Bool? = nil, marketplace_enabled: 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) { 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 @@ -19791,92 +19788,6 @@ public struct Setting: SDKModel { self._host_url = host_url.map(AnyString.init) self.override_warnings = override_warnings if let v = email_domain_allowlist { _email_domain_allowlist = v.map { AnyString.init($0) } } else { _email_domain_allowlist = nil } - self.sisu = sisu - } - -} - -public struct SisuSetting: SDKModel { - - private enum CodingKeys : String, CodingKey { - case can - case enabled - case _extension_id = "extension_id" - case configured - case _api_key_id = "api_key_id" - case _api_user_id = "api_user_id" - case _installation_id = "installation_id" - case _listing_id_override = "listing_id_override" - } - /** - * Operations the current user is able to perform on this object (read-only) - */ - public var can: StringDictionary? - - /** - * Whether the Sisu integration is enabled - */ - public var enabled: Bool? - - private var _extension_id: AnyString? - /** - * The extension ID of the installed Sisu extension - */ - public var extension_id: String? { - get { _extension_id?.value } - set { _extension_id = newValue.map(AnyString.init) } - } - - /** - * Whether the Looker instance has been configured with Sisu - */ - public var configured: Bool? - - private var _api_key_id: AnyString? - /** - * The API key ID generated for use with Sisu - */ - public var api_key_id: String? { - get { _api_key_id?.value } - set { _api_key_id = newValue.map(AnyString.init) } - } - - private var _api_user_id: AnyString? - /** - * The user ID associated with the API key generated for use with Sisu - */ - public var api_user_id: String? { - get { _api_user_id?.value } - set { _api_user_id = newValue.map(AnyString.init) } - } - - private var _installation_id: AnyString? - /** - * The marketplace installation id of the Sisu extension - */ - public var installation_id: String? { - get { _installation_id?.value } - set { _installation_id = newValue.map(AnyString.init) } - } - - private var _listing_id_override: AnyString? - /** - * An alternate marketplace listing id to use for the Sisu extension. - */ - public var listing_id_override: String? { - get { _listing_id_override?.value } - set { _listing_id_override = newValue.map(AnyString.init) } - } - - public init(can: StringDictionary? = nil, enabled: Bool? = nil, extension_id: String? = nil, configured: Bool? = nil, api_key_id: String? = nil, api_user_id: String? = nil, installation_id: String? = nil, listing_id_override: String? = nil) { - self.can = can - self.enabled = enabled - self._extension_id = extension_id.map(AnyString.init) - self.configured = configured - self._api_key_id = api_key_id.map(AnyString.init) - self._api_user_id = api_user_id.map(AnyString.init) - self._installation_id = installation_id.map(AnyString.init) - self._listing_id_override = listing_id_override.map(AnyString.init) } } @@ -27201,7 +27112,6 @@ public struct WriteSetting: SDKModel { case _host_url = "host_url" case override_warnings case _email_domain_allowlist = "email_domain_allowlist" - case sisu } /** * Toggle extension framework on or off @@ -27278,13 +27188,7 @@ public struct WriteSetting: SDKModel { set { if let v = newValue { _email_domain_allowlist = v.map { AnyString.init($0) } } else { _email_domain_allowlist = nil } } } - /** - * Dynamic writeable type for SisuSetting removes: - * can - */ - public var sisu: WriteSisuSetting? - - public init(extension_framework_enabled: Bool? = nil, extension_load_url_enabled: Bool? = nil, marketplace_auto_install_enabled: Bool? = nil, marketplace_enabled: 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, sisu: WriteSisuSetting? = nil) { + public init(extension_framework_enabled: Bool? = nil, extension_load_url_enabled: Bool? = nil, marketplace_auto_install_enabled: Bool? = nil, marketplace_enabled: 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) { 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 @@ -27298,89 +27202,6 @@ public struct WriteSetting: SDKModel { self._host_url = host_url.map(AnyString.init) self.override_warnings = override_warnings if let v = email_domain_allowlist { _email_domain_allowlist = v.map { AnyString.init($0) } } else { _email_domain_allowlist = nil } - self.sisu = sisu - } - -} - -/** - * Dynamic writeable type for SisuSetting removes: - * can - */ -public struct WriteSisuSetting: SDKModel { - - private enum CodingKeys : String, CodingKey { - case enabled - case _extension_id = "extension_id" - case configured - case _api_key_id = "api_key_id" - case _api_user_id = "api_user_id" - case _installation_id = "installation_id" - case _listing_id_override = "listing_id_override" - } - /** - * Whether the Sisu integration is enabled - */ - public var enabled: Bool? - - private var _extension_id: AnyString? - /** - * The extension ID of the installed Sisu extension - */ - public var extension_id: String? { - get { _extension_id?.value } - set { _extension_id = newValue.map(AnyString.init) } - } - - /** - * Whether the Looker instance has been configured with Sisu - */ - public var configured: Bool? - - private var _api_key_id: AnyString? - /** - * The API key ID generated for use with Sisu - */ - public var api_key_id: String? { - get { _api_key_id?.value } - set { _api_key_id = newValue.map(AnyString.init) } - } - - private var _api_user_id: AnyString? - /** - * The user ID associated with the API key generated for use with Sisu - */ - public var api_user_id: String? { - get { _api_user_id?.value } - set { _api_user_id = newValue.map(AnyString.init) } - } - - private var _installation_id: AnyString? - /** - * The marketplace installation id of the Sisu extension - */ - public var installation_id: String? { - get { _installation_id?.value } - set { _installation_id = newValue.map(AnyString.init) } - } - - private var _listing_id_override: AnyString? - /** - * An alternate marketplace listing id to use for the Sisu extension. - */ - public var listing_id_override: String? { - get { _listing_id_override?.value } - set { _listing_id_override = newValue.map(AnyString.init) } - } - - public init(enabled: Bool? = nil, extension_id: String? = nil, configured: Bool? = nil, api_key_id: String? = nil, api_user_id: String? = nil, installation_id: String? = nil, listing_id_override: String? = nil) { - self.enabled = enabled - self._extension_id = extension_id.map(AnyString.init) - self.configured = configured - self._api_key_id = api_key_id.map(AnyString.init) - self._api_user_id = api_user_id.map(AnyString.init) - self._installation_id = installation_id.map(AnyString.init) - self._listing_id_override = listing_id_override.map(AnyString.init) } } diff --git a/swift/looker/sdk/streams.swift b/swift/looker/sdk/streams.swift index bfe36cf4b..b6269920b 100644 --- a/swift/looker/sdk/streams.swift +++ b/swift/looker/sdk/streams.swift @@ -2,7 +2,7 @@ MIT License - Copyright (c) 2021 Looker Data Sciences, Inc. + Copyright (c) 2023 Looker Data Sciences, Inc. Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal @@ -25,7 +25,7 @@ */ /** - * 460 API methods + * 459 API methods */ @@ -822,16 +822,20 @@ open class LookerSDKStream: APIMethods { * ### Acquire a cookieless embed session. * * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter - * to the embed login. This endpoint accepts an embed user definition and creates it if it does not exist, - * otherwise it reuses it. Note that this endpoint will not update the user, user attributes or group - * attributes if the embed user already exists. This is the same behavior as the embed SSO login. + * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is + * similar behavior to the embed SSO login as they both can create and update embed user data. * * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired * and the credentials match the credentials for the embed session, a new authentication token will be * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that - * the session will NOT be extended in this scenario, in other words the session_length parameter is ignored. + * the session is NOT extended in this scenario. In other words the session_length parameter is ignored. * - * If the session_reference_token has expired, it will be ignored and a new embed session will be created. + * **IMPORTANT:** If the `session_reference_token` is provided and the session has NOT expired, the embed user + * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the + * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not. + * + * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a + * new embed session will be created. Note that the embed user definition will be updated in this scenario. * * If the credentials do not match the credentials associated with an exisiting session_reference_token, a * 404 will be returned. @@ -2487,20 +2491,6 @@ open class LookerSDKStream: APIMethods { return result } - /** - * ### Looker Configuration Refresh - * - * This is an endpoint for manually calling refresh on Configuration manager. - * - * PUT /configuration_force_refresh -> AnyCodable - */ - public func configuration_force_refresh( - options: ITransportSettings? = nil - ) -> SDKResponse { - let result: SDKResponse = self.put("/configuration_force_refresh", nil, nil, options) - return result - } - /** * ### Get the current status and content of custom welcome emails * @@ -2754,7 +2744,6 @@ open class LookerSDKStream: APIMethods { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * GET /setting -> Setting */ @@ -2786,7 +2775,6 @@ open class LookerSDKStream: APIMethods { * - timezone * - host_url * - email_domain_allowlist - * - sisu * * See the `Setting` type for more information on the specific values that can be configured. * @@ -4332,7 +4320,7 @@ open class LookerSDKStream: APIMethods { * Note that the created dashboard is not linked to any LookML Dashboard, * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method. * - * POST /dashboards/lookml -> DashboardLookml + * POST /dashboards/lookml -> Dashboard */ public func import_dashboard_from_lookml( /** @@ -4348,7 +4336,7 @@ open class LookerSDKStream: APIMethods { /** * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml) * - * POST /dashboards/from_lookml -> DashboardLookml + * POST /dashboards/from_lookml -> Dashboard */ public func create_dashboard_from_lookml( /**