Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion csharp/rtl/Constants.cs
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@ public struct Constants

public const string DefaultApiVersion = "4.0";
public const string AgentPrefix = "CS-SDK";
public const string LookerVersion = "21.14";
public const string LookerVersion = "21.16";

public const string Bearer = "Bearer";
public const string LookerAppiId = "x-looker-appid";
Expand Down
12 changes: 8 additions & 4 deletions csharp/sdk/3.1/models.cs
Original file line number Diff line number Diff line change
Expand Up @@ -706,9 +706,9 @@ public class CustomWelcomeEmail : SdkModel
public bool? enabled { get; set; } = null;
/// <summary>The HTML to use as custom content for welcome emails. Script elements and other potentially dangerous markup will be removed.</summary>
public string? content { get; set; } = null;
/// <summary>The text to appear in the email subject line.</summary>
/// <summary>The text to appear in the email subject line. Only available with a whitelabel license and whitelabel_configuration.advanced_custom_welcome_email enabled.</summary>
public string? subject { get; set; } = null;
/// <summary>The text to appear in the header line of the email body.</summary>
/// <summary>The text to appear in the header line of the email body. Only available with a whitelabel license and whitelabel_configuration.advanced_custom_welcome_email enabled.</summary>
public string? header { get; set; } = null;
}

Expand Down Expand Up @@ -769,6 +769,8 @@ public class Dashboard : SdkModel
public Url? edit_uri { get; set; } = null;
/// <summary>Number of times favorited (read-only)</summary>
public long? favorite_count { get; set; } = null;
/// <summary>Sets the default state of the filters bar to collapsed or open</summary>
public bool? filters_bar_collapsed { get; set; } = null;
/// <summary>Time the dashboard was last accessed (read-only)</summary>
public DateTime? last_accessed_at { get; set; } = null;
/// <summary>Time last viewed in the Looker web UI (read-only)</summary>
Expand Down Expand Up @@ -4486,9 +4488,9 @@ public class WriteCustomWelcomeEmail : SdkModel
public bool? enabled { get; set; } = null;
/// <summary>The HTML to use as custom content for welcome emails. Script elements and other potentially dangerous markup will be removed.</summary>
public string? content { get; set; } = null;
/// <summary>The text to appear in the email subject line.</summary>
/// <summary>The text to appear in the email subject line. Only available with a whitelabel license and whitelabel_configuration.advanced_custom_welcome_email enabled.</summary>
public string? subject { get; set; } = null;
/// <summary>The text to appear in the header line of the email body.</summary>
/// <summary>The text to appear in the header line of the email body. Only available with a whitelabel license and whitelabel_configuration.advanced_custom_welcome_email enabled.</summary>
public string? header { get; set; } = null;
}

Expand Down Expand Up @@ -4528,6 +4530,8 @@ public class WriteDashboard : SdkModel
public bool? crossfilter_enabled { get; set; } = null;
/// <summary>Whether or not a dashboard is 'soft' deleted.</summary>
public bool? deleted { get; set; } = null;
/// <summary>Sets the default state of the filters bar to collapsed or open</summary>
public bool? filters_bar_collapsed { get; set; } = null;
/// <summary>configuration option that governs how dashboard loading will happen.</summary>
public string? load_configuration { get; set; } = null;
/// <summary>Links this dashboard to a particular LookML dashboard such that calling a **sync** operation on that LookML dashboard will update this dashboard to match.</summary>
Expand Down
95 changes: 70 additions & 25 deletions csharp/sdk/4.0/methods.cs
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@
/// SOFTWARE.
///

/// 423 API methods
/// 425 API methods

