Skip to content

Commit dabb34a

Browse files
authored
feat: generate SDKs for Looker 23.20 (#1402)
* feat: generate SDKs for Looker 23.20 Release-As: 23.20.0 * fixes regarding version "23.21" * dummy commit to force tests re-run - changed wording in README.md Release-As: 23.20.0 * ran kotlin linter Release-As: 23.20.0
1 parent 008b838 commit dabb34a

File tree

25 files changed

+2092
-480
lines changed

25 files changed

+2092
-480
lines changed

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -57,7 +57,7 @@ The Looker SDK has several parts:
5757
[Looker-supported](https://cloud.google.com/looker/docs/api-sdk-support-policy)
5858
whereas others are community-supported.
5959

60-
## SDK multi-API-version support
60+
## SDK Versions
6161

6262
The 4.0 version of the API is the current and stable version of the API. The 3.x API has now been
6363
[removed](https://cloud.google.com/looker/docs/api-3x-deprecation).

csharp/rtl/Constants.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,7 @@ public struct Constants
6161

6262
public const string DefaultApiVersion = "4.0";
6363
public const string AgentPrefix = "CS-SDK";
64-
public const string LookerVersion = "23.18";
64+
public const string LookerVersion = "23.20";
6565

6666
public const string Bearer = "Bearer";
6767
public const string LookerAppiId = "x-looker-appid";

csharp/sdk/4.0/methods.cs

Lines changed: 18 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -826,6 +826,13 @@ public async Task<SdkResponse<string, Exception>> delete_embed_cookieless_sessio
826826
/// The generate tokens endpoint should be called every time the Looker client asks for a token (except for the
827827
/// first time when the tokens returned by the acquire_session endpoint should be used).
828828
///
829+
/// #### Embed session expiration handling
830+
///
831+
/// This endpoint does NOT return an error when the embed session expires. This is to simplify processing
832+
/// in the caller as errors can happen for non session expiration reasons. Instead the endpoint returns
833+
/// the session time to live in the `session_reference_token_ttl` response property. If this property
834+
/// contains a zero, the embed session has expired.
835+
///
829836
/// Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled
830837
///
831838
/// PUT /embed/cookieless_session/generate_tokens -> EmbedCookielessSessionGenerateTokensResponse
@@ -3746,7 +3753,7 @@ public async Task<SdkResponse<Dashboard, Exception>> dashboard(
37463753
/// You can use this function to change the string and integer properties of
37473754
/// a dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components
37483755
/// cannot be modified by this function - use the update functions for the respective
3749-
/// nested object types (like [update_dashboard_filter()](#!/4.0/Dashboard/update_dashboard_filter) to change a filter)
3756+
/// nested object types (like [update_dashboard_filter()](#!/3.1/Dashboard/update_dashboard_filter) to change a filter)
37503757
/// to modify nested objects referenced by a dashboard.
37513758
///
37523759
/// If you receive a 422 error response when updating a dashboard, be sure to look at the
@@ -5639,7 +5646,7 @@ public async Task<SdkResponse<string, Exception>> delete_look(
56395646
/// | result_format | Description
56405647
/// | :-----------: | :--- |
56415648
/// | json | Plain json
5642-
/// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
5649+
/// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema
56435650
/// | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
56445651
/// | csv | Comma separated values with a header
56455652
/// | txt | Tab separated values with a header
@@ -6863,8 +6870,6 @@ public async Task<SdkResponse<RepositoryCredential[], Exception>> get_all_reposi
68636870
/// <param name="path_prefix">Prefix to use for drill links (url encoded).</param>
68646871
/// <param name="rebuild_pdts">Rebuild PDTS used in query.</param>
68656872
/// <param name="server_table_calcs">Perform table calculations on query results</param>
6866-
/// <param name="image_width">DEPRECATED. Render width for image formats. Note that this parameter is always ignored by this method.</param>
6867-
/// <param name="image_height">DEPRECATED. Render height for image formats. Note that this parameter is always ignored by this method.</param>
68686873
/// <param name="fields">Requested fields</param>
68696874
public async Task<SdkResponse<QueryTask, Exception>> create_query_task(
68706875
WriteCreateQueryTask body,
@@ -6878,8 +6883,6 @@ public async Task<SdkResponse<QueryTask, Exception>> create_query_task(
68786883
string? path_prefix = null,
68796884
bool? rebuild_pdts = null,
68806885
bool? server_table_calcs = null,
6881-
long? image_width = null,
6882-
long? image_height = null,
68836886
string? fields = null,
68846887
ITransportSettings? options = null)
68856888
{
@@ -6894,8 +6897,6 @@ public async Task<SdkResponse<QueryTask, Exception>> create_query_task(
68946897
{ "path_prefix", path_prefix },
68956898
{ "rebuild_pdts", rebuild_pdts },
68966899
{ "server_table_calcs", server_table_calcs },
6897-
{ "image_width", image_width },
6898-
{ "image_height", image_height },
68996900
{ "fields", fields }},body,options);
69006901
}
69016902

@@ -6968,11 +6969,11 @@ public async Task<SdkResponse<QueryTask, Exception>> query_task(
69686969
/// will be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.
69696970
/// These data formats can only carry row data, and error info is not row data.
69706971
///
6971-
/// GET /query_tasks/{query_task_id}/results -> string
6972+
/// GET /query_tasks/{query_task_id}/results -> QueryTask
69726973
///
69736974
/// <returns>
6974-
/// <c>string</c> The query results. (text)
6975-
/// <c>string</c> The query results. (application/json)
6975+
/// <c>QueryTask</c> query_task (text)
6976+
/// <c>QueryTask</c> query_task (application/json)
69766977
/// <c>string</c> The query is not finished (text)
69776978
/// <c>string</c> The query is not finished (application/json)
69786979
/// </returns>
@@ -7089,7 +7090,7 @@ public async Task<SdkResponse<Query, Exception>> create_query(
70897090
/// | result_format | Description
70907091
/// | :-----------: | :--- |
70917092
/// | json | Plain json
7092-
/// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
7093+
/// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema
70937094
/// | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
70947095
/// | csv | Comma separated values with a header
70957096
/// | txt | Tab separated values with a header
@@ -7203,7 +7204,7 @@ public async Task<SdkResponse<TSuccess, Exception>> run_query<TSuccess>(
72037204
/// | result_format | Description
72047205
/// | :-----------: | :--- |
72057206
/// | json | Plain json
7206-
/// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
7207+
/// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema
72077208
/// | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
72087209
/// | csv | Comma separated values with a header
72097210
/// | txt | Tab separated values with a header
@@ -7314,7 +7315,7 @@ public async Task<SdkResponse<TSuccess, Exception>> run_inline_query<TSuccess>(
73147315
/// | result_format | Description
73157316
/// | :-----------: | :--- |
73167317
/// | json | Plain json
7317-
/// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
7318+
/// | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema
73187319
/// | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query
73197320
/// | csv | Comma separated values with a header
73207321
/// | txt | Tab separated values with a header
@@ -7464,13 +7465,9 @@ public async Task<SdkResponse<SqlQuery, Exception>> sql_query(
74647465
///
74657466
/// POST /sql_queries/{slug}/run/{result_format} -> string
74667467
///
7467-
/// **Note**: Binary content may be returned by this method.
7468-
///
74697468
/// <returns>
74707469
/// <c>string</c> SQL Runner Query (text)
74717470
/// <c>string</c> SQL Runner Query (application/json)
7472-
/// <c>string</c> SQL Runner Query (image/png)
7473-
/// <c>string</c> SQL Runner Query (image/jpeg)
74747471
/// </returns>
74757472
///
74767473
/// <param name="slug">slug of query</param>
@@ -8769,18 +8766,12 @@ public async Task<SdkResponse<SqlInterfaceQueryMetadata, Exception>> sql_interfa
87698766
/// | md | Simple markdown
87708767
/// | xlsx | MS Excel spreadsheet
87718768
/// | sql | Returns the generated SQL rather than running the query
8772-
/// | png | A PNG image of the visualization of the query
8773-
/// | jpg | A JPG image of the visualization of the query
87748769
///
8775-
/// GET /sql_interface_queries/{query_id}/run/{result_format} -> string
8776-
///
8777-
/// **Note**: Binary content may be returned by this method.
8770+
/// GET /sql_interface_queries/{query_id}/run/{result_format} -> QueryFormats
87788771
///
87798772
/// <returns>
8780-
/// <c>string</c> SQL Interface Query (text)
8781-
/// <c>string</c> SQL Interface Query (application/json)
8782-
/// <c>string</c> SQL Interface Query (image/png)
8783-
/// <c>string</c> SQL Interface Query (image/jpeg)
8773+
/// <c>QueryFormats</c> Query Formats (text)
8774+
/// <c>QueryFormats</c> Query Formats (application/json)
87848775
/// </returns>
87858776
///
87868777
/// <param name="query_id">Integer id of query</param>

csharp/sdk/4.0/models.cs

Lines changed: 108 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@
2121
/// SOFTWARE.
2222
///
2323

24-
/// 332 API models: 249 Spec, 0 Request, 61 Write, 22 Enum
24+
/// 338 API models: 255 Spec, 0 Request, 61 Write, 22 Enum
2525

2626
#nullable enable
2727
using System;
@@ -1994,7 +1994,7 @@ public class EmbedCookielessSessionAcquireResponse : SdkModel
19941994
public long? api_token_ttl { get; set; } = null;
19951995
/// <summary>Token referencing the actual embed session. It is used to generate new api, navigation and authentication tokens. api and navigation tokens are short lived and must be refreshed regularly. A new authentication token must be acquired for each IFRAME that is created. The session_reference_token should be kept secure, ideally in the embed hosts application server. </summary>
19961996
public string? session_reference_token { get; set; } = null;
1997-
/// <summary>Session reference token time to live in seconds. Note that this is the same as actual session.</summary>
1997+
/// <summary>Session reference token time to live in seconds. Note that this is the same as actual embed session. The session is expired when the value is set to zero. It is important to note that the generate token endpoint does NOT return an error when the embed session has expired. If an embedding application needs to monitor expiration of embed sessions, check this property for a value of zero.</summary>
19981998
public long? session_reference_token_ttl { get; set; } = null;
19991999
}
20002000

@@ -2606,6 +2606,84 @@ public enum InvestigativeContentType
26062606
dashboard
26072607
}
26082608

2609+
public class JsonBi : SdkModel
2610+
{
2611+
public JsonBiBigQueryMetadata big_query_metadata { get; set; } = null;
2612+
public JsonBiFields fields { get; set; } = null;
2613+
/// <summary>Pivots (read-only)</summary>
2614+
public JsonBiPivots[] pivots { get; set; } = null;
2615+
/// <summary>If the query has subtotals (read-only)</summary>
2616+
public bool has_subtotals { get; set; }
2617+
/// <summary>If the query has totals (read-only)</summary>
2618+
public bool has_totals { get; set; }
2619+
/// <summary>If the query results hit the maximum column limit and additional columns were truncated (read-only)</summary>
2620+
public string columns_truncated { get; set; } = "";
2621+
/// <summary>Filter expression applied to the query results (read-only)</summary>
2622+
public string filter_expression { get; set; } = "";
2623+
/// <summary>Filters applied to the query results (read-only)</summary>
2624+
public StringDictionary<string> filters { get; set; } = null;
2625+
/// <summary>Json query results (read-only)</summary>
2626+
public string[] data { get; set; } = null;
2627+
}
2628+
2629+
public class JsonBiBigQueryMetadata : SdkModel
2630+
{
2631+
/// <summary>Total bytes processed by the BigQuery job (read-only)</summary>
2632+
public long total_bytes_processed { get; set; }
2633+
/// <summary>Return whether or not query results were served from the BigQuery cache. (read-only)</summary>
2634+
public bool backend_cache_hit { get; set; }
2635+
}
2636+
2637+
public class JsonBiField : SdkModel
2638+
{
2639+
/// <summary>SQL expressions for the field (read-only)</summary>
2640+
public string sql { get; set; } = "";
2641+
/// <summary>Explore name (read-only)</summary>
2642+
public string view { get; set; } = "";
2643+
/// <summary>Which dimension group created this dimension (read-only)</summary>
2644+
public string dimension_group { get; set; } = "";
2645+
/// <summary>Dimension, Measure, etc. (read-only)</summary>
2646+
public string category { get; set; } = "";
2647+
/// <summary>Field Group Label (read-only)</summary>
2648+
public string field_group_label { get; set; } = "";
2649+
/// <summary>Field Name (read-only)</summary>
2650+
public string name { get; set; } = "";
2651+
/// <summary>Field Type (read-only)</summary>
2652+
public string type { get; set; } = "";
2653+
/// <summary>View Label (read-only)</summary>
2654+
public string view_label { get; set; } = "";
2655+
/// <summary>Field Label (read-only)</summary>
2656+
public string label { get; set; } = "";
2657+
/// <summary>Field Group Variant (read-only)</summary>
2658+
public string field_group_variant { get; set; } = "";
2659+
/// <summary>If the field is marked as hidden in the Lookml (read-only)</summary>
2660+
public bool hidden { get; set; }
2661+
/// <summary>Field Description (read-only)</summary>
2662+
public string description { get; set; } = "";
2663+
}
2664+
2665+
public class JsonBiFields : SdkModel
2666+
{
2667+
/// <summary>Dimensions represent a column in a table, or a computed value based on some sort of column manipulation or combination (read-only)</summary>
2668+
public JsonBiField[] dimensions { get; set; } = null;
2669+
/// <summary>Measures are similar to aggregate functions in SQL (for example, COUNT, SUM, AVG) and represent information about multiple rows (read-only)</summary>
2670+
public JsonBiField[] measures { get; set; } = null;
2671+
/// <summary>Pivots (read-only)</summary>
2672+
public JsonBiField[] pivots { get; set; } = null;
2673+
}
2674+
2675+
public class JsonBiPivots : SdkModel
2676+
{
2677+
/// <summary>Pivot Column Value (read-only)</summary>
2678+
public string key { get; set; } = "";
2679+
/// <summary>Pivot Data (read-only)</summary>
2680+
public StringDictionary<string> data { get; set; } = null;
2681+
/// <summary>Pivot Sort Values (read-only)</summary>
2682+
public StringDictionary<string> sort_values { get; set; } = null;
2683+
/// <summary>If the value is a total (read-only)</summary>
2684+
public bool is_total { get; set; }
2685+
}
2686+
26092687
public class LDAPConfig : SdkModel
26102688
{
26112689
/// <summary>Operations the current user is able to perform on this object (read-only)</summary>
@@ -4130,6 +4208,27 @@ public class Query : SdkModel
41304208
public bool? has_table_calculations { get; set; } = null;
41314209
}
41324210

4211+
public class QueryFormats : SdkModel
4212+
{
4213+
public JsonBi? json_bi { get; set; }
4214+
/// <summary> (read-only)</summary>
4215+
public string? json { get; set; } = null;
4216+
/// <summary> (read-only)</summary>
4217+
public string? json_detail { get; set; } = null;
4218+
/// <summary> (read-only)</summary>
4219+
public string? csv { get; set; } = null;
4220+
/// <summary> (read-only)</summary>
4221+
public string? txt { get; set; } = null;
4222+
/// <summary> (read-only)</summary>
4223+
public string? html { get; set; } = null;
4224+
/// <summary> (read-only)</summary>
4225+
public string? md { get; set; } = null;
4226+
/// <summary> (read-only)</summary>
4227+
public string? xlsx { get; set; } = null;
4228+
/// <summary> (read-only)</summary>
4229+
public string? sql { get; set; } = null;
4230+
}
4231+
41334232
public class QueryTask : SdkModel
41344233
{
41354234
/// <summary>Operations the current user is able to perform on this object (read-only)</summary>
@@ -4799,6 +4898,10 @@ public class Setting : SdkModel
47994898
/// <summary>True if embedding is enabled https://cloud.google.com/looker/docs/r/looker-core-feature-embed, false otherwise (read-only)</summary>
48004899
public bool? embed_enabled { get; set; } = null;
48014900
public EmbedConfig? embed_config { get; set; }
4901+
/// <summary>Login notification enabled (read-only)</summary>
4902+
public bool? login_notification_enabled { get; set; } = null;
4903+
/// <summary>Login notification text (read-only)</summary>
4904+
public string? login_notification_text { get; set; } = null;
48024905
}
48034906

48044907
public class SmtpNodeStatus : SdkModel
@@ -5314,7 +5417,7 @@ public class UserAttribute : SdkModel
53145417
public string name { get; set; } = "";
53155418
/// <summary>Human-friendly label for user attribute</summary>
53165419
public string label { get; set; } = "";
5317-
/// <summary>Type of user attribute ("string", "number", "datetime", "yesno", "zipcode")</summary>
5420+
/// <summary>Type of user attribute ("string", "number", "datetime", "yesno", "zipcode", "advanced_filter_string", "advanced_filter_number")</summary>
53185421
public string type { get; set; } = "";
53195422
/// <summary>Default value for when no value is set on the user</summary>
53205423
public string? default_value { get; set; } = null;
@@ -6766,7 +6869,7 @@ public class WriteSessionConfig : SdkModel
67666869
}
67676870

67686871
/// Dynamic writeable type for Setting removes:
6769-
/// marketplace_site, embed_enabled
6872+
/// marketplace_site, embed_enabled, login_notification_enabled, login_notification_text
67706873
public class WriteSetting : SdkModel
67716874
{
67726875
/// <summary>Toggle extension framework on or off</summary>
@@ -6889,7 +6992,7 @@ public class WriteUserAttribute : SdkModel
68896992
public string name { get; set; } = "";
68906993
/// <summary>Human-friendly label for user attribute</summary>
68916994
public string label { get; set; } = "";
6892-
/// <summary>Type of user attribute ("string", "number", "datetime", "yesno", "zipcode")</summary>
6995+
/// <summary>Type of user attribute ("string", "number", "datetime", "yesno", "zipcode", "advanced_filter_string", "advanced_filter_number")</summary>
68936996
public string type { get; set; } = "";
68946997
/// <summary>Default value for when no value is set on the user</summary>
68956998
public string? default_value { get; set; } = null;

0 commit comments

Comments
 (0)