Skip to content

Commit f3ce99d

Browse files
feat: generate SDKs for Looker 25.18 (#1609)
Release-As: 25.18.0
1 parent aa870fc commit f3ce99d

File tree

25 files changed

+3684
-212
lines changed

25 files changed

+3684
-212
lines changed

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 = "25.16";
64+
public const string LookerVersion = "25.18";
6565

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

csharp/sdk/4.0/methods.cs

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

24-
/// 472 API methods
24+
/// 476 API methods
2525

2626
#nullable enable
2727
using System;
@@ -345,7 +345,10 @@ public async Task<SdkResponse<AccessToken, Exception>> login(
345345
///
346346
/// See 'login' for more detail on the access token and how to use it.
347347
///
348-
/// Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
348+
/// In [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview) this call will be denied unless all of the following criteria are met:
349+
/// 1. The calling user is an [API-only Service Account](https://cloud.google.com/looker/docs/looker-core-user-management#creating_an_api-only_service_account) with the Admin role
350+
/// 2. The target user is an [Embed User type](https://cloud.google.com/looker/docs/r/single-sign-on-embedding)
351+
/// Regular user types can not be impersonated in [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). If your application needs to call the API for these users, use OAuth authentication instead.
349352
///
350353
/// POST /login/{user_id} -> AccessToken
351354
///
@@ -3892,6 +3895,68 @@ public async Task<SdkResponse<DashboardAggregateTableLookml, Exception>> dashboa
38923895
return await AuthRequest<DashboardAggregateTableLookml, Exception>(HttpMethod.Get, $"/dashboards/aggregate_table_lookml/{dashboard_id}", null,null,options);
38933896
}
38943897

3898+
/// ### Search LookML Dashboards
3899+
///
3900+
/// Returns an array of **LookML Dashboard** objects that match the specified search criteria.
3901+
/// Note, this only returns LookML Dashboards in production.
3902+
///
3903+
/// If multiple search params are given and `filter_or` is FALSE or not specified,
3904+
/// search params are combined in a logical AND operation.
3905+
/// Only rows that match *all* search param criteria will be returned.
3906+
///
3907+
/// If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.
3908+
/// Results will include rows that match **any** of the search criteria.
3909+
///
3910+
/// String search params use case-insensitive matching.
3911+
/// String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.
3912+
/// example="dan%" will match "danger" and "Danzig" but not "David"
3913+
/// example="D_m%" will match "Damage" and "dump"
3914+
///
3915+
/// Integer search params can accept a single value or a comma separated list of values. The multiple
3916+
/// values will be combined under a logical OR operation - results will match at least one of
3917+
/// the given values.
3918+
///
3919+
/// Most search params can accept "IS NULL" and "NOT NULL" as special expressions to match
3920+
/// or exclude (respectively) rows where the column is null.
3921+
///
3922+
/// Boolean search params accept only "true" and "false" as values.
3923+
///
3924+
///
3925+
/// The parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.
3926+
///
3927+
/// Get a **single LookML dashboard** by id with [dashboard_lookml()](#!/Dashboard/dashboard_lookml)
3928+
///
3929+
/// GET /dashboards/lookml/search -> DashboardLookml
3930+
///
3931+
/// <returns><c>DashboardLookml</c> dashboards (application/json)</returns>
3932+
///
3933+
/// <param name="folder_id">Filter on a particular folder.</param>
3934+
/// <param name="title">Match LookML Dashboard title.</param>
3935+
/// <param name="content_favorite_id">Filter on a content favorite id.</param>
3936+
/// <param name="fields">Requested fields.</param>
3937+
/// <param name="limit">Number of results to return. (used with offset and takes priority over page and per_page)</param>
3938+
/// <param name="offset">Number of results to skip before returning any. (used with limit and takes priority over page and per_page)</param>
3939+
/// <param name="sorts">One or more fields to sort by. Sortable fields: [:title, :id, :folder_id, :content_favorite_id, :content_metadata_id]</param>
3940+
public async Task<SdkResponse<DashboardLookml, Exception>> search_lookml_dashboards(
3941+
string? folder_id = null,
3942+
string? title = null,
3943+
string? content_favorite_id = null,
3944+
string? fields = null,
3945+
long? limit = null,
3946+
long? offset = null,
3947+
string? sorts = null,
3948+
ITransportSettings? options = null)
3949+
{
3950+
return await AuthRequest<DashboardLookml, Exception>(HttpMethod.Get, "/dashboards/lookml/search", new Values {
3951+
{ "folder_id", folder_id },
3952+
{ "title", title },
3953+
{ "content_favorite_id", content_favorite_id },
3954+
{ "fields", fields },
3955+
{ "limit", limit },
3956+
{ "offset", offset },
3957+
{ "sorts", sorts }},null,options);
3958+
}
3959+
38953960
/// ### Get lookml of a UDD
38963961
///
38973962
/// Returns a JSON object that contains the dashboard id and the full lookml
@@ -5399,6 +5464,24 @@ public async Task<SdkResponse<string, Exception>> delete_integration_hub(
53995464
return await AuthRequest<string, Exception>(HttpMethod.Delete, $"/integration_hubs/{integration_hub_id}", null,null,options);
54005465
}
54015466

5467+
/// Checks to see if the user is able to connect to their integration hub
5468+
///
5469+
/// GET /integration_hubs/{integration_hub_id}/health -> IntegrationHubHealthResult
5470+
///
5471+
/// <returns><c>IntegrationHubHealthResult</c> Health Result (application/json)</returns>
5472+
///
5473+
/// <param name="integration_hub_id">Id of integration_hub</param>
5474+
/// <param name="fields">Requested fields.</param>
5475+
public async Task<SdkResponse<IntegrationHubHealthResult, Exception>> get_integration_hub_health(
5476+
string integration_hub_id,
5477+
string? fields = null,
5478+
ITransportSettings? options = null)
5479+
{
5480+
integration_hub_id = SdkUtils.EncodeParam(integration_hub_id);
5481+
return await AuthRequest<IntegrationHubHealthResult, Exception>(HttpMethod.Get, $"/integration_hubs/{integration_hub_id}/health", new Values {
5482+
{ "fields", fields }},null,options);
5483+
}
5484+
54025485
/// Accepts the legal agreement for a given integration hub. This only works for integration hubs that have legal_agreement_required set to true and legal_agreement_signed set to false.
54035486
///
54045487
/// POST /integration_hubs/{integration_hub_id}/accept_legal_agreement -> IntegrationHub
@@ -8183,14 +8266,17 @@ public async Task<SdkResponse<PermissionSet, Exception>> create_permission_set(
81838266
///
81848267
/// <param name="fields">Requested fields.</param>
81858268
/// <param name="ids">Optional list of ids to get specific roles.</param>
8269+
/// <param name="get_all_support_roles">Get all Looker support roles.</param>
81868270
public async Task<SdkResponse<Role[], Exception>> all_roles(
81878271
string? fields = null,
81888272
DelimArray<string>? ids = null,
8273+
bool? get_all_support_roles = null,
81898274
ITransportSettings? options = null)
81908275
{
81918276
return await AuthRequest<Role[], Exception>(HttpMethod.Get, "/roles", new Values {
81928277
{ "fields", fields },
8193-
{ "ids", ids }},null,options);
8278+
{ "ids", ids },
8279+
{ "get_all_support_roles", get_all_support_roles }},null,options);
81948280
}
81958281