#nullable enable
using System;
Expand Down Expand Up @@ -49,6 +49,7 @@ public Looker40SDK(IAuthSession authSession): base(authSession, "4.0") { }
///
/// <param name="limit">(Optional) Number of results to return (used with `offset`).</param>
/// <param name="offset">(Optional) Number of results to skip before returning any (used with `limit`).</param>
/// <param name="group_by">(Optional) Dimension by which to order the results(`dashboard` | `owner`)</param>
/// <param name="fields">(Optional) Requested fields.</param>
/// <param name="disabled">(Optional) Filter on returning only enabled or disabled alerts.</param>
/// <param name="frequency">(Optional) Filter on alert frequency, such as: monthly, weekly, daily, hourly, minutes</param>
Expand All @@ -59,6 +60,7 @@ public Looker40SDK(IAuthSession authSession): base(authSession, "4.0") { }
public async Task<SdkResponse<Alert[], Exception>> search_alerts(
long? limit = null,
long? offset = null,
string? group_by = null,
string? fields = null,
bool? disabled = null,
string? frequency = null,
Expand All @@ -71,6 +73,7 @@ public async Task<SdkResponse<Alert[], Exception>> search_alerts(
return await AuthRequest<Alert[], Exception>(HttpMethod.Get, "/alerts/search", new Values {
{ "limit", limit },
{ "offset", offset },
{ "group_by", group_by },
{ "fields", fields },
{ "disabled", disabled },
{ "frequency", frequency },
Expand Down Expand Up @@ -189,6 +192,23 @@ public async Task<SdkResponse<Alert, Exception>> create_alert(
return await AuthRequest<Alert, Exception>(HttpMethod.Post, "/alerts", null,body,options);
}

/// ### Enqueue an Alert by ID
///
/// POST /alerts/{alert_id}/enqueue -> void
///
/// <returns><c>void</c> Alert successfully added to the queue. Does not indicate it has been run ()</returns>
///
/// <param name="alert_id">ID of an alert</param>
/// <param name="force">Whether to enqueue an alert again if its already running.</param>
public async Task<SdkResponse<string, Exception>> enqueue_alert(
long alert_id,
bool? force = null,
ITransportSettings? options = null)
{
return await AuthRequest<string, Exception>(HttpMethod.Post, $"/alerts/{alert_id}/enqueue", new Values {
{ "force", force }},null,options);
}

#endregion Alert: Alert

#region ApiAuth: API Authentication
Expand Down Expand Up @@ -1671,7 +1691,7 @@ public async Task<SdkResponse<CustomWelcomeEmail, Exception>> custom_welcome_ema
///
/// <param name="send_test_welcome_email">If true a test email with the content from the request will be sent to the current user after saving</param>
public async Task<SdkResponse<CustomWelcomeEmail, Exception>> update_custom_welcome_email(
WriteCustomWelcomeEmail body,
CustomWelcomeEmail body,
bool? send_test_welcome_email = null,
ITransportSettings? options = null)
{
Expand Down Expand Up @@ -1855,6 +1875,7 @@ public async Task<SdkResponse<MobileSettings, Exception>> mobile_settings(
/// - marketplace_auto_install_enabled
/// - marketplace_enabled
/// - whitelabel_configuration
/// - custom_welcome_email
///
/// GET /setting -> Setting
///
Expand All @@ -1876,6 +1897,7 @@ public async Task<SdkResponse<Setting, Exception>> get_setting(
/// - marketplace_auto_install_enabled
/// - marketplace_enabled
/// - whitelabel_configuration
/// - custom_welcome_email
///
/// See the `Setting` type for more information on the specific values that can be configured.
///
Expand Down Expand Up @@ -3065,52 +3087,52 @@ public async Task<SdkResponse<DashboardLookml, Exception>> dashboard_lookml(
return await AuthRequest<DashboardLookml, Exception>(HttpMethod.Get, $"/dashboards/lookml/{dashboard_id}", null,null,options);
}

/// ### Copy an existing dashboard
///
/// Creates a copy of an existing dashboard, in a specified folder, and returns the copied dashboard.
/// ### Move an existing dashboard
///
/// `dashboard_id` is required, `dashboard_id` and `folder_id` must already exist if specified.
/// `folder_id` will default to the existing folder.
/// Moves a dashboard to a specified folder, and returns the moved dashboard.
///
/// If a dashboard with the same title already exists in the target folder, the copy will have '(copy)'
/// or '(copy <# of copies>)' appended.
/// `dashboard_id` and `folder_id` are required.
/// `dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.
///
/// POST /dashboards/{dashboard_id}/copy -> Dashboard
/// PATCH /dashboards/{dashboard_id}/move -> Dashboard
///
/// <returns><c>Dashboard</c> Dashboard (application/json)</returns>
///
/// <param name="dashboard_id">Dashboard id to copy.</param>
/// <param name="folder_id">Folder id to copy to.</param>
public async Task<SdkResponse<Dashboard, Exception>> copy_dashboard(
/// <param name="dashboard_id">Dashboard id to move.</param>
/// <param name="folder_id">Folder id to move to.</param>
public async Task<SdkResponse<Dashboard, Exception>> move_dashboard(
string dashboard_id,
string? folder_id = null,
string folder_id,
ITransportSettings? options = null)
{
dashboard_id = SdkUtils.EncodeParam(dashboard_id);
return await AuthRequest<Dashboard, Exception>(HttpMethod.Post, $"/dashboards/{dashboard_id}/copy", new Values {
return await AuthRequest<Dashboard, Exception>(HttpMethod.Patch, $"/dashboards/{dashboard_id}/move", new Values {
{ "folder_id", folder_id }},null,options);
}

/// ### Move an existing dashboard
/// ### Copy an existing dashboard
///
/// Moves a dashboard to a specified folder, and returns the moved dashboard.
/// Creates a copy of an existing dashboard, in a specified folder, and returns the copied dashboard.
///
/// `dashboard_id` and `folder_id` are required.
/// `dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.
/// `dashboard_id` is required, `dashboard_id` and `folder_id` must already exist if specified.
/// `folder_id` will default to the existing folder.
///
/// PATCH /dashboards/{dashboard_id}/move -> Dashboard
/// If a dashboard with the same title already exists in the target folder, the copy will have '(copy)'
/// or '(copy <# of copies>)' appended.
///
/// POST /dashboards/{dashboard_id}/copy -> Dashboard
///
/// <returns><c>Dashboard</c> Dashboard (application/json)</returns>
///
/// <param name="dashboard_id">Dashboard id to move.</param>
/// <param name="folder_id">Folder id to move to.</param>
public async Task<SdkResponse<Dashboard, Exception>> move_dashboard(
/// <param name="dashboard_id">Dashboard id to copy.</param>
/// <param name="folder_id">Folder id to copy to.</param>
public async Task<SdkResponse<Dashboard, Exception>> copy_dashboard(
string dashboard_id,
string folder_id,
string? folder_id = null,
ITransportSettings? options = null)
{
dashboard_id = SdkUtils.EncodeParam(dashboard_id);
return await AuthRequest<Dashboard, Exception>(HttpMethod.Patch, $"/dashboards/{dashboard_id}/move", new Values {
return await AuthRequest<Dashboard, Exception>(HttpMethod.Post, $"/dashboards/{dashboard_id}/copy", new Values {
{ "folder_id", folder_id }},null,options);
}

Expand Down Expand Up @@ -9006,6 +9028,29 @@ public async Task<SdkResponse<CredentialsEmail, Exception>> send_user_credential
{ "fields", fields }},null,options);
}

/// ### Change a disabled user's email addresses
///
/// Allows the admin to change the email addresses for all the user's
/// associated credentials. Will overwrite all associated email addresses with
/// the value supplied in the 'email' body param.
/// The user's 'is_disabled' status must be true.
///
/// POST /users/{user_id}/update_emails -> User
///
/// <returns><c>User</c> New state for specified user. (application/json)</returns>
///
/// <param name="user_id">Id of user</param>
/// <param name="fields">Requested fields.</param>
public async Task<SdkResponse<User, Exception>> wipeout_user_emails(
long user_id,
UserEmailOnly body,
string? fields = null,
ITransportSettings? options = null)
{
return await AuthRequest<User, Exception>(HttpMethod.Post, $"/users/{user_id}/update_emails", new Values {
{ "fields", fields }},body,options);
}

/// Create an embed user from an external user ID
///
/// POST /users/embed_user -> UserPublic
Expand Down
Loading