81968282
/// ### Create a role with the specified information.
@@ -8243,7 +8329,6 @@ public async Task<SdkResponse<Role, Exception>> create_role(
82438329
/// <param name="name">Match role name.</param>
82448330
/// <param name="built_in">Match roles by built_in status.</param>
82458331
/// <param name="filter_or">Combine given search criteria in a boolean OR expression.</param>
8246-
/// <param name="is_support_role">Search for Looker support roles.</param>
82478332
public async Task<SdkResponse<Role[], Exception>> search_roles(
82488333
string? fields = null,
82498334
long? limit = null,
@@ -8253,7 +8338,6 @@ public async Task<SdkResponse<Role[], Exception>> search_roles(
82538338
string? name = null,
82548339
bool? built_in = null,
82558340
bool? filter_or = null,
8256-
bool? is_support_role = null,
82578341
ITransportSettings? options = null)
82588342
{
82598343
return await AuthRequest<Role[], Exception>(HttpMethod.Get, "/roles/search", new Values {
@@ -8264,8 +8348,7 @@ public async Task<SdkResponse<Role[], Exception>> search_roles(
82648348
{ "id", id },
82658349
{ "name", name },
82668350
{ "built_in", built_in },
8267-
{ "filter_or", filter_or },
8268-
{ "is_support_role", is_support_role }},null,options);
8351+
{ "filter_or", filter_or }},null,options);
82698352
}
82708353

82718354
/// ### Search roles include user count
@@ -9555,14 +9638,15 @@ public async Task<SdkResponse<User, Exception>> create_user(
95559638
/// <param name="id">Match User Id.</param>
95569639
/// <param name="first_name">Match First name.</param>
95579640
/// <param name="last_name">Match Last name.</param>
9558-
/// <param name="verified_looker_employee">Search for user accounts associated with Looker employees</param>
9641+
/// <param name="verified_looker_employee">Search for user accounts associated with Looker employees. Availability of this filter is limited to users with permission to view complete user details.</param>
95599642
/// <param name="embed_user">Search for only embed users</param>
9560-
/// <param name="email">Search for the user with this email address</param>
9561-
/// <param name="is_disabled">Search for disabled user accounts</param>
9643+
/// <param name="email">Search for the user with this email address. Availability of this filter is limited to users with permission to view complete user details.</param>
9644+
/// <param name="is_disabled">Search for disabled user accounts. Availability of this filter is limited to users with permission to view complete user details.</param>
95629645
/// <param name="filter_or">Combine given search criteria in a boolean OR expression</param>
95639646
/// <param name="content_metadata_id">Search for users who have access to this content_metadata item</param>
95649647
/// <param name="group_id">Search for users who are direct members of this group</param>
9565-
/// <param name="can_manage_api3_creds">Search for users who can manage API3 credentials</param>
9648+
/// <param name="can_manage_api3_creds">Search for users who can manage API3 credentials. This field may only be applicable for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). Availability of this filter is limited to users with permission to view complete user details. This is an experimental feature and may not yet be available on your instance.</param>
9649+
/// <param name="is_service_account">Search for service account users. Send true to get only service accounts, or false to get all other types of users. This field may only be applicable for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview). Availability of this filter is limited to users with permission to view complete user details. This is an experimental feature and may not yet be available on your instance.</param>
95669650
public async Task<SdkResponse<User[], Exception>> search_users(
95679651
string? fields = null,
95689652
long? page = null,
@@ -9581,6 +9665,7 @@ public async Task<SdkResponse<User[], Exception>> search_users(
95819665
string? content_metadata_id = null,
95829666
string? group_id = null,
95839667
bool? can_manage_api3_creds = null,
9668+
bool? is_service_account = null,
95849669
ITransportSettings? options = null)
95859670
{
95869671
return await AuthRequest<User[], Exception>(HttpMethod.Get, "/users/search", new Values {
@@ -9600,7 +9685,8 @@ public async Task<SdkResponse<User[], Exception>> search_users(
96009685
{ "filter_or", filter_or },
96019686
{ "content_metadata_id", content_metadata_id },
96029687
{ "group_id", group_id },
9603-
{ "can_manage_api3_creds", can_manage_api3_creds }},null,options);
9688+
{ "can_manage_api3_creds", can_manage_api3_creds },
9689+
{ "is_service_account", is_service_account }},null,options);
96049690
}
96059691

96069692
/// ### Search for user accounts by name
@@ -10547,6 +10633,47 @@ public async Task<SdkResponse<UserPublic, Exception>> create_embed_user(
1054710633
return await AuthRequest<UserPublic, Exception>(HttpMethod.Post, "/users/embed_user", null,body,options);
1054810634
}
1054910635

10636+
/// ### Create a service account with the specified information. This action is restricted to Looker admins.
10637+
///
10638+
/// Calls to this endpoint may only be available for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
10639+
///
10640+
/// POST /users/service_accounts -> ServiceAccount
10641+
///
10642+
/// <returns><c>ServiceAccount</c> Created Service Account (application/json)</returns>
10643+
///
10644+
/// <param name="fields">Requested fields.</param>
10645+
public async Task<SdkResponse<ServiceAccount, Exception>> create_service_account(
10646+
WriteServiceAccount body,
10647+
string? fields = null,
10648+
ITransportSettings? options = null)
10649+
{
10650+
return await AuthRequest<ServiceAccount, Exception>(HttpMethod.Post, "/users/service_accounts", new Values {
10651+
{ "fields", fields }},body,options);
10652+
}
10653+
10654+
/// ### Update information for a specific service account. This action is restricted to Looker admins.
10655+
///
10656+
/// This endpoint is exclusively for updating service accounts. To update a regular user, please use the `PATCH /api/3.x/users/:user_id` endpoint instead.
10657+
///
10658+
/// Calls to this endpoint may only be available for [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).
10659+
///
10660+
/// PATCH /users/service_accounts/{user_id} -> ServiceAccount
10661+
///
10662+
/// <returns><c>ServiceAccount</c> New state for specified service account. (application/json)</returns>
10663+
///
10664+
/// <param name="user_id">Id of service account</param>
10665+
/// <param name="fields">Requested fields.</param>
10666+
public async Task<SdkResponse<ServiceAccount, Exception>> update_service_account(
10667+
string user_id,
10668+
WriteServiceAccount body,
10669+
string? fields = null,
10670+
ITransportSettings? options = null)
10671+
{
10672+
user_id = SdkUtils.EncodeParam(user_id);
10673+
return await AuthRequest<ServiceAccount, Exception>(HttpMethod.Patch, $"/users/service_accounts/{user_id}", new Values {
10674+
{ "fields", fields }},body,options);
10675+
}
10676+
1055010677
#endregion User: Manage Users
1055110678

1055210679
#region UserAttribute: Manage User Attributes

0 commit comments

Comments
 (0)