@looker/sdk 25.0.0 → 25.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"funcs.js","names":["_sdkRtl","require","_constants","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","functionalSdk40","authSession","functionalSdk","sdkVersion","exports","follow_alert","_ref","sdk","alert_id","options","encodeParam","post","concat","_x","_x2","_x3","unfollow_alert","_ref2","delete","_x4","_x5","_x6","search_alerts","_ref3","request","get","limit","offset","group_by","fields","disabled","frequency","condition_met","last_run_start","last_run_end","all_owners","_x7","_x8","_x9","get_alert","_ref4","_x10","_x11","_x12","update_alert","_ref5","body","put","_x13","_x14","_x15","_x16","update_alert_field","_ref6","patch","_x17","_x18","_x19","_x20","delete_alert","_ref7","_x21","_x22","_x23","create_alert","_ref8","_x24","_x25","_x26","enqueue_alert","_ref9","force","_x27","_x28","_x29","_x30","alert_notifications","_ref10","_x31","_x32","_x33","read_alert_notification","_ref11","alert_notification_id","_x34","_x35","_x36","login","_ref12","client_id","client_secret","_x37","_x38","_x39","login_user","_ref13","user_id","associative","_x40","_x41","_x42","_x43","logout","_ref14","_x44","_x45","artifact_usage","_ref15","_x46","_x47","_x48","artifact_namespaces","_ref16","_x49","_x50","_x51","artifact_value","_ref17","namespace","_x52","_x53","_x54","_x55","purge_artifacts","_ref18","_x56","_x57","_x58","search_artifacts","_ref19","user_ids","min_size","max_size","_x59","_x60","_x61","artifact","_ref20","_x62","_x63","_x64","delete_artifact","_ref21","_x65","_x66","_x67","_x68","update_artifacts","_ref22","_x69","_x70","_x71","_x72","_x73","create_embed_secret","_ref23","_x74","_x75","_x76","delete_embed_secret","_ref24","embed_secret_id","_x77","_x78","_x79","create_sso_embed_url","_ref25","_x80","_x81","_x82","create_embed_url_as_me","_ref26","_x83","_x84","_x85","validate_embed_url","_ref27","url","_x86","_x87","_x88","acquire_embed_cookieless_session","_ref28","_x89","_x90","_x91","delete_embed_cookieless_session","_ref29","session_reference_token","_x92","_x93","_x94","generate_tokens_for_cookieless_session","_ref30","_x95","_x96","_x97","ldap_config","_ref31","_x98","_x99","update_ldap_config","_ref32","_x100","_x101","_x102","test_ldap_config_connection","_ref33","_x103","_x104","_x105","test_ldap_config_auth","_ref34","_x106","_x107","_x108","test_ldap_config_user_info","_ref35","_x109","_x110","_x111","test_ldap_config_user_auth","_ref36","_x112","_x113","_x114","register_mobile_device","_ref37","_x115","_x116","_x117","update_mobile_device_registration","_ref38","device_id","_x118","_x119","_x120","deregister_mobile_device","_ref39","_x121","_x122","_x123","all_oauth_client_apps","_ref40","_x124","_x125","_x126","oauth_client_app","_ref41","client_guid","_x127","_x128","_x129","_x130","register_oauth_client_app","_ref42","_x131","_x132","_x133","_x134","_x135","update_oauth_client_app","_ref43","_x136","_x137","_x138","_x139","_x140","delete_oauth_client_app","_ref44","_x141","_x142","_x143","invalidate_tokens","_ref45","_x144","_x145","_x146","activate_app_user","_ref46","_x147","_x148","_x149","_x150","_x151","deactivate_app_user","_ref47","_x152","_x153","_x154","_x155","_x156","oidc_config","_ref48","_x157","_x158","update_oidc_config","_ref49","_x159","_x160","_x161","oidc_test_config","_ref50","test_slug","_x162","_x163","_x164","delete_oidc_test_config","_ref51","_x165","_x166","_x167","create_oidc_test_config","_ref52","_x168","_x169","_x170","password_config","_ref53","_x171","_x172","update_password_config","_ref54","_x173","_x174","_x175","force_password_reset_at_next_login_for_all_users","_ref55","_x176","_x177","saml_config","_ref56","_x178","_x179","update_saml_config","_ref57","_x180","_x181","_x182","saml_test_config","_ref58","_x183","_x184","_x185","delete_saml_test_config","_ref59","_x186","_x187","_x188","create_saml_test_config","_ref60","_x189","_x190","_x191","parse_saml_idp_metadata","_ref61","_x192","_x193","_x194","fetch_and_parse_saml_idp_metadata","_ref62","_x195","_x196","_x197","session_config","_ref63","_x198","_x199","update_session_config","_ref64","_x200","_x201","_x202","get_support_access_allowlist_entries","_ref65","_x203","_x204","_x205","add_support_access_allowlist_entries","_ref66","_x206","_x207","_x208","delete_support_access_allowlist_entry","_ref67","entry_id","_x209","_x210","_x211","enable_support_access","_ref68","_x212","_x213","_x214","disable_support_access","_ref69","_x215","_x216","support_access_status","_ref70","_x217","_x218","all_user_login_lockouts","_ref71","_x219","_x220","_x221","search_user_login_lockouts","_ref72","page","per_page","sorts","auth_type","full_name","email","remote_id","filter_or","_x222","_x223","_x224","delete_user_login_lockout","_ref73","_x225","_x226","_x227","all_boards","_ref74","_x228","_x229","_x230","create_board","_ref75","_x231","_x232","_x233","_x234","search_boards","_ref76","title","created_at","first_name","last_name","favorited","creator_id","permission","_x235","_x236","_x237","board","_ref77","board_id","_x238","_x239","_x240","_x241","update_board","_ref78","_x242","_x243","_x244","_x245","_x246","delete_board","_ref79","_x247","_x248","_x249","all_board_items","_ref80","board_section_id","_x250","_x251","_x252","create_board_item","_ref81","_x253","_x254","_x255","_x256","board_item","_ref82","board_item_id","_x257","_x258","_x259","_x260","update_board_item","_ref83","_x261","_x262","_x263","_x264","_x265","delete_board_item","_ref84","_x266","_x267","_x268","all_board_sections","_ref85","_x269","_x270","_x271","create_board_section","_ref86","_x272","_x273","_x274","_x275","board_section","_ref87","_x276","_x277","_x278","_x279","update_board_section","_ref88","_x280","_x281","_x282","_x283","_x284","delete_board_section","_ref89","_x285","_x286","_x287","all_color_collections","_ref90","_x288","_x289","_x290","create_color_collection","_ref91","_x291","_x292","_x293","color_collections_custom","_ref92","_x294","_x295","_x296","color_collections_standard","_ref93","_x297","_x298","_x299","default_color_collection","_ref94","_x300","_x301","set_default_color_collection","_ref95","collection_id","_x302","_x303","_x304","color_collection","_ref96","_x305","_x306","_x307","_x308","update_color_collection","_ref97","_x309","_x310","_x311","_x312","delete_color_collection","_ref98","_x313","_x314","_x315","cloud_storage_configuration","_ref99","_x316","_x317","update_cloud_storage_configuration","_ref100","_x318","_x319","_x320","custom_welcome_email","_ref101","_x321","_x322","update_custom_welcome_email","_ref102","send_test_welcome_email","_x323","_x324","_x325","_x326","update_custom_welcome_email_test","_ref103","_x327","_x328","_x329","digest_emails_enabled","_ref104","_x330","_x331","update_digest_emails_enabled","_ref105","_x332","_x333","_x334","create_digest_email_send","_ref106","_x335","_x336","public_egress_ip_addresses","_ref107","_x337","_x338","internal_help_resources_content","_ref108","_x339","_x340","update_internal_help_resources_content","_ref109","_x341","_x342","_x343","internal_help_resources","_ref110","_x344","_x345","update_internal_help_resources","_ref111","_x346","_x347","_x348","all_legacy_features","_ref112","_x349","_x350","legacy_feature","_ref113","legacy_feature_id","_x351","_x352","_x353","update_legacy_feature","_ref114","_x354","_x355","_x356","_x357","all_locales","_ref115","_x358","_x359","mobile_settings","_ref116","_x360","_x361","get_setting","_ref117","_x362","_x363","_x364","set_setting","_ref118","_x365","_x366","_x367","_x368","set_smtp_settings","_ref119","_x369","_x370","_x371","smtp_status","_ref120","_x372","_x373","_x374","all_timezones","_ref121","_x375","_x376","versions","_ref122","_x377","_x378","_x379","api_spec","_ref123","api_version","specification","_x380","_x381","_x382","_x383","whitelabel_configuration","_ref124","_x384","_x385","_x386","update_whitelabel_configuration","_ref125","_x387","_x388","_x389","all_connections","_ref126","_x390","_x391","_x392","create_connection","_ref127","_x393","_x394","_x395","connection","_ref128","connection_name","_x396","_x397","_x398","_x399","update_connection","_ref129","_x400","_x401","_x402","_x403","delete_connection","_ref130","_x404","_x405","_x406","delete_connection_override","_ref131","override_context","_x407","_x408","_x409","_x410","test_connection","_ref132","tests","_x411","_x412","_x413","_x414","test_connection_config","_ref133","_x415","_x416","_x417","_x418","all_dialect_infos","_ref134","_x419","_x420","_x421","all_external_oauth_applications","_ref135","name","_x422","_x423","_x424","create_external_oauth_application","_ref136","_x425","_x426","_x427","update_external_oauth_application","_ref137","_x428","_x429","_x430","_x431","create_oauth_application_user_state","_ref138","_x432","_x433","_x434","all_ssh_servers","_ref139","_x435","_x436","_x437","create_ssh_server","_ref140","_x438","_x439","_x440","ssh_server","_ref141","ssh_server_id","_x441","_x442","_x443","update_ssh_server","_ref142","_x444","_x445","_x446","_x447","delete_ssh_server","_ref143","_x448","_x449","_x450","test_ssh_server","_ref144","_x451","_x452","_x453","all_ssh_tunnels","_ref145","_x454","_x455","_x456","create_ssh_tunnel","_ref146","_x457","_x458","_x459","ssh_tunnel","_ref147","ssh_tunnel_id","_x460","_x461","_x462","update_ssh_tunnel","_ref148","_x463","_x464","_x465","_x466","delete_ssh_tunnel","_ref149","_x467","_x468","_x469","test_ssh_tunnel","_ref150","_x470","_x471","_x472","ssh_public_key","_ref151","_x473","_x474","search_content_favorites","_ref152","id","content_metadata_id","dashboard_id","look_id","_x475","_x476","_x477","content_favorite","_ref153","content_favorite_id","_x478","_x479","_x480","_x481","delete_content_favorite","_ref154","_x482","_x483","_x484","create_content_favorite","_ref155","_x485","_x486","_x487","all_content_metadatas","_ref156","parent_id","_x488","_x489","_x490","_x491","content_metadata","_ref157","_x492","_x493","_x494","_x495","update_content_metadata","_ref158","_x496","_x497","_x498","_x499","all_content_metadata_accesses","_ref159","_x500","_x501","_x502","_x503","create_content_metadata_access","_ref160","send_boards_notification_email","_x504","_x505","_x506","_x507","update_content_metadata_access","_ref161","content_metadata_access_id","_x508","_x509","_x510","_x511","delete_content_metadata_access","_ref162","_x512","_x513","_x514","search_content","_ref163","terms","types","_x515","_x516","_x517","content_summary","_ref164","target_group_id","target_user_id","target_content_type","_x518","_x519","_x520","content_thumbnail","_ref165","type","resource_id","reload","theme","format","width","height","_x521","_x522","_x523","content_validation","_ref166","project_names","space_ids","_x524","_x525","_x526","search_content_views","_ref167","view_count","group_id","start_of_week_date","all_time","_x527","_x528","_x529","vector_thumbnail","_ref168","_x530","_x531","_x532","_x533","_x534","all_dashboards","_ref169","_x535","_x536","_x537","create_dashboard","_ref170","_x538","_x539","_x540","search_dashboards","_ref171","slug","description","folder_id","deleted","curate","last_viewed_at","not_owned_by","_x541","_x542","_x543","import_lookml_dashboard","_ref172","lookml_dashboard_id","space_id","raw_locale","_x544","_x545","_x546","_x547","_x548","_x549","sync_lookml_dashboard","_ref173","_x550","_x551","_x552","_x553","_x554","dashboard","_ref174","_x555","_x556","_x557","_x558","update_dashboard","_ref175","_x559","_x560","_x561","_x562","delete_dashboard","_ref176","_x563","_x564","_x565","dashboard_aggregate_table_lookml","_ref177","_x566","_x567","_x568","dashboard_lookml","_ref178","_x569","_x570","_x571","move_dashboard","_ref179","_x572","_x573","_x574","_x575","import_dashboard_from_lookml","_ref180","_x576","_x577","_x578","create_dashboard_from_lookml","_ref181","_x579","_x580","_x581","copy_dashboard","_ref182","_x582","_x583","_x584","_x585","search_dashboard_elements","_ref183","_x586","_x587","_x588","dashboard_element","_ref184","dashboard_element_id","_x589","_x590","_x591","_x592","update_dashboard_element","_ref185","_x593","_x594","_x595","_x596","_x597","delete_dashboard_element","_ref186","_x598","_x599","_x600","dashboard_dashboard_elements","_ref187","_x601","_x602","_x603","_x604","create_dashboard_element","_ref188","apply_filters","_x605","_x606","_x607","dashboard_filter","_ref189","dashboard_filter_id","_x608","_x609","_x610","_x611","update_dashboard_filter","_ref190","_x612","_x613","_x614","_x615","_x616","delete_dashboard_filter","_ref191","_x617","_x618","_x619","dashboard_dashboard_filters","_ref192","_x620","_x621","_x622","_x623","create_dashboard_filter","_ref193","_x624","_x625","_x626","_x627","dashboard_layout_component","_ref194","dashboard_layout_component_id","_x628","_x629","_x630","_x631","update_dashboard_layout_component","_ref195","_x632","_x633","_x634","_x635","_x636","dashboard_layout_dashboard_layout_components","_ref196","dashboard_layout_id","_x637","_x638","_x639","_x640","dashboard_layout","_ref197","_x641","_x642","_x643","_x644","update_dashboard_layout","_ref198","_x645","_x646","_x647","_x648","_x649","delete_dashboard_layout","_ref199","_x650","_x651","_x652","dashboard_dashboard_layouts","_ref200","_x653","_x654","_x655","_x656","create_dashboard_layout","_ref201","_x657","_x658","_x659","_x660","perform_data_action","_ref202","_x661","_x662","_x663","fetch_remote_data_action_form","_ref203","_x664","_x665","_x666","all_datagroups","_ref204","_x667","_x668","datagroup","_ref205","datagroup_id","_x669","_x670","_x671","update_datagroup","_ref206","_x672","_x673","_x674","_x675","graph_derived_tables_for_model","_ref207","model","color","_x676","_x677","_x678","graph_derived_tables_for_view","_ref208","view","models","workspace","_x679","_x680","_x681","start_pdt_build","_ref209","model_name","view_name","force_rebuild","force_full_incremental","source","_x682","_x683","_x684","check_pdt_build","_ref210","materialization_id","_x685","_x686","_x687","stop_pdt_build","_ref211","_x688","_x689","_x690","_x691","search_folders","_ref212","is_shared_root","is_users_root","_x692","_x693","_x694","folder","_ref213","_x695","_x696","_x697","_x698","update_folder","_ref214","_x699","_x700","_x701","_x702","delete_folder","_ref215","_x703","_x704","_x705","all_folders","_ref216","_x706","_x707","_x708","create_folder","_ref217","_x709","_x710","_x711","folder_children","_ref218","_x712","_x713","_x714","folder_children_search","_ref219","_x715","_x716","_x717","folder_parent","_ref220","_x718","_x719","_x720","_x721","folder_ancestors","_ref221","_x722","_x723","_x724","_x725","folder_looks","_ref222","_x726","_x727","_x728","_x729","folder_dashboards","_ref223","_x730","_x731","_x732","_x733","all_groups","_ref224","ids","can_add_to_content_metadata","_x734","_x735","_x736","create_group","_ref225","_x737","_x738","_x739","_x740","search_groups","_ref226","external_group_id","externally_managed","externally_orphaned","_x741","_x742","_x743","search_groups_with_roles","_ref227","_x744","_x745","_x746","search_groups_with_hierarchy","_ref228","_x747","_x748","_x749","group","_ref229","_x750","_x751","_x752","_x753","update_group","_ref230","_x754","_x755","_x756","_x757","_x758","delete_group","_ref231","_x759","_x760","_x761","all_group_groups","_ref232","_x762","_x763","_x764","_x765","add_group_group","_ref233","_x766","_x767","_x768","_x769","all_group_users","_ref234","_x770","_x771","_x772","add_group_user","_ref235","_x773","_x774","_x775","_x776","delete_group_user","_ref236","_x777","_x778","_x779","_x780","delete_group_from_group","_ref237","deleting_group_id","_x781","_x782","_x783","_x784","update_user_attribute_group_value","_ref238","user_attribute_id","_x785","_x786","_x787","_x788","_x789","delete_user_attribute_group_value","_ref239","_x790","_x791","_x792","_x793","all_primary_homepage_sections","_ref240","_x794","_x795","_x796","all_integration_hubs","_ref241","_x797","_x798","_x799","create_integration_hub","_ref242","_x800","_x801","_x802","_x803","integration_hub","_ref243","integration_hub_id","_x804","_x805","_x806","_x807","update_integration_hub","_ref244","_x808","_x809","_x810","_x811","_x812","delete_integration_hub","_ref245","_x813","_x814","_x815","accept_integration_hub_legal_agreement","_ref246","_x816","_x817","_x818","all_integrations","_ref247","_x819","_x820","_x821","integration","_ref248","integration_id","_x822","_x823","_x824","_x825","update_integration","_ref249","_x826","_x827","_x828","_x829","_x830","fetch_integration_form","_ref250","_x831","_x832","_x833","_x834","test_integration","_ref251","_x835","_x836","_x837","all_looks","_ref252","_x838","_x839","_x840","create_look","_ref253","_x841","_x842","_x843","_x844","search_looks","_ref254","query_id","_x845","_x846","_x847","look","_ref255","_x848","_x849","_x850","_x851","update_look","_ref256","_x852","_x853","_x854","_x855","_x856","delete_look","_ref257","_x857","_x858","_x859","run_look","_ref258","result_format","apply_formatting","apply_vis","cache","image_width","image_height","generate_drill_links","force_production","cache_only","path_prefix","rebuild_pdts","server_table_calcs","_x860","_x861","_x862","copy_look","_ref259","_x863","_x864","_x865","_x866","move_look","_ref260","_x867","_x868","_x869","_x870","all_lookml_models","_ref261","exclude_empty","exclude_hidden","include_internal","_x871","_x872","_x873","create_lookml_model","_ref262","_x874","_x875","_x876","lookml_model","_ref263","lookml_model_name","_x877","_x878","_x879","_x880","update_lookml_model","_ref264","_x881","_x882","_x883","_x884","delete_lookml_model","_ref265","_x885","_x886","_x887","lookml_model_explore","_ref266","explore_name","add_drills_metadata","_x888","_x889","_x890","model_fieldname_suggestions","_ref267","field_name","term","filters","_x891","_x892","_x893","get_model","_ref268","_x894","_x895","_x896","connection_databases","_ref269","_x897","_x898","_x899","connection_features","_ref270","_x900","_x901","_x902","_x903","connection_schemas","_ref271","database","_x904","_x905","_x906","connection_tables","_ref272","schema_name","table_filter","table_limit","_x907","_x908","_x909","connection_columns","_ref273","table_names","_x910","_x911","_x912","connection_search_columns","_ref274","column_name","_x913","_x914","_x915","connection_cost_estimate","_ref275","_x916","_x917","_x918","_x919","_x920","lock_all","_ref276","project_id","_x921","_x922","_x923","_x924","all_git_branches","_ref277","_x925","_x926","_x927","git_branch","_ref278","_x928","_x929","_x930","update_git_branch","_ref279","_x931","_x932","_x933","_x934","create_git_branch","_ref280","_x935","_x936","_x937","_x938","find_git_branch","_ref281","branch_name","_x939","_x940","_x941","_x942","delete_git_branch","_ref282","_x943","_x944","_x945","_x946","deploy_ref_to_production","_ref283","branch","ref","_x947","_x948","_x949","deploy_to_production","_ref284","_x950","_x951","_x952","reset_project_to_production","_ref285","_x953","_x954","_x955","reset_project_to_remote","_ref286","_x956","_x957","_x958","all_projects","_ref287","_x959","_x960","_x961","create_project","_ref288","_x962","_x963","_x964","project","_ref289","_x965","_x966","_x967","_x968","update_project","_ref290","_x969","_x970","_x971","_x972","_x973","manifest","_ref291","_x974","_x975","_x976","git_deploy_key","_ref292","_x977","_x978","_x979","create_git_deploy_key","_ref293","_x980","_x981","_x982","project_validation_results","_ref294","_x983","_x984","_x985","_x986","validate_project","_ref295","_x987","_x988","_x989","_x990","project_workspace","_ref296","_x991","_x992","_x993","_x994","all_project_files","_ref297","_x995","_x996","_x997","_x998","project_file","_ref298","file_id","_x999","_x1000","_x1001","_x1002","_x1003","all_git_connection_tests","_ref299","remote_url","_x1004","_x1005","_x1006","_x1007","run_git_connection_test","_ref300","test_id","use_production","_x1008","_x1009","_x1010","all_lookml_tests","_ref301","_x1011","_x1012","_x1013","_x1014","run_lookml_test","_ref302","test","_x1015","_x1016","_x1017","tag_ref","_ref303","commit_sha","tag_name","tag_message","_x1018","_x1019","_x1020","update_repository_credential","_ref304","root_project_id","credential_id","_x1021","_x1022","_x1023","_x1024","_x1025","delete_repository_credential","_ref305","_x1026","_x1027","_x1028","_x1029","get_all_repository_credentials","_ref306","_x1030","_x1031","_x1032","create_query_task","_ref307","_x1033","_x1034","_x1035","query_task_multi_results","_ref308","query_task_ids","_x1036","_x1037","_x1038","query_task","_ref309","query_task_id","_x1039","_x1040","_x1041","_x1042","query_task_results","_ref310","_x1043","_x1044","_x1045","query","_ref311","_x1046","_x1047","_x1048","_x1049","query_for_slug","_ref312","_x1050","_x1051","_x1052","_x1053","create_query","_ref313","_x1054","_x1055","_x1056","_x1057","run_query","_ref314","_x1058","_x1059","_x1060","run_inline_query","_ref315","_x1061","_x1062","_x1063","run_url_encoded_query","_ref316","_x1064","_x1065","_x1066","_x1067","_x1068","merge_query","_ref317","merge_query_id","_x1069","_x1070","_x1071","_x1072","create_merge_query","_ref318","_x1073","_x1074","_x1075","_x1076","all_running_queries","_ref319","_x1077","_x1078","kill_query","_ref320","_x1079","_x1080","_x1081","create_sql_query","_ref321","_x1082","_x1083","_x1084","sql_query","_ref322","_x1085","_x1086","_x1087","run_sql_query","_ref323","download","_x1088","_x1089","_x1090","_x1091","_x1092","create_look_render_task","_ref324","_x1093","_x1094","_x1095","_x1096","_x1097","_x1098","_x1099","create_query_render_task","_ref325","_x1100","_x1101","_x1102","_x1103","_x1104","_x1105","_x1106","create_dashboard_render_task","_ref326","pdf_paper_size","pdf_landscape","long_tables","_x1107","_x1108","_x1109","render_task","_ref327","render_task_id","_x1110","_x1111","_x1112","_x1113","render_task_results","_ref328","_x1114","_x1115","_x1116","create_dashboard_element_render_task","_ref329","_x1117","_x1118","_x1119","_x1120","_x1121","_x1122","_x1123","search_model_sets","_ref330","all_access","built_in","_x1124","_x1125","_x1126","model_set","_ref331","model_set_id","_x1127","_x1128","_x1129","_x1130","update_model_set","_ref332","_x1131","_x1132","_x1133","_x1134","delete_model_set","_ref333","_x1135","_x1136","_x1137","all_model_sets","_ref334","_x1138","_x1139","_x1140","create_model_set","_ref335","_x1141","_x1142","_x1143","all_permissions","_ref336","_x1144","_x1145","search_permission_sets","_ref337","_x1146","_x1147","_x1148","permission_set","_ref338","permission_set_id","_x1149","_x1150","_x1151","_x1152","update_permission_set","_ref339","_x1153","_x1154","_x1155","_x1156","delete_permission_set","_ref340","_x1157","_x1158","_x1159","all_permission_sets","_ref341","_x1160","_x1161","_x1162","create_permission_set","_ref342","_x1163","_x1164","_x1165","all_roles","_ref343","_x1166","_x1167","_x1168","create_role","_ref344","_x1169","_x1170","_x1171","search_roles","_ref345","is_support_role","_x1172","_x1173","_x1174","search_roles_with_user_count","_ref346","_x1175","_x1176","_x1177","role","_ref347","role_id","_x1178","_x1179","_x1180","update_role","_ref348","_x1181","_x1182","_x1183","_x1184","delete_role","_ref349","_x1185","_x1186","_x1187","role_groups","_ref350","_x1188","_x1189","_x1190","_x1191","set_role_groups","_ref351","_x1192","_x1193","_x1194","_x1195","role_users","_ref352","direct_association_only","_x1196","_x1197","_x1198","set_role_users","_ref353","_x1199","_x1200","_x1201","_x1202","scheduled_plans_for_space","_ref354","_x1203","_x1204","_x1205","_x1206","scheduled_plan","_ref355","scheduled_plan_id","_x1207","_x1208","_x1209","_x1210","update_scheduled_plan","_ref356","_x1211","_x1212","_x1213","_x1214","delete_scheduled_plan","_ref357","_x1215","_x1216","_x1217","all_scheduled_plans","_ref358","all_users","_x1218","_x1219","_x1220","create_scheduled_plan","_ref359","_x1221","_x1222","_x1223","scheduled_plan_run_once","_ref360","_x1224","_x1225","_x1226","search_scheduled_plans","_ref361","user_first_name","user_last_name","recipient","destination_type","delivery_format","_x1227","_x1228","_x1229","scheduled_plans_for_look","_ref362","_x1230","_x1231","_x1232","scheduled_plans_for_dashboard","_ref363","_x1233","_x1234","_x1235","scheduled_plans_for_lookml_dashboard","_ref364","_x1236","_x1237","_x1238","scheduled_plan_run_once_by_id","_ref365","_x1239","_x1240","_x1241","_x1242","session","_ref366","_x1243","_x1244","update_session","_ref367","_x1245","_x1246","_x1247","sql_interface_metadata","_ref368","avatica_request","_x1248","_x1249","_x1250","run_sql_interface_query","_ref369","_x1251","_x1252","_x1253","_x1254","create_sql_interface_query","_ref370","_x1255","_x1256","_x1257","all_themes","_ref371","_x1258","_x1259","_x1260","create_theme","_ref372","_x1261","_x1262","_x1263","search_themes","_ref373","begin_at","end_at","_x1264","_x1265","_x1266","default_theme","_ref374","ts","_x1267","_x1268","_x1269","set_default_theme","_ref375","_x1270","_x1271","_x1272","active_themes","_ref376","_x1273","_x1274","_x1275","theme_or_default","_ref377","_x1276","_x1277","_x1278","_x1279","validate_theme","_ref378","_x1280","_x1281","_x1282","_ref379","theme_id","_x1283","_x1284","_x1285","_x1286","update_theme","_ref380","_x1287","_x1288","_x1289","_x1290","delete_theme","_ref381","_x1291","_x1292","_x1293","search_credentials_email","_ref382","emails","_x1294","_x1295","_x1296","me","_ref383","_x1297","_x1298","_x1299","_ref384","_x1300","_x1301","_x1302","create_user","_ref385","_x1303","_x1304","_x1305","_x1306","search_users","_ref386","verified_looker_employee","embed_user","is_disabled","_x1307","_x1308","_x1309","search_users_names","_ref387","pattern","_x1310","_x1311","_x1312","user","_ref388","_x1313","_x1314","_x1315","_x1316","update_user","_ref389","_x1317","_x1318","_x1319","_x1320","_x1321","delete_user","_ref390","_x1322","_x1323","_x1324","user_for_credential","_ref391","credential_type","_x1325","_x1326","_x1327","_x1328","_x1329","user_credentials_email","_ref392","_x1330","_x1331","_x1332","_x1333","create_user_credentials_email","_ref393","_x1334","_x1335","_x1336","_x1337","_x1338","update_user_credentials_email","_ref394","_x1339","_x1340","_x1341","_x1342","_x1343","delete_user_credentials_email","_ref395","_x1344","_x1345","_x1346","user_credentials_totp","_ref396","_x1347","_x1348","_x1349","_x1350","create_user_credentials_totp","_ref397","_x1351","_x1352","_x1353","_x1354","_x1355","delete_user_credentials_totp","_ref398","_x1356","_x1357","_x1358","user_credentials_ldap","_ref399","_x1359","_x1360","_x1361","_x1362","delete_user_credentials_ldap","_ref400","_x1363","_x1364","_x1365","user_credentials_google","_ref401","_x1366","_x1367","_x1368","_x1369","delete_user_credentials_google","_ref402","_x1370","_x1371","_x1372","user_credentials_saml","_ref403","_x1373","_x1374","_x1375","_x1376","delete_user_credentials_saml","_ref404","_x1377","_x1378","_x1379","user_credentials_oidc","_ref405","_x1380","_x1381","_x1382","_x1383","delete_user_credentials_oidc","_ref406","_x1384","_x1385","_x1386","user_credentials_api3","_ref407","credentials_api3_id","_x1387","_x1388","_x1389","_x1390","_x1391","delete_user_credentials_api3","_ref408","_x1392","_x1393","_x1394","_x1395","all_user_credentials_api3s","_ref409","_x1396","_x1397","_x1398","_x1399","create_user_credentials_api3","_ref410","_x1400","_x1401","_x1402","_x1403","user_credentials_embed","_ref411","credentials_embed_id","_x1404","_x1405","_x1406","_x1407","_x1408","delete_user_credentials_embed","_ref412","_x1409","_x1410","_x1411","_x1412","all_user_credentials_embeds","_ref413","_x1413","_x1414","_x1415","_x1416","user_credentials_looker_openid","_ref414","_x1417","_x1418","_x1419","_x1420","delete_user_credentials_looker_openid","_ref415","_x1421","_x1422","_x1423","user_session","_ref416","session_id","_x1424","_x1425","_x1426","_x1427","_x1428","delete_user_session","_ref417","_x1429","_x1430","_x1431","_x1432","all_user_sessions","_ref418","_x1433","_x1434","_x1435","_x1436","create_user_credentials_email_password_reset","_ref419","expires","_x1437","_x1438","_x1439","user_roles","_ref420","_x1440","_x1441","_x1442","set_user_roles","_ref421","_x1443","_x1444","_x1445","_x1446","_x1447","user_attribute_user_values","_ref422","user_attribute_ids","all_values","include_unset","_x1448","_x1449","_x1450","set_user_attribute_user_value","_ref423","_x1451","_x1452","_x1453","_x1454","_x1455","delete_user_attribute_user_value","_ref424","_x1456","_x1457","_x1458","_x1459","send_user_credentials_email_password_reset","_ref425","_x1460","_x1461","_x1462","_x1463","wipeout_user_emails","_ref426","_x1464","_x1465","_x1466","_x1467","_x1468","create_embed_user","_ref427","_x1469","_x1470","_x1471","all_user_attributes","_ref428","_x1472","_x1473","_x1474","create_user_attribute","_ref429","_x1475","_x1476","_x1477","_x1478","user_attribute","_ref430","_x1479","_x1480","_x1481","_x1482","update_user_attribute","_ref431","_x1483","_x1484","_x1485","_x1486","_x1487","delete_user_attribute","_ref432","_x1488","_x1489","_x1490","all_user_attribute_group_values","_ref433","_x1491","_x1492","_x1493","_x1494","set_user_attribute_group_values","_ref434","_x1495","_x1496","_x1497","_x1498","all_workspaces","_ref435","_x1499","_x1500","_ref436","workspace_id","_x1501","_x1502","_x1503"],"sources":["../../src/4.0/funcs.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\n/**\n * 467 API methods\n */\n\nimport type {\n DelimArray,\n IDictionary,\n IAPIMethods,\n IAuthSession,\n ITransportSettings,\n SDKResponse,\n} from '@looker/sdk-rtl';\nimport { encodeParam, functionalSdk } from '@looker/sdk-rtl';\n\n/**\n * NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0\n *\n */\n\nimport { sdkVersion } from '../constants';\nimport type {\n IAccessToken,\n IAlert,\n IAlertNotifications,\n IAlertPatch,\n IApiSession,\n IApiVersion,\n IArtifact,\n IArtifactNamespace,\n IArtifactUsage,\n IBackupConfiguration,\n IBoard,\n IBoardItem,\n IBoardSection,\n IColorCollection,\n IColumnSearch,\n IConnectionFeatures,\n IContentFavorite,\n IContentMeta,\n IContentMetaGroupUser,\n IContentSearch,\n IContentSummary,\n IContentValidation,\n IContentView,\n ICostEstimate,\n ICreateCostEstimate,\n ICreateCredentialsApi3,\n ICreateEmbedUserRequest,\n ICreateFolder,\n ICreateOAuthApplicationUserStateRequest,\n ICreateOAuthApplicationUserStateResponse,\n ICredentialsApi3,\n ICredentialsEmail,\n ICredentialsEmailSearch,\n ICredentialsEmbed,\n ICredentialsGoogle,\n ICredentialsLDAP,\n ICredentialsLookerOpenid,\n ICredentialsOIDC,\n ICredentialsSaml,\n ICredentialsTotp,\n ICustomWelcomeEmail,\n IDashboard,\n IDashboardAggregateTableLookml,\n IDashboardBase,\n IDashboardElement,\n IDashboardFilter,\n IDashboardLayout,\n IDashboardLayoutComponent,\n IDashboardLookml,\n IDataActionForm,\n IDataActionRequest,\n IDataActionResponse,\n IDatagroup,\n IDBConnection,\n IDBConnectionTestResult,\n IDependencyGraph,\n IDialectInfo,\n IDigestEmails,\n IDigestEmailSend,\n IEgressIpAddresses,\n IEmbedCookielessSessionAcquire,\n IEmbedCookielessSessionAcquireResponse,\n IEmbedCookielessSessionGenerateTokens,\n IEmbedCookielessSessionGenerateTokensResponse,\n IEmbedParams,\n IEmbedSecret,\n IEmbedSsoParams,\n IEmbedUrlResponse,\n IError,\n IExternalOauthApplication,\n IFolder,\n IFolderBase,\n IGitBranch,\n IGitConnectionTest,\n IGitConnectionTestResult,\n IGroup,\n IGroupHierarchy,\n IGroupIdForGroupInclusion,\n IGroupIdForGroupUserInclusion,\n IGroupSearch,\n IHomepageSection,\n IIntegration,\n IIntegrationHub,\n IIntegrationTestResult,\n IInternalHelpResources,\n IInternalHelpResourcesContent,\n IJsonBi,\n ILDAPConfig,\n ILDAPConfigTestResult,\n ILegacyFeature,\n ILocale,\n ILook,\n ILookmlModel,\n ILookmlModelExplore,\n ILookmlTest,\n ILookmlTestResult,\n ILookWithQuery,\n IManifest,\n IMaterializePDT,\n IMergeQuery,\n IMobileSettings,\n IMobileToken,\n IModel,\n IModelFieldSuggestions,\n IModelSet,\n IOauthClientApp,\n IOIDCConfig,\n IPasswordConfig,\n IPermission,\n IPermissionSet,\n IProject,\n IProjectFile,\n IProjectValidation,\n IProjectValidationCache,\n IProjectWorkspace,\n IQuery,\n IQueryTask,\n IRenderTask,\n IRepositoryCredential,\n IRequestActiveThemes,\n IRequestAlertNotifications,\n IRequestAllBoardItems,\n IRequestAllBoardSections,\n IRequestAllExternalOauthApplications,\n IRequestAllGroups,\n IRequestAllGroupUsers,\n IRequestAllIntegrations,\n IRequestAllLookmlModels,\n IRequestAllRoles,\n IRequestAllScheduledPlans,\n IRequestAllUserAttributes,\n IRequestAllUsers,\n IRequestArtifact,\n IRequestArtifactNamespaces,\n IRequestConnectionColumns,\n IRequestConnectionSchemas,\n IRequestConnectionSearchColumns,\n IRequestConnectionTables,\n IRequestContentSummary,\n IRequestContentThumbnail,\n IRequestContentValidation,\n IRequestCreateDashboardElement,\n IRequestCreateDashboardRenderTask,\n IRequestCreateQueryTask,\n IRequestCreateUserCredentialsEmailPasswordReset,\n IRequestDeployRefToProduction,\n IRequestFolderChildren,\n IRequestFolderChildrenSearch,\n IRequestGraphDerivedTablesForModel,\n IRequestGraphDerivedTablesForView,\n IRequestLogin,\n IRequestLookmlModelExplore,\n IRequestModelFieldnameSuggestions,\n IRequestRoleUsers,\n IRequestRunGitConnectionTest,\n IRequestRunInlineQuery,\n IRequestRunLook,\n IRequestRunLookmlTest,\n IRequestRunQuery,\n IRequestScheduledPlansForDashboard,\n IRequestScheduledPlansForLook,\n IRequestScheduledPlansForLookmlDashboard,\n IRequestSearchAlerts,\n IRequestSearchArtifacts,\n IRequestSearchBoards,\n IRequestSearchContent,\n IRequestSearchContentFavorites,\n IRequestSearchContentViews,\n IRequestSearchCredentialsEmail,\n IRequestSearchDashboardElements,\n IRequestSearchDashboards,\n IRequestSearchFolders,\n IRequestSearchGroups,\n IRequestSearchGroupsWithHierarchy,\n IRequestSearchGroupsWithRoles,\n IRequestSearchLooks,\n IRequestSearchModelSets,\n IRequestSearchPermissionSets,\n IRequestSearchRoles,\n IRequestSearchRolesWithUserCount,\n IRequestSearchScheduledPlans,\n IRequestSearchThemes,\n IRequestSearchUserLoginLockouts,\n IRequestSearchUsers,\n IRequestSearchUsersNames,\n IRequestStartPdtBuild,\n IRequestTagRef,\n IRequestUserAttributeUserValues,\n IRequestUserRoles,\n IRole,\n IRoleSearch,\n IRunningQueries,\n ISamlConfig,\n ISamlMetadataParseResult,\n IScheduledPlan,\n ISchema,\n ISchemaColumns,\n ISchemaTables,\n ISession,\n ISessionConfig,\n ISetting,\n ISmtpSettings,\n ISmtpStatus,\n ISqlInterfaceQuery,\n ISqlInterfaceQueryMetadata,\n ISqlQuery,\n ISqlQueryCreate,\n ISshPublicKey,\n ISshServer,\n ISshTunnel,\n ISupportAccessAddEntries,\n ISupportAccessAllowlistEntry,\n ISupportAccessEnable,\n ISupportAccessStatus,\n ITheme,\n ITimezone,\n IUpdateArtifact,\n IUpdateFolder,\n IUser,\n IUserAttribute,\n IUserAttributeGroupValue,\n IUserAttributeWithValue,\n IUserEmailOnly,\n IUserLoginLockout,\n IUserPublic,\n IValidationError,\n IWelcomeEmailTest,\n IWhitelabelConfiguration,\n IWorkspace,\n IWriteAlert,\n IWriteApiSession,\n IWriteBackupConfiguration,\n IWriteBoard,\n IWriteBoardItem,\n IWriteBoardSection,\n IWriteColorCollection,\n IWriteContentFavorite,\n IWriteContentMeta,\n IWriteCreateDashboardFilter,\n IWriteCredentialsEmail,\n IWriteDashboard,\n IWriteDashboardElement,\n IWriteDashboardFilter,\n IWriteDashboardLayout,\n IWriteDashboardLayoutComponent,\n IWriteDashboardLookml,\n IWriteDatagroup,\n IWriteDBConnection,\n IWriteEmbedSecret,\n IWriteExternalOauthApplication,\n IWriteGitBranch,\n IWriteGroup,\n IWriteIntegration,\n IWriteIntegrationHub,\n IWriteInternalHelpResources,\n IWriteInternalHelpResourcesContent,\n IWriteLDAPConfig,\n IWriteLegacyFeature,\n IWriteLookmlModel,\n IWriteLookWithQuery,\n IWriteMergeQuery,\n IWriteMobileToken,\n IWriteModelSet,\n IWriteOauthClientApp,\n IWriteOIDCConfig,\n IWritePasswordConfig,\n IWritePermissionSet,\n IWriteProject,\n IWriteQuery,\n IWriteRepositoryCredential,\n IWriteRole,\n IWriteSamlConfig,\n IWriteScheduledPlan,\n IWriteSessionConfig,\n IWriteSetting,\n IWriteSqlInterfaceQueryCreate,\n IWriteSshServer,\n IWriteSshTunnel,\n IWriteTheme,\n IWriteUser,\n IWriteUserAttribute,\n IWriteUserAttributeWithValue,\n IWriteWhitelabelConfiguration,\n} from './models';\n\n/**\n * Creates a \"functional sdk\" that knows the API and Looker release version\n * @param authSession authentication session\n */\nexport const functionalSdk40 = (authSession: IAuthSession) => {\n return functionalSdk(authSession, '4.0', sdkVersion);\n};\n\n//#region Alert: Alert\n\n/**\n * Follow an alert.\n *\n * POST /alerts/{alert_id}/follow -> void\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param options one-time API call overrides\n *\n */\nexport const follow_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.post<void, IError>(\n `/alerts/${alert_id}/follow`,\n null,\n null,\n options\n );\n};\n\n/**\n * Unfollow an alert.\n *\n * DELETE /alerts/{alert_id}/follow -> void\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param options one-time API call overrides\n *\n */\nexport const unfollow_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.delete<void, IError>(\n `/alerts/${alert_id}/follow`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Search Alerts\n *\n * GET /alerts/search -> IAlert[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchAlerts\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_alerts = async (\n sdk: IAPIMethods,\n request: IRequestSearchAlerts,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert[], IError>> => {\n return sdk.get<IAlert[], IError>(\n '/alerts/search',\n {\n limit: request.limit,\n offset: request.offset,\n group_by: request.group_by,\n fields: request.fields,\n disabled: request.disabled,\n frequency: request.frequency,\n condition_met: request.condition_met,\n last_run_start: request.last_run_start,\n last_run_end: request.last_run_end,\n all_owners: request.all_owners,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get an alert by a given alert ID\n *\n * GET /alerts/{alert_id} -> IAlert\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param options one-time API call overrides\n *\n */\nexport const get_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.get<IAlert, IError>(`/alerts/${alert_id}`, null, null, options);\n};\n\n/**\n * ### Update an alert\n * # Required fields: `owner_id`, `field`, `destinations`, `comparison_type`, `threshold`, `cron`\n * #\n *\n * PUT /alerts/{alert_id} -> IAlert\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param body Partial<IWriteAlert>\n * @param options one-time API call overrides\n *\n */\nexport const update_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n body: Partial<IWriteAlert>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert, IError | IValidationError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.put<IAlert, IError | IValidationError>(\n `/alerts/${alert_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Update select alert fields\n * # Available fields: `owner_id`, `is_disabled`, `disabled_reason`, `is_public`, `threshold`\n * #\n *\n * PATCH /alerts/{alert_id} -> IAlert\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param body Partial<IAlertPatch>\n * @param options one-time API call overrides\n *\n */\nexport const update_alert_field = async (\n sdk: IAPIMethods,\n alert_id: string,\n body: Partial<IAlertPatch>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert, IError | IValidationError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.patch<IAlert, IError | IValidationError>(\n `/alerts/${alert_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete an alert by a given alert ID\n *\n * DELETE /alerts/{alert_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param options one-time API call overrides\n *\n */\nexport const delete_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.delete<void, IError>(`/alerts/${alert_id}`, null, null, options);\n};\n\n/**\n * ### Create a new alert and return details of the newly created object\n *\n * Required fields: `field`, `destinations`, `comparison_type`, `threshold`, `cron`\n *\n * Example Request:\n * Run alert on dashboard element '103' at 5am every day. Send an email to 'test@test.com' if inventory for Los Angeles (using dashboard filter `Warehouse Name`) is lower than 1,000\n * ```\n * {\n * \"cron\": \"0 5 * * *\",\n * \"custom_title\": \"Alert when LA inventory is low\",\n * \"dashboard_element_id\": 103,\n * \"applied_dashboard_filters\": [\n * {\n * \"filter_title\": \"Warehouse Name\",\n * \"field_name\": \"distribution_centers.name\",\n * \"filter_value\": \"Los Angeles CA\",\n * \"filter_description\": \"is Los Angeles CA\"\n * }\n * ],\n * \"comparison_type\": \"LESS_THAN\",\n * \"destinations\": [\n * {\n * \"destination_type\": \"EMAIL\",\n * \"email_address\": \"test@test.com\"\n * }\n * ],\n * \"field\": {\n * \"title\": \"Number on Hand\",\n * \"name\": \"inventory_items.number_on_hand\"\n * },\n * \"is_disabled\": false,\n * \"is_public\": true,\n * \"threshold\": 1000\n * }\n * ```\n *\n * POST /alerts -> IAlert\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteAlert>\n * @param options one-time API call overrides\n *\n */\nexport const create_alert = async (\n sdk: IAPIMethods,\n body: Partial<IWriteAlert>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert, IError | IValidationError>> => {\n return sdk.post<IAlert, IError | IValidationError>(\n '/alerts',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Enqueue an Alert by ID\n *\n * POST /alerts/{alert_id}/enqueue -> void\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param force Whether to enqueue an alert again if its already running.\n * @param options one-time API call overrides\n *\n */\nexport const enqueue_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n force?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.post<void, IError>(\n `/alerts/${alert_id}/enqueue`,\n { force },\n null,\n options\n );\n};\n\n/**\n * # Alert Notifications.\n * The endpoint returns all the alert notifications received by the user on email in the past 7 days. It also returns whether the notifications have been read by the user.\n *\n * GET /alert_notifications -> IAlertNotifications[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAlertNotifications\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const alert_notifications = async (\n sdk: IAPIMethods,\n request: IRequestAlertNotifications,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlertNotifications[], IError>> => {\n return sdk.get<IAlertNotifications[], IError>(\n '/alert_notifications',\n { limit: request.limit, offset: request.offset },\n null,\n options\n );\n};\n\n/**\n * # Reads a Notification\n * The endpoint marks a given alert notification as read by the user, in case it wasn't already read. The AlertNotification model is updated for this purpose. It returns the notification as a response.\n *\n * PATCH /alert_notifications/{alert_notification_id} -> IAlertNotifications\n *\n * @param sdk IAPIMethods implementation\n * @param alert_notification_id ID of a notification\n * @param options one-time API call overrides\n *\n */\nexport const read_alert_notification = async (\n sdk: IAPIMethods,\n alert_notification_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlertNotifications, IError | IValidationError>> => {\n alert_notification_id = encodeParam(alert_notification_id);\n return sdk.patch<IAlertNotifications, IError | IValidationError>(\n `/alert_notifications/${alert_notification_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Alert: Alert\n\n//#region ApiAuth: API Authentication\n\n/**\n * ### Present client credentials to obtain an authorization token\n *\n * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\n * The client credentials required for this login must be obtained by creating an API key on a user account\n * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`.\n *\n * The access token returned by `login` must be used in the HTTP Authorization header of subsequent\n * API requests, like this:\n * ```\n * Authorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n * ```\n * Replace \"4QDkCy...\" with the `access_token` value returned by `login`.\n * The word `token` is a string literal and must be included exactly as shown.\n *\n * This function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n *\n * Example of passing credentials in the HTTP request body:\n * ````\n * POST HTTP /login\n * Content-Type: application/x-www-form-urlencoded\n *\n * client_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n * ````\n *\n * ### Best Practice:\n * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n *\n * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n *\n * POST /login -> IAccessToken\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestLogin\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const login = async (\n sdk: IAPIMethods,\n request: IRequestLogin,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAccessToken, IError>> => {\n return sdk.post<IAccessToken, IError>(\n '/login',\n { client_id: request.client_id, client_secret: request.client_secret },\n null,\n options\n );\n};\n\n/**\n * ### Create an access token that runs as a given user.\n *\n * This can only be called by an authenticated admin user. It allows that admin to generate a new\n * authentication token for the user with the given user id. That token can then be used for subsequent\n * API calls - which are then performed *as* that target user.\n *\n * The target user does *not* need to have a pre-existing API client_id/client_secret pair. And, no such\n * credentials are created by this call.\n *\n * This allows for building systems where api user authentication for an arbitrary number of users is done\n * outside of Looker and funneled through a single 'service account' with admin permissions. Note that a\n * new access token is generated on each call. If target users are going to be making numerous API\n * calls in a short period then it is wise to cache this authentication token rather than call this before\n * each of those API calls.\n *\n * See 'login' for more detail on the access token and how to use it.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /login/{user_id} -> IAccessToken\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user.\n * @param associative When true (default), API calls using the returned access_token are attributed to the admin user who created the access_token. When false, API activity is attributed to the user the access_token runs as. False requires a looker license.\n * @param options one-time API call overrides\n *\n */\nexport const login_user = async (\n sdk: IAPIMethods,\n user_id: string,\n associative?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAccessToken, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<IAccessToken, IError>(\n `/login/${user_id}`,\n { associative },\n null,\n options\n );\n};\n\n/**\n * ### Logout of the API and invalidate the current access token.\n *\n * DELETE /logout -> string\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const logout = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n return sdk.delete<string, IError>('/logout', null, null, options);\n};\n\n//#endregion ApiAuth: API Authentication\n\n//#region Artifact: Artifact Storage\n\n/**\n * Get the maximum configured size of the entire artifact store, and the currently used storage in bytes.\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/usage -> IArtifactUsage\n *\n * @param sdk IAPIMethods implementation\n * @param fields Comma-delimited names of fields to return in responses. Omit for all fields\n * @param options one-time API call overrides\n *\n */\nexport const artifact_usage = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifactUsage, IError | IValidationError>> => {\n return sdk.get<IArtifactUsage, IError | IValidationError>(\n '/artifact/usage',\n { fields },\n null,\n options\n );\n};\n\n/**\n * Get all artifact namespaces and the count of artifacts in each namespace\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/namespaces -> IArtifactNamespace[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestArtifactNamespaces\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const artifact_namespaces = async (\n sdk: IAPIMethods,\n request: IRequestArtifactNamespaces,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifactNamespace[], IError | IValidationError>> => {\n return sdk.get<IArtifactNamespace[], IError | IValidationError>(\n '/artifact/namespaces',\n { fields: request.fields, limit: request.limit, offset: request.offset },\n null,\n options\n );\n};\n\n/**\n * ### Return the value of an artifact\n *\n * The MIME type for the API response is set to the `content_type` of the value\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/{namespace}/value -> string\n *\n * @param sdk IAPIMethods implementation\n * @param namespace Artifact storage namespace\n * @param key Artifact storage key. Namespace + Key must be unique\n * @param options one-time API call overrides\n *\n */\nexport const artifact_value = async (\n sdk: IAPIMethods,\n namespace: string,\n key?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n namespace = encodeParam(namespace);\n return sdk.get<string, IError | IValidationError>(\n `/artifact/${namespace}/value`,\n { key },\n null,\n options\n );\n};\n\n/**\n * Remove *all* artifacts from a namespace. Purged artifacts are permanently deleted\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * DELETE /artifact/{namespace}/purge -> void\n *\n * @param sdk IAPIMethods implementation\n * @param namespace Artifact storage namespace\n * @param options one-time API call overrides\n *\n */\nexport const purge_artifacts = async (\n sdk: IAPIMethods,\n namespace: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n namespace = encodeParam(namespace);\n return sdk.delete<void, IError>(\n `/artifact/${namespace}/purge`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Search all key/value pairs in a namespace for matching criteria.\n *\n * Returns an array of artifacts matching the specified search criteria.\n *\n * Key search patterns use case-insensitive matching and can contain `%` and `_` as SQL LIKE pattern match wildcard expressions.\n *\n * The parameters `min_size` and `max_size` can be used individually or together.\n *\n * - `min_size` finds artifacts with sizes greater than or equal to its value\n * - `max_size` finds artifacts with sizes less than or equal to its value\n * - using both parameters restricts the minimum and maximum size range for artifacts\n *\n * **NOTE**: Artifacts are always returned in alphanumeric order by key.\n *\n * Get a **single artifact** by namespace and key with [`artifact`](#!/Artifact/artifact)\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/{namespace}/search -> IArtifact[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchArtifacts\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_artifacts = async (\n sdk: IAPIMethods,\n request: IRequestSearchArtifacts,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifact[], IError | IValidationError>> => {\n request.namespace = encodeParam(request.namespace);\n return sdk.get<IArtifact[], IError | IValidationError>(\n `/artifact/${request.namespace}/search`,\n {\n fields: request.fields,\n key: request.key,\n user_ids: request.user_ids,\n min_size: request.min_size,\n max_size: request.max_size,\n limit: request.limit,\n offset: request.offset,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get one or more artifacts\n *\n * Returns an array of artifacts matching the specified key value(s).\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/{namespace} -> IArtifact[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestArtifact\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const artifact = async (\n sdk: IAPIMethods,\n request: IRequestArtifact,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifact[], IError | IValidationError>> => {\n request.namespace = encodeParam(request.namespace);\n return sdk.get<IArtifact[], IError | IValidationError>(\n `/artifact/${request.namespace}`,\n {\n key: request.key,\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n },\n null,\n options\n );\n};\n\n/**\n * ### Delete one or more artifacts\n *\n * To avoid rate limiting on deletion requests, multiple artifacts can be deleted at the same time by using a comma-delimited list of artifact keys.\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * DELETE /artifact/{namespace} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param namespace Artifact storage namespace\n * @param key Comma-delimited list of keys. Wildcards not allowed.\n * @param options one-time API call overrides\n *\n */\nexport const delete_artifact = async (\n sdk: IAPIMethods,\n namespace: string,\n key: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n namespace = encodeParam(namespace);\n return sdk.delete<void, IError>(\n `/artifact/${namespace}`,\n { key },\n null,\n options\n );\n};\n\n/**\n * ### Create or update one or more artifacts\n *\n * Only `key` and `value` are required to _create_ an artifact.\n * To _update_ an artifact, its current `version` value must be provided.\n *\n * In the following example `body` payload, `one` and `two` are existing artifacts, and `three` is new:\n *\n * ```json\n * [\n * { \"key\": \"one\", \"value\": \"[ \\\"updating\\\", \\\"existing\\\", \\\"one\\\" ]\", \"version\": 10, \"content_type\": \"application/json\" },\n * { \"key\": \"two\", \"value\": \"updating existing two\", \"version\": 20 },\n * { \"key\": \"three\", \"value\": \"creating new three\" },\n * ]\n * ```\n *\n * Notes for this body:\n *\n * - The `value` for `key` **one** is a JSON payload, so a `content_type` override is needed. This override must be done **every** time a JSON value is set.\n * - The `version` values for **one** and **two** mean they have been saved 10 and 20 times, respectively.\n * - If `version` is **not** provided for an existing artifact, the entire request will be refused and a `Bad Request` response will be sent.\n * - If `version` is provided for an artifact, it is only used for helping to prevent inadvertent data overwrites. It cannot be used to **set** the version of an artifact. The Looker server controls `version`.\n * - We suggest encoding binary values as base64. Because the MIME content type for base64 is detected as plain text, also provide `content_type` to correctly indicate the value's type for retrieval and client-side processing.\n *\n * Because artifacts are stored encrypted, the same value can be written multiple times (provided the correct `version` number is used). Looker does not examine any values stored in the artifact store, and only decrypts when sending artifacts back in an API response.\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * PUT /artifacts/{namespace} -> IArtifact[]\n *\n * @param sdk IAPIMethods implementation\n * @param namespace Artifact storage namespace\n * @param body Partial<IUpdateArtifact[]>\n * @param fields Comma-delimited names of fields to return in responses. Omit for all fields\n * @param options one-time API call overrides\n *\n */\nexport const update_artifacts = async (\n sdk: IAPIMethods,\n namespace: string,\n body: Partial<IUpdateArtifact[]>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifact[], IError | IValidationError>> => {\n namespace = encodeParam(namespace);\n return sdk.put<IArtifact[], IError | IValidationError>(\n `/artifacts/${namespace}`,\n { fields },\n body,\n options\n );\n};\n\n//#endregion Artifact: Artifact Storage\n\n//#region Auth: Manage User Authentication Configuration\n\n/**\n * ### Create an embed secret using the specified information.\n *\n * The value of the `secret` field will be set by Looker and returned.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /embed_config/secrets -> IEmbedSecret\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteEmbedSecret>\n * @param options one-time API call overrides\n *\n */\nexport const create_embed_secret = async (\n sdk: IAPIMethods,\n body?: Partial<IWriteEmbedSecret>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEmbedSecret, IError | IValidationError>> => {\n return sdk.post<IEmbedSecret, IError | IValidationError>(\n '/embed_config/secrets',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete an embed secret.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * DELETE /embed_config/secrets/{embed_secret_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param embed_secret_id Id of Embed Secret\n * @param options one-time API call overrides\n *\n */\nexport const delete_embed_secret = async (\n sdk: IAPIMethods,\n embed_secret_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n embed_secret_id = encodeParam(embed_secret_id);\n return sdk.delete<string, IError>(\n `/embed_config/secrets/${embed_secret_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create Signed Embed URL\n *\n * Creates a signed embed URL and cryptographically signs it with an embed secret.\n * This signed URL can then be used to instantiate a Looker embed session in a PBL web application.\n * Do not make any modifications to the returned URL - any change may invalidate the signature and\n * cause the URL to fail to load a Looker embed session.\n *\n * A signed embed URL can only be **used once**. After the URL has been used to request a page from the\n * Looker server, it is invalid. Future requests using the same URL will fail. This is to prevent\n * 'replay attacks'.\n *\n * The `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\n * To load a dashboard with id 56 and with a filter of `Date=1 years`, the looker URL would look like `https:/myname.looker.com/dashboards/56?Date=1%20years`.\n * The best way to obtain this `target_url` is to navigate to the desired Looker page in your web browser and use the \"Get embed URL\" menu option\n * to copy it to your clipboard and paste it into the `target_url` property as a quoted string value in this API request.\n *\n * Permissions for the embed user are defined by the groups in which the embed user is a member (`group_ids` property)\n * and the lists of models and permissions assigned to the embed user.\n * At a minimum, you must provide values for either the `group_ids` property, or **both** the models and permissions properties.\n * These properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n *\n * The embed user's access is the union of permissions granted by the `group_ids`, `models`, and `permissions` properties.\n *\n * This function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\n * embed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\n * Because of this, **these parameters are not validated** when the API call is made.\n *\n * The [Get Embed Url](https://cloud.google.com/looker/docs/r/get-signed-url) dialog can be used to determine and validate the correct permissions for signing an embed url.\n * This dialog also provides the SDK syntax for the API call to make. Alternatively, you can copy the signed URL into the Embed URI Validator text box\n * in `<your looker instance>/admin/embed` to diagnose potential problems.\n *\n * The `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\n * if not specified, the URL will be signed using the most recent active signing secret. If there is no active secret for signing embed urls,\n * a default secret will be created. This default secret is encrypted using HMAC/SHA-256.\n *\n * The `embed_domain` parameter is optional. If specified and valid, the domain will be added to the embed domain allowlist if it is missing.\n *\n * #### Security Note\n * Protect this signed URL as you would an access token or password credentials - do not write\n * it to disk, do not pass it to a third party, and only pass it through a secure HTTPS\n * encrypted transport.\n *\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /embed/sso_url -> IEmbedUrlResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IEmbedSsoParams>\n * @param options one-time API call overrides\n *\n */\nexport const create_sso_embed_url = async (\n sdk: IAPIMethods,\n body: Partial<IEmbedSsoParams>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEmbedUrlResponse, IError | IValidationError>> => {\n return sdk.post<IEmbedUrlResponse, IError | IValidationError>(\n '/embed/sso_url',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Create an Embed URL\n *\n * Creates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\n * This embed URL can then be used to instantiate a Looker embed session in a\n * \"Powered by Looker\" (PBL) web application.\n *\n * This is similar to Private Embedding (https://cloud.google.com/looker/docs/r/admin/embed/private-embed). Instead of\n * logging into the Web UI to authenticate, the user has already authenticated against the API to be able to\n * make this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\n * the embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\n * content visible under the `/embed` context.\n *\n * An embed URL can only be used once, and must be used within 5 minutes of being created. After it\n * has been used to request a page from the Looker server, the URL is invalid. Future requests using\n * the same URL will fail. This is to prevent 'replay attacks'.\n *\n * The `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\n * To load a dashboard with id 56 and with a filter of `Date=1 years`, the looker Embed URL would look like `https://myname.looker.com/embed/dashboards/56?Date=1%20years`.\n * The best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\n * copy the URL shown in the browser address bar, insert \"/embed\" after the host/port, and paste it into the `target_url` property as a quoted string value in this API request.\n *\n * #### Security Note\n * Protect this signed URL as you would an access token or password credentials - do not write\n * it to disk, do not pass it to a third party, and only pass it through a secure HTTPS\n * encrypted transport.\n *\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /embed/token_url/me -> IEmbedUrlResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IEmbedParams>\n * @param options one-time API call overrides\n *\n */\nexport const create_embed_url_as_me = async (\n sdk: IAPIMethods,\n body: Partial<IEmbedParams>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEmbedUrlResponse, IError | IValidationError>> => {\n return sdk.post<IEmbedUrlResponse, IError | IValidationError>(\n '/embed/token_url/me',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Validate a Signed Embed URL\n *\n * GET /embed/sso/validate -> IEmbedUrlResponse\n *\n * @param sdk IAPIMethods implementation\n * @param url URL to validate\n * @param options one-time API call overrides\n *\n */\nexport const validate_embed_url = async (\n sdk: IAPIMethods,\n url?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEmbedUrlResponse, IError | IValidationError>> => {\n return sdk.get<IEmbedUrlResponse, IError | IValidationError>(\n '/embed/sso/validate',\n { url },\n null,\n options\n );\n};\n\n/**\n * ### Acquire a cookieless embed session.\n *\n * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter\n * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is\n * similar behavior to the embed SSO login as they both can create and update embed user data.\n *\n * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired\n * and the credentials match the credentials for the embed session, a new authentication token will be\n * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that\n * the 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\n * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the\n * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not.\n *\n * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a\n * new embed session will be created. Note that the embed user definition will be updated in this scenario.\n *\n * If the credentials do not match the credentials associated with an existing session_reference_token, a\n * 404 will be returned.\n *\n * The endpoint returns the following:\n * - Authentication token - a token that is passed to `/embed/login` endpoint that creates or attaches to the\n * embed session. This token can be used once and has a lifetime of 30 seconds.\n * - Session reference token - a token that lives for the length of the session. This token is used to\n * generate new api and navigation tokens OR create new embed IFRAMEs.\n * - Api token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into the\n * iframe.\n * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into\n * the iframe.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /embed/cookieless_session/acquire -> IEmbedCookielessSessionAcquireResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IEmbedCookielessSessionAcquire>\n * @param options one-time API call overrides\n *\n */\nexport const acquire_embed_cookieless_session = async (\n sdk: IAPIMethods,\n body: Partial<IEmbedCookielessSessionAcquire>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IEmbedCookielessSessionAcquireResponse, IError | IValidationError>\n> => {\n return sdk.post<\n IEmbedCookielessSessionAcquireResponse,\n IError | IValidationError\n >('/embed/cookieless_session/acquire', null, body, options);\n};\n\n/**\n * ### Delete cookieless embed session\n *\n * This will delete the session associated with the given session reference token. Calling this endpoint will result\n * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed\n * user out of the Looker instance.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * DELETE /embed/cookieless_session/{session_reference_token} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param session_reference_token Embed session reference token\n * @param options one-time API call overrides\n *\n */\nexport const delete_embed_cookieless_session = async (\n sdk: IAPIMethods,\n session_reference_token: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n session_reference_token = encodeParam(session_reference_token);\n return sdk.delete<string, IError | IValidationError>(\n `/embed/cookieless_session/${session_reference_token}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Generate api and navigation tokens for a cookieless embed session\n *\n * The generate tokens endpoint is used to create new tokens of type:\n * - Api token.\n * - Navigation token.\n * The generate tokens endpoint should be called every time the Looker client asks for a token (except for the\n * first time when the tokens returned by the acquire_session endpoint should be used).\n *\n * #### Embed session expiration handling\n *\n * This endpoint does NOT return an error when the embed session expires. This is to simplify processing\n * in the caller as errors can happen for non session expiration reasons. Instead the endpoint returns\n * the session time to live in the `session_reference_token_ttl` response property. If this property\n * contains a zero, the embed session has expired.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * PUT /embed/cookieless_session/generate_tokens -> IEmbedCookielessSessionGenerateTokensResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IEmbedCookielessSessionGenerateTokens>\n * @param options one-time API call overrides\n *\n */\nexport const generate_tokens_for_cookieless_session = async (\n sdk: IAPIMethods,\n body: Partial<IEmbedCookielessSessionGenerateTokens>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<\n IEmbedCookielessSessionGenerateTokensResponse,\n IError | IValidationError\n >\n> => {\n return sdk.put<\n IEmbedCookielessSessionGenerateTokensResponse,\n IError | IValidationError\n >('/embed/cookieless_session/generate_tokens', null, body, options);\n};\n\n/**\n * ### Get the LDAP configuration.\n *\n * Looker can be optionally configured to authenticate users against an Active Directory or other LDAP directory server.\n * LDAP setup requires coordination with an administrator of that directory server.\n *\n * Only Looker administrators can read and update the LDAP configuration.\n *\n * Configuring LDAP impacts authentication for all users. This configuration should be done carefully.\n *\n * Looker maintains a single LDAP configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct).\n *\n * LDAP is enabled or disabled for Looker using the **enabled** field.\n *\n * Looker will never return an **auth_password** field. That value can be set, but never retrieved.\n *\n * See the [Looker LDAP docs](https://cloud.google.com/looker/docs/r/api/ldap_setup) for additional information.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /ldap_config -> ILDAPConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const ldap_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfig, IError>> => {\n return sdk.get<ILDAPConfig, IError>('/ldap_config', null, null, options);\n};\n\n/**\n * ### Update the LDAP configuration.\n *\n * Configuring LDAP impacts authentication for all users. This configuration should be done carefully.\n *\n * Only Looker administrators can read and update the LDAP configuration.\n *\n * LDAP is enabled or disabled for Looker using the **enabled** field.\n *\n * It is **highly** recommended that any LDAP setting changes be tested using the APIs below before being set globally.\n *\n * See the [Looker LDAP docs](https://cloud.google.com/looker/docs/r/api/ldap_setup) for additional information.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /ldap_config -> ILDAPConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_ldap_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfig, IError | IValidationError>> => {\n return sdk.patch<ILDAPConfig, IError | IValidationError>(\n '/ldap_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Test the connection settings for an LDAP configuration.\n *\n * This tests that the connection is possible given a connection_host and connection_port.\n *\n * **connection_host** and **connection_port** are required. **connection_tls** is optional.\n *\n * Example:\n * ```json\n * {\n * \"connection_host\": \"ldap.example.com\",\n * \"connection_port\": \"636\",\n * \"connection_tls\": true\n * }\n * ```\n *\n * No authentication to the LDAP server is attempted.\n *\n * The active LDAP settings are not modified.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /ldap_config/test_connection -> ILDAPConfigTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const test_ldap_config_connection = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfigTestResult, IError | IValidationError>> => {\n return sdk.put<ILDAPConfigTestResult, IError | IValidationError>(\n '/ldap_config/test_connection',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Test the connection authentication settings for an LDAP configuration.\n *\n * This tests that the connection is possible and that a 'server' account to be used by Looker can authenticate to the LDAP server given connection and authentication information.\n *\n * **connection_host**, **connection_port**, and **auth_username**, are required. **connection_tls** and **auth_password** are optional.\n *\n * Example:\n * ```json\n * {\n * \"connection_host\": \"ldap.example.com\",\n * \"connection_port\": \"636\",\n * \"connection_tls\": true,\n * \"auth_username\": \"cn=looker,dc=example,dc=com\",\n * \"auth_password\": \"secret\"\n * }\n * ```\n *\n * Looker will never return an **auth_password**. If this request omits the **auth_password** field, then the **auth_password** value from the active config (if present) will be used for the test.\n *\n * The active LDAP settings are not modified.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /ldap_config/test_auth -> ILDAPConfigTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const test_ldap_config_auth = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfigTestResult, IError | IValidationError>> => {\n return sdk.put<ILDAPConfigTestResult, IError | IValidationError>(\n '/ldap_config/test_auth',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Test the user authentication settings for an LDAP configuration without authenticating the user.\n *\n * This test will let you easily test the mapping for user properties and roles for any user withoutneeding to authenticate as that user.\n *\n * This test accepts a full LDAP configuration along with a username and attempts to find the full infofor the user from the LDAP server without actually authenticating the user. So, user password is notrequired.The configuration is validated before attempting to contact the server.\n *\n * **test_ldap_user** is required.\n *\n * The active LDAP settings are not modified.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /ldap_config/test_user_info -> ILDAPConfigTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const test_ldap_config_user_info = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfigTestResult, IError | IValidationError>> => {\n return sdk.put<ILDAPConfigTestResult, IError | IValidationError>(\n '/ldap_config/test_user_info',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Test the user authentication settings for an LDAP configuration.\n *\n * This test accepts a full LDAP configuration along with a username/password pair and attempts to authenticate the user with the LDAP server. The configuration is validated before attempting the authentication.\n *\n * Looker will never return an **auth_password**. If this request omits the **auth_password** field, then the **auth_password** value from the active config (if present) will be used for the test.\n *\n * **test_ldap_user** and **test_ldap_password** are required.\n *\n * The active LDAP settings are not modified.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /ldap_config/test_user_auth -> ILDAPConfigTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const test_ldap_config_user_auth = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfigTestResult, IError | IValidationError>> => {\n return sdk.put<ILDAPConfigTestResult, IError | IValidationError>(\n '/ldap_config/test_user_auth',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Registers a mobile device.\n * # Required fields: [:device_token, :device_type]\n *\n * POST /mobile/device -> IMobileToken\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteMobileToken>\n * @param options one-time API call overrides\n *\n */\nexport const register_mobile_device = async (\n sdk: IAPIMethods,\n body: Partial<IWriteMobileToken>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMobileToken, IError | IValidationError>> => {\n return sdk.post<IMobileToken, IError | IValidationError>(\n '/mobile/device',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Updates the mobile device registration\n *\n * PATCH /mobile/device/{device_id} -> IMobileToken\n *\n * @param sdk IAPIMethods implementation\n * @param device_id Unique id of the device.\n * @param options one-time API call overrides\n *\n */\nexport const update_mobile_device_registration = async (\n sdk: IAPIMethods,\n device_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMobileToken, IError | IValidationError>> => {\n device_id = encodeParam(device_id);\n return sdk.patch<IMobileToken, IError | IValidationError>(\n `/mobile/device/${device_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Deregister a mobile device.\n *\n * DELETE /mobile/device/{device_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param device_id Unique id of the device.\n * @param options one-time API call overrides\n *\n */\nexport const deregister_mobile_device = async (\n sdk: IAPIMethods,\n device_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n device_id = encodeParam(device_id);\n return sdk.delete<void, IError>(\n `/mobile/device/${device_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### List All OAuth Client Apps\n *\n * Lists all applications registered to use OAuth2 login with this Looker instance, including\n * enabled and disabled apps.\n *\n * Results are filtered to include only the apps that the caller (current user)\n * has permission to see.\n *\n * GET /oauth_client_apps -> IOauthClientApp[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_oauth_client_apps = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOauthClientApp[], IError>> => {\n return sdk.get<IOauthClientApp[], IError>(\n '/oauth_client_apps',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Oauth Client App\n *\n * Returns the registered app client with matching client_guid.\n *\n * GET /oauth_client_apps/{client_guid} -> IOauthClientApp\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const oauth_client_app = async (\n sdk: IAPIMethods,\n client_guid: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOauthClientApp, IError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.get<IOauthClientApp, IError>(\n `/oauth_client_apps/${client_guid}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Register an OAuth2 Client App\n *\n * Registers details identifying an external web app or native app as an OAuth2 login client of the Looker instance.\n * The app registration must provide a unique client_guid and redirect_uri that the app will present\n * in OAuth login requests. If the client_guid and redirect_uri parameters in the login request do not match\n * the app details registered with the Looker instance, the request is assumed to be a forgery and is rejected.\n *\n * POST /oauth_client_apps/{client_guid} -> IOauthClientApp\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param body Partial<IWriteOauthClientApp>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const register_oauth_client_app = async (\n sdk: IAPIMethods,\n client_guid: string,\n body: Partial<IWriteOauthClientApp>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOauthClientApp, IError | IValidationError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.post<IOauthClientApp, IError | IValidationError>(\n `/oauth_client_apps/${client_guid}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Update OAuth2 Client App Details\n *\n * Modifies the details a previously registered OAuth2 login client app.\n *\n * PATCH /oauth_client_apps/{client_guid} -> IOauthClientApp\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param body Partial<IWriteOauthClientApp>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_oauth_client_app = async (\n sdk: IAPIMethods,\n client_guid: string,\n body: Partial<IWriteOauthClientApp>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOauthClientApp, IError | IValidationError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.patch<IOauthClientApp, IError | IValidationError>(\n `/oauth_client_apps/${client_guid}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete OAuth Client App\n *\n * Deletes the registration info of the app with the matching client_guid.\n * All active sessions and tokens issued for this app will immediately become invalid.\n *\n * As with most REST DELETE operations, this endpoint does not return an error if the\n * indicated resource does not exist.\n *\n * ### Note: this deletion cannot be undone.\n *\n * DELETE /oauth_client_apps/{client_guid} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param options one-time API call overrides\n *\n */\nexport const delete_oauth_client_app = async (\n sdk: IAPIMethods,\n client_guid: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.delete<string, IError>(\n `/oauth_client_apps/${client_guid}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Invalidate All Issued Tokens\n *\n * Immediately invalidates all auth codes, sessions, access tokens and refresh tokens issued for\n * this app for ALL USERS of this app.\n *\n * DELETE /oauth_client_apps/{client_guid}/tokens -> string\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of the application\n * @param options one-time API call overrides\n *\n */\nexport const invalidate_tokens = async (\n sdk: IAPIMethods,\n client_guid: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.delete<string, IError>(\n `/oauth_client_apps/${client_guid}/tokens`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Activate an app for a user\n *\n * Activates a user for a given oauth client app. This indicates the user has been informed that\n * the app will have access to the user's looker data, and that the user has accepted and allowed\n * the app to use their Looker account.\n *\n * Activating a user for an app that the user is already activated with returns a success response.\n *\n * POST /oauth_client_apps/{client_guid}/users/{user_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param user_id The id of the user to enable use of this app\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const activate_app_user = async (\n sdk: IAPIMethods,\n client_guid: string,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n client_guid = encodeParam(client_guid);\n user_id = encodeParam(user_id);\n return sdk.post<string, IError | IValidationError>(\n `/oauth_client_apps/${client_guid}/users/${user_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Deactivate an app for a user\n *\n * Deactivate a user for a given oauth client app. All tokens issued to the app for\n * this user will be invalid immediately. Before the user can use the app with their\n * Looker account, the user will have to read and accept an account use disclosure statement for the app.\n *\n * Admin users can deactivate other users, but non-admin users can only deactivate themselves.\n *\n * As with most REST DELETE operations, this endpoint does not return an error if the indicated\n * resource (app or user) does not exist or has already been deactivated.\n *\n * DELETE /oauth_client_apps/{client_guid}/users/{user_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param user_id The id of the user to enable use of this app\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const deactivate_app_user = async (\n sdk: IAPIMethods,\n client_guid: string,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n client_guid = encodeParam(client_guid);\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/oauth_client_apps/${client_guid}/users/${user_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the OIDC configuration.\n *\n * Looker can be optionally configured to authenticate users against an OpenID Connect (OIDC)\n * authentication server. OIDC setup requires coordination with an administrator of that server.\n *\n * Only Looker administrators can read and update the OIDC configuration.\n *\n * Configuring OIDC impacts authentication for all users. This configuration should be done carefully.\n *\n * Looker maintains a single OIDC configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct).\n *\n * OIDC is enabled or disabled for Looker using the **enabled** field.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /oidc_config -> IOIDCConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const oidc_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOIDCConfig, IError>> => {\n return sdk.get<IOIDCConfig, IError>('/oidc_config', null, null, options);\n};\n\n/**\n * ### Update the OIDC configuration.\n *\n * Configuring OIDC impacts authentication for all users. This configuration should be done carefully.\n *\n * Only Looker administrators can read and update the OIDC configuration.\n *\n * OIDC is enabled or disabled for Looker using the **enabled** field.\n *\n * It is **highly** recommended that any OIDC setting changes be tested using the APIs below before being set globally.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /oidc_config -> IOIDCConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteOIDCConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_oidc_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteOIDCConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOIDCConfig, IError | IValidationError>> => {\n return sdk.patch<IOIDCConfig, IError | IValidationError>(\n '/oidc_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get a OIDC test configuration by test_slug.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /oidc_test_configs/{test_slug} -> IOIDCConfig\n *\n * @param sdk IAPIMethods implementation\n * @param test_slug Slug of test config\n * @param options one-time API call overrides\n *\n */\nexport const oidc_test_config = async (\n sdk: IAPIMethods,\n test_slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOIDCConfig, IError>> => {\n test_slug = encodeParam(test_slug);\n return sdk.get<IOIDCConfig, IError>(\n `/oidc_test_configs/${test_slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Delete a OIDC test configuration.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /oidc_test_configs/{test_slug} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param test_slug Slug of test config\n * @param options one-time API call overrides\n *\n */\nexport const delete_oidc_test_config = async (\n sdk: IAPIMethods,\n test_slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n test_slug = encodeParam(test_slug);\n return sdk.delete<string, IError>(\n `/oidc_test_configs/${test_slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a OIDC test configuration.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /oidc_test_configs -> IOIDCConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteOIDCConfig>\n * @param options one-time API call overrides\n *\n */\nexport const create_oidc_test_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteOIDCConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOIDCConfig, IError | IValidationError>> => {\n return sdk.post<IOIDCConfig, IError | IValidationError>(\n '/oidc_test_configs',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get password config.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /password_config -> IPasswordConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const password_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPasswordConfig, IError>> => {\n return sdk.get<IPasswordConfig, IError>(\n '/password_config',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update password config.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /password_config -> IPasswordConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWritePasswordConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_password_config = async (\n sdk: IAPIMethods,\n body: Partial<IWritePasswordConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPasswordConfig, IError | IValidationError>> => {\n return sdk.patch<IPasswordConfig, IError | IValidationError>(\n '/password_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Force all credentials_email users to reset their login passwords upon their next login.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /password_config/force_password_reset_at_next_login_for_all_users -> string\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const force_password_reset_at_next_login_for_all_users = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n return sdk.put<string, IError | IValidationError>(\n '/password_config/force_password_reset_at_next_login_for_all_users',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get the SAML configuration.\n *\n * Looker can be optionally configured to authenticate users against a SAML authentication server.\n * SAML setup requires coordination with an administrator of that server.\n *\n * Only Looker administrators can read and update the SAML configuration.\n *\n * Configuring SAML impacts authentication for all users. This configuration should be done carefully.\n *\n * Looker maintains a single SAML configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct).\n *\n * SAML is enabled or disabled for Looker using the **enabled** field.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /saml_config -> ISamlConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const saml_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlConfig, IError>> => {\n return sdk.get<ISamlConfig, IError>('/saml_config', null, null, options);\n};\n\n/**\n * ### Update the SAML configuration.\n *\n * Configuring SAML impacts authentication for all users. This configuration should be done carefully.\n *\n * Only Looker administrators can read and update the SAML configuration.\n *\n * SAML is enabled or disabled for Looker using the **enabled** field.\n *\n * It is **highly** recommended that any SAML setting changes be tested using the APIs below before being set globally.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /saml_config -> ISamlConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSamlConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_saml_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSamlConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlConfig, IError | IValidationError>> => {\n return sdk.patch<ISamlConfig, IError | IValidationError>(\n '/saml_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get a SAML test configuration by test_slug.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /saml_test_configs/{test_slug} -> ISamlConfig\n *\n * @param sdk IAPIMethods implementation\n * @param test_slug Slug of test config\n * @param options one-time API call overrides\n *\n */\nexport const saml_test_config = async (\n sdk: IAPIMethods,\n test_slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlConfig, IError>> => {\n test_slug = encodeParam(test_slug);\n return sdk.get<ISamlConfig, IError>(\n `/saml_test_configs/${test_slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Delete a SAML test configuration.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /saml_test_configs/{test_slug} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param test_slug Slug of test config\n * @param options one-time API call overrides\n *\n */\nexport const delete_saml_test_config = async (\n sdk: IAPIMethods,\n test_slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n test_slug = encodeParam(test_slug);\n return sdk.delete<string, IError>(\n `/saml_test_configs/${test_slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a SAML test configuration.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /saml_test_configs -> ISamlConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSamlConfig>\n * @param options one-time API call overrides\n *\n */\nexport const create_saml_test_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSamlConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlConfig, IError | IValidationError>> => {\n return sdk.post<ISamlConfig, IError | IValidationError>(\n '/saml_test_configs',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Parse the given xml as a SAML IdP metadata document and return the result.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /parse_saml_idp_metadata -> ISamlMetadataParseResult\n *\n * @param sdk IAPIMethods implementation\n * @param body string\n * @param options one-time API call overrides\n *\n */\nexport const parse_saml_idp_metadata = async (\n sdk: IAPIMethods,\n body: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlMetadataParseResult, IError>> => {\n return sdk.post<ISamlMetadataParseResult, IError>(\n '/parse_saml_idp_metadata',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Fetch the given url and parse it as a SAML IdP metadata document and return the result.\n * Note that this requires that the url be public or at least at a location where the Looker instance\n * can fetch it without requiring any special authentication.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /fetch_and_parse_saml_idp_metadata -> ISamlMetadataParseResult\n *\n * @param sdk IAPIMethods implementation\n * @param body string\n * @param options one-time API call overrides\n *\n */\nexport const fetch_and_parse_saml_idp_metadata = async (\n sdk: IAPIMethods,\n body: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlMetadataParseResult, IError>> => {\n return sdk.post<ISamlMetadataParseResult, IError>(\n '/fetch_and_parse_saml_idp_metadata',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get session config.\n *\n * GET /session_config -> ISessionConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const session_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISessionConfig, IError>> => {\n return sdk.get<ISessionConfig, IError>(\n '/session_config',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update session config.\n *\n * PATCH /session_config -> ISessionConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSessionConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_session_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSessionConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISessionConfig, IError | IValidationError>> => {\n return sdk.patch<ISessionConfig, IError | IValidationError>(\n '/session_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get Support Access Allowlist Users\n *\n * Returns the users that have been added to the Support Access Allowlist\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /support_access/allowlist -> ISupportAccessAllowlistEntry[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const get_support_access_allowlist_entries = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISupportAccessAllowlistEntry[], IError>> => {\n return sdk.get<ISupportAccessAllowlistEntry[], IError>(\n '/support_access/allowlist',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Add Support Access Allowlist Users\n *\n * Adds a list of emails to the Allowlist, using the provided reason\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /support_access/allowlist -> ISupportAccessAllowlistEntry[]\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ISupportAccessAddEntries>\n * @param options one-time API call overrides\n *\n */\nexport const add_support_access_allowlist_entries = async (\n sdk: IAPIMethods,\n body: Partial<ISupportAccessAddEntries>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<ISupportAccessAllowlistEntry[], IError | IValidationError>\n> => {\n return sdk.post<ISupportAccessAllowlistEntry[], IError | IValidationError>(\n '/support_access/allowlist',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete Support Access Allowlist User\n *\n * Deletes the specified Allowlist Entry Id\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /support_access/allowlist/{entry_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param entry_id Id of Allowlist Entry\n * @param options one-time API call overrides\n *\n */\nexport const delete_support_access_allowlist_entry = async (\n sdk: IAPIMethods,\n entry_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n entry_id = encodeParam(entry_id);\n return sdk.delete<string, IError>(\n `/support_access/allowlist/${entry_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Enable Support Access\n *\n * Enables Support Access for the provided duration\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /support_access/enable -> ISupportAccessStatus\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ISupportAccessEnable>\n * @param options one-time API call overrides\n *\n */\nexport const enable_support_access = async (\n sdk: IAPIMethods,\n body: Partial<ISupportAccessEnable>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISupportAccessStatus, IError | IValidationError>> => {\n return sdk.put<ISupportAccessStatus, IError | IValidationError>(\n '/support_access/enable',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Disable Support Access\n *\n * Disables Support Access immediately\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /support_access/disable -> ISupportAccessStatus\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const disable_support_access = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISupportAccessStatus, IError>> => {\n return sdk.put<ISupportAccessStatus, IError>(\n '/support_access/disable',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Support Access Status\n *\n * Returns the current Support Access Status\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /support_access/status -> ISupportAccessStatus\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const support_access_status = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISupportAccessStatus, IError>> => {\n return sdk.get<ISupportAccessStatus, IError>(\n '/support_access/status',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get currently locked-out users.\n *\n * GET /user_login_lockouts -> IUserLoginLockout[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Include only these fields in the response\n * @param options one-time API call overrides\n *\n */\nexport const all_user_login_lockouts = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserLoginLockout[], IError>> => {\n return sdk.get<IUserLoginLockout[], IError>(\n '/user_login_lockouts',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Search currently locked-out users.\n *\n * GET /user_login_lockouts/search -> IUserLoginLockout[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchUserLoginLockouts\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_user_login_lockouts = async (\n sdk: IAPIMethods,\n request: IRequestSearchUserLoginLockouts,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserLoginLockout[], IError>> => {\n return sdk.get<IUserLoginLockout[], IError>(\n '/user_login_lockouts/search',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n auth_type: request.auth_type,\n full_name: request.full_name,\n email: request.email,\n remote_id: request.remote_id,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Removes login lockout for the associated user.\n *\n * DELETE /user_login_lockout/{key} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param key The key associated with the locked user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_login_lockout = async (\n sdk: IAPIMethods,\n key: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n key = encodeParam(key);\n return sdk.delete<string, IError>(\n `/user_login_lockout/${key}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Auth: Manage User Authentication Configuration\n\n//#region Board: Manage Boards\n\n/**\n * ### Get information about all boards.\n *\n * GET /boards -> IBoard[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_boards = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard[], IError>> => {\n return sdk.get<IBoard[], IError>('/boards', { fields }, null, options);\n};\n\n/**\n * ### Create a new board.\n *\n * POST /boards -> IBoard\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteBoard>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_board = async (\n sdk: IAPIMethods,\n body: Partial<IWriteBoard>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard, IError | IValidationError>> => {\n return sdk.post<IBoard, IError | IValidationError>(\n '/boards',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Search Boards\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /boards/search -> IBoard[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchBoards\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_boards = async (\n sdk: IAPIMethods,\n request: IRequestSearchBoards,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard[], IError>> => {\n return sdk.get<IBoard[], IError>(\n '/boards/search',\n {\n title: request.title,\n created_at: request.created_at,\n first_name: request.first_name,\n last_name: request.last_name,\n fields: request.fields,\n favorited: request.favorited,\n creator_id: request.creator_id,\n sorts: request.sorts,\n page: request.page,\n per_page: request.per_page,\n offset: request.offset,\n limit: request.limit,\n filter_or: request.filter_or,\n permission: request.permission,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about a board.\n *\n * GET /boards/{board_id} -> IBoard\n *\n * @param sdk IAPIMethods implementation\n * @param board_id Id of board\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const board = async (\n sdk: IAPIMethods,\n board_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard, IError>> => {\n board_id = encodeParam(board_id);\n return sdk.get<IBoard, IError>(\n `/boards/${board_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a board definition.\n *\n * PATCH /boards/{board_id} -> IBoard\n *\n * @param sdk IAPIMethods implementation\n * @param board_id Id of board\n * @param body Partial<IWriteBoard>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_board = async (\n sdk: IAPIMethods,\n board_id: string,\n body: Partial<IWriteBoard>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard, IError | IValidationError>> => {\n board_id = encodeParam(board_id);\n return sdk.patch<IBoard, IError | IValidationError>(\n `/boards/${board_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a board.\n *\n * DELETE /boards/{board_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param board_id Id of board\n * @param options one-time API call overrides\n *\n */\nexport const delete_board = async (\n sdk: IAPIMethods,\n board_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n board_id = encodeParam(board_id);\n return sdk.delete<string, IError>(`/boards/${board_id}`, null, null, options);\n};\n\n/**\n * ### Get information about all board items.\n *\n * GET /board_items -> IBoardItem[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllBoardItems\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_board_items = async (\n sdk: IAPIMethods,\n request: IRequestAllBoardItems,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardItem[], IError>> => {\n return sdk.get<IBoardItem[], IError>(\n '/board_items',\n {\n fields: request.fields,\n sorts: request.sorts,\n board_section_id: request.board_section_id,\n },\n null,\n options\n );\n};\n\n/**\n * ### Create a new board item.\n *\n * POST /board_items -> IBoardItem\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteBoardItem>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_board_item = async (\n sdk: IAPIMethods,\n body: Partial<IWriteBoardItem>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardItem, IError | IValidationError>> => {\n return sdk.post<IBoardItem, IError | IValidationError>(\n '/board_items',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a board item.\n *\n * GET /board_items/{board_item_id} -> IBoardItem\n *\n * @param sdk IAPIMethods implementation\n * @param board_item_id Id of board item\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const board_item = async (\n sdk: IAPIMethods,\n board_item_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardItem, IError>> => {\n board_item_id = encodeParam(board_item_id);\n return sdk.get<IBoardItem, IError>(\n `/board_items/${board_item_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a board item definition.\n *\n * PATCH /board_items/{board_item_id} -> IBoardItem\n *\n * @param sdk IAPIMethods implementation\n * @param board_item_id Id of board item\n * @param body Partial<IWriteBoardItem>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_board_item = async (\n sdk: IAPIMethods,\n board_item_id: string,\n body: Partial<IWriteBoardItem>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardItem, IError | IValidationError>> => {\n board_item_id = encodeParam(board_item_id);\n return sdk.patch<IBoardItem, IError | IValidationError>(\n `/board_items/${board_item_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a board item.\n *\n * DELETE /board_items/{board_item_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param board_item_id Id of board item\n * @param options one-time API call overrides\n *\n */\nexport const delete_board_item = async (\n sdk: IAPIMethods,\n board_item_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n board_item_id = encodeParam(board_item_id);\n return sdk.delete<string, IError>(\n `/board_items/${board_item_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all board sections.\n *\n * GET /board_sections -> IBoardSection[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllBoardSections\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_board_sections = async (\n sdk: IAPIMethods,\n request: IRequestAllBoardSections,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardSection[], IError>> => {\n return sdk.get<IBoardSection[], IError>(\n '/board_sections',\n { fields: request.fields, sorts: request.sorts },\n null,\n options\n );\n};\n\n/**\n * ### Create a new board section.\n *\n * POST /board_sections -> IBoardSection\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteBoardSection>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_board_section = async (\n sdk: IAPIMethods,\n body: Partial<IWriteBoardSection>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardSection, IError | IValidationError>> => {\n return sdk.post<IBoardSection, IError | IValidationError>(\n '/board_sections',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a board section.\n *\n * GET /board_sections/{board_section_id} -> IBoardSection\n *\n * @param sdk IAPIMethods implementation\n * @param board_section_id Id of board section\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const board_section = async (\n sdk: IAPIMethods,\n board_section_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardSection, IError>> => {\n board_section_id = encodeParam(board_section_id);\n return sdk.get<IBoardSection, IError>(\n `/board_sections/${board_section_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a board section definition.\n *\n * PATCH /board_sections/{board_section_id} -> IBoardSection\n *\n * @param sdk IAPIMethods implementation\n * @param board_section_id Id of board section\n * @param body Partial<IWriteBoardSection>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_board_section = async (\n sdk: IAPIMethods,\n board_section_id: string,\n body: Partial<IWriteBoardSection>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardSection, IError | IValidationError>> => {\n board_section_id = encodeParam(board_section_id);\n return sdk.patch<IBoardSection, IError | IValidationError>(\n `/board_sections/${board_section_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a board section.\n *\n * DELETE /board_sections/{board_section_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param board_section_id Id of board section\n * @param options one-time API call overrides\n *\n */\nexport const delete_board_section = async (\n sdk: IAPIMethods,\n board_section_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n board_section_id = encodeParam(board_section_id);\n return sdk.delete<string, IError>(\n `/board_sections/${board_section_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Board: Manage Boards\n\n//#region ColorCollection: Manage Color Collections\n\n/**\n * ### Get an array of all existing Color Collections\n * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n *\n * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n *\n * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * GET /color_collections -> IColorCollection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_color_collections = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection[], IError>> => {\n return sdk.get<IColorCollection[], IError>(\n '/color_collections',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a custom color collection with the specified information\n *\n * Creates a new custom color collection object, returning the details, including the created id.\n *\n * **Update** an existing color collection with [Update Color Collection](#!/ColorCollection/update_color_collection)\n *\n * **Permanently delete** an existing custom color collection with [Delete Color Collection](#!/ColorCollection/delete_color_collection)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * POST /color_collections -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteColorCollection>\n * @param options one-time API call overrides\n *\n */\nexport const create_color_collection = async (\n sdk: IAPIMethods,\n body: Partial<IWriteColorCollection>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError | IValidationError>> => {\n return sdk.post<IColorCollection, IError | IValidationError>(\n '/color_collections',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get an array of all existing **Custom** Color Collections\n * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n *\n * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * GET /color_collections/custom -> IColorCollection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const color_collections_custom = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection[], IError>> => {\n return sdk.get<IColorCollection[], IError>(\n '/color_collections/custom',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get an array of all existing **Standard** Color Collections\n * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n *\n * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * GET /color_collections/standard -> IColorCollection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const color_collections_standard = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection[], IError>> => {\n return sdk.get<IColorCollection[], IError>(\n '/color_collections/standard',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the default color collection\n *\n * Use this to retrieve the default Color Collection.\n *\n * Set the default color collection with [ColorCollection](#!/ColorCollection/set_default_color_collection)\n *\n * GET /color_collections/default -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const default_color_collection = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError>> => {\n return sdk.get<IColorCollection, IError>(\n '/color_collections/default',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Set the global default Color Collection by ID\n *\n * Returns the new specified default Color Collection object.\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * PUT /color_collections/default -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param collection_id ID of color collection to set as default\n * @param options one-time API call overrides\n *\n */\nexport const set_default_color_collection = async (\n sdk: IAPIMethods,\n collection_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError | IValidationError>> => {\n return sdk.put<IColorCollection, IError | IValidationError>(\n '/color_collections/default',\n { collection_id },\n null,\n options\n );\n};\n\n/**\n * ### Get a Color Collection by ID\n *\n * Use this to retrieve a specific Color Collection.\n * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n *\n * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n *\n * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * GET /color_collections/{collection_id} -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param collection_id Id of Color Collection\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const color_collection = async (\n sdk: IAPIMethods,\n collection_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError>> => {\n collection_id = encodeParam(collection_id);\n return sdk.get<IColorCollection, IError>(\n `/color_collections/${collection_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a custom color collection by id.\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * PATCH /color_collections/{collection_id} -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param collection_id Id of Custom Color Collection\n * @param body Partial<IWriteColorCollection>\n * @param options one-time API call overrides\n *\n */\nexport const update_color_collection = async (\n sdk: IAPIMethods,\n collection_id: string,\n body: Partial<IWriteColorCollection>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError | IValidationError>> => {\n collection_id = encodeParam(collection_id);\n return sdk.patch<IColorCollection, IError | IValidationError>(\n `/color_collections/${collection_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a custom color collection by id\n *\n * This operation permanently deletes the identified **Custom** color collection.\n *\n * **Standard** color collections cannot be deleted\n *\n * Because multiple color collections can have the same label, they must be deleted by ID, not name.\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * DELETE /color_collections/{collection_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param collection_id Id of Color Collection\n * @param options one-time API call overrides\n *\n */\nexport const delete_color_collection = async (\n sdk: IAPIMethods,\n collection_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n collection_id = encodeParam(collection_id);\n return sdk.delete<string, IError>(\n `/color_collections/${collection_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion ColorCollection: Manage Color Collections\n\n//#region Config: Manage General Configuration\n\n/**\n * Get the current Cloud Storage Configuration.\n *\n * GET /cloud_storage -> IBackupConfiguration\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const cloud_storage_configuration = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBackupConfiguration, IError>> => {\n return sdk.get<IBackupConfiguration, IError>(\n '/cloud_storage',\n null,\n null,\n options\n );\n};\n\n/**\n * Update the current Cloud Storage Configuration.\n *\n * PATCH /cloud_storage -> IBackupConfiguration\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteBackupConfiguration>\n * @param options one-time API call overrides\n *\n */\nexport const update_cloud_storage_configuration = async (\n sdk: IAPIMethods,\n body: Partial<IWriteBackupConfiguration>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBackupConfiguration, IError | IValidationError>> => {\n return sdk.patch<IBackupConfiguration, IError | IValidationError>(\n '/cloud_storage',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get the current status and content of custom welcome emails\n *\n * GET /custom_welcome_email -> ICustomWelcomeEmail\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const custom_welcome_email = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICustomWelcomeEmail, IError>> => {\n return sdk.get<ICustomWelcomeEmail, IError>(\n '/custom_welcome_email',\n null,\n null,\n options\n );\n};\n\n/**\n * Update custom welcome email setting and values. Optionally send a test email with the new content to the currently logged in user.\n *\n * PATCH /custom_welcome_email -> ICustomWelcomeEmail\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ICustomWelcomeEmail>\n * @param send_test_welcome_email If true a test email with the content from the request will be sent to the current user after saving\n * @param options one-time API call overrides\n *\n */\nexport const update_custom_welcome_email = async (\n sdk: IAPIMethods,\n body: Partial<ICustomWelcomeEmail>,\n send_test_welcome_email?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICustomWelcomeEmail, IError | IValidationError>> => {\n return sdk.patch<ICustomWelcomeEmail, IError | IValidationError>(\n '/custom_welcome_email',\n { send_test_welcome_email },\n body,\n options\n );\n};\n\n/**\n * Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user.\n *\n * PUT /custom_welcome_email_test -> IWelcomeEmailTest\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWelcomeEmailTest>\n * @param options one-time API call overrides\n *\n */\nexport const update_custom_welcome_email_test = async (\n sdk: IAPIMethods,\n body: Partial<IWelcomeEmailTest>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IWelcomeEmailTest, IError | IValidationError>> => {\n return sdk.put<IWelcomeEmailTest, IError | IValidationError>(\n '/custom_welcome_email_test',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Retrieve the value for whether or not digest emails is enabled\n *\n * GET /digest_emails_enabled -> IDigestEmails\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const digest_emails_enabled = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDigestEmails, IError>> => {\n return sdk.get<IDigestEmails, IError>(\n '/digest_emails_enabled',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update the setting for enabling/disabling digest emails\n *\n * PATCH /digest_emails_enabled -> IDigestEmails\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IDigestEmails>\n * @param options one-time API call overrides\n *\n */\nexport const update_digest_emails_enabled = async (\n sdk: IAPIMethods,\n body: Partial<IDigestEmails>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDigestEmails, IError | IValidationError>> => {\n return sdk.patch<IDigestEmails, IError | IValidationError>(\n '/digest_emails_enabled',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Trigger the generation of digest email records and send them to Looker's internal system. This does not send\n * any actual emails, it generates records containing content which may be of interest for users who have become inactive.\n * Emails will be sent at a later time from Looker's internal system if the Digest Emails feature is enabled in settings.\n *\n * POST /digest_email_send -> IDigestEmailSend\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const create_digest_email_send = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDigestEmailSend, IError>> => {\n return sdk.post<IDigestEmailSend, IError>(\n '/digest_email_send',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Egress IP Addresses\n *\n * Returns the list of public egress IP Addresses for a hosted customer's instance\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /public_egress_ip_addresses -> IEgressIpAddresses\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const public_egress_ip_addresses = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEgressIpAddresses, IError>> => {\n return sdk.get<IEgressIpAddresses, IError>(\n '/public_egress_ip_addresses',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Set the menu item name and content for internal help resources\n *\n * GET /internal_help_resources_content -> IInternalHelpResourcesContent\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const internal_help_resources_content = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IInternalHelpResourcesContent, IError>> => {\n return sdk.get<IInternalHelpResourcesContent, IError>(\n '/internal_help_resources_content',\n null,\n null,\n options\n );\n};\n\n/**\n * Update internal help resources content\n *\n * PATCH /internal_help_resources_content -> IInternalHelpResourcesContent\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteInternalHelpResourcesContent>\n * @param options one-time API call overrides\n *\n */\nexport const update_internal_help_resources_content = async (\n sdk: IAPIMethods,\n body: Partial<IWriteInternalHelpResourcesContent>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IInternalHelpResourcesContent, IError | IValidationError>\n> => {\n return sdk.patch<IInternalHelpResourcesContent, IError | IValidationError>(\n '/internal_help_resources_content',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get and set the options for internal help resources\n *\n * GET /internal_help_resources_enabled -> IInternalHelpResources\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const internal_help_resources = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IInternalHelpResources, IError>> => {\n return sdk.get<IInternalHelpResources, IError>(\n '/internal_help_resources_enabled',\n null,\n null,\n options\n );\n};\n\n/**\n * Update internal help resources settings\n *\n * PATCH /internal_help_resources -> IInternalHelpResources\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteInternalHelpResources>\n * @param options one-time API call overrides\n *\n */\nexport const update_internal_help_resources = async (\n sdk: IAPIMethods,\n body: Partial<IWriteInternalHelpResources>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IInternalHelpResources, IError | IValidationError>> => {\n return sdk.patch<IInternalHelpResources, IError | IValidationError>(\n '/internal_help_resources',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get all legacy features.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /legacy_features -> ILegacyFeature[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_legacy_features = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILegacyFeature[], IError>> => {\n return sdk.get<ILegacyFeature[], IError>(\n '/legacy_features',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about the legacy feature with a specific id.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /legacy_features/{legacy_feature_id} -> ILegacyFeature\n *\n * @param sdk IAPIMethods implementation\n * @param legacy_feature_id id of legacy feature\n * @param options one-time API call overrides\n *\n */\nexport const legacy_feature = async (\n sdk: IAPIMethods,\n legacy_feature_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILegacyFeature, IError>> => {\n legacy_feature_id = encodeParam(legacy_feature_id);\n return sdk.get<ILegacyFeature, IError>(\n `/legacy_features/${legacy_feature_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update information about the legacy feature with a specific id.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /legacy_features/{legacy_feature_id} -> ILegacyFeature\n *\n * @param sdk IAPIMethods implementation\n * @param legacy_feature_id id of legacy feature\n * @param body Partial<IWriteLegacyFeature>\n * @param options one-time API call overrides\n *\n */\nexport const update_legacy_feature = async (\n sdk: IAPIMethods,\n legacy_feature_id: string,\n body: Partial<IWriteLegacyFeature>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILegacyFeature, IError | IValidationError>> => {\n legacy_feature_id = encodeParam(legacy_feature_id);\n return sdk.patch<ILegacyFeature, IError | IValidationError>(\n `/legacy_features/${legacy_feature_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get a list of locales that Looker supports.\n *\n * GET /locales -> ILocale[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_locales = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILocale[], IError>> => {\n return sdk.get<ILocale[], IError>('/locales', null, null, options);\n};\n\n/**\n * ### Get all mobile settings.\n *\n * GET /mobile/settings -> IMobileSettings\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const mobile_settings = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMobileSettings, IError>> => {\n return sdk.get<IMobileSettings, IError>(\n '/mobile/settings',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Looker Settings\n *\n * Available settings are:\n * - allow_user_timezones\n * - custom_welcome_email\n * - data_connector_default_enabled\n * - dashboard_auto_refresh_restriction\n * - dashboard_auto_refresh_minimum_interval\n * - extension_framework_enabled\n * - extension_load_url_enabled\n * - instance_config\n * - managed_certificate_uri\n * - marketplace_auto_install_enabled\n * - marketplace_automation\n * - marketplace_terms_accepted\n * - marketplace_enabled\n * - marketplace_site\n * - onboarding_enabled\n * - privatelabel_configuration\n * - timezone\n * - host_url\n * - email_domain_allowlist\n * - embed_cookieless_v2\n * - embed_enabled\n * - embed_config\n *\n * GET /setting -> ISetting\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const get_setting = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISetting, IError | IValidationError>> => {\n return sdk.get<ISetting, IError | IValidationError>(\n '/setting',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Configure Looker Settings\n *\n * Available settings are:\n * - allow_user_timezones\n * - custom_welcome_email\n * - data_connector_default_enabled\n * - dashboard_auto_refresh_restriction\n * - dashboard_auto_refresh_minimum_interval\n * - extension_framework_enabled\n * - extension_load_url_enabled\n * - instance_config\n * - managed_certificate_uri\n * - marketplace_auto_install_enabled\n * - marketplace_automation\n * - marketplace_terms_accepted\n * - marketplace_enabled\n * - marketplace_site\n * - onboarding_enabled\n * - privatelabel_configuration\n * - timezone\n * - host_url\n * - email_domain_allowlist\n * - embed_cookieless_v2\n * - embed_enabled\n * - embed_config\n *\n * See the `Setting` type for more information on the specific values that can be configured.\n *\n * If a setting update is rejected, the API error payload should provide information on the cause of the rejection.\n *\n * PATCH /setting -> ISetting\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSetting>\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const set_setting = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSetting>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISetting, IError | IValidationError>> => {\n return sdk.patch<ISetting, IError | IValidationError>(\n '/setting',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Configure SMTP Settings\n * This API allows users to configure the SMTP settings on the Looker instance.\n * Only admin users are authorised to call this API.\n *\n * POST /smtp_settings -> void\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ISmtpSettings>\n * @param options one-time API call overrides\n *\n */\nexport const set_smtp_settings = async (\n sdk: IAPIMethods,\n body: Partial<ISmtpSettings>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError | IValidationError>> => {\n return sdk.post<void, IError | IValidationError>(\n '/smtp_settings',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get current SMTP status.\n *\n * GET /smtp_status -> ISmtpStatus\n *\n * @param sdk IAPIMethods implementation\n * @param fields Include only these fields in the response\n * @param options one-time API call overrides\n *\n */\nexport const smtp_status = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISmtpStatus, IError>> => {\n return sdk.get<ISmtpStatus, IError>(\n '/smtp_status',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get a list of timezones that Looker supports (e.g. useful for scheduling tasks).\n *\n * GET /timezones -> ITimezone[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_timezones = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITimezone[], IError>> => {\n return sdk.get<ITimezone[], IError>('/timezones', null, null, options);\n};\n\n/**\n * ### Get information about all API versions supported by this Looker instance.\n *\n * GET /versions -> IApiVersion\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const versions = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IApiVersion, IError>> => {\n return sdk.get<IApiVersion, IError>('/versions', { fields }, null, options);\n};\n\n/**\n * ### Get an API specification for this Looker instance.\n *\n * The specification is returned as a JSON document in Swagger 2.x format\n *\n * GET /api_spec/{api_version}/{specification} -> any\n *\n * @param sdk IAPIMethods implementation\n * @param api_version API version\n * @param specification Specification name. Typically, this is \"swagger.json\"\n * @param options one-time API call overrides\n *\n */\nexport const api_spec = async (\n sdk: IAPIMethods,\n api_version: string,\n specification: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<any, IError>> => {\n api_version = encodeParam(api_version);\n specification = encodeParam(specification);\n return sdk.get<any, IError>(\n `/api_spec/${api_version}/${specification}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### This feature is enabled only by special license.\n *\n * This endpoint provides the private label configuration, which includes hiding documentation links, custom favicon uploading, etc.\n *\n * This endpoint is deprecated. [Get Setting](#!/Config/get_setting) should be used to retrieve private label settings instead\n *\n * GET /whitelabel_configuration -> IWhitelabelConfiguration\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const whitelabel_configuration = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IWhitelabelConfiguration, IError>> => {\n return sdk.get<IWhitelabelConfiguration, IError>(\n '/whitelabel_configuration',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the private label configuration\n *\n * This endpoint is deprecated. [Set Setting](#!/Config/set_setting) should be used to update private label settings instead\n *\n * PUT /whitelabel_configuration -> IWhitelabelConfiguration\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteWhitelabelConfiguration>\n * @param options one-time API call overrides\n *\n */\nexport const update_whitelabel_configuration = async (\n sdk: IAPIMethods,\n body: Partial<IWriteWhitelabelConfiguration>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IWhitelabelConfiguration, IError | IValidationError>\n> => {\n return sdk.put<IWhitelabelConfiguration, IError | IValidationError>(\n '/whitelabel_configuration',\n null,\n body,\n options\n );\n};\n\n//#endregion Config: Manage General Configuration\n\n//#region Connection: Manage Database Connections\n\n/**\n * ### Get information about all connections.\n *\n * GET /connections -> IDBConnection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_connections = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnection[], IError>> => {\n return sdk.get<IDBConnection[], IError>(\n '/connections',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a connection using the specified configuration.\n *\n * POST /connections -> IDBConnection\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDBConnection>\n * @param options one-time API call overrides\n *\n */\nexport const create_connection = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDBConnection>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnection, IError | IValidationError>> => {\n return sdk.post<IDBConnection, IError | IValidationError>(\n '/connections',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about a connection.\n *\n * GET /connections/{connection_name} -> IDBConnection\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const connection = async (\n sdk: IAPIMethods,\n connection_name: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnection, IError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.get<IDBConnection, IError>(\n `/connections/${connection_name}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a connection using the specified configuration.\n *\n * PATCH /connections/{connection_name} -> IDBConnection\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param body Partial<IWriteDBConnection>\n * @param options one-time API call overrides\n *\n */\nexport const update_connection = async (\n sdk: IAPIMethods,\n connection_name: string,\n body: Partial<IWriteDBConnection>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnection, IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.patch<IDBConnection, IError | IValidationError>(\n `/connections/${connection_name}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a connection.\n *\n * DELETE /connections/{connection_name} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param options one-time API call overrides\n *\n */\nexport const delete_connection = async (\n sdk: IAPIMethods,\n connection_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.delete<string, IError>(\n `/connections/${connection_name}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Delete a connection override.\n *\n * DELETE /connections/{connection_name}/connection_override/{override_context} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param override_context Context of connection override\n * @param options one-time API call overrides\n *\n */\nexport const delete_connection_override = async (\n sdk: IAPIMethods,\n connection_name: string,\n override_context: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n override_context = encodeParam(override_context);\n return sdk.delete<string, IError | IValidationError>(\n `/connections/${connection_name}/connection_override/${override_context}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Test an existing connection.\n *\n * Note that a connection's 'dialect' property has a 'connection_tests' property that lists the\n * specific types of tests that the connection supports.\n *\n * This API is rate limited.\n *\n * Unsupported tests in the request will be ignored.\n *\n * PUT /connections/{connection_name}/test -> IDBConnectionTestResult[]\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param tests Array of names of tests to run\n * @param options one-time API call overrides\n *\n */\nexport const test_connection = async (\n sdk: IAPIMethods,\n connection_name: string,\n tests?: DelimArray<string>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IDBConnectionTestResult[], IError | IValidationError>\n> => {\n connection_name = encodeParam(connection_name);\n return sdk.put<IDBConnectionTestResult[], IError | IValidationError>(\n `/connections/${connection_name}/test`,\n { tests },\n null,\n options\n );\n};\n\n/**\n * ### Test a connection configuration.\n *\n * Note that a connection's 'dialect' property has a 'connection_tests' property that lists the\n * specific types of tests that the connection supports.\n *\n * This API is rate limited.\n *\n * Unsupported tests in the request will be ignored.\n *\n * PUT /connections/test -> IDBConnectionTestResult[]\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDBConnection>\n * @param tests Array of names of tests to run\n * @param options one-time API call overrides\n *\n */\nexport const test_connection_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDBConnection>,\n tests?: DelimArray<string>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnectionTestResult[], IError>> => {\n return sdk.put<IDBConnectionTestResult[], IError>(\n '/connections/test',\n { tests },\n body,\n options\n );\n};\n\n/**\n * ### Get information about all dialects.\n *\n * GET /dialect_info -> IDialectInfo[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_dialect_infos = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDialectInfo[], IError>> => {\n return sdk.get<IDialectInfo[], IError>(\n '/dialect_info',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get all External OAuth Applications.\n *\n * This is an OAuth Application which Looker uses to access external systems.\n *\n * GET /external_oauth_applications -> IExternalOauthApplication[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllExternalOauthApplications\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_external_oauth_applications = async (\n sdk: IAPIMethods,\n request: IRequestAllExternalOauthApplications,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IExternalOauthApplication[], IError>> => {\n return sdk.get<IExternalOauthApplication[], IError>(\n '/external_oauth_applications',\n { name: request.name, client_id: request.client_id },\n null,\n options\n );\n};\n\n/**\n * ### Create an OAuth Application using the specified configuration.\n *\n * This is an OAuth Application which Looker uses to access external systems.\n *\n * POST /external_oauth_applications -> IExternalOauthApplication\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteExternalOauthApplication>\n * @param options one-time API call overrides\n *\n */\nexport const create_external_oauth_application = async (\n sdk: IAPIMethods,\n body: Partial<IWriteExternalOauthApplication>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IExternalOauthApplication, IError | IValidationError>\n> => {\n return sdk.post<IExternalOauthApplication, IError | IValidationError>(\n '/external_oauth_applications',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Update an OAuth Application's client secret.\n *\n * This is an OAuth Application which Looker uses to access external systems.\n *\n * PATCH /external_oauth_applications/{client_id} -> IExternalOauthApplication\n *\n * @param sdk IAPIMethods implementation\n * @param client_id The client ID of the OAuth App to update\n * @param body Partial<IWriteExternalOauthApplication>\n * @param options one-time API call overrides\n *\n */\nexport const update_external_oauth_application = async (\n sdk: IAPIMethods,\n client_id: string,\n body: Partial<IWriteExternalOauthApplication>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IExternalOauthApplication, IError | IValidationError>\n> => {\n client_id = encodeParam(client_id);\n return sdk.patch<IExternalOauthApplication, IError | IValidationError>(\n `/external_oauth_applications/${client_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Create OAuth User state.\n *\n * POST /external_oauth_applications/user_state -> ICreateOAuthApplicationUserStateResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ICreateOAuthApplicationUserStateRequest>\n * @param options one-time API call overrides\n *\n */\nexport const create_oauth_application_user_state = async (\n sdk: IAPIMethods,\n body: Partial<ICreateOAuthApplicationUserStateRequest>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<\n ICreateOAuthApplicationUserStateResponse,\n IError | IValidationError\n >\n> => {\n return sdk.post<\n ICreateOAuthApplicationUserStateResponse,\n IError | IValidationError\n >('/external_oauth_applications/user_state', null, body, options);\n};\n\n/**\n * ### Get information about all SSH Servers.\n *\n * GET /ssh_servers -> ISshServer[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_ssh_servers = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer[], IError>> => {\n return sdk.get<ISshServer[], IError>(\n '/ssh_servers',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create an SSH Server.\n *\n * POST /ssh_servers -> ISshServer\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSshServer>\n * @param options one-time API call overrides\n *\n */\nexport const create_ssh_server = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSshServer>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer, IError | IValidationError>> => {\n return sdk.post<ISshServer, IError | IValidationError>(\n '/ssh_servers',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about an SSH Server.\n *\n * GET /ssh_server/{ssh_server_id} -> ISshServer\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_server_id Id of SSH Server\n * @param options one-time API call overrides\n *\n */\nexport const ssh_server = async (\n sdk: IAPIMethods,\n ssh_server_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer, IError>> => {\n ssh_server_id = encodeParam(ssh_server_id);\n return sdk.get<ISshServer, IError>(\n `/ssh_server/${ssh_server_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update an SSH Server.\n *\n * PATCH /ssh_server/{ssh_server_id} -> ISshServer\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_server_id Id of SSH Server\n * @param body Partial<IWriteSshServer>\n * @param options one-time API call overrides\n *\n */\nexport const update_ssh_server = async (\n sdk: IAPIMethods,\n ssh_server_id: string,\n body: Partial<IWriteSshServer>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer, IError | IValidationError>> => {\n ssh_server_id = encodeParam(ssh_server_id);\n return sdk.patch<ISshServer, IError | IValidationError>(\n `/ssh_server/${ssh_server_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete an SSH Server.\n *\n * DELETE /ssh_server/{ssh_server_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_server_id Id of SSH Server\n * @param options one-time API call overrides\n *\n */\nexport const delete_ssh_server = async (\n sdk: IAPIMethods,\n ssh_server_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n ssh_server_id = encodeParam(ssh_server_id);\n return sdk.delete<string, IError>(\n `/ssh_server/${ssh_server_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Test the SSH Server\n *\n * GET /ssh_server/{ssh_server_id}/test -> ISshServer\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_server_id Id of SSH Server\n * @param options one-time API call overrides\n *\n */\nexport const test_ssh_server = async (\n sdk: IAPIMethods,\n ssh_server_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer, IError>> => {\n ssh_server_id = encodeParam(ssh_server_id);\n return sdk.get<ISshServer, IError>(\n `/ssh_server/${ssh_server_id}/test`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all SSH Tunnels.\n *\n * GET /ssh_tunnels -> ISshTunnel[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_ssh_tunnels = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel[], IError>> => {\n return sdk.get<ISshTunnel[], IError>(\n '/ssh_tunnels',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create an SSH Tunnel\n *\n * POST /ssh_tunnels -> ISshTunnel\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSshTunnel>\n * @param options one-time API call overrides\n *\n */\nexport const create_ssh_tunnel = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSshTunnel>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel, IError | IValidationError>> => {\n return sdk.post<ISshTunnel, IError | IValidationError>(\n '/ssh_tunnels',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about an SSH Tunnel.\n *\n * GET /ssh_tunnel/{ssh_tunnel_id} -> ISshTunnel\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_tunnel_id Id of SSH Tunnel\n * @param options one-time API call overrides\n *\n */\nexport const ssh_tunnel = async (\n sdk: IAPIMethods,\n ssh_tunnel_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel, IError>> => {\n ssh_tunnel_id = encodeParam(ssh_tunnel_id);\n return sdk.get<ISshTunnel, IError>(\n `/ssh_tunnel/${ssh_tunnel_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update an SSH Tunnel\n *\n * PATCH /ssh_tunnel/{ssh_tunnel_id} -> ISshTunnel\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_tunnel_id Id of SSH Tunnel\n * @param body Partial<IWriteSshTunnel>\n * @param options one-time API call overrides\n *\n */\nexport const update_ssh_tunnel = async (\n sdk: IAPIMethods,\n ssh_tunnel_id: string,\n body: Partial<IWriteSshTunnel>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel, IError | IValidationError>> => {\n ssh_tunnel_id = encodeParam(ssh_tunnel_id);\n return sdk.patch<ISshTunnel, IError | IValidationError>(\n `/ssh_tunnel/${ssh_tunnel_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete an SSH Tunnel\n *\n * DELETE /ssh_tunnel/{ssh_tunnel_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_tunnel_id Id of SSH Tunnel\n * @param options one-time API call overrides\n *\n */\nexport const delete_ssh_tunnel = async (\n sdk: IAPIMethods,\n ssh_tunnel_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n ssh_tunnel_id = encodeParam(ssh_tunnel_id);\n return sdk.delete<string, IError>(\n `/ssh_tunnel/${ssh_tunnel_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Test the SSH Tunnel\n *\n * GET /ssh_tunnel/{ssh_tunnel_id}/test -> ISshTunnel\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_tunnel_id Id of SSH Tunnel\n * @param options one-time API call overrides\n *\n */\nexport const test_ssh_tunnel = async (\n sdk: IAPIMethods,\n ssh_tunnel_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel, IError>> => {\n ssh_tunnel_id = encodeParam(ssh_tunnel_id);\n return sdk.get<ISshTunnel, IError>(\n `/ssh_tunnel/${ssh_tunnel_id}/test`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get the SSH public key\n *\n * Get the public key created for this instance to identify itself to a remote SSH server.\n *\n * GET /ssh_public_key -> ISshPublicKey\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const ssh_public_key = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshPublicKey, IError>> => {\n return sdk.get<ISshPublicKey, IError>('/ssh_public_key', null, null, options);\n};\n\n//#endregion Connection: Manage Database Connections\n\n//#region Content: Manage Content\n\n/**\n * ### Search Favorite Content\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /content_favorite/search -> IContentFavorite[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchContentFavorites\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_content_favorites = async (\n sdk: IAPIMethods,\n request: IRequestSearchContentFavorites,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentFavorite[], IError>> => {\n return sdk.get<IContentFavorite[], IError>(\n '/content_favorite/search',\n {\n id: request.id,\n user_id: request.user_id,\n content_metadata_id: request.content_metadata_id,\n dashboard_id: request.dashboard_id,\n look_id: request.look_id,\n board_id: request.board_id,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n fields: request.fields,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get favorite content by its id\n *\n * GET /content_favorite/{content_favorite_id} -> IContentFavorite\n *\n * @param sdk IAPIMethods implementation\n * @param content_favorite_id Id of favorite content\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const content_favorite = async (\n sdk: IAPIMethods,\n content_favorite_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentFavorite, IError>> => {\n content_favorite_id = encodeParam(content_favorite_id);\n return sdk.get<IContentFavorite, IError>(\n `/content_favorite/${content_favorite_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Delete favorite content\n *\n * DELETE /content_favorite/{content_favorite_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param content_favorite_id Id of favorite content\n * @param options one-time API call overrides\n *\n */\nexport const delete_content_favorite = async (\n sdk: IAPIMethods,\n content_favorite_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n content_favorite_id = encodeParam(content_favorite_id);\n return sdk.delete<string, IError>(\n `/content_favorite/${content_favorite_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create favorite content\n *\n * POST /content_favorite -> IContentFavorite\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteContentFavorite>\n * @param options one-time API call overrides\n *\n */\nexport const create_content_favorite = async (\n sdk: IAPIMethods,\n body: Partial<IWriteContentFavorite>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentFavorite, IError | IValidationError>> => {\n return sdk.post<IContentFavorite, IError | IValidationError>(\n '/content_favorite',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about all content metadata in a space.\n *\n * GET /content_metadata -> IContentMeta[]\n *\n * @param sdk IAPIMethods implementation\n * @param parent_id Parent space of content.\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_content_metadatas = async (\n sdk: IAPIMethods,\n parent_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMeta[], IError>> => {\n return sdk.get<IContentMeta[], IError>(\n '/content_metadata',\n { parent_id, fields },\n null,\n options\n );\n};\n\n/**\n * ### Get information about an individual content metadata record.\n *\n * GET /content_metadata/{content_metadata_id} -> IContentMeta\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_id Id of content metadata\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const content_metadata = async (\n sdk: IAPIMethods,\n content_metadata_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMeta, IError>> => {\n content_metadata_id = encodeParam(content_metadata_id);\n return sdk.get<IContentMeta, IError>(\n `/content_metadata/${content_metadata_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Move a piece of content.\n *\n * PATCH /content_metadata/{content_metadata_id} -> IContentMeta\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_id Id of content metadata\n * @param body Partial<IWriteContentMeta>\n * @param options one-time API call overrides\n *\n */\nexport const update_content_metadata = async (\n sdk: IAPIMethods,\n content_metadata_id: string,\n body: Partial<IWriteContentMeta>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMeta, IError | IValidationError>> => {\n content_metadata_id = encodeParam(content_metadata_id);\n return sdk.patch<IContentMeta, IError | IValidationError>(\n `/content_metadata/${content_metadata_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### All content metadata access records for a content metadata item.\n *\n * GET /content_metadata_access -> IContentMetaGroupUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_id Id of content metadata\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_content_metadata_accesses = async (\n sdk: IAPIMethods,\n content_metadata_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMetaGroupUser[], IError>> => {\n return sdk.get<IContentMetaGroupUser[], IError>(\n '/content_metadata_access',\n { content_metadata_id, fields },\n null,\n options\n );\n};\n\n/**\n * ### Create content metadata access.\n *\n * POST /content_metadata_access -> IContentMetaGroupUser\n *\n * @param sdk IAPIMethods implementation\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param send_boards_notification_email Optionally sends notification email when granting access to a board.\n * @param options one-time API call overrides\n *\n */\nexport const create_content_metadata_access = async (\n sdk: IAPIMethods,\n body: Partial<IContentMetaGroupUser>,\n send_boards_notification_email?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMetaGroupUser, IError | IValidationError>> => {\n return sdk.post<IContentMetaGroupUser, IError | IValidationError>(\n '/content_metadata_access',\n { send_boards_notification_email },\n body,\n options\n );\n};\n\n/**\n * ### Update type of access for content metadata.\n *\n * PUT /content_metadata_access/{content_metadata_access_id} -> IContentMetaGroupUser\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_access_id Id of content metadata access\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param options one-time API call overrides\n *\n */\nexport const update_content_metadata_access = async (\n sdk: IAPIMethods,\n content_metadata_access_id: string,\n body: Partial<IContentMetaGroupUser>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMetaGroupUser, IError | IValidationError>> => {\n content_metadata_access_id = encodeParam(content_metadata_access_id);\n return sdk.put<IContentMetaGroupUser, IError | IValidationError>(\n `/content_metadata_access/${content_metadata_access_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Remove content metadata access.\n *\n * DELETE /content_metadata_access/{content_metadata_access_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_access_id Id of content metadata access\n * @param options one-time API call overrides\n *\n */\nexport const delete_content_metadata_access = async (\n sdk: IAPIMethods,\n content_metadata_access_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n content_metadata_access_id = encodeParam(content_metadata_access_id);\n return sdk.delete<string, IError>(\n `/content_metadata_access/${content_metadata_access_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Search across looks, dashboards, and lookml dashboards. The terms field will be matched against the\n * title and description of the content and the closest results are returned. Content that has been frequently\n * viewed and those pieces of content stored in public folders will be ranked more highly in the results.\n *\n * This endpoint does not return a full description of these content types. For more specific information\n * about each type please refer to the individual content specific API endpoints.\n *\n * Get the **full details** of a specific dashboard (or lookml dashboard) by id with [dashboard()](#!/Dashboard/dashboard)\n * Get the **full details** of a specific look by id with [look()](#!/Look/look)\n *\n * GET /content/{terms} -> IContentSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchContent\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_content = async (\n sdk: IAPIMethods,\n request: IRequestSearchContent,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentSearch[], IError>> => {\n request.terms = encodeParam(request.terms);\n return sdk.get<IContentSearch[], IError>(\n `/content/${request.terms}`,\n {\n fields: request.fields,\n types: request.types,\n limit: request.limit,\n offset: request.offset,\n page: request.page,\n per_page: request.per_page,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get Content Summary\n *\n * Retrieves a collection of content items related to user activity and engagement, such as recently viewed content,\n * favorites and scheduled items.\n *\n * GET /content_summary -> IContentSummary[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestContentSummary\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const content_summary = async (\n sdk: IAPIMethods,\n request: IRequestContentSummary,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentSummary[], IError | IValidationError>> => {\n return sdk.get<IContentSummary[], IError | IValidationError>(\n '/content_summary',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n target_group_id: request.target_group_id,\n target_user_id: request.target_user_id,\n target_content_type: request.target_content_type,\n sorts: request.sorts,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get an image representing the contents of a dashboard or look.\n *\n * The returned thumbnail is an abstract representation of the contents of a dashboard or look and does not\n * reflect the actual data displayed in the respective visualizations.\n *\n * GET /content_thumbnail/{type}/{resource_id} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestContentThumbnail\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const content_thumbnail = async (\n sdk: IAPIMethods,\n request: IRequestContentThumbnail,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.type = encodeParam(request.type);\n request.resource_id = encodeParam(request.resource_id);\n return sdk.get<string, IError | IValidationError>(\n `/content_thumbnail/${request.type}/${request.resource_id}`,\n {\n reload: request.reload,\n theme: request.theme,\n format: request.format,\n width: request.width,\n height: request.height,\n },\n null,\n options\n );\n};\n\n/**\n * ### Validate All Content\n *\n * Performs validation of all looks and dashboards\n * Returns a list of errors found as well as metadata about the content validation run.\n *\n * GET /content_validation -> IContentValidation\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestContentValidation\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const content_validation = async (\n sdk: IAPIMethods,\n request: IRequestContentValidation,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentValidation, IError | IValidationError>> => {\n return sdk.get<IContentValidation, IError | IValidationError>(\n '/content_validation',\n {\n fields: request.fields,\n project_names: request.project_names,\n space_ids: request.space_ids,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search Content Views\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /content_view/search -> IContentView[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchContentViews\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_content_views = async (\n sdk: IAPIMethods,\n request: IRequestSearchContentViews,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentView[], IError>> => {\n return sdk.get<IContentView[], IError>(\n '/content_view/search',\n {\n view_count: request.view_count,\n group_id: request.group_id,\n look_id: request.look_id,\n dashboard_id: request.dashboard_id,\n content_metadata_id: request.content_metadata_id,\n start_of_week_date: request.start_of_week_date,\n all_time: request.all_time,\n user_id: request.user_id,\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get a vector image representing the contents of a dashboard or look.\n *\n * # DEPRECATED: Use [content_thumbnail()](#!/Content/content_thumbnail)\n *\n * The returned thumbnail is an abstract representation of the contents of a dashboard or look and does not\n * reflect the actual data displayed in the respective visualizations.\n *\n * GET /vector_thumbnail/{type}/{resource_id} -> string\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param type Either dashboard or look\n * @param resource_id ID of the dashboard or look to render\n * @param reload Whether or not to refresh the rendered image with the latest content\n * @param options one-time API call overrides\n *\n */\nexport const vector_thumbnail = async (\n sdk: IAPIMethods,\n type: string,\n resource_id: string,\n reload?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n type = encodeParam(type);\n resource_id = encodeParam(resource_id);\n return sdk.get<string, IError>(\n `/vector_thumbnail/${type}/${resource_id}`,\n { reload },\n null,\n options\n );\n};\n\n//#endregion Content: Manage Content\n\n//#region Dashboard: Manage Dashboards\n\n/**\n * ### Get information about all active dashboards.\n *\n * Returns an array of **abbreviated dashboard objects**. Dashboards marked as deleted are excluded from this list.\n *\n * Get the **full details** of a specific dashboard by id with [dashboard()](#!/Dashboard/dashboard)\n *\n * Find **deleted dashboards** with [search_dashboards()](#!/Dashboard/search_dashboards)\n *\n * GET /dashboards -> IDashboardBase[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_dashboards = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardBase[], IError>> => {\n return sdk.get<IDashboardBase[], IError>(\n '/dashboards',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a new dashboard\n *\n * Creates a new dashboard object and returns the details of the newly created dashboard.\n *\n * `Title` and `space_id` are required fields.\n * `Space_id` must contain the id of an existing space.\n * A dashboard's `title` must be unique within the space in which it resides.\n *\n * If you receive a 422 error response when creating a dashboard, be sure to look at the\n * response body for information about exactly which fields are missing or contain invalid data.\n *\n * You can **update** an existing dashboard with [update_dashboard()](#!/Dashboard/update_dashboard)\n *\n * You can **permanently delete** an existing dashboard with [delete_dashboard()](#!/Dashboard/delete_dashboard)\n *\n * POST /dashboards -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDashboard>\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDashboard>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n return sdk.post<IDashboard, IError | IValidationError>(\n '/dashboards',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Search Dashboards\n *\n * Returns an array of **user-defined dashboard** objects that match the specified search criteria.\n * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * The parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n *\n * Get a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n *\n * GET /dashboards/search -> IDashboard[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchDashboards\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_dashboards = async (\n sdk: IAPIMethods,\n request: IRequestSearchDashboards,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard[], IError>> => {\n return sdk.get<IDashboard[], IError>(\n '/dashboards/search',\n {\n id: request.id,\n slug: request.slug,\n title: request.title,\n description: request.description,\n content_favorite_id: request.content_favorite_id,\n folder_id: request.folder_id,\n deleted: request.deleted,\n user_id: request.user_id,\n view_count: request.view_count,\n content_metadata_id: request.content_metadata_id,\n curate: request.curate,\n last_viewed_at: request.last_viewed_at,\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n not_owned_by: request.not_owned_by,\n },\n null,\n options\n );\n};\n\n/**\n * ### Import a LookML dashboard to a space as a UDD\n * Creates a UDD (a dashboard which exists in the Looker database rather than as a LookML file) from the LookML dashboard\n * and places it in the space specified. The created UDD will have a lookml_link_id which links to the original LookML dashboard.\n *\n * To give the imported dashboard specify a (e.g. title: \"my title\") in the body of your request, otherwise the imported\n * dashboard will have the same title as the original LookML dashboard.\n *\n * For this operation to succeed the user must have permission to see the LookML dashboard in question, and have permission to\n * create content in the space the dashboard is being imported to.\n *\n * **Sync** a linked UDD with [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard)\n * **Unlink** a linked UDD by setting lookml_link_id to null with [update_dashboard()](#!/Dashboard/update_dashboard)\n *\n * POST /dashboards/{lookml_dashboard_id}/import/{space_id} -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_dashboard_id Id of LookML dashboard\n * @param space_id Id of space to import the dashboard to\n * @param body Partial<IWriteDashboard>\n * @param raw_locale If true, and this dashboard is localized, export it with the raw keys, not localized.\n * @param options one-time API call overrides\n *\n */\nexport const import_lookml_dashboard = async (\n sdk: IAPIMethods,\n lookml_dashboard_id: string,\n space_id: string,\n body?: Partial<IWriteDashboard>,\n raw_locale?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n lookml_dashboard_id = encodeParam(lookml_dashboard_id);\n space_id = encodeParam(space_id);\n return sdk.post<IDashboard, IError | IValidationError>(\n `/dashboards/${lookml_dashboard_id}/import/${space_id}`,\n { raw_locale },\n body,\n options\n );\n};\n\n/**\n * ### Update all linked dashboards to match the specified LookML dashboard.\n *\n * Any UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id`\n * property value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard.\n *\n * For this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards\n * that the user has permission to update will be synced.\n *\n * To **link** or **unlink** a UDD set the `lookml_link_id` property with [update_dashboard()](#!/Dashboard/update_dashboard)\n *\n * PATCH /dashboards/{lookml_dashboard_id}/sync -> number[]\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_dashboard_id Id of LookML dashboard, in the form 'model::dashboardname'\n * @param body Partial<IWriteDashboard>\n * @param raw_locale If true, and this dashboard is localized, export it with the raw keys, not localized.\n * @param options one-time API call overrides\n *\n */\nexport const sync_lookml_dashboard = async (\n sdk: IAPIMethods,\n lookml_dashboard_id: string,\n body: Partial<IWriteDashboard>,\n raw_locale?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<number[], IError | IValidationError>> => {\n lookml_dashboard_id = encodeParam(lookml_dashboard_id);\n return sdk.patch<number[], IError | IValidationError>(\n `/dashboards/${lookml_dashboard_id}/sync`,\n { raw_locale },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a dashboard\n *\n * Returns the full details of the identified dashboard object\n *\n * Get a **summary list** of all active dashboards with [all_dashboards()](#!/Dashboard/all_dashboards)\n *\n * You can **Search** for dashboards with [search_dashboards()](#!/Dashboard/search_dashboards)\n *\n * GET /dashboards/{dashboard_id} -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboard, IError>(\n `/dashboards/${dashboard_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a dashboard\n *\n * You can use this function to change the string and integer properties of\n * a dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components\n * cannot be modified by this function - use the update functions for the respective\n * nested object types (like [update_dashboard_filter()](#!/Dashboard/update_dashboard_filter) to change a filter)\n * to modify nested objects referenced by a dashboard.\n *\n * If you receive a 422 error response when updating a dashboard, be sure to look at the\n * response body for information about exactly which fields are missing or contain invalid data.\n *\n * PATCH /dashboards/{dashboard_id} -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param body Partial<IWriteDashboard>\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n body: Partial<IWriteDashboard>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.patch<IDashboard, IError | IValidationError>(\n `/dashboards/${dashboard_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the dashboard with the specified id\n *\n * Permanently **deletes** a dashboard. (The dashboard cannot be recovered after this operation.)\n *\n * \"Soft\" delete or hide a dashboard by setting its `deleted` status to `True` with [update_dashboard()](#!/Dashboard/update_dashboard).\n *\n * Note: When a dashboard is deleted in the UI, it is soft deleted. Use this API call to permanently remove it, if desired.\n *\n * DELETE /dashboards/{dashboard_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param options one-time API call overrides\n *\n */\nexport const delete_dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.delete<string, IError>(\n `/dashboards/${dashboard_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Aggregate Table LookML for Each Query on a Dashboard\n *\n * Returns a JSON object that contains the dashboard id and Aggregate Table lookml\n *\n * GET /dashboards/aggregate_table_lookml/{dashboard_id} -> IDashboardAggregateTableLookml\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_aggregate_table_lookml = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardAggregateTableLookml, IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardAggregateTableLookml, IError>(\n `/dashboards/aggregate_table_lookml/${dashboard_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get lookml of a UDD\n *\n * Returns a JSON object that contains the dashboard id and the full lookml\n *\n * GET /dashboards/lookml/{dashboard_id} -> IDashboardLookml\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_lookml = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLookml, IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardLookml, IError>(\n `/dashboards/lookml/${dashboard_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Move an existing dashboard\n *\n * Moves a dashboard to a specified folder, and returns the moved dashboard.\n *\n * `dashboard_id` and `folder_id` are required.\n * `dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n *\n * PATCH /dashboards/{dashboard_id}/move -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Dashboard id to move.\n * @param folder_id Folder id to move to.\n * @param options one-time API call overrides\n *\n */\nexport const move_dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n folder_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.patch<IDashboard, IError | IValidationError>(\n `/dashboards/${dashboard_id}/move`,\n { folder_id },\n null,\n options\n );\n};\n\n/**\n * ### Creates a dashboard object based on LookML Dashboard YAML, and returns the details of the newly created dashboard.\n *\n * If a dashboard exists with the YAML-defined \"preferred_slug\", the new dashboard will overwrite it. Otherwise, a new\n * dashboard will be created. Note that when a dashboard is overwritten, alerts will not be maintained.\n *\n * If a folder_id is specified: new dashboards will be placed in that folder, and overwritten dashboards will be moved to it\n * If the folder_id isn't specified: new dashboards will be placed in the caller's personal folder, and overwritten dashboards\n * will remain where they were\n *\n * LookML must contain valid LookML YAML code. It's recommended to use the LookML format returned\n * from [dashboard_lookml()](#!/Dashboard/dashboard_lookml) as the input LookML (newlines replaced with\n * ).\n *\n * Note that the created dashboard is not linked to any LookML Dashboard,\n * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method.\n *\n * POST /dashboards/lookml -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDashboardLookml>\n * @param options one-time API call overrides\n *\n */\nexport const import_dashboard_from_lookml = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDashboardLookml>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n return sdk.post<IDashboard, IError | IValidationError>(\n '/dashboards/lookml',\n null,\n body,\n options\n );\n};\n\n/**\n * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml)\n *\n * POST /dashboards/from_lookml -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDashboardLookml>\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_from_lookml = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDashboardLookml>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n return sdk.post<IDashboard, IError | IValidationError>(\n '/dashboards/from_lookml',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Copy an existing dashboard\n *\n * Creates a copy of an existing dashboard, in a specified folder, and returns the copied dashboard.\n *\n * `dashboard_id` is required, `dashboard_id` and `folder_id` must already exist if specified.\n * `folder_id` will default to the existing folder.\n *\n * If a dashboard with the same title already exists in the target folder, the copy will have '(copy)'\n * or '(copy <# of copies>)' appended.\n *\n * POST /dashboards/{dashboard_id}/copy -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Dashboard id to copy.\n * @param folder_id Folder id to copy to.\n * @param options one-time API call overrides\n *\n */\nexport const copy_dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n folder_id?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.post<IDashboard, IError | IValidationError>(\n `/dashboards/${dashboard_id}/copy`,\n { folder_id },\n null,\n options\n );\n};\n\n/**\n * ### Search Dashboard Elements\n *\n * Returns an **array of DashboardElement objects** that match the specified search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /dashboard_elements/search -> IDashboardElement[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchDashboardElements\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_dashboard_elements = async (\n sdk: IAPIMethods,\n request: IRequestSearchDashboardElements,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement[], IError>> => {\n return sdk.get<IDashboardElement[], IError>(\n '/dashboard_elements/search',\n {\n dashboard_id: request.dashboard_id,\n look_id: request.look_id,\n title: request.title,\n deleted: request.deleted,\n fields: request.fields,\n filter_or: request.filter_or,\n sorts: request.sorts,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the dashboard element with a specific id.\n *\n * GET /dashboard_elements/{dashboard_element_id} -> IDashboardElement\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_element_id Id of dashboard element\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_element = async (\n sdk: IAPIMethods,\n dashboard_element_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement, IError>> => {\n dashboard_element_id = encodeParam(dashboard_element_id);\n return sdk.get<IDashboardElement, IError>(\n `/dashboard_elements/${dashboard_element_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the dashboard element with a specific id.\n *\n * PATCH /dashboard_elements/{dashboard_element_id} -> IDashboardElement\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_element_id Id of dashboard element\n * @param body Partial<IWriteDashboardElement>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard_element = async (\n sdk: IAPIMethods,\n dashboard_element_id: string,\n body: Partial<IWriteDashboardElement>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement, IError | IValidationError>> => {\n dashboard_element_id = encodeParam(dashboard_element_id);\n return sdk.patch<IDashboardElement, IError | IValidationError>(\n `/dashboard_elements/${dashboard_element_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a dashboard element with a specific id.\n *\n * DELETE /dashboard_elements/{dashboard_element_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_element_id Id of dashboard element\n * @param options one-time API call overrides\n *\n */\nexport const delete_dashboard_element = async (\n sdk: IAPIMethods,\n dashboard_element_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n dashboard_element_id = encodeParam(dashboard_element_id);\n return sdk.delete<string, IError>(\n `/dashboard_elements/${dashboard_element_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all the dashboard elements on a dashboard with a specific id.\n *\n * GET /dashboards/{dashboard_id}/dashboard_elements -> IDashboardElement[]\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_dashboard_elements = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement[], IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardElement[], IError>(\n `/dashboards/${dashboard_id}/dashboard_elements`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a dashboard element on the dashboard with a specific id.\n *\n * POST /dashboard_elements -> IDashboardElement\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestCreateDashboardElement\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_element = async (\n sdk: IAPIMethods,\n request: IRequestCreateDashboardElement,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement, IError | IValidationError>> => {\n return sdk.post<IDashboardElement, IError | IValidationError>(\n '/dashboard_elements',\n { fields: request.fields, apply_filters: request.apply_filters },\n request.body,\n options\n );\n};\n\n/**\n * ### Get information about the dashboard filters with a specific id.\n *\n * GET /dashboard_filters/{dashboard_filter_id} -> IDashboardFilter\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_filter_id Id of dashboard filters\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_filter = async (\n sdk: IAPIMethods,\n dashboard_filter_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardFilter, IError>> => {\n dashboard_filter_id = encodeParam(dashboard_filter_id);\n return sdk.get<IDashboardFilter, IError>(\n `/dashboard_filters/${dashboard_filter_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the dashboard filter with a specific id.\n *\n * PATCH /dashboard_filters/{dashboard_filter_id} -> IDashboardFilter\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_filter_id Id of dashboard filter\n * @param body Partial<IWriteDashboardFilter>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard_filter = async (\n sdk: IAPIMethods,\n dashboard_filter_id: string,\n body: Partial<IWriteDashboardFilter>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardFilter, IError | IValidationError>> => {\n dashboard_filter_id = encodeParam(dashboard_filter_id);\n return sdk.patch<IDashboardFilter, IError | IValidationError>(\n `/dashboard_filters/${dashboard_filter_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a dashboard filter with a specific id.\n *\n * DELETE /dashboard_filters/{dashboard_filter_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_filter_id Id of dashboard filter\n * @param options one-time API call overrides\n *\n */\nexport const delete_dashboard_filter = async (\n sdk: IAPIMethods,\n dashboard_filter_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n dashboard_filter_id = encodeParam(dashboard_filter_id);\n return sdk.delete<string, IError>(\n `/dashboard_filters/${dashboard_filter_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all the dashboard filters on a dashboard with a specific id.\n *\n * GET /dashboards/{dashboard_id}/dashboard_filters -> IDashboardFilter[]\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_dashboard_filters = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardFilter[], IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardFilter[], IError>(\n `/dashboards/${dashboard_id}/dashboard_filters`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a dashboard filter on the dashboard with a specific id.\n *\n * POST /dashboard_filters -> IDashboardFilter\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteCreateDashboardFilter>\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_filter = async (\n sdk: IAPIMethods,\n body: Partial<IWriteCreateDashboardFilter>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardFilter, IError | IValidationError>> => {\n return sdk.post<IDashboardFilter, IError | IValidationError>(\n '/dashboard_filters',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about the dashboard elements with a specific id.\n *\n * GET /dashboard_layout_components/{dashboard_layout_component_id} -> IDashboardLayoutComponent\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_component_id Id of dashboard layout component\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_layout_component = async (\n sdk: IAPIMethods,\n dashboard_layout_component_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayoutComponent, IError>> => {\n dashboard_layout_component_id = encodeParam(dashboard_layout_component_id);\n return sdk.get<IDashboardLayoutComponent, IError>(\n `/dashboard_layout_components/${dashboard_layout_component_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the dashboard element with a specific id.\n *\n * PATCH /dashboard_layout_components/{dashboard_layout_component_id} -> IDashboardLayoutComponent\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_component_id Id of dashboard layout component\n * @param body Partial<IWriteDashboardLayoutComponent>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard_layout_component = async (\n sdk: IAPIMethods,\n dashboard_layout_component_id: string,\n body: Partial<IWriteDashboardLayoutComponent>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IDashboardLayoutComponent, IError | IValidationError>\n> => {\n dashboard_layout_component_id = encodeParam(dashboard_layout_component_id);\n return sdk.patch<IDashboardLayoutComponent, IError | IValidationError>(\n `/dashboard_layout_components/${dashboard_layout_component_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about all the dashboard layout components for a dashboard layout with a specific id.\n *\n * GET /dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components -> IDashboardLayoutComponent[]\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_id Id of dashboard layout component\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_layout_dashboard_layout_components = async (\n sdk: IAPIMethods,\n dashboard_layout_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayoutComponent[], IError>> => {\n dashboard_layout_id = encodeParam(dashboard_layout_id);\n return sdk.get<IDashboardLayoutComponent[], IError>(\n `/dashboard_layouts/${dashboard_layout_id}/dashboard_layout_components`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the dashboard layouts with a specific id.\n *\n * GET /dashboard_layouts/{dashboard_layout_id} -> IDashboardLayout\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_id Id of dashboard layouts\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_layout = async (\n sdk: IAPIMethods,\n dashboard_layout_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayout, IError>> => {\n dashboard_layout_id = encodeParam(dashboard_layout_id);\n return sdk.get<IDashboardLayout, IError>(\n `/dashboard_layouts/${dashboard_layout_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the dashboard layout with a specific id.\n *\n * PATCH /dashboard_layouts/{dashboard_layout_id} -> IDashboardLayout\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_id Id of dashboard layout\n * @param body Partial<IWriteDashboardLayout>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard_layout = async (\n sdk: IAPIMethods,\n dashboard_layout_id: string,\n body: Partial<IWriteDashboardLayout>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayout, IError | IValidationError>> => {\n dashboard_layout_id = encodeParam(dashboard_layout_id);\n return sdk.patch<IDashboardLayout, IError | IValidationError>(\n `/dashboard_layouts/${dashboard_layout_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a dashboard layout with a specific id.\n *\n * DELETE /dashboard_layouts/{dashboard_layout_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_id Id of dashboard layout\n * @param options one-time API call overrides\n *\n */\nexport const delete_dashboard_layout = async (\n sdk: IAPIMethods,\n dashboard_layout_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n dashboard_layout_id = encodeParam(dashboard_layout_id);\n return sdk.delete<string, IError | IValidationError>(\n `/dashboard_layouts/${dashboard_layout_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all the dashboard elements on a dashboard with a specific id.\n *\n * GET /dashboards/{dashboard_id}/dashboard_layouts -> IDashboardLayout[]\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_dashboard_layouts = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayout[], IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardLayout[], IError>(\n `/dashboards/${dashboard_id}/dashboard_layouts`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a dashboard layout on the dashboard with a specific id.\n *\n * POST /dashboard_layouts -> IDashboardLayout\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDashboardLayout>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_layout = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDashboardLayout>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayout, IError | IValidationError>> => {\n return sdk.post<IDashboardLayout, IError | IValidationError>(\n '/dashboard_layouts',\n { fields },\n body,\n options\n );\n};\n\n//#endregion Dashboard: Manage Dashboards\n\n//#region DataAction: Run Data Actions\n\n/**\n * Perform a data action. The data action object can be obtained from query results, and used to perform an arbitrary action.\n *\n * POST /data_actions -> IDataActionResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IDataActionRequest>\n * @param options one-time API call overrides\n *\n */\nexport const perform_data_action = async (\n sdk: IAPIMethods,\n body: Partial<IDataActionRequest>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDataActionResponse, IError>> => {\n return sdk.post<IDataActionResponse, IError>(\n '/data_actions',\n null,\n body,\n options\n );\n};\n\n/**\n * For some data actions, the remote server may supply a form requesting further user input. This endpoint takes a data action, asks the remote server to generate a form for it, and returns that form to you for presentation to the user.\n *\n * POST /data_actions/form -> IDataActionForm\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IDictionary<string>>\n * @param options one-time API call overrides\n *\n */\nexport const fetch_remote_data_action_form = async (\n sdk: IAPIMethods,\n body: Partial<IDictionary<string>>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDataActionForm, IError | IValidationError>> => {\n return sdk.post<IDataActionForm, IError | IValidationError>(\n '/data_actions/form',\n null,\n body,\n options\n );\n};\n\n//#endregion DataAction: Run Data Actions\n\n//#region Datagroup: Manage Datagroups\n\n/**\n * ### Get information about all datagroups.\n *\n * GET /datagroups -> IDatagroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_datagroups = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDatagroup[], IError>> => {\n return sdk.get<IDatagroup[], IError>('/datagroups', null, null, options);\n};\n\n/**\n * ### Get information about a datagroup.\n *\n * GET /datagroups/{datagroup_id} -> IDatagroup\n *\n * @param sdk IAPIMethods implementation\n * @param datagroup_id ID of datagroup.\n * @param options one-time API call overrides\n *\n */\nexport const datagroup = async (\n sdk: IAPIMethods,\n datagroup_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDatagroup, IError>> => {\n datagroup_id = encodeParam(datagroup_id);\n return sdk.get<IDatagroup, IError>(\n `/datagroups/${datagroup_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update a datagroup using the specified params.\n *\n * PATCH /datagroups/{datagroup_id} -> IDatagroup\n *\n * @param sdk IAPIMethods implementation\n * @param datagroup_id ID of datagroup.\n * @param body Partial<IWriteDatagroup>\n * @param options one-time API call overrides\n *\n */\nexport const update_datagroup = async (\n sdk: IAPIMethods,\n datagroup_id: string,\n body: Partial<IWriteDatagroup>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDatagroup, IError | IValidationError>> => {\n datagroup_id = encodeParam(datagroup_id);\n return sdk.patch<IDatagroup, IError | IValidationError>(\n `/datagroups/${datagroup_id}`,\n null,\n body,\n options\n );\n};\n\n//#endregion Datagroup: Manage Datagroups\n\n//#region DerivedTable: View Derived Table graphs\n\n/**\n * ### Discover information about derived tables\n *\n * GET /derived_table/graph/model/{model} -> IDependencyGraph\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestGraphDerivedTablesForModel\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const graph_derived_tables_for_model = async (\n sdk: IAPIMethods,\n request: IRequestGraphDerivedTablesForModel,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDependencyGraph, IError>> => {\n request.model = encodeParam(request.model);\n return sdk.get<IDependencyGraph, IError>(\n `/derived_table/graph/model/${request.model}`,\n { format: request.format, color: request.color },\n null,\n options\n );\n};\n\n/**\n * ### Get the subgraph representing this derived table and its dependencies.\n *\n * GET /derived_table/graph/view/{view} -> IDependencyGraph\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestGraphDerivedTablesForView\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const graph_derived_tables_for_view = async (\n sdk: IAPIMethods,\n request: IRequestGraphDerivedTablesForView,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDependencyGraph, IError>> => {\n request.view = encodeParam(request.view);\n return sdk.get<IDependencyGraph, IError>(\n `/derived_table/graph/view/${request.view}`,\n { models: request.models, workspace: request.workspace },\n null,\n options\n );\n};\n\n/**\n * Enqueue materialization for a PDT with the given model name and view name\n *\n * GET /derived_table/{model_name}/{view_name}/start -> IMaterializePDT\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestStartPdtBuild\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const start_pdt_build = async (\n sdk: IAPIMethods,\n request: IRequestStartPdtBuild,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMaterializePDT, IError>> => {\n request.model_name = encodeParam(request.model_name);\n request.view_name = encodeParam(request.view_name);\n return sdk.get<IMaterializePDT, IError>(\n `/derived_table/${request.model_name}/${request.view_name}/start`,\n {\n force_rebuild: request.force_rebuild,\n force_full_incremental: request.force_full_incremental,\n workspace: request.workspace,\n source: request.source,\n },\n null,\n options\n );\n};\n\n/**\n * Check status of PDT materialization\n *\n * GET /derived_table/{materialization_id}/status -> IMaterializePDT\n *\n * @param sdk IAPIMethods implementation\n * @param materialization_id The materialization id to check status for.\n * @param options one-time API call overrides\n *\n */\nexport const check_pdt_build = async (\n sdk: IAPIMethods,\n materialization_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMaterializePDT, IError>> => {\n materialization_id = encodeParam(materialization_id);\n return sdk.get<IMaterializePDT, IError>(\n `/derived_table/${materialization_id}/status`,\n null,\n null,\n options\n );\n};\n\n/**\n * Stop a PDT materialization\n *\n * GET /derived_table/{materialization_id}/stop -> IMaterializePDT\n *\n * @param sdk IAPIMethods implementation\n * @param materialization_id The materialization id to stop.\n * @param source The source of this request.\n * @param options one-time API call overrides\n *\n */\nexport const stop_pdt_build = async (\n sdk: IAPIMethods,\n materialization_id: string,\n source?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMaterializePDT, IError>> => {\n materialization_id = encodeParam(materialization_id);\n return sdk.get<IMaterializePDT, IError>(\n `/derived_table/${materialization_id}/stop`,\n { source },\n null,\n options\n );\n};\n\n//#endregion DerivedTable: View Derived Table graphs\n\n//#region Folder: Manage Folders\n\n/**\n * Search for folders by creator id, parent id, name, etc\n *\n * GET /folders/search -> IFolder[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchFolders\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_folders = async (\n sdk: IAPIMethods,\n request: IRequestSearchFolders,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder[], IError>> => {\n return sdk.get<IFolder[], IError>(\n '/folders/search',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n name: request.name,\n id: request.id,\n parent_id: request.parent_id,\n creator_id: request.creator_id,\n filter_or: request.filter_or,\n is_shared_root: request.is_shared_root,\n is_users_root: request.is_users_root,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the folder with a specific id.\n *\n * GET /folders/{folder_id} -> IFolder\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder, IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<IFolder, IError>(\n `/folders/${folder_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the folder with a specific id.\n *\n * PATCH /folders/{folder_id} -> IFolder\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param body Partial<IUpdateFolder>\n * @param options one-time API call overrides\n *\n */\nexport const update_folder = async (\n sdk: IAPIMethods,\n folder_id: string,\n body: Partial<IUpdateFolder>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder, IError | IValidationError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.patch<IFolder, IError | IValidationError>(\n `/folders/${folder_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the folder with a specific id including any children folders.\n * **DANGER** this will delete all looks and dashboards in the folder.\n *\n * DELETE /folders/{folder_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param options one-time API call overrides\n *\n */\nexport const delete_folder = async (\n sdk: IAPIMethods,\n folder_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.delete<string, IError | IValidationError>(\n `/folders/${folder_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all folders.\n *\n * All personal folders will be returned.\n *\n * GET /folders -> IFolderBase[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_folders = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolderBase[], IError>> => {\n return sdk.get<IFolderBase[], IError>('/folders', { fields }, null, options);\n};\n\n/**\n * ### Create a folder with specified information.\n *\n * Caller must have permission to edit the parent folder and to create folders, otherwise the request\n * returns 404 Not Found.\n *\n * POST /folders -> IFolder\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ICreateFolder>\n * @param options one-time API call overrides\n *\n */\nexport const create_folder = async (\n sdk: IAPIMethods,\n body: Partial<ICreateFolder>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder, IError | IValidationError>> => {\n return sdk.post<IFolder, IError | IValidationError>(\n '/folders',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get the children of a folder.\n *\n * GET /folders/{folder_id}/children -> IFolder[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestFolderChildren\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const folder_children = async (\n sdk: IAPIMethods,\n request: IRequestFolderChildren,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder[], IError>> => {\n request.folder_id = encodeParam(request.folder_id);\n return sdk.get<IFolder[], IError>(\n `/folders/${request.folder_id}/children`,\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search the children of a folder\n *\n * GET /folders/{folder_id}/children/search -> IFolder[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestFolderChildrenSearch\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const folder_children_search = async (\n sdk: IAPIMethods,\n request: IRequestFolderChildrenSearch,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder[], IError>> => {\n request.folder_id = encodeParam(request.folder_id);\n return sdk.get<IFolder[], IError>(\n `/folders/${request.folder_id}/children/search`,\n { fields: request.fields, sorts: request.sorts, name: request.name },\n null,\n options\n );\n};\n\n/**\n * ### Get the parent of a folder\n *\n * GET /folders/{folder_id}/parent -> IFolder\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder_parent = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder, IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<IFolder, IError>(\n `/folders/${folder_id}/parent`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the ancestors of a folder\n *\n * GET /folders/{folder_id}/ancestors -> IFolder[]\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder_ancestors = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder[], IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<IFolder[], IError>(\n `/folders/${folder_id}/ancestors`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get all looks in a folder.\n * In API 4.0+, all looks in a folder will be returned, excluding looks in the trash.\n *\n * GET /folders/{folder_id}/looks -> ILookWithQuery[]\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder_looks = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery[], IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<ILookWithQuery[], IError>(\n `/folders/${folder_id}/looks`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the dashboards in a folder\n *\n * GET /folders/{folder_id}/dashboards -> IDashboard[]\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder_dashboards = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard[], IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<IDashboard[], IError>(\n `/folders/${folder_id}/dashboards`,\n { fields },\n null,\n options\n );\n};\n\n//#endregion Folder: Manage Folders\n\n//#region Group: Manage Groups\n\n/**\n * ### Get information about all groups.\n *\n * GET /groups -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllGroups\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_groups = async (\n sdk: IAPIMethods,\n request: IRequestAllGroups,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError>> => {\n return sdk.get<IGroup[], IError>(\n '/groups',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n ids: request.ids,\n content_metadata_id: request.content_metadata_id,\n can_add_to_content_metadata: request.can_add_to_content_metadata,\n },\n null,\n options\n );\n};\n\n/**\n * ### Creates a new group (admin only).\n *\n * POST /groups -> IGroup\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteGroup>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_group = async (\n sdk: IAPIMethods,\n body: Partial<IWriteGroup>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup, IError | IValidationError>> => {\n return sdk.post<IGroup, IError | IValidationError>(\n '/groups',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Search groups\n *\n * Returns all group records that match the given search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /groups/search -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchGroups\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_groups = async (\n sdk: IAPIMethods,\n request: IRequestSearchGroups,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError>> => {\n return sdk.get<IGroup[], IError>(\n '/groups/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n id: request.id,\n name: request.name,\n external_group_id: request.external_group_id,\n externally_managed: request.externally_managed,\n externally_orphaned: request.externally_orphaned,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search groups include roles\n *\n * Returns all group records that match the given search criteria, and attaches any associated roles.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /groups/search/with_roles -> IGroupSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchGroupsWithRoles\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_groups_with_roles = async (\n sdk: IAPIMethods,\n request: IRequestSearchGroupsWithRoles,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroupSearch[], IError>> => {\n return sdk.get<IGroupSearch[], IError>(\n '/groups/search/with_roles',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n id: request.id,\n name: request.name,\n external_group_id: request.external_group_id,\n externally_managed: request.externally_managed,\n externally_orphaned: request.externally_orphaned,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search groups include hierarchy\n *\n * Returns all group records that match the given search criteria, and attaches\n * associated role_ids and parent group_ids.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /groups/search/with_hierarchy -> IGroupHierarchy[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchGroupsWithHierarchy\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_groups_with_hierarchy = async (\n sdk: IAPIMethods,\n request: IRequestSearchGroupsWithHierarchy,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroupHierarchy[], IError>> => {\n return sdk.get<IGroupHierarchy[], IError>(\n '/groups/search/with_hierarchy',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n id: request.id,\n name: request.name,\n external_group_id: request.external_group_id,\n externally_managed: request.externally_managed,\n externally_orphaned: request.externally_orphaned,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about a group.\n *\n * GET /groups/{group_id} -> IGroup\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const group = async (\n sdk: IAPIMethods,\n group_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup, IError>> => {\n group_id = encodeParam(group_id);\n return sdk.get<IGroup, IError>(\n `/groups/${group_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Updates the a group (admin only).\n *\n * PATCH /groups/{group_id} -> IGroup\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param body Partial<IWriteGroup>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_group = async (\n sdk: IAPIMethods,\n group_id: string,\n body: Partial<IWriteGroup>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup, IError | IValidationError>> => {\n group_id = encodeParam(group_id);\n return sdk.patch<IGroup, IError | IValidationError>(\n `/groups/${group_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Deletes a group (admin only).\n *\n * DELETE /groups/{group_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param options one-time API call overrides\n *\n */\nexport const delete_group = async (\n sdk: IAPIMethods,\n group_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n group_id = encodeParam(group_id);\n return sdk.delete<string, IError>(`/groups/${group_id}`, null, null, options);\n};\n\n/**\n * ### Get information about all the groups in a group\n *\n * GET /groups/{group_id}/groups -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_group_groups = async (\n sdk: IAPIMethods,\n group_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError>> => {\n group_id = encodeParam(group_id);\n return sdk.get<IGroup[], IError>(\n `/groups/${group_id}/groups`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Adds a new group to a group.\n *\n * POST /groups/{group_id}/groups -> IGroup\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param options one-time API call overrides\n *\n */\nexport const add_group_group = async (\n sdk: IAPIMethods,\n group_id: string,\n body: Partial<IGroupIdForGroupInclusion>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup, IError>> => {\n group_id = encodeParam(group_id);\n return sdk.post<IGroup, IError>(\n `/groups/${group_id}/groups`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about all the users directly included in a group.\n *\n * GET /groups/{group_id}/users -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllGroupUsers\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_group_users = async (\n sdk: IAPIMethods,\n request: IRequestAllGroupUsers,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n request.group_id = encodeParam(request.group_id);\n return sdk.get<IUser[], IError>(\n `/groups/${request.group_id}/users`,\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n },\n null,\n options\n );\n};\n\n/**\n * ### Adds a new user to a group.\n *\n * POST /groups/{group_id}/users -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param options one-time API call overrides\n *\n */\nexport const add_group_user = async (\n sdk: IAPIMethods,\n group_id: string,\n body: Partial<IGroupIdForGroupUserInclusion>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError>> => {\n group_id = encodeParam(group_id);\n return sdk.post<IUser, IError>(\n `/groups/${group_id}/users`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Removes a user from a group.\n *\n * DELETE /groups/{group_id}/users/{user_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param user_id Id of user to remove from group\n * @param options one-time API call overrides\n *\n */\nexport const delete_group_user = async (\n sdk: IAPIMethods,\n group_id: string,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n group_id = encodeParam(group_id);\n user_id = encodeParam(user_id);\n return sdk.delete<void, IError>(\n `/groups/${group_id}/users/${user_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Removes a group from a group.\n *\n * DELETE /groups/{group_id}/groups/{deleting_group_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param deleting_group_id Id of group to delete\n * @param options one-time API call overrides\n *\n */\nexport const delete_group_from_group = async (\n sdk: IAPIMethods,\n group_id: string,\n deleting_group_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n group_id = encodeParam(group_id);\n deleting_group_id = encodeParam(deleting_group_id);\n return sdk.delete<void, IError>(\n `/groups/${group_id}/groups/${deleting_group_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Set the value of a user attribute for a group.\n *\n * For information about how user attribute values are calculated, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n *\n * PATCH /groups/{group_id}/attribute_values/{user_attribute_id} -> IUserAttributeGroupValue\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param user_attribute_id Id of user attribute\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param options one-time API call overrides\n *\n */\nexport const update_user_attribute_group_value = async (\n sdk: IAPIMethods,\n group_id: string,\n user_attribute_id: string,\n body: Partial<IUserAttributeGroupValue>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IUserAttributeGroupValue, IError | IValidationError>\n> => {\n group_id = encodeParam(group_id);\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.patch<IUserAttributeGroupValue, IError | IValidationError>(\n `/groups/${group_id}/attribute_values/${user_attribute_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Remove a user attribute value from a group.\n *\n * DELETE /groups/{group_id}/attribute_values/{user_attribute_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param user_attribute_id Id of user attribute\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_attribute_group_value = async (\n sdk: IAPIMethods,\n group_id: string,\n user_attribute_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n group_id = encodeParam(group_id);\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.delete<void, IError>(\n `/groups/${group_id}/attribute_values/${user_attribute_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Group: Manage Groups\n\n//#region Homepage: Manage Homepage\n\n/**\n * ### Get information about the primary homepage's sections.\n *\n * GET /primary_homepage_sections -> IHomepageSection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_primary_homepage_sections = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IHomepageSection[], IError>> => {\n return sdk.get<IHomepageSection[], IError>(\n '/primary_homepage_sections',\n { fields },\n null,\n options\n );\n};\n\n//#endregion Homepage: Manage Homepage\n\n//#region Integration: Manage Integrations\n\n/**\n * ### Get information about all Integration Hubs.\n *\n * GET /integration_hubs -> IIntegrationHub[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_integration_hubs = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub[], IError>> => {\n return sdk.get<IIntegrationHub[], IError>(\n '/integration_hubs',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a new Integration Hub.\n *\n * This API is rate limited to prevent it from being used for SSRF attacks\n *\n * POST /integration_hubs -> IIntegrationHub\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteIntegrationHub>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_integration_hub = async (\n sdk: IAPIMethods,\n body: Partial<IWriteIntegrationHub>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub, IError | IValidationError>> => {\n return sdk.post<IIntegrationHub, IError | IValidationError>(\n '/integration_hubs',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a Integration Hub.\n *\n * GET /integration_hubs/{integration_hub_id} -> IIntegrationHub\n *\n * @param sdk IAPIMethods implementation\n * @param integration_hub_id Id of integration_hub\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const integration_hub = async (\n sdk: IAPIMethods,\n integration_hub_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub, IError>> => {\n integration_hub_id = encodeParam(integration_hub_id);\n return sdk.get<IIntegrationHub, IError>(\n `/integration_hubs/${integration_hub_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a Integration Hub definition.\n *\n * This API is rate limited to prevent it from being used for SSRF attacks\n *\n * PATCH /integration_hubs/{integration_hub_id} -> IIntegrationHub\n *\n * @param sdk IAPIMethods implementation\n * @param integration_hub_id Id of integration_hub\n * @param body Partial<IWriteIntegrationHub>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_integration_hub = async (\n sdk: IAPIMethods,\n integration_hub_id: string,\n body: Partial<IWriteIntegrationHub>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub, IError | IValidationError>> => {\n integration_hub_id = encodeParam(integration_hub_id);\n return sdk.patch<IIntegrationHub, IError | IValidationError>(\n `/integration_hubs/${integration_hub_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a Integration Hub.\n *\n * DELETE /integration_hubs/{integration_hub_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param integration_hub_id Id of integration_hub\n * @param options one-time API call overrides\n *\n */\nexport const delete_integration_hub = async (\n sdk: IAPIMethods,\n integration_hub_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n integration_hub_id = encodeParam(integration_hub_id);\n return sdk.delete<string, IError>(\n `/integration_hubs/${integration_hub_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * 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.\n *\n * POST /integration_hubs/{integration_hub_id}/accept_legal_agreement -> IIntegrationHub\n *\n * @param sdk IAPIMethods implementation\n * @param integration_hub_id Id of integration_hub\n * @param options one-time API call overrides\n *\n */\nexport const accept_integration_hub_legal_agreement = async (\n sdk: IAPIMethods,\n integration_hub_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub, IError | IValidationError>> => {\n integration_hub_id = encodeParam(integration_hub_id);\n return sdk.post<IIntegrationHub, IError | IValidationError>(\n `/integration_hubs/${integration_hub_id}/accept_legal_agreement`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all Integrations.\n *\n * GET /integrations -> IIntegration[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllIntegrations\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_integrations = async (\n sdk: IAPIMethods,\n request: IRequestAllIntegrations,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegration[], IError>> => {\n return sdk.get<IIntegration[], IError>(\n '/integrations',\n { fields: request.fields, integration_hub_id: request.integration_hub_id },\n null,\n options\n );\n};\n\n/**\n * ### Get information about a Integration.\n *\n * GET /integrations/{integration_id} -> IIntegration\n *\n * @param sdk IAPIMethods implementation\n * @param integration_id Id of integration\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const integration = async (\n sdk: IAPIMethods,\n integration_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegration, IError>> => {\n integration_id = encodeParam(integration_id);\n return sdk.get<IIntegration, IError>(\n `/integrations/${integration_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update parameters on a Integration.\n *\n * PATCH /integrations/{integration_id} -> IIntegration\n *\n * @param sdk IAPIMethods implementation\n * @param integration_id Id of integration\n * @param body Partial<IWriteIntegration>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_integration = async (\n sdk: IAPIMethods,\n integration_id: string,\n body: Partial<IWriteIntegration>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegration, IError | IValidationError>> => {\n integration_id = encodeParam(integration_id);\n return sdk.patch<IIntegration, IError | IValidationError>(\n `/integrations/${integration_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * Returns the Integration form for presentation to the user.\n *\n * POST /integrations/{integration_id}/form -> IDataActionForm\n *\n * @param sdk IAPIMethods implementation\n * @param integration_id Id of integration\n * @param body Partial<IDictionary<string>>\n * @param options one-time API call overrides\n *\n */\nexport const fetch_integration_form = async (\n sdk: IAPIMethods,\n integration_id: string,\n body?: Partial<IDictionary<string>>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDataActionForm, IError | IValidationError>> => {\n integration_id = encodeParam(integration_id);\n return sdk.post<IDataActionForm, IError | IValidationError>(\n `/integrations/${integration_id}/form`,\n null,\n body,\n options\n );\n};\n\n/**\n * Tests the integration to make sure all the settings are working.\n *\n * POST /integrations/{integration_id}/test -> IIntegrationTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param integration_id Id of integration\n * @param options one-time API call overrides\n *\n */\nexport const test_integration = async (\n sdk: IAPIMethods,\n integration_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationTestResult, IError | IValidationError>> => {\n integration_id = encodeParam(integration_id);\n return sdk.post<IIntegrationTestResult, IError | IValidationError>(\n `/integrations/${integration_id}/test`,\n null,\n null,\n options\n );\n};\n\n//#endregion Integration: Manage Integrations\n\n//#region Look: Run and Manage Looks\n\n/**\n * ### Get information about all active Looks\n *\n * Returns an array of **abbreviated Look objects** describing all the looks that the caller has access to. Soft-deleted Looks are **not** included.\n *\n * Get the **full details** of a specific look by id with [look(id)](#!/Look/look)\n *\n * Find **soft-deleted looks** with [search_looks()](#!/Look/search_looks)\n *\n * GET /looks -> ILook[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_looks = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILook[], IError>> => {\n return sdk.get<ILook[], IError>('/looks', { fields }, null, options);\n};\n\n/**\n * ### Create a Look\n *\n * To create a look to display query data, first create the query with [create_query()](#!/Query/create_query)\n * then assign the query's id to the `query_id` property in the call to `create_look()`.\n *\n * To place the look into a particular space, assign the space's id to the `space_id` property\n * in the call to `create_look()`.\n *\n * POST /looks -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLookWithQuery>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_look = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLookWithQuery>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError | IValidationError>> => {\n return sdk.post<ILookWithQuery, IError | IValidationError>(\n '/looks',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Search Looks\n *\n * Returns an **array of Look objects** that match the specified search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * Get a **single look** by id with [look(id)](#!/Look/look)\n *\n * GET /looks/search -> ILook[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchLooks\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_looks = async (\n sdk: IAPIMethods,\n request: IRequestSearchLooks,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILook[], IError>> => {\n return sdk.get<ILook[], IError>(\n '/looks/search',\n {\n id: request.id,\n title: request.title,\n description: request.description,\n content_favorite_id: request.content_favorite_id,\n folder_id: request.folder_id,\n user_id: request.user_id,\n view_count: request.view_count,\n deleted: request.deleted,\n query_id: request.query_id,\n curate: request.curate,\n last_viewed_at: request.last_viewed_at,\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get a Look.\n *\n * Returns detailed information about a Look and its associated Query.\n *\n * GET /looks/{look_id} -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Id of look\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const look = async (\n sdk: IAPIMethods,\n look_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError>> => {\n look_id = encodeParam(look_id);\n return sdk.get<ILookWithQuery, IError>(\n `/looks/${look_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Modify a Look\n *\n * Use this function to modify parts of a look. Property values given in a call to `update_look` are\n * applied to the existing look, so there's no need to include properties whose values are not changing.\n * It's best to specify only the properties you want to change and leave everything else out\n * of your `update_look` call. **Look properties marked 'read-only' will be ignored.**\n *\n * When a user deletes a look in the Looker UI, the look data remains in the database but is\n * marked with a deleted flag (\"soft-deleted\"). Soft-deleted looks can be undeleted (by an admin)\n * if the delete was in error.\n *\n * To soft-delete a look via the API, use [update_look()](#!/Look/update_look) to change the look's `deleted` property to `true`.\n * You can undelete a look by calling `update_look` to change the look's `deleted` property to `false`.\n *\n * Soft-deleted looks are excluded from the results of [all_looks()](#!/Look/all_looks) and [search_looks()](#!/Look/search_looks), so they\n * essentially disappear from view even though they still reside in the db.\n * You can pass `deleted: true` as a parameter to [search_looks()](#!/Look/search_looks) to list soft-deleted looks.\n *\n * NOTE: [delete_look()](#!/Look/delete_look) performs a \"hard delete\" - the look data is removed from the Looker\n * database and destroyed. There is no \"undo\" for `delete_look()`.\n *\n * PATCH /looks/{look_id} -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Id of look\n * @param body Partial<IWriteLookWithQuery>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_look = async (\n sdk: IAPIMethods,\n look_id: string,\n body: Partial<IWriteLookWithQuery>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError | IValidationError>> => {\n look_id = encodeParam(look_id);\n return sdk.patch<ILookWithQuery, IError | IValidationError>(\n `/looks/${look_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Permanently Delete a Look\n *\n * This operation **permanently** removes a look from the Looker database.\n *\n * NOTE: There is no \"undo\" for this kind of delete.\n *\n * For information about soft-delete (which can be undone) see [update_look()](#!/Look/update_look).\n *\n * DELETE /looks/{look_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Id of look\n * @param options one-time API call overrides\n *\n */\nexport const delete_look = async (\n sdk: IAPIMethods,\n look_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n look_id = encodeParam(look_id);\n return sdk.delete<string, IError>(`/looks/${look_id}`, null, null, options);\n};\n\n/**\n * ### Run a Look\n *\n * Runs a given look's query and returns the results in the requested format.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json | Plain json\n * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema\n * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | md | Simple markdown\n * | xlsx | MS Excel spreadsheet\n * | sql | Returns the generated SQL rather than running the query\n * | png | A PNG image of the visualization of the query\n * | jpg | A JPG image of the visualization of the query\n *\n * GET /looks/{look_id}/run/{result_format} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunLook\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_look = async (\n sdk: IAPIMethods,\n request: IRequestRunLook,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.look_id = encodeParam(request.look_id);\n request.result_format = encodeParam(request.result_format);\n return sdk.get<string, IError | IValidationError>(\n `/looks/${request.look_id}/run/${request.result_format}`,\n {\n limit: request.limit,\n apply_formatting: request.apply_formatting,\n apply_vis: request.apply_vis,\n cache: request.cache,\n image_width: request.image_width,\n image_height: request.image_height,\n generate_drill_links: request.generate_drill_links,\n force_production: request.force_production,\n cache_only: request.cache_only,\n path_prefix: request.path_prefix,\n rebuild_pdts: request.rebuild_pdts,\n server_table_calcs: request.server_table_calcs,\n },\n null,\n options\n );\n};\n\n/**\n * ### Copy an existing look\n *\n * Creates a copy of an existing look, in a specified folder, and returns the copied look.\n *\n * `look_id` and `folder_id` are required.\n *\n * `look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n *\n * POST /looks/{look_id}/copy -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Look id to copy.\n * @param folder_id Folder id to copy to.\n * @param options one-time API call overrides\n *\n */\nexport const copy_look = async (\n sdk: IAPIMethods,\n look_id: string,\n folder_id?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError | IValidationError>> => {\n look_id = encodeParam(look_id);\n return sdk.post<ILookWithQuery, IError | IValidationError>(\n `/looks/${look_id}/copy`,\n { folder_id },\n null,\n options\n );\n};\n\n/**\n * ### Move an existing look\n *\n * Moves a look to a specified folder, and returns the moved look.\n *\n * `look_id` and `folder_id` are required.\n * `look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n *\n * PATCH /looks/{look_id}/move -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Look id to move.\n * @param folder_id Folder id to move to.\n * @param options one-time API call overrides\n *\n */\nexport const move_look = async (\n sdk: IAPIMethods,\n look_id: string,\n folder_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError | IValidationError>> => {\n look_id = encodeParam(look_id);\n return sdk.patch<ILookWithQuery, IError | IValidationError>(\n `/looks/${look_id}/move`,\n { folder_id },\n null,\n options\n );\n};\n\n//#endregion Look: Run and Manage Looks\n\n//#region LookmlModel: Manage LookML Models\n\n/**\n * ### Get information about all lookml models.\n *\n * GET /lookml_models -> ILookmlModel[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllLookmlModels\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_lookml_models = async (\n sdk: IAPIMethods,\n request: IRequestAllLookmlModels,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModel[], IError>> => {\n return sdk.get<ILookmlModel[], IError>(\n '/lookml_models',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n exclude_empty: request.exclude_empty,\n exclude_hidden: request.exclude_hidden,\n include_internal: request.include_internal,\n },\n null,\n options\n );\n};\n\n/**\n * ### Create a lookml model using the specified configuration.\n *\n * POST /lookml_models -> ILookmlModel\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLookmlModel>\n * @param options one-time API call overrides\n *\n */\nexport const create_lookml_model = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLookmlModel>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModel, IError | IValidationError>> => {\n return sdk.post<ILookmlModel, IError | IValidationError>(\n '/lookml_models',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about a lookml model.\n *\n * GET /lookml_models/{lookml_model_name} -> ILookmlModel\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_model_name Name of lookml model.\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const lookml_model = async (\n sdk: IAPIMethods,\n lookml_model_name: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModel, IError>> => {\n lookml_model_name = encodeParam(lookml_model_name);\n return sdk.get<ILookmlModel, IError>(\n `/lookml_models/${lookml_model_name}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a lookml model using the specified configuration.\n *\n * PATCH /lookml_models/{lookml_model_name} -> ILookmlModel\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_model_name Name of lookml model.\n * @param body Partial<IWriteLookmlModel>\n * @param options one-time API call overrides\n *\n */\nexport const update_lookml_model = async (\n sdk: IAPIMethods,\n lookml_model_name: string,\n body: Partial<IWriteLookmlModel>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModel, IError | IValidationError>> => {\n lookml_model_name = encodeParam(lookml_model_name);\n return sdk.patch<ILookmlModel, IError | IValidationError>(\n `/lookml_models/${lookml_model_name}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a lookml model.\n *\n * DELETE /lookml_models/{lookml_model_name} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_model_name Name of lookml model.\n * @param options one-time API call overrides\n *\n */\nexport const delete_lookml_model = async (\n sdk: IAPIMethods,\n lookml_model_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n lookml_model_name = encodeParam(lookml_model_name);\n return sdk.delete<string, IError>(\n `/lookml_models/${lookml_model_name}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about a lookml model explore.\n *\n * GET /lookml_models/{lookml_model_name}/explores/{explore_name} -> ILookmlModelExplore\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestLookmlModelExplore\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const lookml_model_explore = async (\n sdk: IAPIMethods,\n request: IRequestLookmlModelExplore,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModelExplore, IError>> => {\n request.lookml_model_name = encodeParam(request.lookml_model_name);\n request.explore_name = encodeParam(request.explore_name);\n return sdk.get<ILookmlModelExplore, IError>(\n `/lookml_models/${request.lookml_model_name}/explores/${request.explore_name}`,\n {\n fields: request.fields,\n add_drills_metadata: request.add_drills_metadata,\n },\n null,\n options\n );\n};\n\n//#endregion LookmlModel: Manage LookML Models\n\n//#region Metadata: Connection Metadata Features\n\n/**\n * ### Field name suggestions for a model and view\n *\n * `filters` is a string hash of values, with the key as the field name and the string value as the filter expression:\n *\n * ```ruby\n * {'users.age': '>=60'}\n * ```\n *\n * or\n *\n * ```ruby\n * {'users.age': '<30'}\n * ```\n *\n * or\n *\n * ```ruby\n * {'users.age': '=50'}\n * ```\n *\n * GET /models/{model_name}/views/{view_name}/fields/{field_name}/suggestions -> IModelFieldSuggestions\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestModelFieldnameSuggestions\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const model_fieldname_suggestions = async (\n sdk: IAPIMethods,\n request: IRequestModelFieldnameSuggestions,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelFieldSuggestions, IError>> => {\n request.model_name = encodeParam(request.model_name);\n request.view_name = encodeParam(request.view_name);\n request.field_name = encodeParam(request.field_name);\n return sdk.get<IModelFieldSuggestions, IError>(\n `/models/${request.model_name}/views/${request.view_name}/fields/${request.field_name}/suggestions`,\n { term: request.term, filters: request.filters },\n null,\n options\n );\n};\n\n/**\n * ### Get a single model\n *\n * GET /models/{model_name} -> IModel\n *\n * @param sdk IAPIMethods implementation\n * @param model_name Name of model\n * @param options one-time API call overrides\n *\n */\nexport const get_model = async (\n sdk: IAPIMethods,\n model_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModel, IError>> => {\n model_name = encodeParam(model_name);\n return sdk.get<IModel, IError>(`/models/${model_name}`, null, null, options);\n};\n\n/**\n * ### List databases available to this connection\n *\n * Certain dialects can support multiple databases per single connection.\n * If this connection supports multiple databases, the database names will be returned in an array.\n *\n * Connections using dialects that do not support multiple databases will return an empty array.\n *\n * **Note**: [Connection Features](#!/Metadata/connection_features) can be used to determine if a connection supports\n * multiple databases.\n *\n * GET /connections/{connection_name}/databases -> string[]\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param options one-time API call overrides\n *\n */\nexport const connection_databases = async (\n sdk: IAPIMethods,\n connection_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string[], IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.get<string[], IError | IValidationError>(\n `/connections/${connection_name}/databases`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Retrieve metadata features for this connection\n *\n * Returns a list of feature names with `true` (available) or `false` (not available)\n *\n * GET /connections/{connection_name}/features -> IConnectionFeatures\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const connection_features = async (\n sdk: IAPIMethods,\n connection_name: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IConnectionFeatures, IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.get<IConnectionFeatures, IError | IValidationError>(\n `/connections/${connection_name}/features`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the list of schemas and tables for a connection\n *\n * GET /connections/{connection_name}/schemas -> ISchema[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestConnectionSchemas\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const connection_schemas = async (\n sdk: IAPIMethods,\n request: IRequestConnectionSchemas,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISchema[], IError | IValidationError>> => {\n request.connection_name = encodeParam(request.connection_name);\n return sdk.get<ISchema[], IError | IValidationError>(\n `/connections/${request.connection_name}/schemas`,\n {\n database: request.database,\n cache: request.cache,\n fields: request.fields,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get the list of tables for a schema\n *\n * For dialects that support multiple databases, optionally identify which to use. If not provided, the default\n * database for the connection will be used.\n *\n * For dialects that do **not** support multiple databases, **do not use** the database parameter\n *\n * GET /connections/{connection_name}/tables -> ISchemaTables[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestConnectionTables\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const connection_tables = async (\n sdk: IAPIMethods,\n request: IRequestConnectionTables,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISchemaTables[], IError | IValidationError>> => {\n request.connection_name = encodeParam(request.connection_name);\n return sdk.get<ISchemaTables[], IError | IValidationError>(\n `/connections/${request.connection_name}/tables`,\n {\n database: request.database,\n schema_name: request.schema_name,\n cache: request.cache,\n fields: request.fields,\n table_filter: request.table_filter,\n table_limit: request.table_limit,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get the columns (and therefore also the tables) in a specific schema\n *\n * GET /connections/{connection_name}/columns -> ISchemaColumns[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestConnectionColumns\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const connection_columns = async (\n sdk: IAPIMethods,\n request: IRequestConnectionColumns,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISchemaColumns[], IError | IValidationError>> => {\n request.connection_name = encodeParam(request.connection_name);\n return sdk.get<ISchemaColumns[], IError | IValidationError>(\n `/connections/${request.connection_name}/columns`,\n {\n database: request.database,\n schema_name: request.schema_name,\n cache: request.cache,\n table_limit: request.table_limit,\n table_names: request.table_names,\n fields: request.fields,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search a connection for columns matching the specified name\n *\n * **Note**: `column_name` must be a valid column name. It is not a search pattern.\n *\n * GET /connections/{connection_name}/search_columns -> IColumnSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestConnectionSearchColumns\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const connection_search_columns = async (\n sdk: IAPIMethods,\n request: IRequestConnectionSearchColumns,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColumnSearch[], IError | IValidationError>> => {\n request.connection_name = encodeParam(request.connection_name);\n return sdk.get<IColumnSearch[], IError | IValidationError>(\n `/connections/${request.connection_name}/search_columns`,\n { column_name: request.column_name, fields: request.fields },\n null,\n options\n );\n};\n\n/**\n * ### Connection cost estimating\n *\n * Assign a `sql` statement to the body of the request. e.g., for Ruby, `{sql: 'select * from users'}`\n *\n * **Note**: If the connection's dialect has no support for cost estimates, an error will be returned\n *\n * POST /connections/{connection_name}/cost_estimate -> ICostEstimate\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const connection_cost_estimate = async (\n sdk: IAPIMethods,\n connection_name: string,\n body: Partial<ICreateCostEstimate>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICostEstimate, IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.post<ICostEstimate, IError | IValidationError>(\n `/connections/${connection_name}/cost_estimate`,\n { fields },\n body,\n options\n );\n};\n\n//#endregion Metadata: Connection Metadata Features\n\n//#region Project: Manage Projects\n\n/**\n * ### Generate Lockfile for All LookML Dependencies\n *\n * Git must have been configured, must be in dev mode and deploy permission required\n *\n * Install_all is a two step process\n * 1. For each remote_dependency in a project the dependency manager will resolve any ambiguous ref.\n * 2. The project will then write out a lockfile including each remote_dependency with its resolved ref.\n *\n * POST /projects/{project_id}/manifest/lock_all -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Id of project\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const lock_all = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/manifest/lock_all`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get All Git Branches\n *\n * Returns a list of git branches in the project repository\n *\n * GET /projects/{project_id}/git_branches -> IGitBranch[]\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const all_git_branches = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch[], IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IGitBranch[], IError>(\n `/projects/${project_id}/git_branches`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get the Current Git Branch\n *\n * Returns the git branch currently checked out in the given project repository\n *\n * GET /projects/{project_id}/git_branch -> IGitBranch\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IGitBranch, IError>(\n `/projects/${project_id}/git_branch`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Checkout and/or reset --hard an existing Git Branch\n *\n * Only allowed in development mode\n * - Call `update_session` to select the 'dev' workspace.\n *\n * Checkout an existing branch if name field is different from the name of the currently checked out branch.\n *\n * Optionally specify a branch name, tag name or commit SHA to which the branch should be reset.\n * **DANGER** hard reset will be force pushed to the remote. Unsaved changes and commits may be permanently lost.\n *\n * PUT /projects/{project_id}/git_branch -> IGitBranch\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param body Partial<IWriteGitBranch>\n * @param options one-time API call overrides\n *\n */\nexport const update_git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n body: Partial<IWriteGitBranch>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.put<IGitBranch, IError | IValidationError>(\n `/projects/${project_id}/git_branch`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Create and Checkout a Git Branch\n *\n * Creates and checks out a new branch in the given project repository\n * Only allowed in development mode\n * - Call `update_session` to select the 'dev' workspace.\n *\n * Optionally specify a branch name, tag name or commit SHA as the start point in the ref field.\n * If no ref is specified, HEAD of the current branch will be used as the start point for the new branch.\n *\n * POST /projects/{project_id}/git_branch -> IGitBranch\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param body Partial<IWriteGitBranch>\n * @param options one-time API call overrides\n *\n */\nexport const create_git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n body: Partial<IWriteGitBranch>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<IGitBranch, IError | IValidationError>(\n `/projects/${project_id}/git_branch`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get the specified Git Branch\n *\n * Returns the git branch specified in branch_name path param if it exists in the given project repository\n *\n * GET /projects/{project_id}/git_branch/{branch_name} -> IGitBranch\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param branch_name Branch Name\n * @param options one-time API call overrides\n *\n */\nexport const find_git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n branch_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch, IError>> => {\n project_id = encodeParam(project_id);\n branch_name = encodeParam(branch_name);\n return sdk.get<IGitBranch, IError>(\n `/projects/${project_id}/git_branch/${branch_name}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Delete the specified Git Branch\n *\n * Delete git branch specified in branch_name path param from local and remote of specified project repository\n *\n * DELETE /projects/{project_id}/git_branch/{branch_name} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param branch_name Branch Name\n * @param options one-time API call overrides\n *\n */\nexport const delete_git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n branch_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n project_id = encodeParam(project_id);\n branch_name = encodeParam(branch_name);\n return sdk.delete<string, IError>(\n `/projects/${project_id}/git_branch/${branch_name}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Deploy a Remote Branch or Ref to Production\n *\n * Git must have been configured and deploy permission required.\n *\n * Deploy is a one/two step process\n * 1. If this is the first deploy of this project, create the production project with git repository.\n * 2. Pull the branch or ref into the production project.\n *\n * Can only specify either a branch or a ref.\n *\n * POST /projects/{project_id}/deploy_ref_to_production -> string\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestDeployRefToProduction\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const deploy_ref_to_production = async (\n sdk: IAPIMethods,\n request: IRequestDeployRefToProduction,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.project_id = encodeParam(request.project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${request.project_id}/deploy_ref_to_production`,\n { branch: request.branch, ref: request.ref },\n null,\n options\n );\n};\n\n/**\n * ### Deploy LookML from this Development Mode Project to Production\n *\n * Git must have been configured, must be in dev mode and deploy permission required\n *\n * Deploy is a two / three step process:\n *\n * 1. Push commits in current branch of dev mode project to the production branch (origin/master).\n * Note a. This step is skipped in read-only projects.\n * Note b. If this step is unsuccessful for any reason (e.g. rejected non-fastforward because production branch has\n * commits not in current branch), subsequent steps will be skipped.\n * 2. If this is the first deploy of this project, create the production project with git repository.\n * 3. Pull the production branch into the production project.\n *\n * POST /projects/{project_id}/deploy_to_production -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Id of project\n * @param options one-time API call overrides\n *\n */\nexport const deploy_to_production = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/deploy_to_production`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Reset a project to the revision of the project that is in production.\n *\n * **DANGER** this will delete any changes that have not been pushed to a remote repository.\n *\n * POST /projects/{project_id}/reset_to_production -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Id of project\n * @param options one-time API call overrides\n *\n */\nexport const reset_project_to_production = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/reset_to_production`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Reset a project development branch to the revision of the project that is on the remote.\n *\n * **DANGER** this will delete any changes that have not been pushed to a remote repository.\n *\n * POST /projects/{project_id}/reset_to_remote -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Id of project\n * @param options one-time API call overrides\n *\n */\nexport const reset_project_to_remote = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/reset_to_remote`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get All Projects\n *\n * Returns all projects visible to the current user\n *\n * GET /projects -> IProject[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const all_projects = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject[], IError>> => {\n return sdk.get<IProject[], IError>('/projects', { fields }, null, options);\n};\n\n/**\n * ### Create A Project\n *\n * dev mode required.\n * - Call `update_session` to select the 'dev' workspace.\n *\n * `name` is required.\n * `git_remote_url` is not allowed. To configure Git for the newly created project, follow the instructions in `update_project`.\n *\n * POST /projects -> IProject\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteProject>\n * @param options one-time API call overrides\n *\n */\nexport const create_project = async (\n sdk: IAPIMethods,\n body: Partial<IWriteProject>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject, IError | IValidationError>> => {\n return sdk.post<IProject, IError | IValidationError>(\n '/projects',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get A Project\n *\n * Returns the project with the given project id\n *\n * GET /projects/{project_id} -> IProject\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const project = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProject, IError>(\n `/projects/${project_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update Project Configuration\n *\n * Apply changes to a project's configuration.\n *\n *\n * #### Configuring Git for a Project\n *\n * To set up a Looker project with a remote git repository, follow these steps:\n *\n * 1. Call `update_session` to select the 'dev' workspace.\n * 1. Call `create_git_deploy_key` to create a new deploy key for the project\n * 1. Copy the deploy key text into the remote git repository's ssh key configuration\n * 1. Call `update_project` to set project's `git_remote_url` ()and `git_service_name`, if necessary).\n *\n * When you modify a project's `git_remote_url`, Looker connects to the remote repository to fetch\n * metadata. The remote git repository MUST be configured with the Looker-generated deploy\n * key for this project prior to setting the project's `git_remote_url`.\n *\n * To set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo):\n *\n * 1. Call `update_session` to select the 'dev' workspace.\n * 1. Call `update_project` setting `git_remote_url` to null and `git_service_name` to \"bare\".\n *\n * PATCH /projects/{project_id} -> IProject\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param body Partial<IWriteProject>\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const update_project = async (\n sdk: IAPIMethods,\n project_id: string,\n body: Partial<IWriteProject>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.patch<IProject, IError | IValidationError>(\n `/projects/${project_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get A Projects Manifest object\n *\n * Returns the project with the given project id\n *\n * GET /projects/{project_id}/manifest -> IManifest\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const manifest = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IManifest, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IManifest, IError>(\n `/projects/${project_id}/manifest`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Git Deploy Key\n *\n * Returns the ssh public key previously created for a project's git repository.\n *\n * GET /projects/{project_id}/git/deploy_key -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const git_deploy_key = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<string, IError>(\n `/projects/${project_id}/git/deploy_key`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create Git Deploy Key\n *\n * Create a public/private key pair for authenticating ssh git requests from Looker to a remote git repository\n * for a particular Looker project.\n *\n * Returns the public key of the generated ssh key pair.\n *\n * Copy this public key to your remote git repository's ssh keys configuration so that the remote git service can\n * validate and accept git requests from the Looker server.\n *\n * POST /projects/{project_id}/git/deploy_key -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const create_git_deploy_key = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/git/deploy_key`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Cached Project Validation Results\n *\n * Returns the cached results of a previous project validation calculation, if any.\n * Returns http status 204 No Content if no validation results exist.\n *\n * Validating the content of all the files in a project can be computationally intensive\n * for large projects. Use this API to simply fetch the results of the most recent\n * project validation rather than revalidating the entire project from scratch.\n *\n * A value of `\"stale\": true` in the response indicates that the project has changed since\n * the cached validation results were computed. The cached validation results may no longer\n * reflect the current state of the project.\n *\n * GET /projects/{project_id}/validate -> IProjectValidationCache\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const project_validation_results = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectValidationCache, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProjectValidationCache, IError>(\n `/projects/${project_id}/validate`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Validate Project\n *\n * Performs lint validation of all lookml files in the project.\n * Returns a list of errors found, if any.\n *\n * Validating the content of all the files in a project can be computationally intensive\n * for large projects. For best performance, call `validate_project(project_id)` only\n * when you really want to recompute project validation. To quickly display the results of\n * the most recent project validation (without recomputing), use `project_validation_results(project_id)`\n *\n * POST /projects/{project_id}/validate -> IProjectValidation\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const validate_project = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectValidation, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<IProjectValidation, IError | IValidationError>(\n `/projects/${project_id}/validate`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Project Workspace\n *\n * Returns information about the state of the project files in the currently selected workspace\n *\n * GET /projects/{project_id}/current_workspace -> IProjectWorkspace\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const project_workspace = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectWorkspace, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProjectWorkspace, IError>(\n `/projects/${project_id}/current_workspace`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get All Project Files\n *\n * Returns a list of the files in the project\n *\n * GET /projects/{project_id}/files -> IProjectFile[]\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const all_project_files = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectFile[], IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProjectFile[], IError>(\n `/projects/${project_id}/files`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Project File Info\n *\n * Returns information about a file in the project\n *\n * GET /projects/{project_id}/files/file -> IProjectFile\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param file_id File Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const project_file = async (\n sdk: IAPIMethods,\n project_id: string,\n file_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectFile, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProjectFile, IError>(\n `/projects/${project_id}/files/file`,\n { file_id, fields },\n null,\n options\n );\n};\n\n/**\n * ### Get All Git Connection Tests\n *\n * dev mode required.\n * - Call `update_session` to select the 'dev' workspace.\n *\n * Returns a list of tests which can be run against a project's (or the dependency project for the provided remote_url) git connection. Call [Run Git Connection Test](#!/Project/run_git_connection_test) to execute each test in sequence.\n *\n * Tests are ordered by increasing specificity. Tests should be run in the order returned because later tests require functionality tested by tests earlier in the test list.\n *\n * For example, a late-stage test for write access is meaningless if connecting to the git server (an early test) is failing.\n *\n * GET /projects/{project_id}/git_connection_tests -> IGitConnectionTest[]\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param remote_url (Optional: leave blank for root project) The remote url for remote dependency to test.\n * @param options one-time API call overrides\n *\n */\nexport const all_git_connection_tests = async (\n sdk: IAPIMethods,\n project_id: string,\n remote_url?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitConnectionTest[], IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IGitConnectionTest[], IError>(\n `/projects/${project_id}/git_connection_tests`,\n { remote_url },\n null,\n options\n );\n};\n\n/**\n * ### Run a git connection test\n *\n * Run the named test on the git service used by this project (or the dependency project for the provided remote_url) and return the result. This\n * is intended to help debug git connections when things do not work properly, to give\n * more helpful information about why a git url is not working with Looker.\n *\n * Tests should be run in the order they are returned by [Get All Git Connection Tests](#!/Project/all_git_connection_tests).\n *\n * GET /projects/{project_id}/git_connection_tests/{test_id} -> IGitConnectionTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunGitConnectionTest\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_git_connection_test = async (\n sdk: IAPIMethods,\n request: IRequestRunGitConnectionTest,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IGitConnectionTestResult, IError | IValidationError>\n> => {\n request.project_id = encodeParam(request.project_id);\n request.test_id = encodeParam(request.test_id);\n return sdk.get<IGitConnectionTestResult, IError | IValidationError>(\n `/projects/${request.project_id}/git_connection_tests/${request.test_id}`,\n { remote_url: request.remote_url, use_production: request.use_production },\n null,\n options\n );\n};\n\n/**\n * ### Get All LookML Tests\n *\n * Returns a list of tests which can be run to validate a project's LookML code and/or the underlying data,\n * optionally filtered by the file id.\n * Call [Run LookML Test](#!/Project/run_lookml_test) to execute tests.\n *\n * GET /projects/{project_id}/lookml_tests -> ILookmlTest[]\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param file_id File Id\n * @param options one-time API call overrides\n *\n */\nexport const all_lookml_tests = async (\n sdk: IAPIMethods,\n project_id: string,\n file_id?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlTest[], IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<ILookmlTest[], IError>(\n `/projects/${project_id}/lookml_tests`,\n { file_id },\n null,\n options\n );\n};\n\n/**\n * ### Run LookML Tests\n *\n * Runs all tests in the project, optionally filtered by file, test, and/or model.\n *\n * GET /projects/{project_id}/lookml_tests/run -> ILookmlTestResult[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunLookmlTest\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_lookml_test = async (\n sdk: IAPIMethods,\n request: IRequestRunLookmlTest,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlTestResult[], IError | IValidationError>> => {\n request.project_id = encodeParam(request.project_id);\n return sdk.get<ILookmlTestResult[], IError | IValidationError>(\n `/projects/${request.project_id}/lookml_tests/run`,\n { file_id: request.file_id, test: request.test, model: request.model },\n null,\n options\n );\n};\n\n/**\n * ### Creates a tag for the most recent commit, or a specific ref is a SHA is provided\n *\n * POST /projects/{project_id}/tag -> IProject\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestTagRef\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const tag_ref = async (\n sdk: IAPIMethods,\n request: IRequestTagRef,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject, IError | IValidationError>> => {\n request.project_id = encodeParam(request.project_id);\n return sdk.post<IProject, IError | IValidationError>(\n `/projects/${request.project_id}/tag`,\n {\n commit_sha: request.commit_sha,\n tag_name: request.tag_name,\n tag_message: request.tag_message,\n },\n request.body,\n options\n );\n};\n\n/**\n * ### Configure Repository Credential for a remote dependency\n *\n * Admin required.\n *\n * `root_project_id` is required.\n * `credential_id` is required.\n *\n * PUT /projects/{root_project_id}/credential/{credential_id} -> IRepositoryCredential\n *\n * @param sdk IAPIMethods implementation\n * @param root_project_id Root Project Id\n * @param credential_id Credential Id\n * @param body Partial<IWriteRepositoryCredential>\n * @param options one-time API call overrides\n *\n */\nexport const update_repository_credential = async (\n sdk: IAPIMethods,\n root_project_id: string,\n credential_id: string,\n body: Partial<IWriteRepositoryCredential>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRepositoryCredential, IError | IValidationError>> => {\n root_project_id = encodeParam(root_project_id);\n credential_id = encodeParam(credential_id);\n return sdk.put<IRepositoryCredential, IError | IValidationError>(\n `/projects/${root_project_id}/credential/${credential_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Repository Credential for a remote dependency\n *\n * Admin required.\n *\n * `root_project_id` is required.\n * `credential_id` is required.\n *\n * DELETE /projects/{root_project_id}/credential/{credential_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param root_project_id Root Project Id\n * @param credential_id Credential Id\n * @param options one-time API call overrides\n *\n */\nexport const delete_repository_credential = async (\n sdk: IAPIMethods,\n root_project_id: string,\n credential_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n root_project_id = encodeParam(root_project_id);\n credential_id = encodeParam(credential_id);\n return sdk.delete<string, IError>(\n `/projects/${root_project_id}/credential/${credential_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get all Repository Credentials for a project\n *\n * `root_project_id` is required.\n *\n * GET /projects/{root_project_id}/credentials -> IRepositoryCredential[]\n *\n * @param sdk IAPIMethods implementation\n * @param root_project_id Root Project Id\n * @param options one-time API call overrides\n *\n */\nexport const get_all_repository_credentials = async (\n sdk: IAPIMethods,\n root_project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRepositoryCredential[], IError>> => {\n root_project_id = encodeParam(root_project_id);\n return sdk.get<IRepositoryCredential[], IError>(\n `/projects/${root_project_id}/credentials`,\n null,\n null,\n options\n );\n};\n\n//#endregion Project: Manage Projects\n\n//#region Query: Run and Manage Queries\n\n/**\n * ### Create an async query task\n *\n * Creates a query task (job) to run a previously created query asynchronously. Returns a Query Task ID.\n *\n * Use [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task.\n * After the query task status reaches \"Complete\", use [query_task_results(query_task_id)](#!/Query/query_task_results) to fetch the results of the query.\n *\n * POST /query_tasks -> IQueryTask\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestCreateQueryTask\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const create_query_task = async (\n sdk: IAPIMethods,\n request: IRequestCreateQueryTask,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQueryTask, IError | IValidationError>> => {\n return sdk.post<IQueryTask, IError | IValidationError>(\n '/query_tasks',\n {\n limit: request.limit,\n apply_formatting: request.apply_formatting,\n apply_vis: request.apply_vis,\n cache: request.cache,\n generate_drill_links: request.generate_drill_links,\n force_production: request.force_production,\n cache_only: request.cache_only,\n path_prefix: request.path_prefix,\n rebuild_pdts: request.rebuild_pdts,\n server_table_calcs: request.server_table_calcs,\n fields: request.fields,\n },\n request.body,\n options\n );\n};\n\n/**\n * ### Fetch results of multiple async queries\n *\n * Returns the results of multiple async queries in one request.\n *\n * For Query Tasks that are not completed, the response will include the execution status of the Query Task but will not include query results.\n * Query Tasks whose results have expired will have a status of 'expired'.\n * If the user making the API request does not have sufficient privileges to view a Query Task result, the result will have a status of 'missing'\n *\n * GET /query_tasks/multi_results -> IDictionary<any>\n *\n * @param sdk IAPIMethods implementation\n * @param query_task_ids List of Query Task IDs\n * @param options one-time API call overrides\n *\n */\nexport const query_task_multi_results = async (\n sdk: IAPIMethods,\n query_task_ids: DelimArray<string>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDictionary<any>, IError>> => {\n return sdk.get<IDictionary<any>, IError>(\n '/query_tasks/multi_results',\n { query_task_ids },\n null,\n options\n );\n};\n\n/**\n * ### Get Query Task details\n *\n * Use this function to check the status of an async query task. After the status\n * reaches \"Complete\", you can call [query_task_results(query_task_id)](#!/Query/query_task_results) to\n * retrieve the results of the query.\n *\n * Use [create_query_task()](#!/Query/create_query_task) to create an async query task.\n *\n * GET /query_tasks/{query_task_id} -> IQueryTask\n *\n * @param sdk IAPIMethods implementation\n * @param query_task_id ID of the Query Task\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const query_task = async (\n sdk: IAPIMethods,\n query_task_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQueryTask, IError>> => {\n query_task_id = encodeParam(query_task_id);\n return sdk.get<IQueryTask, IError>(\n `/query_tasks/${query_task_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Async Query Results\n *\n * Returns the results of an async query task if the query has completed.\n *\n * If the query task is still running or waiting to run, this function returns 202 Accepted.\n *\n * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n *\n * Use [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\n * Call query_task_results only after the query task status reaches \"Complete\".\n *\n * You can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\n * results of multiple async query tasks at the same time.\n *\n * #### SQL Error Handling:\n * If the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n *\n * For `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\n * will be in the `errors` property of the response object. The 'data' property will be empty.\n *\n * For all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\n * will be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\n * These data formats can only carry row data, and error info is not row data.\n *\n * GET /query_tasks/{query_task_id}/results -> string\n *\n * @param sdk IAPIMethods implementation\n * @param query_task_id ID of the Query Task\n * @param options one-time API call overrides\n *\n */\nexport const query_task_results = async (\n sdk: IAPIMethods,\n query_task_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n query_task_id = encodeParam(query_task_id);\n return sdk.get<string, IError>(\n `/query_tasks/${query_task_id}/results`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get a previously created query by id.\n *\n * A Looker query object includes the various parameters that define a database query that has been run or\n * could be run in the future. These parameters include: model, view, fields, filters, pivots, etc.\n * Query *results* are not part of the query object.\n *\n * Query objects are unique and immutable. Query objects are created automatically in Looker as users explore data.\n * Looker does not delete them; they become part of the query history. When asked to create a query for\n * any given set of parameters, Looker will first try to find an existing query object with matching\n * parameters and will only create a new object when an appropriate object can not be found.\n *\n * This 'get' method is used to get the details about a query for a given id. See the other methods here\n * to 'create' and 'run' queries.\n *\n * Note that some fields like 'filter_config' and 'vis_config' etc are specific to how the Looker UI\n * builds queries and visualizations and are not generally useful for API use. They are not required when\n * creating new queries and can usually just be ignored.\n *\n * GET /queries/{query_id} -> IQuery\n *\n * @param sdk IAPIMethods implementation\n * @param query_id Id of query\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const query = async (\n sdk: IAPIMethods,\n query_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQuery, IError>> => {\n query_id = encodeParam(query_id);\n return sdk.get<IQuery, IError>(\n `/queries/${query_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the query for a given query slug.\n *\n * This returns the query for the 'slug' in a query share URL.\n *\n * The 'slug' is a randomly chosen short string that is used as an alternative to the query's id value\n * for use in URLs etc. This method exists as a convenience to help you use the API to 'find' queries that\n * have been created using the Looker UI.\n *\n * You can use the Looker explore page to build a query and then choose the 'Share' option to\n * show the share url for the query. Share urls generally look something like 'https://looker.yourcompany/x/vwGSbfc'.\n * The trailing 'vwGSbfc' is the share slug. You can pass that string to this api method to get details about the query.\n * Those details include the 'id' that you can use to run the query. Or, you can copy the query body\n * (perhaps with your own modification) and use that as the basis to make/run new queries.\n *\n * This will also work with slugs from Looker explore urls like\n * 'https://looker.yourcompany/explore/ecommerce/orders?qid=aogBgL6o3cKK1jN3RoZl5s'. In this case\n * 'aogBgL6o3cKK1jN3RoZl5s' is the slug.\n *\n * GET /queries/slug/{slug} -> IQuery\n *\n * @param sdk IAPIMethods implementation\n * @param slug Slug of query\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const query_for_slug = async (\n sdk: IAPIMethods,\n slug: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQuery, IError>> => {\n slug = encodeParam(slug);\n return sdk.get<IQuery, IError>(\n `/queries/slug/${slug}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a query.\n *\n * This allows you to create a new query that you can later run. Looker queries are immutable once created\n * and are not deleted. If you create a query that is exactly like an existing query then the existing query\n * will be returned and no new query will be created. Whether a new query is created or not, you can use\n * the 'id' in the returned query with the 'run' method.\n *\n * The query parameters are passed as json in the body of the request.\n *\n * POST /queries -> IQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteQuery>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_query = async (\n sdk: IAPIMethods,\n body: Partial<IWriteQuery>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQuery, IError | IValidationError>> => {\n return sdk.post<IQuery, IError | IValidationError>(\n '/queries',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Run a saved query.\n *\n * This runs a previously saved query. You can use this on a query that was generated in the Looker UI\n * or one that you have explicitly created using the API. You can also use a query 'id' from a saved 'Look'.\n *\n * The 'result_format' parameter specifies the desired structure and format of the response.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json | Plain json\n * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema\n * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | md | Simple markdown\n * | xlsx | MS Excel spreadsheet\n * | sql | Returns the generated SQL rather than running the query\n * | png | A PNG image of the visualization of the query\n * | jpg | A JPG image of the visualization of the query\n *\n * GET /queries/{query_id}/run/{result_format} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunQuery\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_query = async (\n sdk: IAPIMethods,\n request: IRequestRunQuery,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.query_id = encodeParam(request.query_id);\n request.result_format = encodeParam(request.result_format);\n return sdk.get<string, IError | IValidationError>(\n `/queries/${request.query_id}/run/${request.result_format}`,\n {\n limit: request.limit,\n apply_formatting: request.apply_formatting,\n apply_vis: request.apply_vis,\n cache: request.cache,\n image_width: request.image_width,\n image_height: request.image_height,\n generate_drill_links: request.generate_drill_links,\n force_production: request.force_production,\n cache_only: request.cache_only,\n path_prefix: request.path_prefix,\n rebuild_pdts: request.rebuild_pdts,\n server_table_calcs: request.server_table_calcs,\n source: request.source,\n },\n null,\n options\n );\n};\n\n/**\n * ### Run the query that is specified inline in the posted body.\n *\n * This allows running a query as defined in json in the posted body. This combines\n * the two actions of posting & running a query into one step.\n *\n * Here is an example body in json:\n * ```\n * {\n * \"model\":\"thelook\",\n * \"view\":\"inventory_items\",\n * \"fields\":[\"category.name\",\"inventory_items.days_in_inventory_tier\",\"products.count\"],\n * \"filters\":{\"category.name\":\"socks\"},\n * \"sorts\":[\"products.count desc 0\"],\n * \"limit\":\"500\",\n * \"query_timezone\":\"America/Los_Angeles\"\n * }\n * ```\n *\n * When using the Ruby SDK this would be passed as a Ruby hash like:\n * ```\n * {\n * :model=>\"thelook\",\n * :view=>\"inventory_items\",\n * :fields=>\n * [\"category.name\",\n * \"inventory_items.days_in_inventory_tier\",\n * \"products.count\"],\n * :filters=>{:\"category.name\"=>\"socks\"},\n * :sorts=>[\"products.count desc 0\"],\n * :limit=>\"500\",\n * :query_timezone=>\"America/Los_Angeles\",\n * }\n * ```\n *\n * This will return the result of running the query in the format specified by the 'result_format' parameter.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json | Plain json\n * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema\n * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | md | Simple markdown\n * | xlsx | MS Excel spreadsheet\n * | sql | Returns the generated SQL rather than running the query\n * | png | A PNG image of the visualization of the query\n * | jpg | A JPG image of the visualization of the query\n *\n * POST /queries/run/{result_format} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunInlineQuery\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_inline_query = async (\n sdk: IAPIMethods,\n request: IRequestRunInlineQuery,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.result_format = encodeParam(request.result_format);\n return sdk.post<string, IError | IValidationError>(\n `/queries/run/${request.result_format}`,\n {\n limit: request.limit,\n apply_formatting: request.apply_formatting,\n apply_vis: request.apply_vis,\n cache: request.cache,\n image_width: request.image_width,\n image_height: request.image_height,\n generate_drill_links: request.generate_drill_links,\n force_production: request.force_production,\n cache_only: request.cache_only,\n path_prefix: request.path_prefix,\n rebuild_pdts: request.rebuild_pdts,\n server_table_calcs: request.server_table_calcs,\n },\n request.body,\n options\n );\n};\n\n/**\n * ### Run an URL encoded query.\n *\n * This requires the caller to encode the specifiers for the query into the URL query part using\n * Looker-specific syntax as explained below.\n *\n * Generally, you would want to use one of the methods that takes the parameters as json in the POST body\n * for creating and/or running queries. This method exists for cases where one really needs to encode the\n * parameters into the URL of a single 'GET' request. This matches the way that the Looker UI formats\n * 'explore' URLs etc.\n *\n * The parameters here are very similar to the json body formatting except that the filter syntax is\n * tricky. Unfortunately, this format makes this method not currently callable via the 'Try it out!' button\n * in this documentation page. But, this is callable when creating URLs manually or when using the Looker SDK.\n *\n * Here is an example inline query URL:\n *\n * ```\n * https://looker.mycompany.com:19999/api/4.0/queries/models/thelook/views/inventory_items/run/json?fields=category.name,inventory_items.days_in_inventory_tier,products.count&f[category.name]=socks&sorts=products.count+desc+0&limit=500&query_timezone=America/Los_Angeles\n * ```\n *\n * When invoking this endpoint with the Ruby SDK, pass the query parameter parts as a hash. The hash to match the above would look like:\n *\n * ```ruby\n * query_params =\n * {\n * fields: \"category.name,inventory_items.days_in_inventory_tier,products.count\",\n * :\"f[category.name]\" => \"socks\",\n * sorts: \"products.count desc 0\",\n * limit: \"500\",\n * query_timezone: \"America/Los_Angeles\"\n * }\n * response = ruby_sdk.run_url_encoded_query('thelook','inventory_items','json', query_params)\n *\n * ```\n *\n * Again, it is generally easier to use the variant of this method that passes the full query in the POST body.\n * This method is available for cases where other alternatives won't fit the need.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json | Plain json\n * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema\n * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | md | Simple markdown\n * | xlsx | MS Excel spreadsheet\n * | sql | Returns the generated SQL rather than running the query\n * | png | A PNG image of the visualization of the query\n * | jpg | A JPG image of the visualization of the query\n *\n * GET /queries/models/{model_name}/views/{view_name}/run/{result_format} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param model_name Model name\n * @param view_name View name\n * @param result_format Format of result\n * @param options one-time API call overrides\n *\n */\nexport const run_url_encoded_query = async (\n sdk: IAPIMethods,\n model_name: string,\n view_name: string,\n result_format: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n model_name = encodeParam(model_name);\n view_name = encodeParam(view_name);\n result_format = encodeParam(result_format);\n return sdk.get<string, IError | IValidationError>(\n `/queries/models/${model_name}/views/${view_name}/run/${result_format}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Merge Query\n *\n * Returns a merge query object given its id.\n *\n * GET /merge_queries/{merge_query_id} -> IMergeQuery\n *\n * @param sdk IAPIMethods implementation\n * @param merge_query_id Merge Query Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const merge_query = async (\n sdk: IAPIMethods,\n merge_query_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMergeQuery, IError>> => {\n merge_query_id = encodeParam(merge_query_id);\n return sdk.get<IMergeQuery, IError>(\n `/merge_queries/${merge_query_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create Merge Query\n *\n * Creates a new merge query object.\n *\n * A merge query takes the results of one or more queries and combines (merges) the results\n * according to field mapping definitions. The result is similar to a SQL left outer join.\n *\n * A merge query can merge results of queries from different SQL databases.\n *\n * The order that queries are defined in the source_queries array property is significant. The\n * first query in the array defines the primary key into which the results of subsequent\n * queries will be merged.\n *\n * Like model/view query objects, merge queries are immutable and have structural identity - if\n * you make a request to create a new merge query that is identical to an existing merge query,\n * the existing merge query will be returned instead of creating a duplicate. Conversely, any\n * change to the contents of a merge query will produce a new object with a new id.\n *\n * POST /merge_queries -> IMergeQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteMergeQuery>\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const create_merge_query = async (\n sdk: IAPIMethods,\n body?: Partial<IWriteMergeQuery>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMergeQuery, IError | IValidationError>> => {\n return sdk.post<IMergeQuery, IError | IValidationError>(\n '/merge_queries',\n { fields },\n body,\n options\n );\n};\n\n/**\n * Get information about all running queries.\n *\n * GET /running_queries -> IRunningQueries[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_running_queries = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRunningQueries[], IError>> => {\n return sdk.get<IRunningQueries[], IError>(\n '/running_queries',\n null,\n null,\n options\n );\n};\n\n/**\n * Kill a query with a specific query_task_id.\n *\n * DELETE /running_queries/{query_task_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param query_task_id Query task id.\n * @param options one-time API call overrides\n *\n */\nexport const kill_query = async (\n sdk: IAPIMethods,\n query_task_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n query_task_id = encodeParam(query_task_id);\n return sdk.delete<string, IError | IValidationError>(\n `/running_queries/${query_task_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a SQL Runner Query\n *\n * Either the `connection_name` or `model_name` parameter MUST be provided.\n *\n * POST /sql_queries -> ISqlQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ISqlQueryCreate>\n * @param options one-time API call overrides\n *\n */\nexport const create_sql_query = async (\n sdk: IAPIMethods,\n body: Partial<ISqlQueryCreate>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISqlQuery, IError | IValidationError>> => {\n return sdk.post<ISqlQuery, IError | IValidationError>(\n '/sql_queries',\n null,\n body,\n options\n );\n};\n\n/**\n * Get a SQL Runner query.\n *\n * GET /sql_queries/{slug} -> ISqlQuery\n *\n * @param sdk IAPIMethods implementation\n * @param slug slug of query\n * @param options one-time API call overrides\n *\n */\nexport const sql_query = async (\n sdk: IAPIMethods,\n slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISqlQuery, IError>> => {\n slug = encodeParam(slug);\n return sdk.get<ISqlQuery, IError>(\n `/sql_queries/${slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * Execute a SQL Runner query in a given result_format.\n *\n * POST /sql_queries/{slug}/run/{result_format} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param slug slug of query\n * @param result_format Format of result, options are: [\"inline_json\", \"json\", \"json_detail\", \"json_fe\", \"json_bi\", \"csv\", \"html\", \"md\", \"txt\", \"xlsx\", \"gsxml\", \"sql\", \"json_label\"]\n * @param download Defaults to false. If set to true, the HTTP response will have content-disposition and other headers set to make the HTTP response behave as a downloadable attachment instead of as inline content.\n * @param options one-time API call overrides\n *\n */\nexport const run_sql_query = async (\n sdk: IAPIMethods,\n slug: string,\n result_format: string,\n download?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n slug = encodeParam(slug);\n result_format = encodeParam(result_format);\n return sdk.post<string, IError | IValidationError>(\n `/sql_queries/${slug}/run/${result_format}`,\n { download },\n null,\n options\n );\n};\n\n//#endregion Query: Run and Manage Queries\n\n//#region RenderTask: Manage Render Tasks\n\n/**\n * ### Create a new task to render a look to an image.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * POST /render_tasks/looks/{look_id}/{result_format} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Id of look to render\n * @param result_format Output type: png, or jpg\n * @param width Output width in pixels\n * @param height Output height in pixels\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_look_render_task = async (\n sdk: IAPIMethods,\n look_id: string,\n result_format: string,\n width: number,\n height: number,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError | IValidationError>> => {\n look_id = encodeParam(look_id);\n result_format = encodeParam(result_format);\n return sdk.post<IRenderTask, IError | IValidationError>(\n `/render_tasks/looks/${look_id}/${result_format}`,\n { width, height, fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a new task to render an existing query to an image.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * POST /render_tasks/queries/{query_id}/{result_format} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param query_id Id of the query to render\n * @param result_format Output type: png or jpg\n * @param width Output width in pixels\n * @param height Output height in pixels\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_query_render_task = async (\n sdk: IAPIMethods,\n query_id: string,\n result_format: string,\n width: number,\n height: number,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError | IValidationError>> => {\n query_id = encodeParam(query_id);\n result_format = encodeParam(result_format);\n return sdk.post<IRenderTask, IError | IValidationError>(\n `/render_tasks/queries/${query_id}/${result_format}`,\n { width, height, fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a new task to render a dashboard to a document or image.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * POST /render_tasks/dashboards/{dashboard_id}/{result_format} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestCreateDashboardRenderTask\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_render_task = async (\n sdk: IAPIMethods,\n request: IRequestCreateDashboardRenderTask,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError | IValidationError>> => {\n request.dashboard_id = encodeParam(request.dashboard_id);\n request.result_format = encodeParam(request.result_format);\n return sdk.post<IRenderTask, IError | IValidationError>(\n `/render_tasks/dashboards/${request.dashboard_id}/${request.result_format}`,\n {\n width: request.width,\n height: request.height,\n fields: request.fields,\n pdf_paper_size: request.pdf_paper_size,\n pdf_landscape: request.pdf_landscape,\n long_tables: request.long_tables,\n theme: request.theme,\n },\n request.body,\n options\n );\n};\n\n/**\n * ### Get information about a render task.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * GET /render_tasks/{render_task_id} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param render_task_id Id of render task\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const render_task = async (\n sdk: IAPIMethods,\n render_task_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError>> => {\n render_task_id = encodeParam(render_task_id);\n return sdk.get<IRenderTask, IError>(\n `/render_tasks/${render_task_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the document or image produced by a completed render task.\n *\n * Note that the PDF or image result will be a binary blob in the HTTP response, as indicated by the\n * Content-Type in the response headers. This may require specialized (or at least different) handling than text\n * responses such as JSON. You may need to tell your HTTP client that the response is binary so that it does not\n * attempt to parse the binary data as text.\n *\n * If the render task exists but has not finished rendering the results, the response HTTP status will be\n * **202 Accepted**, the response body will be empty, and the response will have a Retry-After header indicating\n * that the caller should repeat the request at a later time.\n *\n * Returns 404 if the render task cannot be found, if the cached result has expired, or if the caller\n * does not have permission to view the results.\n *\n * For detailed information about the status of the render task, use [Render Task](#!/RenderTask/render_task).\n * Polling loops waiting for completion of a render task would be better served by polling **render_task(id)** until\n * the task status reaches completion (or error) instead of polling **render_task_results(id)** alone.\n *\n * GET /render_tasks/{render_task_id}/results -> string\n *\n * @remarks\n * **NOTE**: Binary content is returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param render_task_id Id of render task\n * @param options one-time API call overrides\n *\n */\nexport const render_task_results = async (\n sdk: IAPIMethods,\n render_task_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n render_task_id = encodeParam(render_task_id);\n return sdk.get<string, IError>(\n `/render_tasks/${render_task_id}/results`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a new task to render a dashboard element to an image.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * POST /render_tasks/dashboard_elements/{dashboard_element_id}/{result_format} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_element_id Id of dashboard element to render: UDD dashboard element would be numeric and LookML dashboard element would be model_name::dashboard_title::lookml_link_id\n * @param result_format Output type: png or jpg\n * @param width Output width in pixels\n * @param height Output height in pixels\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_element_render_task = async (\n sdk: IAPIMethods,\n dashboard_element_id: string,\n result_format: string,\n width: number,\n height: number,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError | IValidationError>> => {\n dashboard_element_id = encodeParam(dashboard_element_id);\n result_format = encodeParam(result_format);\n return sdk.post<IRenderTask, IError | IValidationError>(\n `/render_tasks/dashboard_elements/${dashboard_element_id}/${result_format}`,\n { width, height, fields },\n null,\n options\n );\n};\n\n//#endregion RenderTask: Manage Render Tasks\n\n//#region Role: Manage Roles\n\n/**\n * ### Search model sets\n * Returns all model set records that match the given search criteria.\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /model_sets/search -> IModelSet[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchModelSets\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_model_sets = async (\n sdk: IAPIMethods,\n request: IRequestSearchModelSets,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet[], IError>> => {\n return sdk.get<IModelSet[], IError>(\n '/model_sets/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n name: request.name,\n all_access: request.all_access,\n built_in: request.built_in,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the model set with a specific id.\n *\n * GET /model_sets/{model_set_id} -> IModelSet\n *\n * @param sdk IAPIMethods implementation\n * @param model_set_id Id of model set\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const model_set = async (\n sdk: IAPIMethods,\n model_set_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet, IError>> => {\n model_set_id = encodeParam(model_set_id);\n return sdk.get<IModelSet, IError>(\n `/model_sets/${model_set_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update information about the model set with a specific id.\n *\n * PATCH /model_sets/{model_set_id} -> IModelSet\n *\n * @param sdk IAPIMethods implementation\n * @param model_set_id id of model set\n * @param body Partial<IWriteModelSet>\n * @param options one-time API call overrides\n *\n */\nexport const update_model_set = async (\n sdk: IAPIMethods,\n model_set_id: string,\n body: Partial<IWriteModelSet>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet, IError | IValidationError>> => {\n model_set_id = encodeParam(model_set_id);\n return sdk.patch<IModelSet, IError | IValidationError>(\n `/model_sets/${model_set_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the model set with a specific id.\n *\n * DELETE /model_sets/{model_set_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param model_set_id id of model set\n * @param options one-time API call overrides\n *\n */\nexport const delete_model_set = async (\n sdk: IAPIMethods,\n model_set_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n model_set_id = encodeParam(model_set_id);\n return sdk.delete<string, IError>(\n `/model_sets/${model_set_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all model sets.\n *\n * GET /model_sets -> IModelSet[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_model_sets = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet[], IError>> => {\n return sdk.get<IModelSet[], IError>('/model_sets', { fields }, null, options);\n};\n\n/**\n * ### Create a model set with the specified information. Model sets are used by Roles.\n *\n * POST /model_sets -> IModelSet\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteModelSet>\n * @param options one-time API call overrides\n *\n */\nexport const create_model_set = async (\n sdk: IAPIMethods,\n body: Partial<IWriteModelSet>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet, IError | IValidationError>> => {\n return sdk.post<IModelSet, IError | IValidationError>(\n '/model_sets',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get all supported permissions.\n *\n * GET /permissions -> IPermission[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_permissions = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermission[], IError>> => {\n return sdk.get<IPermission[], IError>('/permissions', null, null, options);\n};\n\n/**\n * ### Search permission sets\n * Returns all permission set records that match the given search criteria.\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /permission_sets/search -> IPermissionSet[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchPermissionSets\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_permission_sets = async (\n sdk: IAPIMethods,\n request: IRequestSearchPermissionSets,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet[], IError>> => {\n return sdk.get<IPermissionSet[], IError>(\n '/permission_sets/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n name: request.name,\n all_access: request.all_access,\n built_in: request.built_in,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the permission set with a specific id.\n *\n * GET /permission_sets/{permission_set_id} -> IPermissionSet\n *\n * @param sdk IAPIMethods implementation\n * @param permission_set_id Id of permission set\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const permission_set = async (\n sdk: IAPIMethods,\n permission_set_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet, IError>> => {\n permission_set_id = encodeParam(permission_set_id);\n return sdk.get<IPermissionSet, IError>(\n `/permission_sets/${permission_set_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update information about the permission set with a specific id.\n * Providing save_content permission alone will also provide you the abilities of save_looks and save_dashboards.\n *\n * PATCH /permission_sets/{permission_set_id} -> IPermissionSet\n *\n * @param sdk IAPIMethods implementation\n * @param permission_set_id Id of permission set\n * @param body Partial<IWritePermissionSet>\n * @param options one-time API call overrides\n *\n */\nexport const update_permission_set = async (\n sdk: IAPIMethods,\n permission_set_id: string,\n body: Partial<IWritePermissionSet>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet, IError | IValidationError>> => {\n permission_set_id = encodeParam(permission_set_id);\n return sdk.patch<IPermissionSet, IError | IValidationError>(\n `/permission_sets/${permission_set_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the permission set with a specific id.\n *\n * DELETE /permission_sets/{permission_set_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param permission_set_id Id of permission set\n * @param options one-time API call overrides\n *\n */\nexport const delete_permission_set = async (\n sdk: IAPIMethods,\n permission_set_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n permission_set_id = encodeParam(permission_set_id);\n return sdk.delete<string, IError>(\n `/permission_sets/${permission_set_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all permission sets.\n *\n * GET /permission_sets -> IPermissionSet[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_permission_sets = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet[], IError>> => {\n return sdk.get<IPermissionSet[], IError>(\n '/permission_sets',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a permission set with the specified information. Permission sets are used by Roles.\n * Providing save_content permission alone will also provide you the abilities of save_looks and save_dashboards.\n *\n * POST /permission_sets -> IPermissionSet\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWritePermissionSet>\n * @param options one-time API call overrides\n *\n */\nexport const create_permission_set = async (\n sdk: IAPIMethods,\n body: Partial<IWritePermissionSet>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet, IError | IValidationError>> => {\n return sdk.post<IPermissionSet, IError | IValidationError>(\n '/permission_sets',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about all roles.\n *\n * GET /roles -> IRole[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllRoles\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_roles = async (\n sdk: IAPIMethods,\n request: IRequestAllRoles,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole[], IError>> => {\n return sdk.get<IRole[], IError>(\n '/roles',\n { fields: request.fields, ids: request.ids },\n null,\n options\n );\n};\n\n/**\n * ### Create a role with the specified information.\n *\n * POST /roles -> IRole\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteRole>\n * @param options one-time API call overrides\n *\n */\nexport const create_role = async (\n sdk: IAPIMethods,\n body: Partial<IWriteRole>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole, IError | IValidationError>> => {\n return sdk.post<IRole, IError | IValidationError>(\n '/roles',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Search roles\n *\n * Returns all role records that match the given search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /roles/search -> IRole[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchRoles\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_roles = async (\n sdk: IAPIMethods,\n request: IRequestSearchRoles,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole[], IError>> => {\n return sdk.get<IRole[], IError>(\n '/roles/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n name: request.name,\n built_in: request.built_in,\n filter_or: request.filter_or,\n is_support_role: request.is_support_role,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search roles include user count\n *\n * Returns all role records that match the given search criteria, and attaches\n * associated user counts.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /roles/search/with_user_count -> IRoleSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchRolesWithUserCount\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_roles_with_user_count = async (\n sdk: IAPIMethods,\n request: IRequestSearchRolesWithUserCount,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRoleSearch[], IError>> => {\n return sdk.get<IRoleSearch[], IError>(\n '/roles/search/with_user_count',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n name: request.name,\n built_in: request.built_in,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the role with a specific id.\n *\n * GET /roles/{role_id} -> IRole\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param options one-time API call overrides\n *\n */\nexport const role = async (\n sdk: IAPIMethods,\n role_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole, IError>> => {\n role_id = encodeParam(role_id);\n return sdk.get<IRole, IError>(`/roles/${role_id}`, null, null, options);\n};\n\n/**\n * ### Update information about the role with a specific id.\n *\n * PATCH /roles/{role_id} -> IRole\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param body Partial<IWriteRole>\n * @param options one-time API call overrides\n *\n */\nexport const update_role = async (\n sdk: IAPIMethods,\n role_id: string,\n body: Partial<IWriteRole>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole, IError | IValidationError>> => {\n role_id = encodeParam(role_id);\n return sdk.patch<IRole, IError | IValidationError>(\n `/roles/${role_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the role with a specific id.\n *\n * DELETE /roles/{role_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param options one-time API call overrides\n *\n */\nexport const delete_role = async (\n sdk: IAPIMethods,\n role_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n role_id = encodeParam(role_id);\n return sdk.delete<string, IError>(`/roles/${role_id}`, null, null, options);\n};\n\n/**\n * ### Get information about all the groups with the role that has a specific id.\n *\n * GET /roles/{role_id}/groups -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const role_groups = async (\n sdk: IAPIMethods,\n role_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError>> => {\n role_id = encodeParam(role_id);\n return sdk.get<IGroup[], IError>(\n `/roles/${role_id}/groups`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Set all groups for a role, removing all existing group associations from that role.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /roles/{role_id}/groups -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param body Partial<string[]>\n * @param options one-time API call overrides\n *\n */\nexport const set_role_groups = async (\n sdk: IAPIMethods,\n role_id: string,\n body: Partial<string[]>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError | IValidationError>> => {\n role_id = encodeParam(role_id);\n return sdk.put<IGroup[], IError | IValidationError>(\n `/roles/${role_id}/groups`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about all the users with the role that has a specific id.\n *\n * GET /roles/{role_id}/users -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRoleUsers\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const role_users = async (\n sdk: IAPIMethods,\n request: IRequestRoleUsers,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n request.role_id = encodeParam(request.role_id);\n return sdk.get<IUser[], IError>(\n `/roles/${request.role_id}/users`,\n {\n fields: request.fields,\n direct_association_only: request.direct_association_only,\n },\n null,\n options\n );\n};\n\n/**\n * ### Set all the users of the role with a specific id.\n *\n * PUT /roles/{role_id}/users -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param body Partial<string[]>\n * @param options one-time API call overrides\n *\n */\nexport const set_role_users = async (\n sdk: IAPIMethods,\n role_id: string,\n body: Partial<string[]>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError | IValidationError>> => {\n role_id = encodeParam(role_id);\n return sdk.put<IUser[], IError | IValidationError>(\n `/roles/${role_id}/users`,\n null,\n body,\n options\n );\n};\n\n//#endregion Role: Manage Roles\n\n//#region ScheduledPlan: Manage Scheduled Plans\n\n/**\n * ### Get Scheduled Plans for a Space\n *\n * Returns scheduled plans owned by the caller for a given space id.\n *\n * GET /scheduled_plans/space/{space_id} -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param space_id Space Id\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plans_for_space = async (\n sdk: IAPIMethods,\n space_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError>> => {\n space_id = encodeParam(space_id);\n return sdk.get<IScheduledPlan[], IError>(\n `/scheduled_plans/space/${space_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Information About a Scheduled Plan\n *\n * Admins can fetch information about other users' Scheduled Plans.\n *\n * GET /scheduled_plans/{scheduled_plan_id} -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param scheduled_plan_id Scheduled Plan Id\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plan = async (\n sdk: IAPIMethods,\n scheduled_plan_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError>> => {\n scheduled_plan_id = encodeParam(scheduled_plan_id);\n return sdk.get<IScheduledPlan, IError>(\n `/scheduled_plans/${scheduled_plan_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a Scheduled Plan\n *\n * Admins can update other users' Scheduled Plans.\n *\n * Note: Any scheduled plan destinations specified in an update will **replace** all scheduled plan destinations\n * currently defined for the scheduled plan.\n *\n * For Example: If a scheduled plan has destinations A, B, and C, and you call update on this scheduled plan\n * specifying only B in the destinations, then destinations A and C will be deleted by the update.\n *\n * Updating a scheduled plan to assign null or an empty array to the scheduled_plan_destinations property is an error, as a scheduled plan must always have at least one destination.\n *\n * If you omit the scheduled_plan_destinations property from the object passed to update, then the destinations\n * defined on the original scheduled plan will remain unchanged.\n *\n * #### Email Permissions:\n *\n * For details about permissions required to schedule delivery to email and the safeguards\n * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions).\n *\n *\n * #### Scheduled Plan Destination Formats\n *\n * Scheduled plan destinations must specify the data format to produce and send to the destination.\n *\n * Formats:\n *\n * | format | Description\n * | :-----------: | :--- |\n * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination.\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | xlsx | MS Excel spreadsheet\n * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n * ||\n *\n * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n *\n * PATCH /scheduled_plans/{scheduled_plan_id} -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param scheduled_plan_id Scheduled Plan Id\n * @param body Partial<IWriteScheduledPlan>\n * @param options one-time API call overrides\n *\n */\nexport const update_scheduled_plan = async (\n sdk: IAPIMethods,\n scheduled_plan_id: string,\n body: Partial<IWriteScheduledPlan>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError | IValidationError>> => {\n scheduled_plan_id = encodeParam(scheduled_plan_id);\n return sdk.patch<IScheduledPlan, IError | IValidationError>(\n `/scheduled_plans/${scheduled_plan_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a Scheduled Plan\n *\n * Normal users can only delete their own scheduled plans.\n * Admins can delete other users' scheduled plans.\n * This delete cannot be undone.\n *\n * DELETE /scheduled_plans/{scheduled_plan_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param scheduled_plan_id Scheduled Plan Id\n * @param options one-time API call overrides\n *\n */\nexport const delete_scheduled_plan = async (\n sdk: IAPIMethods,\n scheduled_plan_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n scheduled_plan_id = encodeParam(scheduled_plan_id);\n return sdk.delete<string, IError>(\n `/scheduled_plans/${scheduled_plan_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### List All Scheduled Plans\n *\n * Returns all scheduled plans which belong to the caller or given user.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllScheduledPlans\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_scheduled_plans = async (\n sdk: IAPIMethods,\n request: IRequestAllScheduledPlans,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError | IValidationError>> => {\n return sdk.get<IScheduledPlan[], IError | IValidationError>(\n '/scheduled_plans',\n {\n user_id: request.user_id,\n fields: request.fields,\n all_users: request.all_users,\n },\n null,\n options\n );\n};\n\n/**\n * ### Create a Scheduled Plan\n *\n * Create a scheduled plan to render a Look or Dashboard on a recurring schedule.\n *\n * To create a scheduled plan, you MUST provide values for the following fields:\n * `name`\n * and\n * `look_id`, `dashboard_id`, `lookml_dashboard_id`, or `query_id`\n * and\n * `cron_tab` or `datagroup`\n * and\n * at least one scheduled_plan_destination\n *\n * A scheduled plan MUST have at least one scheduled_plan_destination defined.\n *\n * When `look_id` is set, `require_no_results`, `require_results`, and `require_change` are all required.\n *\n * If `create_scheduled_plan` fails with a 422 error, be sure to look at the error messages in the response which will explain exactly what fields are missing or values that are incompatible.\n *\n * The queries that provide the data for the look or dashboard are run in the context of user account that owns the scheduled plan.\n *\n * When `run_as_recipient` is `false` or not specified, the queries that provide the data for the\n * look or dashboard are run in the context of user account that owns the scheduled plan.\n *\n * When `run_as_recipient` is `true` and all the email recipients are Looker user accounts, the\n * queries are run in the context of each recipient, so different recipients may see different\n * data from the same scheduled render of a look or dashboard. For more details, see [Run As Recipient](https://cloud.google.com/looker/docs/r/admin/run-as-recipient).\n *\n * Admins can create and modify scheduled plans on behalf of other users by specifying a user id.\n * Non-admin users may not create or modify scheduled plans by or for other users.\n *\n * #### Email Permissions:\n *\n * For details about permissions required to schedule delivery to email and the safeguards\n * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions).\n *\n *\n * #### Scheduled Plan Destination Formats\n *\n * Scheduled plan destinations must specify the data format to produce and send to the destination.\n *\n * Formats:\n *\n * | format | Description\n * | :-----------: | :--- |\n * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination.\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | xlsx | MS Excel spreadsheet\n * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n * ||\n *\n * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n *\n * POST /scheduled_plans -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteScheduledPlan>\n * @param options one-time API call overrides\n *\n */\nexport const create_scheduled_plan = async (\n sdk: IAPIMethods,\n body: Partial<IWriteScheduledPlan>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError | IValidationError>> => {\n return sdk.post<IScheduledPlan, IError | IValidationError>(\n '/scheduled_plans',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Run a Scheduled Plan Immediately\n *\n * Create a scheduled plan that runs only once, and immediately.\n *\n * This can be useful for testing a Scheduled Plan before committing to a production schedule.\n *\n * Admins can create scheduled plans on behalf of other users by specifying a user id.\n *\n * This API is rate limited to prevent it from being used for relay spam or DoS attacks\n *\n * #### Email Permissions:\n *\n * For details about permissions required to schedule delivery to email and the safeguards\n * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions).\n *\n *\n * #### Scheduled Plan Destination Formats\n *\n * Scheduled plan destinations must specify the data format to produce and send to the destination.\n *\n * Formats:\n *\n * | format | Description\n * | :-----------: | :--- |\n * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination.\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | xlsx | MS Excel spreadsheet\n * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n * ||\n *\n * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n *\n * POST /scheduled_plans/run_once -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteScheduledPlan>\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plan_run_once = async (\n sdk: IAPIMethods,\n body: Partial<IWriteScheduledPlan>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError | IValidationError>> => {\n return sdk.post<IScheduledPlan, IError | IValidationError>(\n '/scheduled_plans/run_once',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Search Scheduled Plans\n *\n * Returns all scheduled plans which matches the given search criteria.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans/search -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchScheduledPlans\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_scheduled_plans = async (\n sdk: IAPIMethods,\n request: IRequestSearchScheduledPlans,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError | IValidationError>> => {\n return sdk.get<IScheduledPlan[], IError | IValidationError>(\n '/scheduled_plans/search',\n {\n user_id: request.user_id,\n fields: request.fields,\n all_users: request.all_users,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n name: request.name,\n user_first_name: request.user_first_name,\n user_last_name: request.user_last_name,\n dashboard_id: request.dashboard_id,\n look_id: request.look_id,\n lookml_dashboard_id: request.lookml_dashboard_id,\n recipient: request.recipient,\n destination_type: request.destination_type,\n delivery_format: request.delivery_format,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get Scheduled Plans for a Look\n *\n * Returns all scheduled plans for a look which belong to the caller or given user.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans/look/{look_id} -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestScheduledPlansForLook\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plans_for_look = async (\n sdk: IAPIMethods,\n request: IRequestScheduledPlansForLook,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError>> => {\n request.look_id = encodeParam(request.look_id);\n return sdk.get<IScheduledPlan[], IError>(\n `/scheduled_plans/look/${request.look_id}`,\n {\n user_id: request.user_id,\n fields: request.fields,\n all_users: request.all_users,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get Scheduled Plans for a Dashboard\n *\n * Returns all scheduled plans for a dashboard which belong to the caller or given user.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans/dashboard/{dashboard_id} -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestScheduledPlansForDashboard\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plans_for_dashboard = async (\n sdk: IAPIMethods,\n request: IRequestScheduledPlansForDashboard,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError>> => {\n request.dashboard_id = encodeParam(request.dashboard_id);\n return sdk.get<IScheduledPlan[], IError>(\n `/scheduled_plans/dashboard/${request.dashboard_id}`,\n {\n user_id: request.user_id,\n all_users: request.all_users,\n fields: request.fields,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get Scheduled Plans for a LookML Dashboard\n *\n * Returns all scheduled plans for a LookML Dashboard which belong to the caller or given user.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans/lookml_dashboard/{lookml_dashboard_id} -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestScheduledPlansForLookmlDashboard\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plans_for_lookml_dashboard = async (\n sdk: IAPIMethods,\n request: IRequestScheduledPlansForLookmlDashboard,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError>> => {\n request.lookml_dashboard_id = encodeParam(request.lookml_dashboard_id);\n return sdk.get<IScheduledPlan[], IError>(\n `/scheduled_plans/lookml_dashboard/${request.lookml_dashboard_id}`,\n {\n user_id: request.user_id,\n fields: request.fields,\n all_users: request.all_users,\n },\n null,\n options\n );\n};\n\n/**\n * ### Run a Scheduled Plan By Id Immediately\n * This function creates a run-once schedule plan based on an existing scheduled plan,\n * applies modifications (if any) to the new scheduled plan, and runs the new schedule plan immediately.\n * This can be useful for testing modifications to an existing scheduled plan before committing to a production schedule.\n *\n * This function internally performs the following operations:\n *\n * 1. Copies the properties of the existing scheduled plan into a new scheduled plan\n * 2. Copies any properties passed in the JSON body of this request into the new scheduled plan (replacing the original values)\n * 3. Creates the new scheduled plan\n * 4. Runs the new scheduled plan\n *\n * The original scheduled plan is not modified by this operation.\n * Admins can create, modify, and run scheduled plans on behalf of other users by specifying a user id.\n * Non-admins can only create, modify, and run their own scheduled plans.\n *\n * #### Email Permissions:\n *\n * For details about permissions required to schedule delivery to email and the safeguards\n * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions).\n *\n *\n * #### Scheduled Plan Destination Formats\n *\n * Scheduled plan destinations must specify the data format to produce and send to the destination.\n *\n * Formats:\n *\n * | format | Description\n * | :-----------: | :--- |\n * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination.\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | xlsx | MS Excel spreadsheet\n * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n * ||\n *\n * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n *\n *\n *\n * This API is rate limited to prevent it from being used for relay spam or DoS attacks\n *\n * POST /scheduled_plans/{scheduled_plan_id}/run_once -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param scheduled_plan_id Id of schedule plan to copy and run\n * @param body Partial<IWriteScheduledPlan>\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plan_run_once_by_id = async (\n sdk: IAPIMethods,\n scheduled_plan_id: string,\n body?: Partial<IWriteScheduledPlan>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError | IValidationError>> => {\n scheduled_plan_id = encodeParam(scheduled_plan_id);\n return sdk.post<IScheduledPlan, IError | IValidationError>(\n `/scheduled_plans/${scheduled_plan_id}/run_once`,\n null,\n body,\n options\n );\n};\n\n//#endregion ScheduledPlan: Manage Scheduled Plans\n\n//#region Session: Session Information\n\n/**\n * ### Get API Session\n *\n * Returns information about the current API session, such as which workspace is selected for the session.\n *\n * GET /session -> IApiSession\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const session = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IApiSession, IError>> => {\n return sdk.get<IApiSession, IError>('/session', null, null, options);\n};\n\n/**\n * ### Update API Session\n *\n * #### API Session Workspace\n *\n * You can use this endpoint to change the active workspace for the current API session.\n *\n * Only one workspace can be active in a session. The active workspace can be changed\n * any number of times in a session.\n *\n * The default workspace for API sessions is the \"production\" workspace.\n *\n * All Looker APIs that use projects or lookml models (such as running queries) will\n * use the version of project and model files defined by this workspace for the lifetime of the\n * current API session or until the session workspace is changed again.\n *\n * An API session has the same lifetime as the access_token used to authenticate API requests. Each successful\n * API login generates a new access_token and a new API session.\n *\n * If your Looker API client application needs to work in a dev workspace across multiple\n * API sessions, be sure to select the dev workspace after each login.\n *\n * PATCH /session -> IApiSession\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteApiSession>\n * @param options one-time API call overrides\n *\n */\nexport const update_session = async (\n sdk: IAPIMethods,\n body: Partial<IWriteApiSession>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IApiSession, IError | IValidationError>> => {\n return sdk.patch<IApiSession, IError | IValidationError>(\n '/session',\n null,\n body,\n options\n );\n};\n\n//#endregion Session: Session Information\n\n//#region SqlInterfaceQuery: Run and Manage SQL Interface Queries\n\n/**\n * ### Handles Avatica RPC metadata requests for SQL Interface queries\n *\n * GET /sql_interface_queries/metadata -> ISqlInterfaceQueryMetadata\n *\n * @param sdk IAPIMethods implementation\n * @param avatica_request Avatica RPC request\n * @param options one-time API call overrides\n *\n */\nexport const sql_interface_metadata = async (\n sdk: IAPIMethods,\n avatica_request?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISqlInterfaceQueryMetadata, IError>> => {\n return sdk.get<ISqlInterfaceQueryMetadata, IError>(\n '/sql_interface_queries/metadata',\n { avatica_request },\n null,\n options\n );\n};\n\n/**\n * ### Run a saved SQL interface query.\n *\n * This runs a previously created SQL interface query.\n *\n * The 'result_format' parameter specifies the desired structure and format of the response.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json_bi | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n *\n * GET /sql_interface_queries/{query_id}/run/{result_format} -> IJsonBi\n *\n * @param sdk IAPIMethods implementation\n * @param query_id Integer id of query\n * @param result_format Format of result, options are: [\"json_bi\"]\n * @param options one-time API call overrides\n *\n */\nexport const run_sql_interface_query = async (\n sdk: IAPIMethods,\n query_id: number,\n result_format: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IJsonBi, IError | IValidationError>> => {\n result_format = encodeParam(result_format);\n return sdk.get<IJsonBi, IError | IValidationError>(\n `/sql_interface_queries/${query_id}/run/${result_format}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a SQL interface query.\n *\n * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created\n * and are not deleted. If you create a query that is exactly like an existing query then the existing query\n * will be returned and no new query will be created. Whether a new query is created or not, you can use\n * the 'id' in the returned query with the 'run' method.\n *\n * The query parameters are passed as json in the body of the request.\n *\n * POST /sql_interface_queries -> ISqlInterfaceQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSqlInterfaceQueryCreate>\n * @param options one-time API call overrides\n *\n */\nexport const create_sql_interface_query = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSqlInterfaceQueryCreate>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISqlInterfaceQuery, IError | IValidationError>> => {\n return sdk.post<ISqlInterfaceQuery, IError | IValidationError>(\n '/sql_interface_queries',\n null,\n body,\n options\n );\n};\n\n//#endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries\n\n//#region Theme: Manage Themes\n\n/**\n * ### Get an array of all existing themes\n *\n * Get a **single theme** by id with [Theme](#!/Theme/theme)\n *\n * This method returns an array of all existing themes. The active time for the theme is not considered.\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes -> ITheme[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_themes = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme[], IError>> => {\n return sdk.get<ITheme[], IError>('/themes', { fields }, null, options);\n};\n\n/**\n * ### Create a theme\n *\n * Creates a new theme object, returning the theme details, including the created id.\n *\n * If `settings` are not specified, the default theme settings will be copied into the new theme.\n *\n * The theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n *\n * **Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n *\n * **Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n *\n * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes).\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * POST /themes -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteTheme>\n * @param options one-time API call overrides\n *\n */\nexport const create_theme = async (\n sdk: IAPIMethods,\n body: Partial<IWriteTheme>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError | IValidationError>> => {\n return sdk.post<ITheme, IError | IValidationError>(\n '/themes',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Search all themes for matching criteria.\n *\n * Returns an **array of theme objects** that match the specified search criteria.\n *\n * | Search Parameters | Description\n * | :-------------------: | :------ |\n * | `begin_at` only | Find themes active at or after `begin_at`\n * | `end_at` only | Find themes active at or before `end_at`\n * | both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n *\n * Note: Range matching requires boolean AND logic.\n * When using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * Get a **single theme** by id with [Theme](#!/Theme/theme)\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes/search -> ITheme[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchThemes\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_themes = async (\n sdk: IAPIMethods,\n request: IRequestSearchThemes,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme[], IError>> => {\n return sdk.get<ITheme[], IError>(\n '/themes/search',\n {\n id: request.id,\n name: request.name,\n begin_at: request.begin_at,\n end_at: request.end_at,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n fields: request.fields,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get the default theme\n *\n * Returns the active theme object set as the default.\n *\n * The **default** theme name can be set in the UI on the Admin|Theme UI page\n *\n * The optional `ts` parameter can specify a different timestamp than \"now.\" If specified, it returns the default theme at the time indicated.\n *\n * GET /themes/default -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param ts Timestamp representing the target datetime for the active period. Defaults to 'now'\n * @param options one-time API call overrides\n *\n */\nexport const default_theme = async (\n sdk: IAPIMethods,\n ts?: Date,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError>> => {\n return sdk.get<ITheme, IError>('/themes/default', { ts }, null, options);\n};\n\n/**\n * ### Set the global default theme by theme name\n *\n * Only Admin users can call this function.\n *\n * Only an active theme with no expiration (`end_at` not set) can be assigned as the default theme. As long as a theme has an active record with no expiration, it can be set as the default.\n *\n * [Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n *\n * Returns the new specified default theme object.\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * PUT /themes/default -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param name Name of theme to set as default\n * @param options one-time API call overrides\n *\n */\nexport const set_default_theme = async (\n sdk: IAPIMethods,\n name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError | IValidationError>> => {\n return sdk.put<ITheme, IError | IValidationError>(\n '/themes/default',\n { name },\n null,\n options\n );\n};\n\n/**\n * ### Get active themes\n *\n * Returns an array of active themes.\n *\n * If the `name` parameter is specified, it will return an array with one theme if it's active and found.\n *\n * The optional `ts` parameter can specify a different timestamp than \"now.\"\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes/active -> ITheme[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestActiveThemes\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const active_themes = async (\n sdk: IAPIMethods,\n request: IRequestActiveThemes,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme[], IError>> => {\n return sdk.get<ITheme[], IError>(\n '/themes/active',\n { name: request.name, ts: request.ts, fields: request.fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the named theme if it's active. Otherwise, return the default theme\n *\n * The optional `ts` parameter can specify a different timestamp than \"now.\"\n * Note: API users with `show` ability can call this function\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes/theme_or_default -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param name Name of theme\n * @param ts Timestamp representing the target datetime for the active period. Defaults to 'now'\n * @param options one-time API call overrides\n *\n */\nexport const theme_or_default = async (\n sdk: IAPIMethods,\n name: string,\n ts?: Date,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError>> => {\n return sdk.get<ITheme, IError>(\n '/themes/theme_or_default',\n { name, ts },\n null,\n options\n );\n};\n\n/**\n * ### Validate a theme with the specified information\n *\n * Validates all values set for the theme, returning any errors encountered, or 200 OK if valid\n *\n * See [Create Theme](#!/Theme/create_theme) for constraints\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * POST /themes/validate -> IValidationError\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteTheme>\n * @param options one-time API call overrides\n *\n */\nexport const validate_theme = async (\n sdk: IAPIMethods,\n body: Partial<IWriteTheme>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IValidationError, IError | IValidationError>> => {\n return sdk.post<IValidationError, IError | IValidationError>(\n '/themes/validate',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get a theme by ID\n *\n * Use this to retrieve a specific theme, whether or not it's currently active.\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes/{theme_id} -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param theme_id Id of theme\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const theme = async (\n sdk: IAPIMethods,\n theme_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError>> => {\n theme_id = encodeParam(theme_id);\n return sdk.get<ITheme, IError>(\n `/themes/${theme_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the theme by id.\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * PATCH /themes/{theme_id} -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param theme_id Id of theme\n * @param body Partial<IWriteTheme>\n * @param options one-time API call overrides\n *\n */\nexport const update_theme = async (\n sdk: IAPIMethods,\n theme_id: string,\n body: Partial<IWriteTheme>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError | IValidationError>> => {\n theme_id = encodeParam(theme_id);\n return sdk.patch<ITheme, IError | IValidationError>(\n `/themes/${theme_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a specific theme by id\n *\n * This operation permanently deletes the identified theme from the database.\n *\n * Because multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n *\n * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * DELETE /themes/{theme_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param theme_id Id of theme\n * @param options one-time API call overrides\n *\n */\nexport const delete_theme = async (\n sdk: IAPIMethods,\n theme_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n theme_id = encodeParam(theme_id);\n return sdk.delete<string, IError>(`/themes/${theme_id}`, null, null, options);\n};\n\n//#endregion Theme: Manage Themes\n\n//#region User: Manage Users\n\n/**\n * ### Search email credentials\n *\n * Returns all credentials_email records that match the given search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /credentials_email/search -> ICredentialsEmailSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchCredentialsEmail\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_credentials_email = async (\n sdk: IAPIMethods,\n request: IRequestSearchCredentialsEmail,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmailSearch[], IError>> => {\n return sdk.get<ICredentialsEmailSearch[], IError>(\n '/credentials_email/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n email: request.email,\n emails: request.emails,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the current user; i.e. the user account currently calling the API.\n *\n * GET /user -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const me = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError>> => {\n return sdk.get<IUser, IError>('/user', { fields }, null, options);\n};\n\n/**\n * ### Get information about all users.\n *\n * GET /users -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllUsers\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_users = async (\n sdk: IAPIMethods,\n request: IRequestAllUsers,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n return sdk.get<IUser[], IError>(\n '/users',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n ids: request.ids,\n },\n null,\n options\n );\n};\n\n/**\n * ### Create a user with the specified information.\n *\n * POST /users -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteUser>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user = async (\n sdk: IAPIMethods,\n body?: Partial<IWriteUser>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError | IValidationError>> => {\n return sdk.post<IUser, IError | IValidationError>(\n '/users',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Search users\n *\n * Returns all<sup>*</sup> user records that match the given search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * (<sup>*</sup>) Results are always filtered to the level of information the caller is permitted to view.\n * Looker admins can see all user details; normal users in an open system can see\n * names of other users but no details; normal users in a closed system can only see\n * names of other users who are members of the same group as the user.\n *\n * GET /users/search -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchUsers\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_users = async (\n sdk: IAPIMethods,\n request: IRequestSearchUsers,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n return sdk.get<IUser[], IError>(\n '/users/search',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n first_name: request.first_name,\n last_name: request.last_name,\n verified_looker_employee: request.verified_looker_employee,\n embed_user: request.embed_user,\n email: request.email,\n is_disabled: request.is_disabled,\n filter_or: request.filter_or,\n content_metadata_id: request.content_metadata_id,\n group_id: request.group_id,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search for user accounts by name\n *\n * Returns all user accounts where `first_name` OR `last_name` OR `email` field values match a pattern.\n * The pattern can contain `%` and `_` wildcards as in SQL LIKE expressions.\n *\n * Any additional search params will be combined into a logical AND expression.\n *\n * GET /users/search/names/{pattern} -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchUsersNames\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_users_names = async (\n sdk: IAPIMethods,\n request: IRequestSearchUsersNames,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n request.pattern = encodeParam(request.pattern);\n return sdk.get<IUser[], IError>(\n `/users/search/names/${request.pattern}`,\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n first_name: request.first_name,\n last_name: request.last_name,\n verified_looker_employee: request.verified_looker_employee,\n email: request.email,\n is_disabled: request.is_disabled,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the user with a specific id.\n *\n * If the caller is an admin or the caller is the user being specified, then full user information will\n * be returned. Otherwise, a minimal 'public' variant of the user information will be returned. This contains\n * The user name and avatar url, but no sensitive information.\n *\n * GET /users/{user_id} -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<IUser, IError>(`/users/${user_id}`, { fields }, null, options);\n};\n\n/**\n * ### Update information about the user with a specific id.\n *\n * PATCH /users/{user_id} -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<IWriteUser>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_user = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<IWriteUser>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.patch<IUser, IError | IValidationError>(\n `/users/${user_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete the user with a specific id.\n *\n * **DANGER** this will delete the user and all looks and other information owned by the user.\n *\n * DELETE /users/{user_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(`/users/${user_id}`, null, null, options);\n};\n\n/**\n * ### Get information about the user with a credential of given type with specific id.\n *\n * This is used to do things like find users by their embed external_user_id. Or, find the user with\n * a given api3 client_id, etc. The 'credential_type' matches the 'type' name of the various credential\n * types. It must be one of the values listed in the table below. The 'credential_id' is your unique Id\n * for the user and is specific to each type of credential.\n *\n * An example using the Ruby sdk might look like:\n *\n * `sdk.user_for_credential('embed', 'customer-4959425')`\n *\n * This table shows the supported 'Credential Type' strings. The right column is for reference; it shows\n * which field in the given credential type is actually searched when finding a user with the supplied\n * 'credential_id'.\n *\n * | Credential Types | Id Field Matched |\n * | ---------------- | ---------------- |\n * | email | email |\n * | google | google_user_id |\n * | saml | saml_user_id |\n * | oidc | oidc_user_id |\n * | ldap | ldap_id |\n * | api | token |\n * | api3 | client_id |\n * | embed | external_user_id |\n * | looker_openid | email |\n *\n * **NOTE**: The 'api' credential type was only used with the legacy Looker query API and is no longer supported. The credential type for API you are currently looking at is 'api3'.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/credential/{credential_type}/{credential_id} -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param credential_type Type name of credential\n * @param credential_id Id of credential\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_for_credential = async (\n sdk: IAPIMethods,\n credential_type: string,\n credential_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError>> => {\n credential_type = encodeParam(credential_type);\n credential_id = encodeParam(credential_id);\n return sdk.get<IUser, IError>(\n `/users/credential/${credential_type}/${credential_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Email/password login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_email -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_email = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsEmail, IError>(\n `/users/${user_id}/credentials_email`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Email/password login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_email -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<IWriteCredentialsEmail>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user_credentials_email = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<IWriteCredentialsEmail>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<ICredentialsEmail, IError | IValidationError>(\n `/users/${user_id}/credentials_email`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Email/password login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /users/{user_id}/credentials_email -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<IWriteCredentialsEmail>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_user_credentials_email = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<IWriteCredentialsEmail>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.patch<ICredentialsEmail, IError | IValidationError>(\n `/users/${user_id}/credentials_email`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Email/password login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_email -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_email = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_email`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Two-factor login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_totp -> ICredentialsTotp\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_totp = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsTotp, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsTotp, IError>(\n `/users/${user_id}/credentials_totp`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Two-factor login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_totp -> ICredentialsTotp\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user_credentials_totp = async (\n sdk: IAPIMethods,\n user_id: string,\n body?: Partial<ICredentialsTotp>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsTotp, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<ICredentialsTotp, IError | IValidationError>(\n `/users/${user_id}/credentials_totp`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Two-factor login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_totp -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_totp = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_totp`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### LDAP login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_ldap -> ICredentialsLDAP\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_ldap = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsLDAP, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsLDAP, IError>(\n `/users/${user_id}/credentials_ldap`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### LDAP login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_ldap -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_ldap = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_ldap`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Google authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_google -> ICredentialsGoogle\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_google = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsGoogle, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsGoogle, IError>(\n `/users/${user_id}/credentials_google`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Google authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_google -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_google = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_google`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Saml authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_saml -> ICredentialsSaml\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_saml = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsSaml, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsSaml, IError>(\n `/users/${user_id}/credentials_saml`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Saml authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_saml -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_saml = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_saml`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### OpenID Connect (OIDC) authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_oidc -> ICredentialsOIDC\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_oidc = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsOIDC, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsOIDC, IError>(\n `/users/${user_id}/credentials_oidc`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### OpenID Connect (OIDC) authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_oidc -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_oidc = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_oidc`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### API login information for the specified user. This is for the newer API keys that can be added for any user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param credentials_api3_id Id of API Credential\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_api3 = async (\n sdk: IAPIMethods,\n user_id: string,\n credentials_api3_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsApi3, IError>> => {\n user_id = encodeParam(user_id);\n credentials_api3_id = encodeParam(credentials_api3_id);\n return sdk.get<ICredentialsApi3, IError>(\n `/users/${user_id}/credentials_api3/${credentials_api3_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### API login information for the specified user. This is for the newer API keys that can be added for any user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param credentials_api3_id Id of API Credential\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_api3 = async (\n sdk: IAPIMethods,\n user_id: string,\n credentials_api3_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n credentials_api3_id = encodeParam(credentials_api3_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_api3/${credentials_api3_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### API login information for the specified user. This is for the newer API keys that can be added for any user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_user_credentials_api3s = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsApi3[], IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsApi3[], IError>(\n `/users/${user_id}/credentials_api3`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### API login information for the specified user. This is for the newer API keys that can be added for any user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_api3 -> ICreateCredentialsApi3\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user_credentials_api3 = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICreateCredentialsApi3, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<ICreateCredentialsApi3, IError | IValidationError>(\n `/users/${user_id}/credentials_api3`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Embed login information for the specified user.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> ICredentialsEmbed\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param credentials_embed_id Id of Embedding Credential\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_embed = async (\n sdk: IAPIMethods,\n user_id: string,\n credentials_embed_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmbed, IError>> => {\n user_id = encodeParam(user_id);\n credentials_embed_id = encodeParam(credentials_embed_id);\n return sdk.get<ICredentialsEmbed, IError>(\n `/users/${user_id}/credentials_embed/${credentials_embed_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Embed login information for the specified user.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param credentials_embed_id Id of Embedding Credential\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_embed = async (\n sdk: IAPIMethods,\n user_id: string,\n credentials_embed_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n credentials_embed_id = encodeParam(credentials_embed_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_embed/${credentials_embed_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Embed login information for the specified user.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * GET /users/{user_id}/credentials_embed -> ICredentialsEmbed[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_user_credentials_embeds = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmbed[], IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsEmbed[], IError>(\n `/users/${user_id}/credentials_embed`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Looker Openid login information for the specified user. Used by Looker Analysts.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_looker_openid -> ICredentialsLookerOpenid\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_looker_openid = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsLookerOpenid, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsLookerOpenid, IError>(\n `/users/${user_id}/credentials_looker_openid`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Looker Openid login information for the specified user. Used by Looker Analysts.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_looker_openid -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_looker_openid = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_looker_openid`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Web login session for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/sessions/{session_id} -> ISession\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param session_id Id of Web Login Session\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_session = async (\n sdk: IAPIMethods,\n user_id: string,\n session_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISession, IError>> => {\n user_id = encodeParam(user_id);\n session_id = encodeParam(session_id);\n return sdk.get<ISession, IError>(\n `/users/${user_id}/sessions/${session_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Web login session for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/sessions/{session_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param session_id Id of Web Login Session\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_session = async (\n sdk: IAPIMethods,\n user_id: string,\n session_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n session_id = encodeParam(session_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/sessions/${session_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Web login session for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/sessions -> ISession[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_user_sessions = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISession[], IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ISession[], IError>(\n `/users/${user_id}/sessions`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a password reset token.\n * This will create a cryptographically secure random password reset token for the user.\n * If the user already has a password reset token then this invalidates the old token and creates a new one.\n * The token is expressed as the 'password_reset_url' of the user's email/password credential object.\n * This takes an optional 'expires' param to indicate if the new token should be an expiring token.\n * Tokens that expire are typically used for self-service password resets for existing users.\n * Invitation emails for new users typically are not set to expire.\n * The expire period is always 60 minutes when expires is enabled.\n * This method can be called with an empty body.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_email/password_reset -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestCreateUserCredentialsEmailPasswordReset\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const create_user_credentials_email_password_reset = async (\n sdk: IAPIMethods,\n request: IRequestCreateUserCredentialsEmailPasswordReset,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError>> => {\n request.user_id = encodeParam(request.user_id);\n return sdk.post<ICredentialsEmail, IError>(\n `/users/${request.user_id}/credentials_email/password_reset`,\n { expires: request.expires, fields: request.fields },\n null,\n options\n );\n};\n\n/**\n * ### Get information about roles of a given user\n *\n * GET /users/{user_id}/roles -> IRole[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestUserRoles\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const user_roles = async (\n sdk: IAPIMethods,\n request: IRequestUserRoles,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole[], IError>> => {\n request.user_id = encodeParam(request.user_id);\n return sdk.get<IRole[], IError>(\n `/users/${request.user_id}/roles`,\n {\n fields: request.fields,\n direct_association_only: request.direct_association_only,\n },\n null,\n options\n );\n};\n\n/**\n * ### Set roles of the user with a specific id.\n *\n * PUT /users/{user_id}/roles -> IRole[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<string[]>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const set_user_roles = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<string[]>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole[], IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.put<IRole[], IError | IValidationError>(\n `/users/${user_id}/roles`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get user attribute values for a given user.\n *\n * Returns the values of specified user attributes (or all user attributes) for a certain user.\n *\n * A value for each user attribute is searched for in the following locations, in this order:\n *\n * 1. in the user's account information\n * 1. in groups that the user is a member of\n * 1. the default value of the user attribute\n *\n * If more than one group has a value defined for a user attribute, the group with the lowest rank wins.\n *\n * The response will only include user attributes for which values were found. Use `include_unset=true` to include\n * empty records for user attributes with no value.\n *\n * The value of all hidden user attributes will be blank.\n *\n * GET /users/{user_id}/attribute_values -> IUserAttributeWithValue[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestUserAttributeUserValues\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const user_attribute_user_values = async (\n sdk: IAPIMethods,\n request: IRequestUserAttributeUserValues,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttributeWithValue[], IError>> => {\n request.user_id = encodeParam(request.user_id);\n return sdk.get<IUserAttributeWithValue[], IError>(\n `/users/${request.user_id}/attribute_values`,\n {\n fields: request.fields,\n user_attribute_ids: request.user_attribute_ids,\n all_values: request.all_values,\n include_unset: request.include_unset,\n },\n null,\n options\n );\n};\n\n/**\n * ### Store a custom value for a user attribute in a user's account settings.\n *\n * Per-user user attribute values take precedence over group or default values.\n *\n * PATCH /users/{user_id}/attribute_values/{user_attribute_id} -> IUserAttributeWithValue\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param user_attribute_id Id of user attribute\n * @param body Partial<IWriteUserAttributeWithValue>\n * @param options one-time API call overrides\n *\n */\nexport const set_user_attribute_user_value = async (\n sdk: IAPIMethods,\n user_id: string,\n user_attribute_id: string,\n body: Partial<IWriteUserAttributeWithValue>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttributeWithValue, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.patch<IUserAttributeWithValue, IError | IValidationError>(\n `/users/${user_id}/attribute_values/${user_attribute_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a user attribute value from a user's account settings.\n *\n * After the user attribute value is deleted from the user's account settings, subsequent requests\n * for the user attribute value for this user will draw from the user's groups or the default\n * value of the user attribute. See [Get User Attribute Values](#!/User/user_attribute_user_values) for more\n * information about how user attribute values are resolved.\n *\n * DELETE /users/{user_id}/attribute_values/{user_attribute_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param user_attribute_id Id of user attribute\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_attribute_user_value = async (\n sdk: IAPIMethods,\n user_id: string,\n user_attribute_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n user_id = encodeParam(user_id);\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.delete<void, IError>(\n `/users/${user_id}/attribute_values/${user_attribute_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Send a password reset token.\n * This will send a password reset email to the user. If a password reset token does not already exist\n * for this user, it will create one and then send it.\n * If the user has not yet set up their account, it will send a setup email to the user.\n * The URL sent in the email is expressed as the 'password_reset_url' of the user's email/password credential object.\n * Password reset URLs will expire in 60 minutes.\n * This method can be called with an empty body.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_email/send_password_reset -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const send_user_credentials_email_password_reset = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<ICredentialsEmail, IError>(\n `/users/${user_id}/credentials_email/send_password_reset`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Change a disabled user's email addresses\n *\n * Allows the admin to change the email addresses for all the user's\n * associated credentials. Will overwrite all associated email addresses with\n * the value supplied in the 'email' body param.\n * The user's 'is_disabled' status must be true.\n * If the user has a credential email, they will receive a verification email and the user will be disabled until they verify the email\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/update_emails -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<IUserEmailOnly>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const wipeout_user_emails = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<IUserEmailOnly>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<IUser, IError | IValidationError>(\n `/users/${user_id}/update_emails`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * Create an embed user from an external user ID\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /users/embed_user -> IUserPublic\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ICreateEmbedUserRequest>\n * @param options one-time API call overrides\n *\n */\nexport const create_embed_user = async (\n sdk: IAPIMethods,\n body: Partial<ICreateEmbedUserRequest>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserPublic, IError>> => {\n return sdk.post<IUserPublic, IError>(\n '/users/embed_user',\n null,\n body,\n options\n );\n};\n\n//#endregion User: Manage Users\n\n//#region UserAttribute: Manage User Attributes\n\n/**\n * ### Get information about all user attributes.\n *\n * GET /user_attributes -> IUserAttribute[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllUserAttributes\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_user_attributes = async (\n sdk: IAPIMethods,\n request: IRequestAllUserAttributes,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttribute[], IError>> => {\n return sdk.get<IUserAttribute[], IError>(\n '/user_attributes',\n { fields: request.fields, sorts: request.sorts },\n null,\n options\n );\n};\n\n/**\n * ### Create a new user attribute\n *\n * Permission information for a user attribute is conveyed through the `can` and `user_can_edit` fields.\n * The `user_can_edit` field indicates whether an attribute is user-editable _anywhere_ in the application.\n * The `can` field gives more granular access information, with the `set_value` child field indicating whether\n * an attribute's value can be set by [Setting the User Attribute User Value](#!/User/set_user_attribute_user_value).\n *\n * Note: `name` and `label` fields must be unique across all user attributes in the Looker instance.\n * Attempting to create a new user attribute with a name or label that duplicates an existing\n * user attribute will fail with a 422 error.\n *\n * POST /user_attributes -> IUserAttribute\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteUserAttribute>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user_attribute = async (\n sdk: IAPIMethods,\n body: Partial<IWriteUserAttribute>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttribute, IError | IValidationError>> => {\n return sdk.post<IUserAttribute, IError | IValidationError>(\n '/user_attributes',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a user attribute.\n *\n * GET /user_attributes/{user_attribute_id} -> IUserAttribute\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_attribute = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttribute, IError>> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.get<IUserAttribute, IError>(\n `/user_attributes/${user_attribute_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a user attribute definition.\n *\n * PATCH /user_attributes/{user_attribute_id} -> IUserAttribute\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param body Partial<IWriteUserAttribute>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_user_attribute = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n body: Partial<IWriteUserAttribute>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttribute, IError | IValidationError>> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.patch<IUserAttribute, IError | IValidationError>(\n `/user_attributes/${user_attribute_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a user attribute (admin only).\n *\n * DELETE /user_attributes/{user_attribute_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_attribute = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.delete<string, IError>(\n `/user_attributes/${user_attribute_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Returns all values of a user attribute defined by user groups, in precedence order.\n *\n * A user may be a member of multiple groups which define different values for a given user attribute.\n * The order of group-values in the response determines precedence for selecting which group-value applies\n * to a given user. For more information, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n *\n * Results will only include groups that the caller's user account has permission to see.\n *\n * GET /user_attributes/{user_attribute_id}/group_values -> IUserAttributeGroupValue[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_user_attribute_group_values = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttributeGroupValue[], IError>> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.get<IUserAttributeGroupValue[], IError>(\n `/user_attributes/${user_attribute_id}/group_values`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Define values for a user attribute across a set of groups, in priority order.\n *\n * This function defines all values for a user attribute defined by user groups. This is a global setting, potentially affecting\n * all users in the system. This function replaces any existing group value definitions for the indicated user attribute.\n *\n * The value of a user attribute for a given user is determined by searching the following locations, in this order:\n *\n * 1. the user's account settings\n * 2. the groups that the user is a member of\n * 3. the default value of the user attribute, if any\n *\n * The user may be a member of multiple groups which define different values for that user attribute. The order of items in the group_values parameter\n * determines which group takes priority for that user. Lowest array index wins.\n *\n * An alternate method to indicate the selection precedence of group-values is to assign numbers to the 'rank' property of each\n * group-value object in the array. Lowest 'rank' value wins. If you use this technique, you must assign a\n * rank value to every group-value object in the array.\n *\n * To set a user attribute value for a single user, see [Set User Attribute User Value](#!/User/set_user_attribute_user_value).\n * To set a user attribute value for all members of a group, see [Set User Attribute Group Value](#!/Group/update_user_attribute_group_value).\n *\n * POST /user_attributes/{user_attribute_id}/group_values -> IUserAttributeGroupValue[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param body Partial<IUserAttributeGroupValue[]>\n * @param options one-time API call overrides\n *\n */\nexport const set_user_attribute_group_values = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n body: Partial<IUserAttributeGroupValue[]>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IUserAttributeGroupValue[], IError | IValidationError>\n> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.post<IUserAttributeGroupValue[], IError | IValidationError>(\n `/user_attributes/${user_attribute_id}/group_values`,\n null,\n body,\n options\n );\n};\n\n//#endregion UserAttribute: Manage User Attributes\n\n//#region Workspace: Manage Workspaces\n\n/**\n * ### Get All Workspaces\n *\n * Returns all workspaces available to the calling user.\n *\n * GET /workspaces -> IWorkspace[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_workspaces = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IWorkspace[], IError>> => {\n return sdk.get<IWorkspace[], IError>('/workspaces', null, null, options);\n};\n\n/**\n * ### Get A Workspace\n *\n * Returns information about a workspace such as the git status and selected branches\n * of all projects available to the caller's user account.\n *\n * A workspace defines which versions of project files will be used to evaluate expressions\n * and operations that use model definitions - operations such as running queries or rendering dashboards.\n * Each project has its own git repository, and each project in a workspace may be configured to reference\n * particular branch or revision within their respective repositories.\n *\n * There are two predefined workspaces available: \"production\" and \"dev\".\n *\n * The production workspace is shared across all Looker users. Models in the production workspace are read-only.\n * Changing files in production is accomplished by modifying files in a git branch and using Pull Requests\n * to merge the changes from the dev branch into the production branch, and then telling\n * Looker to sync with production.\n *\n * The dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\n * that user, and only when the dev workspace is selected as the active workspace for the API session.\n * (See set_session_workspace()).\n *\n * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\n * the same user account will see the same files in the dev workspace. To avoid collisions between\n * API clients it's best to have each client login with API credentials for a different user account.\n *\n * Changes made to files in a dev workspace are persistent across API sessions. It's a good\n * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files\n * reside in a special user-specific directory on the Looker server and will still be there when you login in again\n * later and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n *\n * GET /workspaces/{workspace_id} -> IWorkspace\n *\n * @param sdk IAPIMethods implementation\n * @param workspace_id Id of the workspace\n * @param options one-time API call overrides\n *\n */\nexport const workspace = async (\n sdk: IAPIMethods,\n workspace_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IWorkspace, IError>> => {\n workspace_id = encodeParam(workspace_id);\n return sdk.get<IWorkspace, IError>(\n `/workspaces/${workspace_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Workspace: Manage Workspaces\n"],"mappings":"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"}
1
+ {"version":3,"file":"funcs.js","names":["_sdkRtl","require","_constants","asyncGeneratorStep","gen","resolve","reject","_next","_throw","key","arg","info","value","error","done","Promise","then","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","functionalSdk40","authSession","functionalSdk","sdkVersion","exports","follow_alert","_ref","sdk","alert_id","options","encodeParam","post","concat","_x","_x2","_x3","unfollow_alert","_ref2","delete","_x4","_x5","_x6","search_alerts","_ref3","request","get","limit","offset","group_by","fields","disabled","frequency","condition_met","last_run_start","last_run_end","all_owners","_x7","_x8","_x9","get_alert","_ref4","_x10","_x11","_x12","update_alert","_ref5","body","put","_x13","_x14","_x15","_x16","update_alert_field","_ref6","patch","_x17","_x18","_x19","_x20","delete_alert","_ref7","_x21","_x22","_x23","create_alert","_ref8","_x24","_x25","_x26","enqueue_alert","_ref9","force","_x27","_x28","_x29","_x30","alert_notifications","_ref10","_x31","_x32","_x33","read_alert_notification","_ref11","alert_notification_id","_x34","_x35","_x36","login","_ref12","client_id","client_secret","_x37","_x38","_x39","login_user","_ref13","user_id","associative","_x40","_x41","_x42","_x43","logout","_ref14","_x44","_x45","artifact_usage","_ref15","_x46","_x47","_x48","artifact_namespaces","_ref16","_x49","_x50","_x51","artifact_value","_ref17","namespace","_x52","_x53","_x54","_x55","purge_artifacts","_ref18","_x56","_x57","_x58","search_artifacts","_ref19","user_ids","min_size","max_size","_x59","_x60","_x61","artifact","_ref20","_x62","_x63","_x64","delete_artifact","_ref21","_x65","_x66","_x67","_x68","update_artifacts","_ref22","_x69","_x70","_x71","_x72","_x73","create_embed_secret","_ref23","_x74","_x75","_x76","delete_embed_secret","_ref24","embed_secret_id","_x77","_x78","_x79","create_sso_embed_url","_ref25","_x80","_x81","_x82","create_embed_url_as_me","_ref26","_x83","_x84","_x85","validate_embed_url","_ref27","url","_x86","_x87","_x88","acquire_embed_cookieless_session","_ref28","_x89","_x90","_x91","delete_embed_cookieless_session","_ref29","session_reference_token","_x92","_x93","_x94","generate_tokens_for_cookieless_session","_ref30","_x95","_x96","_x97","ldap_config","_ref31","_x98","_x99","update_ldap_config","_ref32","_x100","_x101","_x102","test_ldap_config_connection","_ref33","_x103","_x104","_x105","test_ldap_config_auth","_ref34","_x106","_x107","_x108","test_ldap_config_user_info","_ref35","_x109","_x110","_x111","test_ldap_config_user_auth","_ref36","_x112","_x113","_x114","register_mobile_device","_ref37","_x115","_x116","_x117","update_mobile_device_registration","_ref38","device_id","_x118","_x119","_x120","deregister_mobile_device","_ref39","_x121","_x122","_x123","all_oauth_client_apps","_ref40","_x124","_x125","_x126","oauth_client_app","_ref41","client_guid","_x127","_x128","_x129","_x130","register_oauth_client_app","_ref42","_x131","_x132","_x133","_x134","_x135","update_oauth_client_app","_ref43","_x136","_x137","_x138","_x139","_x140","delete_oauth_client_app","_ref44","_x141","_x142","_x143","invalidate_tokens","_ref45","_x144","_x145","_x146","activate_app_user","_ref46","_x147","_x148","_x149","_x150","_x151","deactivate_app_user","_ref47","_x152","_x153","_x154","_x155","_x156","oidc_config","_ref48","_x157","_x158","update_oidc_config","_ref49","_x159","_x160","_x161","oidc_test_config","_ref50","test_slug","_x162","_x163","_x164","delete_oidc_test_config","_ref51","_x165","_x166","_x167","create_oidc_test_config","_ref52","_x168","_x169","_x170","password_config","_ref53","_x171","_x172","update_password_config","_ref54","_x173","_x174","_x175","force_password_reset_at_next_login_for_all_users","_ref55","_x176","_x177","saml_config","_ref56","_x178","_x179","update_saml_config","_ref57","_x180","_x181","_x182","saml_test_config","_ref58","_x183","_x184","_x185","delete_saml_test_config","_ref59","_x186","_x187","_x188","create_saml_test_config","_ref60","_x189","_x190","_x191","parse_saml_idp_metadata","_ref61","_x192","_x193","_x194","fetch_and_parse_saml_idp_metadata","_ref62","_x195","_x196","_x197","session_config","_ref63","_x198","_x199","update_session_config","_ref64","_x200","_x201","_x202","get_support_access_allowlist_entries","_ref65","_x203","_x204","_x205","add_support_access_allowlist_entries","_ref66","_x206","_x207","_x208","delete_support_access_allowlist_entry","_ref67","entry_id","_x209","_x210","_x211","enable_support_access","_ref68","_x212","_x213","_x214","disable_support_access","_ref69","_x215","_x216","support_access_status","_ref70","_x217","_x218","all_user_login_lockouts","_ref71","_x219","_x220","_x221","search_user_login_lockouts","_ref72","page","per_page","sorts","auth_type","full_name","email","remote_id","filter_or","_x222","_x223","_x224","delete_user_login_lockout","_ref73","_x225","_x226","_x227","all_boards","_ref74","_x228","_x229","_x230","create_board","_ref75","_x231","_x232","_x233","_x234","search_boards","_ref76","title","created_at","first_name","last_name","favorited","creator_id","permission","_x235","_x236","_x237","board","_ref77","board_id","_x238","_x239","_x240","_x241","update_board","_ref78","_x242","_x243","_x244","_x245","_x246","delete_board","_ref79","_x247","_x248","_x249","all_board_items","_ref80","board_section_id","_x250","_x251","_x252","create_board_item","_ref81","_x253","_x254","_x255","_x256","board_item","_ref82","board_item_id","_x257","_x258","_x259","_x260","update_board_item","_ref83","_x261","_x262","_x263","_x264","_x265","delete_board_item","_ref84","_x266","_x267","_x268","all_board_sections","_ref85","_x269","_x270","_x271","create_board_section","_ref86","_x272","_x273","_x274","_x275","board_section","_ref87","_x276","_x277","_x278","_x279","update_board_section","_ref88","_x280","_x281","_x282","_x283","_x284","delete_board_section","_ref89","_x285","_x286","_x287","all_color_collections","_ref90","_x288","_x289","_x290","create_color_collection","_ref91","_x291","_x292","_x293","color_collections_custom","_ref92","_x294","_x295","_x296","color_collections_standard","_ref93","_x297","_x298","_x299","default_color_collection","_ref94","_x300","_x301","set_default_color_collection","_ref95","collection_id","_x302","_x303","_x304","color_collection","_ref96","_x305","_x306","_x307","_x308","update_color_collection","_ref97","_x309","_x310","_x311","_x312","delete_color_collection","_ref98","_x313","_x314","_x315","cloud_storage_configuration","_ref99","_x316","_x317","update_cloud_storage_configuration","_ref100","_x318","_x319","_x320","custom_welcome_email","_ref101","_x321","_x322","update_custom_welcome_email","_ref102","send_test_welcome_email","_x323","_x324","_x325","_x326","update_custom_welcome_email_test","_ref103","_x327","_x328","_x329","digest_emails_enabled","_ref104","_x330","_x331","update_digest_emails_enabled","_ref105","_x332","_x333","_x334","create_digest_email_send","_ref106","_x335","_x336","public_egress_ip_addresses","_ref107","_x337","_x338","internal_help_resources_content","_ref108","_x339","_x340","update_internal_help_resources_content","_ref109","_x341","_x342","_x343","internal_help_resources","_ref110","_x344","_x345","update_internal_help_resources","_ref111","_x346","_x347","_x348","all_legacy_features","_ref112","_x349","_x350","legacy_feature","_ref113","legacy_feature_id","_x351","_x352","_x353","update_legacy_feature","_ref114","_x354","_x355","_x356","_x357","all_locales","_ref115","_x358","_x359","mobile_settings","_ref116","_x360","_x361","get_setting","_ref117","_x362","_x363","_x364","set_setting","_ref118","_x365","_x366","_x367","_x368","set_smtp_settings","_ref119","_x369","_x370","_x371","smtp_status","_ref120","_x372","_x373","_x374","all_timezones","_ref121","_x375","_x376","versions","_ref122","_x377","_x378","_x379","api_spec","_ref123","api_version","specification","_x380","_x381","_x382","_x383","whitelabel_configuration","_ref124","_x384","_x385","_x386","update_whitelabel_configuration","_ref125","_x387","_x388","_x389","all_connections","_ref126","_x390","_x391","_x392","create_connection","_ref127","_x393","_x394","_x395","connection","_ref128","connection_name","_x396","_x397","_x398","_x399","update_connection","_ref129","_x400","_x401","_x402","_x403","delete_connection","_ref130","_x404","_x405","_x406","delete_connection_override","_ref131","override_context","_x407","_x408","_x409","_x410","test_connection","_ref132","tests","_x411","_x412","_x413","_x414","test_connection_config","_ref133","_x415","_x416","_x417","_x418","all_dialect_infos","_ref134","_x419","_x420","_x421","all_external_oauth_applications","_ref135","name","_x422","_x423","_x424","create_external_oauth_application","_ref136","_x425","_x426","_x427","update_external_oauth_application","_ref137","_x428","_x429","_x430","_x431","create_oauth_application_user_state","_ref138","_x432","_x433","_x434","all_ssh_servers","_ref139","_x435","_x436","_x437","create_ssh_server","_ref140","_x438","_x439","_x440","ssh_server","_ref141","ssh_server_id","_x441","_x442","_x443","update_ssh_server","_ref142","_x444","_x445","_x446","_x447","delete_ssh_server","_ref143","_x448","_x449","_x450","test_ssh_server","_ref144","_x451","_x452","_x453","all_ssh_tunnels","_ref145","_x454","_x455","_x456","create_ssh_tunnel","_ref146","_x457","_x458","_x459","ssh_tunnel","_ref147","ssh_tunnel_id","_x460","_x461","_x462","update_ssh_tunnel","_ref148","_x463","_x464","_x465","_x466","delete_ssh_tunnel","_ref149","_x467","_x468","_x469","test_ssh_tunnel","_ref150","_x470","_x471","_x472","ssh_public_key","_ref151","_x473","_x474","search_content_favorites","_ref152","id","content_metadata_id","dashboard_id","look_id","_x475","_x476","_x477","content_favorite","_ref153","content_favorite_id","_x478","_x479","_x480","_x481","delete_content_favorite","_ref154","_x482","_x483","_x484","create_content_favorite","_ref155","_x485","_x486","_x487","all_content_metadatas","_ref156","parent_id","_x488","_x489","_x490","_x491","content_metadata","_ref157","_x492","_x493","_x494","_x495","update_content_metadata","_ref158","_x496","_x497","_x498","_x499","all_content_metadata_accesses","_ref159","_x500","_x501","_x502","_x503","create_content_metadata_access","_ref160","send_boards_notification_email","_x504","_x505","_x506","_x507","update_content_metadata_access","_ref161","content_metadata_access_id","_x508","_x509","_x510","_x511","delete_content_metadata_access","_ref162","_x512","_x513","_x514","search_content","_ref163","terms","types","_x515","_x516","_x517","content_summary","_ref164","target_group_id","target_user_id","target_content_type","_x518","_x519","_x520","content_thumbnail","_ref165","type","resource_id","reload","theme","format","width","height","_x521","_x522","_x523","content_validation","_ref166","project_names","space_ids","_x524","_x525","_x526","search_content_views","_ref167","view_count","group_id","start_of_week_date","all_time","_x527","_x528","_x529","vector_thumbnail","_ref168","_x530","_x531","_x532","_x533","_x534","all_dashboards","_ref169","_x535","_x536","_x537","create_dashboard","_ref170","_x538","_x539","_x540","search_dashboards","_ref171","slug","description","folder_id","deleted","curate","last_viewed_at","not_owned_by","_x541","_x542","_x543","import_lookml_dashboard","_ref172","lookml_dashboard_id","space_id","raw_locale","_x544","_x545","_x546","_x547","_x548","_x549","sync_lookml_dashboard","_ref173","_x550","_x551","_x552","_x553","_x554","dashboard","_ref174","_x555","_x556","_x557","_x558","update_dashboard","_ref175","_x559","_x560","_x561","_x562","delete_dashboard","_ref176","_x563","_x564","_x565","dashboard_aggregate_table_lookml","_ref177","_x566","_x567","_x568","dashboard_lookml","_ref178","_x569","_x570","_x571","move_dashboard","_ref179","_x572","_x573","_x574","_x575","import_dashboard_from_lookml","_ref180","_x576","_x577","_x578","create_dashboard_from_lookml","_ref181","_x579","_x580","_x581","copy_dashboard","_ref182","_x582","_x583","_x584","_x585","search_dashboard_elements","_ref183","_x586","_x587","_x588","dashboard_element","_ref184","dashboard_element_id","_x589","_x590","_x591","_x592","update_dashboard_element","_ref185","_x593","_x594","_x595","_x596","_x597","delete_dashboard_element","_ref186","_x598","_x599","_x600","dashboard_dashboard_elements","_ref187","_x601","_x602","_x603","_x604","create_dashboard_element","_ref188","apply_filters","_x605","_x606","_x607","dashboard_filter","_ref189","dashboard_filter_id","_x608","_x609","_x610","_x611","update_dashboard_filter","_ref190","_x612","_x613","_x614","_x615","_x616","delete_dashboard_filter","_ref191","_x617","_x618","_x619","dashboard_dashboard_filters","_ref192","_x620","_x621","_x622","_x623","create_dashboard_filter","_ref193","_x624","_x625","_x626","_x627","dashboard_layout_component","_ref194","dashboard_layout_component_id","_x628","_x629","_x630","_x631","update_dashboard_layout_component","_ref195","_x632","_x633","_x634","_x635","_x636","dashboard_layout_dashboard_layout_components","_ref196","dashboard_layout_id","_x637","_x638","_x639","_x640","dashboard_layout","_ref197","_x641","_x642","_x643","_x644","update_dashboard_layout","_ref198","_x645","_x646","_x647","_x648","_x649","delete_dashboard_layout","_ref199","_x650","_x651","_x652","dashboard_dashboard_layouts","_ref200","_x653","_x654","_x655","_x656","create_dashboard_layout","_ref201","_x657","_x658","_x659","_x660","perform_data_action","_ref202","_x661","_x662","_x663","fetch_remote_data_action_form","_ref203","_x664","_x665","_x666","all_datagroups","_ref204","_x667","_x668","datagroup","_ref205","datagroup_id","_x669","_x670","_x671","update_datagroup","_ref206","_x672","_x673","_x674","_x675","graph_derived_tables_for_model","_ref207","model","color","_x676","_x677","_x678","graph_derived_tables_for_view","_ref208","view","models","workspace","_x679","_x680","_x681","start_pdt_build","_ref209","model_name","view_name","force_rebuild","force_full_incremental","source","_x682","_x683","_x684","check_pdt_build","_ref210","materialization_id","_x685","_x686","_x687","stop_pdt_build","_ref211","_x688","_x689","_x690","_x691","search_folders","_ref212","is_shared_root","is_users_root","_x692","_x693","_x694","folder","_ref213","_x695","_x696","_x697","_x698","update_folder","_ref214","_x699","_x700","_x701","_x702","delete_folder","_ref215","_x703","_x704","_x705","all_folders","_ref216","_x706","_x707","_x708","create_folder","_ref217","_x709","_x710","_x711","folder_children","_ref218","_x712","_x713","_x714","folder_children_search","_ref219","_x715","_x716","_x717","folder_parent","_ref220","_x718","_x719","_x720","_x721","folder_ancestors","_ref221","_x722","_x723","_x724","_x725","folder_looks","_ref222","_x726","_x727","_x728","_x729","folder_dashboards","_ref223","_x730","_x731","_x732","_x733","all_groups","_ref224","ids","can_add_to_content_metadata","_x734","_x735","_x736","create_group","_ref225","_x737","_x738","_x739","_x740","search_groups","_ref226","external_group_id","externally_managed","externally_orphaned","_x741","_x742","_x743","search_groups_with_roles","_ref227","_x744","_x745","_x746","search_groups_with_hierarchy","_ref228","_x747","_x748","_x749","group","_ref229","_x750","_x751","_x752","_x753","update_group","_ref230","_x754","_x755","_x756","_x757","_x758","delete_group","_ref231","_x759","_x760","_x761","all_group_groups","_ref232","_x762","_x763","_x764","_x765","add_group_group","_ref233","_x766","_x767","_x768","_x769","all_group_users","_ref234","_x770","_x771","_x772","add_group_user","_ref235","_x773","_x774","_x775","_x776","delete_group_user","_ref236","_x777","_x778","_x779","_x780","delete_group_from_group","_ref237","deleting_group_id","_x781","_x782","_x783","_x784","update_user_attribute_group_value","_ref238","user_attribute_id","_x785","_x786","_x787","_x788","_x789","delete_user_attribute_group_value","_ref239","_x790","_x791","_x792","_x793","all_primary_homepage_sections","_ref240","_x794","_x795","_x796","all_integration_hubs","_ref241","_x797","_x798","_x799","create_integration_hub","_ref242","_x800","_x801","_x802","_x803","integration_hub","_ref243","integration_hub_id","_x804","_x805","_x806","_x807","update_integration_hub","_ref244","_x808","_x809","_x810","_x811","_x812","delete_integration_hub","_ref245","_x813","_x814","_x815","accept_integration_hub_legal_agreement","_ref246","_x816","_x817","_x818","all_integrations","_ref247","_x819","_x820","_x821","integration","_ref248","integration_id","_x822","_x823","_x824","_x825","update_integration","_ref249","_x826","_x827","_x828","_x829","_x830","fetch_integration_form","_ref250","_x831","_x832","_x833","_x834","test_integration","_ref251","_x835","_x836","_x837","all_looks","_ref252","_x838","_x839","_x840","create_look","_ref253","_x841","_x842","_x843","_x844","search_looks","_ref254","query_id","_x845","_x846","_x847","look","_ref255","_x848","_x849","_x850","_x851","update_look","_ref256","_x852","_x853","_x854","_x855","_x856","delete_look","_ref257","_x857","_x858","_x859","run_look","_ref258","result_format","apply_formatting","apply_vis","cache","image_width","image_height","generate_drill_links","force_production","cache_only","path_prefix","rebuild_pdts","server_table_calcs","_x860","_x861","_x862","copy_look","_ref259","_x863","_x864","_x865","_x866","move_look","_ref260","_x867","_x868","_x869","_x870","all_lookml_models","_ref261","exclude_empty","exclude_hidden","include_internal","_x871","_x872","_x873","create_lookml_model","_ref262","_x874","_x875","_x876","lookml_model","_ref263","lookml_model_name","_x877","_x878","_x879","_x880","update_lookml_model","_ref264","_x881","_x882","_x883","_x884","delete_lookml_model","_ref265","_x885","_x886","_x887","lookml_model_explore","_ref266","explore_name","add_drills_metadata","_x888","_x889","_x890","model_fieldname_suggestions","_ref267","field_name","term","filters","_x891","_x892","_x893","get_model","_ref268","_x894","_x895","_x896","connection_databases","_ref269","_x897","_x898","_x899","connection_features","_ref270","_x900","_x901","_x902","_x903","connection_schemas","_ref271","database","_x904","_x905","_x906","connection_tables","_ref272","schema_name","table_filter","table_limit","_x907","_x908","_x909","connection_columns","_ref273","table_names","_x910","_x911","_x912","connection_search_columns","_ref274","column_name","_x913","_x914","_x915","connection_cost_estimate","_ref275","_x916","_x917","_x918","_x919","_x920","lock_all","_ref276","project_id","_x921","_x922","_x923","_x924","all_git_branches","_ref277","_x925","_x926","_x927","git_branch","_ref278","_x928","_x929","_x930","update_git_branch","_ref279","_x931","_x932","_x933","_x934","create_git_branch","_ref280","_x935","_x936","_x937","_x938","find_git_branch","_ref281","branch_name","_x939","_x940","_x941","_x942","delete_git_branch","_ref282","_x943","_x944","_x945","_x946","deploy_ref_to_production","_ref283","branch","ref","_x947","_x948","_x949","deploy_to_production","_ref284","_x950","_x951","_x952","reset_project_to_production","_ref285","_x953","_x954","_x955","reset_project_to_remote","_ref286","_x956","_x957","_x958","all_projects","_ref287","_x959","_x960","_x961","create_project","_ref288","_x962","_x963","_x964","project","_ref289","_x965","_x966","_x967","_x968","update_project","_ref290","_x969","_x970","_x971","_x972","_x973","manifest","_ref291","_x974","_x975","_x976","git_deploy_key","_ref292","_x977","_x978","_x979","create_git_deploy_key","_ref293","_x980","_x981","_x982","project_validation_results","_ref294","_x983","_x984","_x985","_x986","validate_project","_ref295","_x987","_x988","_x989","_x990","project_workspace","_ref296","_x991","_x992","_x993","_x994","all_project_files","_ref297","_x995","_x996","_x997","_x998","project_file","_ref298","file_id","_x999","_x1000","_x1001","_x1002","_x1003","all_git_connection_tests","_ref299","remote_url","_x1004","_x1005","_x1006","_x1007","run_git_connection_test","_ref300","test_id","use_production","_x1008","_x1009","_x1010","all_lookml_tests","_ref301","_x1011","_x1012","_x1013","_x1014","run_lookml_test","_ref302","test","_x1015","_x1016","_x1017","tag_ref","_ref303","commit_sha","tag_name","tag_message","_x1018","_x1019","_x1020","update_repository_credential","_ref304","root_project_id","credential_id","_x1021","_x1022","_x1023","_x1024","_x1025","delete_repository_credential","_ref305","_x1026","_x1027","_x1028","_x1029","get_all_repository_credentials","_ref306","_x1030","_x1031","_x1032","create_query_task","_ref307","_x1033","_x1034","_x1035","query_task_multi_results","_ref308","query_task_ids","_x1036","_x1037","_x1038","query_task","_ref309","query_task_id","_x1039","_x1040","_x1041","_x1042","query_task_results","_ref310","_x1043","_x1044","_x1045","query","_ref311","_x1046","_x1047","_x1048","_x1049","query_for_slug","_ref312","_x1050","_x1051","_x1052","_x1053","create_query","_ref313","_x1054","_x1055","_x1056","_x1057","run_query","_ref314","enable_oauth_error_response","_x1058","_x1059","_x1060","run_inline_query","_ref315","_x1061","_x1062","_x1063","run_url_encoded_query","_ref316","_x1064","_x1065","_x1066","_x1067","_x1068","merge_query","_ref317","merge_query_id","_x1069","_x1070","_x1071","_x1072","create_merge_query","_ref318","_x1073","_x1074","_x1075","_x1076","all_running_queries","_ref319","_x1077","_x1078","kill_query","_ref320","_x1079","_x1080","_x1081","create_sql_query","_ref321","_x1082","_x1083","_x1084","sql_query","_ref322","_x1085","_x1086","_x1087","run_sql_query","_ref323","download","_x1088","_x1089","_x1090","_x1091","_x1092","create_look_render_task","_ref324","_x1093","_x1094","_x1095","_x1096","_x1097","_x1098","_x1099","create_query_render_task","_ref325","_x1100","_x1101","_x1102","_x1103","_x1104","_x1105","_x1106","create_dashboard_render_task","_ref326","pdf_paper_size","pdf_landscape","long_tables","_x1107","_x1108","_x1109","render_task","_ref327","render_task_id","_x1110","_x1111","_x1112","_x1113","render_task_results","_ref328","_x1114","_x1115","_x1116","create_dashboard_element_render_task","_ref329","_x1117","_x1118","_x1119","_x1120","_x1121","_x1122","_x1123","search_model_sets","_ref330","all_access","built_in","_x1124","_x1125","_x1126","model_set","_ref331","model_set_id","_x1127","_x1128","_x1129","_x1130","update_model_set","_ref332","_x1131","_x1132","_x1133","_x1134","delete_model_set","_ref333","_x1135","_x1136","_x1137","all_model_sets","_ref334","_x1138","_x1139","_x1140","create_model_set","_ref335","_x1141","_x1142","_x1143","all_permissions","_ref336","_x1144","_x1145","search_permission_sets","_ref337","_x1146","_x1147","_x1148","permission_set","_ref338","permission_set_id","_x1149","_x1150","_x1151","_x1152","update_permission_set","_ref339","_x1153","_x1154","_x1155","_x1156","delete_permission_set","_ref340","_x1157","_x1158","_x1159","all_permission_sets","_ref341","_x1160","_x1161","_x1162","create_permission_set","_ref342","_x1163","_x1164","_x1165","all_roles","_ref343","_x1166","_x1167","_x1168","create_role","_ref344","_x1169","_x1170","_x1171","search_roles","_ref345","is_support_role","_x1172","_x1173","_x1174","search_roles_with_user_count","_ref346","_x1175","_x1176","_x1177","role","_ref347","role_id","_x1178","_x1179","_x1180","update_role","_ref348","_x1181","_x1182","_x1183","_x1184","delete_role","_ref349","_x1185","_x1186","_x1187","role_groups","_ref350","_x1188","_x1189","_x1190","_x1191","set_role_groups","_ref351","_x1192","_x1193","_x1194","_x1195","role_users","_ref352","direct_association_only","_x1196","_x1197","_x1198","set_role_users","_ref353","_x1199","_x1200","_x1201","_x1202","scheduled_plans_for_space","_ref354","_x1203","_x1204","_x1205","_x1206","scheduled_plan","_ref355","scheduled_plan_id","_x1207","_x1208","_x1209","_x1210","update_scheduled_plan","_ref356","_x1211","_x1212","_x1213","_x1214","delete_scheduled_plan","_ref357","_x1215","_x1216","_x1217","all_scheduled_plans","_ref358","all_users","_x1218","_x1219","_x1220","create_scheduled_plan","_ref359","_x1221","_x1222","_x1223","scheduled_plan_run_once","_ref360","_x1224","_x1225","_x1226","search_scheduled_plans","_ref361","user_first_name","user_last_name","recipient","destination_type","delivery_format","_x1227","_x1228","_x1229","scheduled_plans_for_look","_ref362","_x1230","_x1231","_x1232","scheduled_plans_for_dashboard","_ref363","_x1233","_x1234","_x1235","scheduled_plans_for_lookml_dashboard","_ref364","_x1236","_x1237","_x1238","scheduled_plan_run_once_by_id","_ref365","_x1239","_x1240","_x1241","_x1242","session","_ref366","_x1243","_x1244","update_session","_ref367","_x1245","_x1246","_x1247","sql_interface_metadata","_ref368","avatica_request","_x1248","_x1249","_x1250","run_sql_interface_query","_ref369","_x1251","_x1252","_x1253","_x1254","create_sql_interface_query","_ref370","_x1255","_x1256","_x1257","all_themes","_ref371","_x1258","_x1259","_x1260","create_theme","_ref372","_x1261","_x1262","_x1263","search_themes","_ref373","begin_at","end_at","_x1264","_x1265","_x1266","default_theme","_ref374","ts","_x1267","_x1268","_x1269","set_default_theme","_ref375","_x1270","_x1271","_x1272","active_themes","_ref376","_x1273","_x1274","_x1275","theme_or_default","_ref377","_x1276","_x1277","_x1278","_x1279","validate_theme","_ref378","_x1280","_x1281","_x1282","_ref379","theme_id","_x1283","_x1284","_x1285","_x1286","update_theme","_ref380","_x1287","_x1288","_x1289","_x1290","delete_theme","_ref381","_x1291","_x1292","_x1293","search_credentials_email","_ref382","emails","_x1294","_x1295","_x1296","me","_ref383","_x1297","_x1298","_x1299","_ref384","_x1300","_x1301","_x1302","create_user","_ref385","_x1303","_x1304","_x1305","_x1306","search_users","_ref386","verified_looker_employee","embed_user","is_disabled","_x1307","_x1308","_x1309","search_users_names","_ref387","pattern","_x1310","_x1311","_x1312","user","_ref388","_x1313","_x1314","_x1315","_x1316","update_user","_ref389","_x1317","_x1318","_x1319","_x1320","_x1321","delete_user","_ref390","_x1322","_x1323","_x1324","user_for_credential","_ref391","credential_type","_x1325","_x1326","_x1327","_x1328","_x1329","user_credentials_email","_ref392","_x1330","_x1331","_x1332","_x1333","create_user_credentials_email","_ref393","_x1334","_x1335","_x1336","_x1337","_x1338","update_user_credentials_email","_ref394","_x1339","_x1340","_x1341","_x1342","_x1343","delete_user_credentials_email","_ref395","_x1344","_x1345","_x1346","user_credentials_totp","_ref396","_x1347","_x1348","_x1349","_x1350","create_user_credentials_totp","_ref397","_x1351","_x1352","_x1353","_x1354","_x1355","delete_user_credentials_totp","_ref398","_x1356","_x1357","_x1358","user_credentials_ldap","_ref399","_x1359","_x1360","_x1361","_x1362","delete_user_credentials_ldap","_ref400","_x1363","_x1364","_x1365","user_credentials_google","_ref401","_x1366","_x1367","_x1368","_x1369","delete_user_credentials_google","_ref402","_x1370","_x1371","_x1372","user_credentials_saml","_ref403","_x1373","_x1374","_x1375","_x1376","delete_user_credentials_saml","_ref404","_x1377","_x1378","_x1379","user_credentials_oidc","_ref405","_x1380","_x1381","_x1382","_x1383","delete_user_credentials_oidc","_ref406","_x1384","_x1385","_x1386","user_credentials_api3","_ref407","credentials_api3_id","_x1387","_x1388","_x1389","_x1390","_x1391","delete_user_credentials_api3","_ref408","_x1392","_x1393","_x1394","_x1395","all_user_credentials_api3s","_ref409","_x1396","_x1397","_x1398","_x1399","create_user_credentials_api3","_ref410","_x1400","_x1401","_x1402","_x1403","user_credentials_embed","_ref411","credentials_embed_id","_x1404","_x1405","_x1406","_x1407","_x1408","delete_user_credentials_embed","_ref412","_x1409","_x1410","_x1411","_x1412","all_user_credentials_embeds","_ref413","_x1413","_x1414","_x1415","_x1416","user_credentials_looker_openid","_ref414","_x1417","_x1418","_x1419","_x1420","delete_user_credentials_looker_openid","_ref415","_x1421","_x1422","_x1423","user_session","_ref416","session_id","_x1424","_x1425","_x1426","_x1427","_x1428","delete_user_session","_ref417","_x1429","_x1430","_x1431","_x1432","all_user_sessions","_ref418","_x1433","_x1434","_x1435","_x1436","create_user_credentials_email_password_reset","_ref419","expires","_x1437","_x1438","_x1439","user_roles","_ref420","_x1440","_x1441","_x1442","set_user_roles","_ref421","_x1443","_x1444","_x1445","_x1446","_x1447","user_attribute_user_values","_ref422","user_attribute_ids","all_values","include_unset","_x1448","_x1449","_x1450","set_user_attribute_user_value","_ref423","_x1451","_x1452","_x1453","_x1454","_x1455","delete_user_attribute_user_value","_ref424","_x1456","_x1457","_x1458","_x1459","send_user_credentials_email_password_reset","_ref425","_x1460","_x1461","_x1462","_x1463","wipeout_user_emails","_ref426","_x1464","_x1465","_x1466","_x1467","_x1468","create_embed_user","_ref427","_x1469","_x1470","_x1471","all_user_attributes","_ref428","_x1472","_x1473","_x1474","create_user_attribute","_ref429","_x1475","_x1476","_x1477","_x1478","user_attribute","_ref430","_x1479","_x1480","_x1481","_x1482","update_user_attribute","_ref431","_x1483","_x1484","_x1485","_x1486","_x1487","delete_user_attribute","_ref432","_x1488","_x1489","_x1490","all_user_attribute_group_values","_ref433","_x1491","_x1492","_x1493","_x1494","set_user_attribute_group_values","_ref434","_x1495","_x1496","_x1497","_x1498","all_workspaces","_ref435","_x1499","_x1500","_ref436","workspace_id","_x1501","_x1502","_x1503"],"sources":["../../src/4.0/funcs.ts"],"sourcesContent":["/*\n\n MIT License\n\n Copyright (c) 2023 Looker Data Sciences, Inc.\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n\n */\n\n/**\n * 467 API methods\n */\n\nimport type {\n DelimArray,\n IDictionary,\n IAPIMethods,\n IAuthSession,\n ITransportSettings,\n SDKResponse,\n} from '@looker/sdk-rtl';\nimport { encodeParam, functionalSdk } from '@looker/sdk-rtl';\n\n/**\n * NOTE: Do not edit this file generated by Looker SDK Codegen for API 4.0\n *\n */\n\nimport { sdkVersion } from '../constants';\nimport type {\n IAccessToken,\n IAlert,\n IAlertNotifications,\n IAlertPatch,\n IApiSession,\n IApiVersion,\n IArtifact,\n IArtifactNamespace,\n IArtifactUsage,\n IBackupConfiguration,\n IBoard,\n IBoardItem,\n IBoardSection,\n IColorCollection,\n IColumnSearch,\n IConnectionFeatures,\n IContentFavorite,\n IContentMeta,\n IContentMetaGroupUser,\n IContentSearch,\n IContentSummary,\n IContentValidation,\n IContentView,\n ICostEstimate,\n ICreateCostEstimate,\n ICreateCredentialsApi3,\n ICreateEmbedUserRequest,\n ICreateFolder,\n ICreateOAuthApplicationUserStateRequest,\n ICreateOAuthApplicationUserStateResponse,\n ICredentialsApi3,\n ICredentialsEmail,\n ICredentialsEmailSearch,\n ICredentialsEmbed,\n ICredentialsGoogle,\n ICredentialsLDAP,\n ICredentialsLookerOpenid,\n ICredentialsOIDC,\n ICredentialsSaml,\n ICredentialsTotp,\n ICustomWelcomeEmail,\n IDashboard,\n IDashboardAggregateTableLookml,\n IDashboardBase,\n IDashboardElement,\n IDashboardFilter,\n IDashboardLayout,\n IDashboardLayoutComponent,\n IDashboardLookml,\n IDataActionForm,\n IDataActionRequest,\n IDataActionResponse,\n IDatagroup,\n IDBConnection,\n IDBConnectionTestResult,\n IDependencyGraph,\n IDialectInfo,\n IDigestEmails,\n IDigestEmailSend,\n IEgressIpAddresses,\n IEmbedCookielessSessionAcquire,\n IEmbedCookielessSessionAcquireResponse,\n IEmbedCookielessSessionGenerateTokens,\n IEmbedCookielessSessionGenerateTokensResponse,\n IEmbedParams,\n IEmbedSecret,\n IEmbedSsoParams,\n IEmbedUrlResponse,\n IError,\n IExternalOauthApplication,\n IFolder,\n IFolderBase,\n IGitBranch,\n IGitConnectionTest,\n IGitConnectionTestResult,\n IGroup,\n IGroupHierarchy,\n IGroupIdForGroupInclusion,\n IGroupIdForGroupUserInclusion,\n IGroupSearch,\n IHomepageSection,\n IIntegration,\n IIntegrationHub,\n IIntegrationTestResult,\n IInternalHelpResources,\n IInternalHelpResourcesContent,\n IJsonBi,\n ILDAPConfig,\n ILDAPConfigTestResult,\n ILegacyFeature,\n ILocale,\n ILook,\n ILookmlModel,\n ILookmlModelExplore,\n ILookmlTest,\n ILookmlTestResult,\n ILookWithQuery,\n IManifest,\n IMaterializePDT,\n IMergeQuery,\n IMobileSettings,\n IMobileToken,\n IModel,\n IModelFieldSuggestions,\n IModelSet,\n IOauthClientApp,\n IOIDCConfig,\n IPasswordConfig,\n IPermission,\n IPermissionSet,\n IProject,\n IProjectFile,\n IProjectValidation,\n IProjectValidationCache,\n IProjectWorkspace,\n IQuery,\n IQueryTask,\n IRenderTask,\n IRepositoryCredential,\n IRequestActiveThemes,\n IRequestAlertNotifications,\n IRequestAllBoardItems,\n IRequestAllBoardSections,\n IRequestAllExternalOauthApplications,\n IRequestAllGroups,\n IRequestAllGroupUsers,\n IRequestAllIntegrations,\n IRequestAllLookmlModels,\n IRequestAllRoles,\n IRequestAllScheduledPlans,\n IRequestAllUserAttributes,\n IRequestAllUsers,\n IRequestArtifact,\n IRequestArtifactNamespaces,\n IRequestConnectionColumns,\n IRequestConnectionSchemas,\n IRequestConnectionSearchColumns,\n IRequestConnectionTables,\n IRequestContentSummary,\n IRequestContentThumbnail,\n IRequestContentValidation,\n IRequestCreateDashboardElement,\n IRequestCreateDashboardRenderTask,\n IRequestCreateQueryTask,\n IRequestCreateUserCredentialsEmailPasswordReset,\n IRequestDeployRefToProduction,\n IRequestFolderChildren,\n IRequestFolderChildrenSearch,\n IRequestGraphDerivedTablesForModel,\n IRequestGraphDerivedTablesForView,\n IRequestLogin,\n IRequestLookmlModelExplore,\n IRequestModelFieldnameSuggestions,\n IRequestRoleUsers,\n IRequestRunGitConnectionTest,\n IRequestRunInlineQuery,\n IRequestRunLook,\n IRequestRunLookmlTest,\n IRequestRunQuery,\n IRequestScheduledPlansForDashboard,\n IRequestScheduledPlansForLook,\n IRequestScheduledPlansForLookmlDashboard,\n IRequestSearchAlerts,\n IRequestSearchArtifacts,\n IRequestSearchBoards,\n IRequestSearchContent,\n IRequestSearchContentFavorites,\n IRequestSearchContentViews,\n IRequestSearchCredentialsEmail,\n IRequestSearchDashboardElements,\n IRequestSearchDashboards,\n IRequestSearchFolders,\n IRequestSearchGroups,\n IRequestSearchGroupsWithHierarchy,\n IRequestSearchGroupsWithRoles,\n IRequestSearchLooks,\n IRequestSearchModelSets,\n IRequestSearchPermissionSets,\n IRequestSearchRoles,\n IRequestSearchRolesWithUserCount,\n IRequestSearchScheduledPlans,\n IRequestSearchThemes,\n IRequestSearchUserLoginLockouts,\n IRequestSearchUsers,\n IRequestSearchUsersNames,\n IRequestStartPdtBuild,\n IRequestTagRef,\n IRequestUserAttributeUserValues,\n IRequestUserRoles,\n IRole,\n IRoleSearch,\n IRunningQueries,\n ISamlConfig,\n ISamlMetadataParseResult,\n IScheduledPlan,\n ISchema,\n ISchemaColumns,\n ISchemaTables,\n ISession,\n ISessionConfig,\n ISetting,\n ISmtpSettings,\n ISmtpStatus,\n ISqlInterfaceQuery,\n ISqlInterfaceQueryMetadata,\n ISqlQuery,\n ISqlQueryCreate,\n ISshPublicKey,\n ISshServer,\n ISshTunnel,\n ISupportAccessAddEntries,\n ISupportAccessAllowlistEntry,\n ISupportAccessEnable,\n ISupportAccessStatus,\n ITheme,\n ITimezone,\n IUpdateArtifact,\n IUpdateFolder,\n IUser,\n IUserAttribute,\n IUserAttributeGroupValue,\n IUserAttributeWithValue,\n IUserEmailOnly,\n IUserLoginLockout,\n IUserPublic,\n IValidationError,\n IWelcomeEmailTest,\n IWhitelabelConfiguration,\n IWorkspace,\n IWriteAlert,\n IWriteApiSession,\n IWriteBackupConfiguration,\n IWriteBoard,\n IWriteBoardItem,\n IWriteBoardSection,\n IWriteColorCollection,\n IWriteContentFavorite,\n IWriteContentMeta,\n IWriteCreateDashboardFilter,\n IWriteCredentialsEmail,\n IWriteDashboard,\n IWriteDashboardElement,\n IWriteDashboardFilter,\n IWriteDashboardLayout,\n IWriteDashboardLayoutComponent,\n IWriteDashboardLookml,\n IWriteDatagroup,\n IWriteDBConnection,\n IWriteEmbedSecret,\n IWriteExternalOauthApplication,\n IWriteGitBranch,\n IWriteGroup,\n IWriteIntegration,\n IWriteIntegrationHub,\n IWriteInternalHelpResources,\n IWriteInternalHelpResourcesContent,\n IWriteLDAPConfig,\n IWriteLegacyFeature,\n IWriteLookmlModel,\n IWriteLookWithQuery,\n IWriteMergeQuery,\n IWriteMobileToken,\n IWriteModelSet,\n IWriteOauthClientApp,\n IWriteOIDCConfig,\n IWritePasswordConfig,\n IWritePermissionSet,\n IWriteProject,\n IWriteQuery,\n IWriteRepositoryCredential,\n IWriteRole,\n IWriteSamlConfig,\n IWriteScheduledPlan,\n IWriteSessionConfig,\n IWriteSetting,\n IWriteSqlInterfaceQueryCreate,\n IWriteSshServer,\n IWriteSshTunnel,\n IWriteTheme,\n IWriteUser,\n IWriteUserAttribute,\n IWriteUserAttributeWithValue,\n IWriteWhitelabelConfiguration,\n} from './models';\n\n/**\n * Creates a \"functional sdk\" that knows the API and Looker release version\n * @param authSession authentication session\n */\nexport const functionalSdk40 = (authSession: IAuthSession) => {\n return functionalSdk(authSession, '4.0', sdkVersion);\n};\n\n//#region Alert: Alert\n\n/**\n * Follow an alert.\n *\n * POST /alerts/{alert_id}/follow -> void\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param options one-time API call overrides\n *\n */\nexport const follow_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.post<void, IError>(\n `/alerts/${alert_id}/follow`,\n null,\n null,\n options\n );\n};\n\n/**\n * Unfollow an alert.\n *\n * DELETE /alerts/{alert_id}/follow -> void\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param options one-time API call overrides\n *\n */\nexport const unfollow_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.delete<void, IError>(\n `/alerts/${alert_id}/follow`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Search Alerts\n *\n * GET /alerts/search -> IAlert[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchAlerts\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_alerts = async (\n sdk: IAPIMethods,\n request: IRequestSearchAlerts,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert[], IError>> => {\n return sdk.get<IAlert[], IError>(\n '/alerts/search',\n {\n limit: request.limit,\n offset: request.offset,\n group_by: request.group_by,\n fields: request.fields,\n disabled: request.disabled,\n frequency: request.frequency,\n condition_met: request.condition_met,\n last_run_start: request.last_run_start,\n last_run_end: request.last_run_end,\n all_owners: request.all_owners,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get an alert by a given alert ID\n *\n * GET /alerts/{alert_id} -> IAlert\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param options one-time API call overrides\n *\n */\nexport const get_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.get<IAlert, IError>(`/alerts/${alert_id}`, null, null, options);\n};\n\n/**\n * ### Update an alert\n * # Required fields: `owner_id`, `field`, `destinations`, `comparison_type`, `threshold`, `cron`\n * #\n *\n * PUT /alerts/{alert_id} -> IAlert\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param body Partial<IWriteAlert>\n * @param options one-time API call overrides\n *\n */\nexport const update_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n body: Partial<IWriteAlert>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert, IError | IValidationError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.put<IAlert, IError | IValidationError>(\n `/alerts/${alert_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Update select alert fields\n * # Available fields: `owner_id`, `is_disabled`, `disabled_reason`, `is_public`, `threshold`\n * #\n *\n * PATCH /alerts/{alert_id} -> IAlert\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param body Partial<IAlertPatch>\n * @param options one-time API call overrides\n *\n */\nexport const update_alert_field = async (\n sdk: IAPIMethods,\n alert_id: string,\n body: Partial<IAlertPatch>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert, IError | IValidationError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.patch<IAlert, IError | IValidationError>(\n `/alerts/${alert_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete an alert by a given alert ID\n *\n * DELETE /alerts/{alert_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param options one-time API call overrides\n *\n */\nexport const delete_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.delete<void, IError>(`/alerts/${alert_id}`, null, null, options);\n};\n\n/**\n * ### Create a new alert and return details of the newly created object\n *\n * Required fields: `field`, `destinations`, `comparison_type`, `threshold`, `cron`\n *\n * Example Request:\n * Run alert on dashboard element '103' at 5am every day. Send an email to 'test@test.com' if inventory for Los Angeles (using dashboard filter `Warehouse Name`) is lower than 1,000\n * ```\n * {\n * \"cron\": \"0 5 * * *\",\n * \"custom_title\": \"Alert when LA inventory is low\",\n * \"dashboard_element_id\": 103,\n * \"applied_dashboard_filters\": [\n * {\n * \"filter_title\": \"Warehouse Name\",\n * \"field_name\": \"distribution_centers.name\",\n * \"filter_value\": \"Los Angeles CA\",\n * \"filter_description\": \"is Los Angeles CA\"\n * }\n * ],\n * \"comparison_type\": \"LESS_THAN\",\n * \"destinations\": [\n * {\n * \"destination_type\": \"EMAIL\",\n * \"email_address\": \"test@test.com\"\n * }\n * ],\n * \"field\": {\n * \"title\": \"Number on Hand\",\n * \"name\": \"inventory_items.number_on_hand\"\n * },\n * \"is_disabled\": false,\n * \"is_public\": true,\n * \"threshold\": 1000\n * }\n * ```\n *\n * POST /alerts -> IAlert\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteAlert>\n * @param options one-time API call overrides\n *\n */\nexport const create_alert = async (\n sdk: IAPIMethods,\n body: Partial<IWriteAlert>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlert, IError | IValidationError>> => {\n return sdk.post<IAlert, IError | IValidationError>(\n '/alerts',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Enqueue an Alert by ID\n *\n * POST /alerts/{alert_id}/enqueue -> void\n *\n * @param sdk IAPIMethods implementation\n * @param alert_id ID of an alert\n * @param force Whether to enqueue an alert again if its already running.\n * @param options one-time API call overrides\n *\n */\nexport const enqueue_alert = async (\n sdk: IAPIMethods,\n alert_id: string,\n force?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n alert_id = encodeParam(alert_id);\n return sdk.post<void, IError>(\n `/alerts/${alert_id}/enqueue`,\n { force },\n null,\n options\n );\n};\n\n/**\n * # Alert Notifications.\n * The endpoint returns all the alert notifications received by the user on email in the past 7 days. It also returns whether the notifications have been read by the user.\n *\n * GET /alert_notifications -> IAlertNotifications[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAlertNotifications\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const alert_notifications = async (\n sdk: IAPIMethods,\n request: IRequestAlertNotifications,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlertNotifications[], IError>> => {\n return sdk.get<IAlertNotifications[], IError>(\n '/alert_notifications',\n { limit: request.limit, offset: request.offset },\n null,\n options\n );\n};\n\n/**\n * # Reads a Notification\n * The endpoint marks a given alert notification as read by the user, in case it wasn't already read. The AlertNotification model is updated for this purpose. It returns the notification as a response.\n *\n * PATCH /alert_notifications/{alert_notification_id} -> IAlertNotifications\n *\n * @param sdk IAPIMethods implementation\n * @param alert_notification_id ID of a notification\n * @param options one-time API call overrides\n *\n */\nexport const read_alert_notification = async (\n sdk: IAPIMethods,\n alert_notification_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAlertNotifications, IError | IValidationError>> => {\n alert_notification_id = encodeParam(alert_notification_id);\n return sdk.patch<IAlertNotifications, IError | IValidationError>(\n `/alert_notifications/${alert_notification_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Alert: Alert\n\n//#region ApiAuth: API Authentication\n\n/**\n * ### Present client credentials to obtain an authorization token\n *\n * Looker API implements the OAuth2 [Resource Owner Password Credentials Grant](https://cloud.google.com/looker/docs/r/api/outh2_resource_owner_pc) pattern.\n * The client credentials required for this login must be obtained by creating an API key on a user account\n * in the Looker Admin console. The API key consists of a public `client_id` and a private `client_secret`.\n *\n * The access token returned by `login` must be used in the HTTP Authorization header of subsequent\n * API requests, like this:\n * ```\n * Authorization: token 4QDkCyCtZzYgj4C2p2cj3csJH7zqS5RzKs2kTnG4\n * ```\n * Replace \"4QDkCy...\" with the `access_token` value returned by `login`.\n * The word `token` is a string literal and must be included exactly as shown.\n *\n * This function can accept `client_id` and `client_secret` parameters as URL query params or as www-form-urlencoded params in the body of the HTTP request. Since there is a small risk that URL parameters may be visible to intermediate nodes on the network route (proxies, routers, etc), passing credentials in the body of the request is considered more secure than URL params.\n *\n * Example of passing credentials in the HTTP request body:\n * ````\n * POST HTTP /login\n * Content-Type: application/x-www-form-urlencoded\n *\n * client_id=CGc9B7v7J48dQSJvxxx&client_secret=nNVS9cSS3xNpSC9JdsBvvvvv\n * ````\n *\n * ### Best Practice:\n * Always pass credentials in body params. Pass credentials in URL query params **only** when you cannot pass body params due to application, tool, or other limitations.\n *\n * For more information and detailed examples of Looker API authorization, see [How to Authenticate to Looker API](https://github.com/looker/looker-sdk-ruby/blob/master/authentication.md).\n *\n * POST /login -> IAccessToken\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestLogin\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const login = async (\n sdk: IAPIMethods,\n request: IRequestLogin,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAccessToken, IError>> => {\n return sdk.post<IAccessToken, IError>(\n '/login',\n { client_id: request.client_id, client_secret: request.client_secret },\n null,\n options\n );\n};\n\n/**\n * ### Create an access token that runs as a given user.\n *\n * This can only be called by an authenticated admin user. It allows that admin to generate a new\n * authentication token for the user with the given user id. That token can then be used for subsequent\n * API calls - which are then performed *as* that target user.\n *\n * The target user does *not* need to have a pre-existing API client_id/client_secret pair. And, no such\n * credentials are created by this call.\n *\n * This allows for building systems where api user authentication for an arbitrary number of users is done\n * outside of Looker and funneled through a single 'service account' with admin permissions. Note that a\n * new access token is generated on each call. If target users are going to be making numerous API\n * calls in a short period then it is wise to cache this authentication token rather than call this before\n * each of those API calls.\n *\n * See 'login' for more detail on the access token and how to use it.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /login/{user_id} -> IAccessToken\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user.\n * @param associative When true (default), API calls using the returned access_token are attributed to the admin user who created the access_token. When false, API activity is attributed to the user the access_token runs as. False requires a looker license.\n * @param options one-time API call overrides\n *\n */\nexport const login_user = async (\n sdk: IAPIMethods,\n user_id: string,\n associative?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IAccessToken, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<IAccessToken, IError>(\n `/login/${user_id}`,\n { associative },\n null,\n options\n );\n};\n\n/**\n * ### Logout of the API and invalidate the current access token.\n *\n * DELETE /logout -> string\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const logout = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n return sdk.delete<string, IError>('/logout', null, null, options);\n};\n\n//#endregion ApiAuth: API Authentication\n\n//#region Artifact: Artifact Storage\n\n/**\n * Get the maximum configured size of the entire artifact store, and the currently used storage in bytes.\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/usage -> IArtifactUsage\n *\n * @param sdk IAPIMethods implementation\n * @param fields Comma-delimited names of fields to return in responses. Omit for all fields\n * @param options one-time API call overrides\n *\n */\nexport const artifact_usage = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifactUsage, IError | IValidationError>> => {\n return sdk.get<IArtifactUsage, IError | IValidationError>(\n '/artifact/usage',\n { fields },\n null,\n options\n );\n};\n\n/**\n * Get all artifact namespaces and the count of artifacts in each namespace\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/namespaces -> IArtifactNamespace[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestArtifactNamespaces\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const artifact_namespaces = async (\n sdk: IAPIMethods,\n request: IRequestArtifactNamespaces,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifactNamespace[], IError | IValidationError>> => {\n return sdk.get<IArtifactNamespace[], IError | IValidationError>(\n '/artifact/namespaces',\n { fields: request.fields, limit: request.limit, offset: request.offset },\n null,\n options\n );\n};\n\n/**\n * ### Return the value of an artifact\n *\n * The MIME type for the API response is set to the `content_type` of the value\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/{namespace}/value -> string\n *\n * @param sdk IAPIMethods implementation\n * @param namespace Artifact storage namespace\n * @param key Artifact storage key. Namespace + Key must be unique\n * @param options one-time API call overrides\n *\n */\nexport const artifact_value = async (\n sdk: IAPIMethods,\n namespace: string,\n key?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n namespace = encodeParam(namespace);\n return sdk.get<string, IError | IValidationError>(\n `/artifact/${namespace}/value`,\n { key },\n null,\n options\n );\n};\n\n/**\n * Remove *all* artifacts from a namespace. Purged artifacts are permanently deleted\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * DELETE /artifact/{namespace}/purge -> void\n *\n * @param sdk IAPIMethods implementation\n * @param namespace Artifact storage namespace\n * @param options one-time API call overrides\n *\n */\nexport const purge_artifacts = async (\n sdk: IAPIMethods,\n namespace: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n namespace = encodeParam(namespace);\n return sdk.delete<void, IError>(\n `/artifact/${namespace}/purge`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Search all key/value pairs in a namespace for matching criteria.\n *\n * Returns an array of artifacts matching the specified search criteria.\n *\n * Key search patterns use case-insensitive matching and can contain `%` and `_` as SQL LIKE pattern match wildcard expressions.\n *\n * The parameters `min_size` and `max_size` can be used individually or together.\n *\n * - `min_size` finds artifacts with sizes greater than or equal to its value\n * - `max_size` finds artifacts with sizes less than or equal to its value\n * - using both parameters restricts the minimum and maximum size range for artifacts\n *\n * **NOTE**: Artifacts are always returned in alphanumeric order by key.\n *\n * Get a **single artifact** by namespace and key with [`artifact`](#!/Artifact/artifact)\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/{namespace}/search -> IArtifact[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchArtifacts\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_artifacts = async (\n sdk: IAPIMethods,\n request: IRequestSearchArtifacts,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifact[], IError | IValidationError>> => {\n request.namespace = encodeParam(request.namespace);\n return sdk.get<IArtifact[], IError | IValidationError>(\n `/artifact/${request.namespace}/search`,\n {\n fields: request.fields,\n key: request.key,\n user_ids: request.user_ids,\n min_size: request.min_size,\n max_size: request.max_size,\n limit: request.limit,\n offset: request.offset,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get one or more artifacts\n *\n * Returns an array of artifacts matching the specified key value(s).\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * GET /artifact/{namespace} -> IArtifact[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestArtifact\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const artifact = async (\n sdk: IAPIMethods,\n request: IRequestArtifact,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifact[], IError | IValidationError>> => {\n request.namespace = encodeParam(request.namespace);\n return sdk.get<IArtifact[], IError | IValidationError>(\n `/artifact/${request.namespace}`,\n {\n key: request.key,\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n },\n null,\n options\n );\n};\n\n/**\n * ### Delete one or more artifacts\n *\n * To avoid rate limiting on deletion requests, multiple artifacts can be deleted at the same time by using a comma-delimited list of artifact keys.\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * DELETE /artifact/{namespace} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param namespace Artifact storage namespace\n * @param key Comma-delimited list of keys. Wildcards not allowed.\n * @param options one-time API call overrides\n *\n */\nexport const delete_artifact = async (\n sdk: IAPIMethods,\n namespace: string,\n key: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n namespace = encodeParam(namespace);\n return sdk.delete<void, IError>(\n `/artifact/${namespace}`,\n { key },\n null,\n options\n );\n};\n\n/**\n * ### Create or update one or more artifacts\n *\n * Only `key` and `value` are required to _create_ an artifact.\n * To _update_ an artifact, its current `version` value must be provided.\n *\n * In the following example `body` payload, `one` and `two` are existing artifacts, and `three` is new:\n *\n * ```json\n * [\n * { \"key\": \"one\", \"value\": \"[ \\\"updating\\\", \\\"existing\\\", \\\"one\\\" ]\", \"version\": 10, \"content_type\": \"application/json\" },\n * { \"key\": \"two\", \"value\": \"updating existing two\", \"version\": 20 },\n * { \"key\": \"three\", \"value\": \"creating new three\" },\n * ]\n * ```\n *\n * Notes for this body:\n *\n * - The `value` for `key` **one** is a JSON payload, so a `content_type` override is needed. This override must be done **every** time a JSON value is set.\n * - The `version` values for **one** and **two** mean they have been saved 10 and 20 times, respectively.\n * - If `version` is **not** provided for an existing artifact, the entire request will be refused and a `Bad Request` response will be sent.\n * - If `version` is provided for an artifact, it is only used for helping to prevent inadvertent data overwrites. It cannot be used to **set** the version of an artifact. The Looker server controls `version`.\n * - We suggest encoding binary values as base64. Because the MIME content type for base64 is detected as plain text, also provide `content_type` to correctly indicate the value's type for retrieval and client-side processing.\n *\n * Because artifacts are stored encrypted, the same value can be written multiple times (provided the correct `version` number is used). Looker does not examine any values stored in the artifact store, and only decrypts when sending artifacts back in an API response.\n *\n * **Note**: The artifact storage API can only be used by Looker-built extensions.\n *\n * PUT /artifacts/{namespace} -> IArtifact[]\n *\n * @param sdk IAPIMethods implementation\n * @param namespace Artifact storage namespace\n * @param body Partial<IUpdateArtifact[]>\n * @param fields Comma-delimited names of fields to return in responses. Omit for all fields\n * @param options one-time API call overrides\n *\n */\nexport const update_artifacts = async (\n sdk: IAPIMethods,\n namespace: string,\n body: Partial<IUpdateArtifact[]>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IArtifact[], IError | IValidationError>> => {\n namespace = encodeParam(namespace);\n return sdk.put<IArtifact[], IError | IValidationError>(\n `/artifacts/${namespace}`,\n { fields },\n body,\n options\n );\n};\n\n//#endregion Artifact: Artifact Storage\n\n//#region Auth: Manage User Authentication Configuration\n\n/**\n * ### Create an embed secret using the specified information.\n *\n * The value of the `secret` field will be set by Looker and returned.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /embed_config/secrets -> IEmbedSecret\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteEmbedSecret>\n * @param options one-time API call overrides\n *\n */\nexport const create_embed_secret = async (\n sdk: IAPIMethods,\n body?: Partial<IWriteEmbedSecret>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEmbedSecret, IError | IValidationError>> => {\n return sdk.post<IEmbedSecret, IError | IValidationError>(\n '/embed_config/secrets',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete an embed secret.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * DELETE /embed_config/secrets/{embed_secret_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param embed_secret_id Id of Embed Secret\n * @param options one-time API call overrides\n *\n */\nexport const delete_embed_secret = async (\n sdk: IAPIMethods,\n embed_secret_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n embed_secret_id = encodeParam(embed_secret_id);\n return sdk.delete<string, IError>(\n `/embed_config/secrets/${embed_secret_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create Signed Embed URL\n *\n * Creates a signed embed URL and cryptographically signs it with an embed secret.\n * This signed URL can then be used to instantiate a Looker embed session in a PBL web application.\n * Do not make any modifications to the returned URL - any change may invalidate the signature and\n * cause the URL to fail to load a Looker embed session.\n *\n * A signed embed URL can only be **used once**. After the URL has been used to request a page from the\n * Looker server, it is invalid. Future requests using the same URL will fail. This is to prevent\n * 'replay attacks'.\n *\n * The `target_url` property must be a complete URL of a Looker UI page - scheme, hostname, path and query params.\n * To load a dashboard with id 56 and with a filter of `Date=1 years`, the looker URL would look like `https:/myname.looker.com/dashboards/56?Date=1%20years`.\n * The best way to obtain this `target_url` is to navigate to the desired Looker page in your web browser and use the \"Get embed URL\" menu option\n * to copy it to your clipboard and paste it into the `target_url` property as a quoted string value in this API request.\n *\n * Permissions for the embed user are defined by the groups in which the embed user is a member (`group_ids` property)\n * and the lists of models and permissions assigned to the embed user.\n * At a minimum, you must provide values for either the `group_ids` property, or **both** the models and permissions properties.\n * These properties are additive; an embed user can be a member of certain groups AND be granted access to models and permissions.\n *\n * The embed user's access is the union of permissions granted by the `group_ids`, `models`, and `permissions` properties.\n *\n * This function does not strictly require all group_ids, user attribute names, or model names to exist at the moment the\n * embed url is created. Unknown group_id, user attribute names or model names will be passed through to the output URL.\n * Because of this, **these parameters are not validated** when the API call is made.\n *\n * The [Get Embed Url](https://cloud.google.com/looker/docs/r/get-signed-url) dialog can be used to determine and validate the correct permissions for signing an embed url.\n * This dialog also provides the SDK syntax for the API call to make. Alternatively, you can copy the signed URL into the Embed URI Validator text box\n * in `<your looker instance>/admin/embed` to diagnose potential problems.\n *\n * The `secret_id` parameter is optional. If specified, its value must be the id of an active secret defined in the Looker instance.\n * if not specified, the URL will be signed using the most recent active signing secret. If there is no active secret for signing embed urls,\n * a default secret will be created. This default secret is encrypted using HMAC/SHA-256.\n *\n * The `embed_domain` parameter is optional. If specified and valid, the domain will be added to the embed domain allowlist if it is missing.\n *\n * #### Security Note\n * Protect this signed URL as you would an access token or password credentials - do not write\n * it to disk, do not pass it to a third party, and only pass it through a secure HTTPS\n * encrypted transport.\n *\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /embed/sso_url -> IEmbedUrlResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IEmbedSsoParams>\n * @param options one-time API call overrides\n *\n */\nexport const create_sso_embed_url = async (\n sdk: IAPIMethods,\n body: Partial<IEmbedSsoParams>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEmbedUrlResponse, IError | IValidationError>> => {\n return sdk.post<IEmbedUrlResponse, IError | IValidationError>(\n '/embed/sso_url',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Create an Embed URL\n *\n * Creates an embed URL that runs as the Looker user making this API call. (\"Embed as me\")\n * This embed URL can then be used to instantiate a Looker embed session in a\n * \"Powered by Looker\" (PBL) web application.\n *\n * This is similar to Private Embedding (https://cloud.google.com/looker/docs/r/admin/embed/private-embed). Instead of\n * logging into the Web UI to authenticate, the user has already authenticated against the API to be able to\n * make this call. However, unlike Private Embed where the user has access to any other part of the Looker UI,\n * the embed web session created by requesting the EmbedUrlResponse.url in a browser only has access to\n * content visible under the `/embed` context.\n *\n * An embed URL can only be used once, and must be used within 5 minutes of being created. After it\n * has been used to request a page from the Looker server, the URL is invalid. Future requests using\n * the same URL will fail. This is to prevent 'replay attacks'.\n *\n * The `target_url` property must be a complete URL of a Looker Embedded UI page - scheme, hostname, path starting with \"/embed\" and query params.\n * To load a dashboard with id 56 and with a filter of `Date=1 years`, the looker Embed URL would look like `https://myname.looker.com/embed/dashboards/56?Date=1%20years`.\n * The best way to obtain this target_url is to navigate to the desired Looker page in your web browser,\n * copy the URL shown in the browser address bar, insert \"/embed\" after the host/port, and paste it into the `target_url` property as a quoted string value in this API request.\n *\n * #### Security Note\n * Protect this signed URL as you would an access token or password credentials - do not write\n * it to disk, do not pass it to a third party, and only pass it through a secure HTTPS\n * encrypted transport.\n *\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /embed/token_url/me -> IEmbedUrlResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IEmbedParams>\n * @param options one-time API call overrides\n *\n */\nexport const create_embed_url_as_me = async (\n sdk: IAPIMethods,\n body: Partial<IEmbedParams>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEmbedUrlResponse, IError | IValidationError>> => {\n return sdk.post<IEmbedUrlResponse, IError | IValidationError>(\n '/embed/token_url/me',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Validate a Signed Embed URL\n *\n * GET /embed/sso/validate -> IEmbedUrlResponse\n *\n * @param sdk IAPIMethods implementation\n * @param url URL to validate\n * @param options one-time API call overrides\n *\n */\nexport const validate_embed_url = async (\n sdk: IAPIMethods,\n url?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEmbedUrlResponse, IError | IValidationError>> => {\n return sdk.get<IEmbedUrlResponse, IError | IValidationError>(\n '/embed/sso/validate',\n { url },\n null,\n options\n );\n};\n\n/**\n * ### Acquire a cookieless embed session.\n *\n * The acquire session endpoint negates the need for signing the embed url and passing it as a parameter\n * to the embed login. This endpoint accepts an embed user definition and creates or updates it. This is\n * similar behavior to the embed SSO login as they both can create and update embed user data.\n *\n * The endpoint also accepts an optional `session_reference_token`. If present and the session has not expired\n * and the credentials match the credentials for the embed session, a new authentication token will be\n * generated. This allows the embed session to attach a new embedded IFRAME to the embed session. Note that\n * the 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\n * is NOT updated. This is done for performance reasons and to support the embed SSO usecase where the\n * first IFRAME created on a page uses a signed url and subsequently created IFRAMEs do not.\n *\n * If the `session_reference_token` is provided but the session has expired, the token will be ignored and a\n * new embed session will be created. Note that the embed user definition will be updated in this scenario.\n *\n * If the credentials do not match the credentials associated with an existing session_reference_token, a\n * 404 will be returned.\n *\n * The endpoint returns the following:\n * - Authentication token - a token that is passed to `/embed/login` endpoint that creates or attaches to the\n * embed session. This token can be used once and has a lifetime of 30 seconds.\n * - Session reference token - a token that lives for the length of the session. This token is used to\n * generate new api and navigation tokens OR create new embed IFRAMEs.\n * - Api token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into the\n * iframe.\n * - Navigation token - lives for 10 minutes. The Looker client will ask for this token once it is loaded into\n * the iframe.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /embed/cookieless_session/acquire -> IEmbedCookielessSessionAcquireResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IEmbedCookielessSessionAcquire>\n * @param options one-time API call overrides\n *\n */\nexport const acquire_embed_cookieless_session = async (\n sdk: IAPIMethods,\n body: Partial<IEmbedCookielessSessionAcquire>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IEmbedCookielessSessionAcquireResponse, IError | IValidationError>\n> => {\n return sdk.post<\n IEmbedCookielessSessionAcquireResponse,\n IError | IValidationError\n >('/embed/cookieless_session/acquire', null, body, options);\n};\n\n/**\n * ### Delete cookieless embed session\n *\n * This will delete the session associated with the given session reference token. Calling this endpoint will result\n * in the session and session reference data being cleared from the system. This endpoint can be used to log an embed\n * user out of the Looker instance.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * DELETE /embed/cookieless_session/{session_reference_token} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param session_reference_token Embed session reference token\n * @param options one-time API call overrides\n *\n */\nexport const delete_embed_cookieless_session = async (\n sdk: IAPIMethods,\n session_reference_token: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n session_reference_token = encodeParam(session_reference_token);\n return sdk.delete<string, IError | IValidationError>(\n `/embed/cookieless_session/${session_reference_token}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Generate api and navigation tokens for a cookieless embed session\n *\n * The generate tokens endpoint is used to create new tokens of type:\n * - Api token.\n * - Navigation token.\n * The generate tokens endpoint should be called every time the Looker client asks for a token (except for the\n * first time when the tokens returned by the acquire_session endpoint should be used).\n *\n * #### Embed session expiration handling\n *\n * This endpoint does NOT return an error when the embed session expires. This is to simplify processing\n * in the caller as errors can happen for non session expiration reasons. Instead the endpoint returns\n * the session time to live in the `session_reference_token_ttl` response property. If this property\n * contains a zero, the embed session has expired.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * PUT /embed/cookieless_session/generate_tokens -> IEmbedCookielessSessionGenerateTokensResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IEmbedCookielessSessionGenerateTokens>\n * @param options one-time API call overrides\n *\n */\nexport const generate_tokens_for_cookieless_session = async (\n sdk: IAPIMethods,\n body: Partial<IEmbedCookielessSessionGenerateTokens>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<\n IEmbedCookielessSessionGenerateTokensResponse,\n IError | IValidationError\n >\n> => {\n return sdk.put<\n IEmbedCookielessSessionGenerateTokensResponse,\n IError | IValidationError\n >('/embed/cookieless_session/generate_tokens', null, body, options);\n};\n\n/**\n * ### Get the LDAP configuration.\n *\n * Looker can be optionally configured to authenticate users against an Active Directory or other LDAP directory server.\n * LDAP setup requires coordination with an administrator of that directory server.\n *\n * Only Looker administrators can read and update the LDAP configuration.\n *\n * Configuring LDAP impacts authentication for all users. This configuration should be done carefully.\n *\n * Looker maintains a single LDAP configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct).\n *\n * LDAP is enabled or disabled for Looker using the **enabled** field.\n *\n * Looker will never return an **auth_password** field. That value can be set, but never retrieved.\n *\n * See the [Looker LDAP docs](https://cloud.google.com/looker/docs/r/api/ldap_setup) for additional information.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /ldap_config -> ILDAPConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const ldap_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfig, IError>> => {\n return sdk.get<ILDAPConfig, IError>('/ldap_config', null, null, options);\n};\n\n/**\n * ### Update the LDAP configuration.\n *\n * Configuring LDAP impacts authentication for all users. This configuration should be done carefully.\n *\n * Only Looker administrators can read and update the LDAP configuration.\n *\n * LDAP is enabled or disabled for Looker using the **enabled** field.\n *\n * It is **highly** recommended that any LDAP setting changes be tested using the APIs below before being set globally.\n *\n * See the [Looker LDAP docs](https://cloud.google.com/looker/docs/r/api/ldap_setup) for additional information.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /ldap_config -> ILDAPConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_ldap_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfig, IError | IValidationError>> => {\n return sdk.patch<ILDAPConfig, IError | IValidationError>(\n '/ldap_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Test the connection settings for an LDAP configuration.\n *\n * This tests that the connection is possible given a connection_host and connection_port.\n *\n * **connection_host** and **connection_port** are required. **connection_tls** is optional.\n *\n * Example:\n * ```json\n * {\n * \"connection_host\": \"ldap.example.com\",\n * \"connection_port\": \"636\",\n * \"connection_tls\": true\n * }\n * ```\n *\n * No authentication to the LDAP server is attempted.\n *\n * The active LDAP settings are not modified.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /ldap_config/test_connection -> ILDAPConfigTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const test_ldap_config_connection = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfigTestResult, IError | IValidationError>> => {\n return sdk.put<ILDAPConfigTestResult, IError | IValidationError>(\n '/ldap_config/test_connection',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Test the connection authentication settings for an LDAP configuration.\n *\n * This tests that the connection is possible and that a 'server' account to be used by Looker can authenticate to the LDAP server given connection and authentication information.\n *\n * **connection_host**, **connection_port**, and **auth_username**, are required. **connection_tls** and **auth_password** are optional.\n *\n * Example:\n * ```json\n * {\n * \"connection_host\": \"ldap.example.com\",\n * \"connection_port\": \"636\",\n * \"connection_tls\": true,\n * \"auth_username\": \"cn=looker,dc=example,dc=com\",\n * \"auth_password\": \"secret\"\n * }\n * ```\n *\n * Looker will never return an **auth_password**. If this request omits the **auth_password** field, then the **auth_password** value from the active config (if present) will be used for the test.\n *\n * The active LDAP settings are not modified.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /ldap_config/test_auth -> ILDAPConfigTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const test_ldap_config_auth = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfigTestResult, IError | IValidationError>> => {\n return sdk.put<ILDAPConfigTestResult, IError | IValidationError>(\n '/ldap_config/test_auth',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Test the user authentication settings for an LDAP configuration without authenticating the user.\n *\n * This test will let you easily test the mapping for user properties and roles for any user withoutneeding to authenticate as that user.\n *\n * This test accepts a full LDAP configuration along with a username and attempts to find the full infofor the user from the LDAP server without actually authenticating the user. So, user password is notrequired.The configuration is validated before attempting to contact the server.\n *\n * **test_ldap_user** is required.\n *\n * The active LDAP settings are not modified.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /ldap_config/test_user_info -> ILDAPConfigTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const test_ldap_config_user_info = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfigTestResult, IError | IValidationError>> => {\n return sdk.put<ILDAPConfigTestResult, IError | IValidationError>(\n '/ldap_config/test_user_info',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Test the user authentication settings for an LDAP configuration.\n *\n * This test accepts a full LDAP configuration along with a username/password pair and attempts to authenticate the user with the LDAP server. The configuration is validated before attempting the authentication.\n *\n * Looker will never return an **auth_password**. If this request omits the **auth_password** field, then the **auth_password** value from the active config (if present) will be used for the test.\n *\n * **test_ldap_user** and **test_ldap_password** are required.\n *\n * The active LDAP settings are not modified.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /ldap_config/test_user_auth -> ILDAPConfigTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLDAPConfig>\n * @param options one-time API call overrides\n *\n */\nexport const test_ldap_config_user_auth = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLDAPConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILDAPConfigTestResult, IError | IValidationError>> => {\n return sdk.put<ILDAPConfigTestResult, IError | IValidationError>(\n '/ldap_config/test_user_auth',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Registers a mobile device.\n * # Required fields: [:device_token, :device_type]\n *\n * POST /mobile/device -> IMobileToken\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteMobileToken>\n * @param options one-time API call overrides\n *\n */\nexport const register_mobile_device = async (\n sdk: IAPIMethods,\n body: Partial<IWriteMobileToken>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMobileToken, IError | IValidationError>> => {\n return sdk.post<IMobileToken, IError | IValidationError>(\n '/mobile/device',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Updates the mobile device registration\n *\n * PATCH /mobile/device/{device_id} -> IMobileToken\n *\n * @param sdk IAPIMethods implementation\n * @param device_id Unique id of the device.\n * @param options one-time API call overrides\n *\n */\nexport const update_mobile_device_registration = async (\n sdk: IAPIMethods,\n device_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMobileToken, IError | IValidationError>> => {\n device_id = encodeParam(device_id);\n return sdk.patch<IMobileToken, IError | IValidationError>(\n `/mobile/device/${device_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Deregister a mobile device.\n *\n * DELETE /mobile/device/{device_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param device_id Unique id of the device.\n * @param options one-time API call overrides\n *\n */\nexport const deregister_mobile_device = async (\n sdk: IAPIMethods,\n device_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n device_id = encodeParam(device_id);\n return sdk.delete<void, IError>(\n `/mobile/device/${device_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### List All OAuth Client Apps\n *\n * Lists all applications registered to use OAuth2 login with this Looker instance, including\n * enabled and disabled apps.\n *\n * Results are filtered to include only the apps that the caller (current user)\n * has permission to see.\n *\n * GET /oauth_client_apps -> IOauthClientApp[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_oauth_client_apps = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOauthClientApp[], IError>> => {\n return sdk.get<IOauthClientApp[], IError>(\n '/oauth_client_apps',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Oauth Client App\n *\n * Returns the registered app client with matching client_guid.\n *\n * GET /oauth_client_apps/{client_guid} -> IOauthClientApp\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const oauth_client_app = async (\n sdk: IAPIMethods,\n client_guid: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOauthClientApp, IError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.get<IOauthClientApp, IError>(\n `/oauth_client_apps/${client_guid}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Register an OAuth2 Client App\n *\n * Registers details identifying an external web app or native app as an OAuth2 login client of the Looker instance.\n * The app registration must provide a unique client_guid and redirect_uri that the app will present\n * in OAuth login requests. If the client_guid and redirect_uri parameters in the login request do not match\n * the app details registered with the Looker instance, the request is assumed to be a forgery and is rejected.\n *\n * POST /oauth_client_apps/{client_guid} -> IOauthClientApp\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param body Partial<IWriteOauthClientApp>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const register_oauth_client_app = async (\n sdk: IAPIMethods,\n client_guid: string,\n body: Partial<IWriteOauthClientApp>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOauthClientApp, IError | IValidationError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.post<IOauthClientApp, IError | IValidationError>(\n `/oauth_client_apps/${client_guid}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Update OAuth2 Client App Details\n *\n * Modifies the details a previously registered OAuth2 login client app.\n *\n * PATCH /oauth_client_apps/{client_guid} -> IOauthClientApp\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param body Partial<IWriteOauthClientApp>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_oauth_client_app = async (\n sdk: IAPIMethods,\n client_guid: string,\n body: Partial<IWriteOauthClientApp>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOauthClientApp, IError | IValidationError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.patch<IOauthClientApp, IError | IValidationError>(\n `/oauth_client_apps/${client_guid}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete OAuth Client App\n *\n * Deletes the registration info of the app with the matching client_guid.\n * All active sessions and tokens issued for this app will immediately become invalid.\n *\n * As with most REST DELETE operations, this endpoint does not return an error if the\n * indicated resource does not exist.\n *\n * ### Note: this deletion cannot be undone.\n *\n * DELETE /oauth_client_apps/{client_guid} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param options one-time API call overrides\n *\n */\nexport const delete_oauth_client_app = async (\n sdk: IAPIMethods,\n client_guid: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.delete<string, IError>(\n `/oauth_client_apps/${client_guid}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Invalidate All Issued Tokens\n *\n * Immediately invalidates all auth codes, sessions, access tokens and refresh tokens issued for\n * this app for ALL USERS of this app.\n *\n * DELETE /oauth_client_apps/{client_guid}/tokens -> string\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of the application\n * @param options one-time API call overrides\n *\n */\nexport const invalidate_tokens = async (\n sdk: IAPIMethods,\n client_guid: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n client_guid = encodeParam(client_guid);\n return sdk.delete<string, IError>(\n `/oauth_client_apps/${client_guid}/tokens`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Activate an app for a user\n *\n * Activates a user for a given oauth client app. This indicates the user has been informed that\n * the app will have access to the user's looker data, and that the user has accepted and allowed\n * the app to use their Looker account.\n *\n * Activating a user for an app that the user is already activated with returns a success response.\n *\n * POST /oauth_client_apps/{client_guid}/users/{user_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param user_id The id of the user to enable use of this app\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const activate_app_user = async (\n sdk: IAPIMethods,\n client_guid: string,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n client_guid = encodeParam(client_guid);\n user_id = encodeParam(user_id);\n return sdk.post<string, IError | IValidationError>(\n `/oauth_client_apps/${client_guid}/users/${user_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Deactivate an app for a user\n *\n * Deactivate a user for a given oauth client app. All tokens issued to the app for\n * this user will be invalid immediately. Before the user can use the app with their\n * Looker account, the user will have to read and accept an account use disclosure statement for the app.\n *\n * Admin users can deactivate other users, but non-admin users can only deactivate themselves.\n *\n * As with most REST DELETE operations, this endpoint does not return an error if the indicated\n * resource (app or user) does not exist or has already been deactivated.\n *\n * DELETE /oauth_client_apps/{client_guid}/users/{user_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param client_guid The unique id of this application\n * @param user_id The id of the user to enable use of this app\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const deactivate_app_user = async (\n sdk: IAPIMethods,\n client_guid: string,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n client_guid = encodeParam(client_guid);\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/oauth_client_apps/${client_guid}/users/${user_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the OIDC configuration.\n *\n * Looker can be optionally configured to authenticate users against an OpenID Connect (OIDC)\n * authentication server. OIDC setup requires coordination with an administrator of that server.\n *\n * Only Looker administrators can read and update the OIDC configuration.\n *\n * Configuring OIDC impacts authentication for all users. This configuration should be done carefully.\n *\n * Looker maintains a single OIDC configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct).\n *\n * OIDC is enabled or disabled for Looker using the **enabled** field.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /oidc_config -> IOIDCConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const oidc_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOIDCConfig, IError>> => {\n return sdk.get<IOIDCConfig, IError>('/oidc_config', null, null, options);\n};\n\n/**\n * ### Update the OIDC configuration.\n *\n * Configuring OIDC impacts authentication for all users. This configuration should be done carefully.\n *\n * Only Looker administrators can read and update the OIDC configuration.\n *\n * OIDC is enabled or disabled for Looker using the **enabled** field.\n *\n * It is **highly** recommended that any OIDC setting changes be tested using the APIs below before being set globally.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /oidc_config -> IOIDCConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteOIDCConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_oidc_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteOIDCConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOIDCConfig, IError | IValidationError>> => {\n return sdk.patch<IOIDCConfig, IError | IValidationError>(\n '/oidc_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get a OIDC test configuration by test_slug.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /oidc_test_configs/{test_slug} -> IOIDCConfig\n *\n * @param sdk IAPIMethods implementation\n * @param test_slug Slug of test config\n * @param options one-time API call overrides\n *\n */\nexport const oidc_test_config = async (\n sdk: IAPIMethods,\n test_slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOIDCConfig, IError>> => {\n test_slug = encodeParam(test_slug);\n return sdk.get<IOIDCConfig, IError>(\n `/oidc_test_configs/${test_slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Delete a OIDC test configuration.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /oidc_test_configs/{test_slug} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param test_slug Slug of test config\n * @param options one-time API call overrides\n *\n */\nexport const delete_oidc_test_config = async (\n sdk: IAPIMethods,\n test_slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n test_slug = encodeParam(test_slug);\n return sdk.delete<string, IError>(\n `/oidc_test_configs/${test_slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a OIDC test configuration.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /oidc_test_configs -> IOIDCConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteOIDCConfig>\n * @param options one-time API call overrides\n *\n */\nexport const create_oidc_test_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteOIDCConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IOIDCConfig, IError | IValidationError>> => {\n return sdk.post<IOIDCConfig, IError | IValidationError>(\n '/oidc_test_configs',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get password config.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /password_config -> IPasswordConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const password_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPasswordConfig, IError>> => {\n return sdk.get<IPasswordConfig, IError>(\n '/password_config',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update password config.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /password_config -> IPasswordConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWritePasswordConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_password_config = async (\n sdk: IAPIMethods,\n body: Partial<IWritePasswordConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPasswordConfig, IError | IValidationError>> => {\n return sdk.patch<IPasswordConfig, IError | IValidationError>(\n '/password_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Force all credentials_email users to reset their login passwords upon their next login.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /password_config/force_password_reset_at_next_login_for_all_users -> string\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const force_password_reset_at_next_login_for_all_users = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n return sdk.put<string, IError | IValidationError>(\n '/password_config/force_password_reset_at_next_login_for_all_users',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get the SAML configuration.\n *\n * Looker can be optionally configured to authenticate users against a SAML authentication server.\n * SAML setup requires coordination with an administrator of that server.\n *\n * Only Looker administrators can read and update the SAML configuration.\n *\n * Configuring SAML impacts authentication for all users. This configuration should be done carefully.\n *\n * Looker maintains a single SAML configuration. It can be read and updated. Updates only succeed if the new state will be valid (in the sense that all required fields are populated); it is up to you to ensure that the configuration is appropriate and correct).\n *\n * SAML is enabled or disabled for Looker using the **enabled** field.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /saml_config -> ISamlConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const saml_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlConfig, IError>> => {\n return sdk.get<ISamlConfig, IError>('/saml_config', null, null, options);\n};\n\n/**\n * ### Update the SAML configuration.\n *\n * Configuring SAML impacts authentication for all users. This configuration should be done carefully.\n *\n * Only Looker administrators can read and update the SAML configuration.\n *\n * SAML is enabled or disabled for Looker using the **enabled** field.\n *\n * It is **highly** recommended that any SAML setting changes be tested using the APIs below before being set globally.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /saml_config -> ISamlConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSamlConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_saml_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSamlConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlConfig, IError | IValidationError>> => {\n return sdk.patch<ISamlConfig, IError | IValidationError>(\n '/saml_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get a SAML test configuration by test_slug.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /saml_test_configs/{test_slug} -> ISamlConfig\n *\n * @param sdk IAPIMethods implementation\n * @param test_slug Slug of test config\n * @param options one-time API call overrides\n *\n */\nexport const saml_test_config = async (\n sdk: IAPIMethods,\n test_slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlConfig, IError>> => {\n test_slug = encodeParam(test_slug);\n return sdk.get<ISamlConfig, IError>(\n `/saml_test_configs/${test_slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Delete a SAML test configuration.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /saml_test_configs/{test_slug} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param test_slug Slug of test config\n * @param options one-time API call overrides\n *\n */\nexport const delete_saml_test_config = async (\n sdk: IAPIMethods,\n test_slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n test_slug = encodeParam(test_slug);\n return sdk.delete<string, IError>(\n `/saml_test_configs/${test_slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a SAML test configuration.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /saml_test_configs -> ISamlConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSamlConfig>\n * @param options one-time API call overrides\n *\n */\nexport const create_saml_test_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSamlConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlConfig, IError | IValidationError>> => {\n return sdk.post<ISamlConfig, IError | IValidationError>(\n '/saml_test_configs',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Parse the given xml as a SAML IdP metadata document and return the result.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /parse_saml_idp_metadata -> ISamlMetadataParseResult\n *\n * @param sdk IAPIMethods implementation\n * @param body string\n * @param options one-time API call overrides\n *\n */\nexport const parse_saml_idp_metadata = async (\n sdk: IAPIMethods,\n body: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlMetadataParseResult, IError>> => {\n return sdk.post<ISamlMetadataParseResult, IError>(\n '/parse_saml_idp_metadata',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Fetch the given url and parse it as a SAML IdP metadata document and return the result.\n * Note that this requires that the url be public or at least at a location where the Looker instance\n * can fetch it without requiring any special authentication.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /fetch_and_parse_saml_idp_metadata -> ISamlMetadataParseResult\n *\n * @param sdk IAPIMethods implementation\n * @param body string\n * @param options one-time API call overrides\n *\n */\nexport const fetch_and_parse_saml_idp_metadata = async (\n sdk: IAPIMethods,\n body: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISamlMetadataParseResult, IError>> => {\n return sdk.post<ISamlMetadataParseResult, IError>(\n '/fetch_and_parse_saml_idp_metadata',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get session config.\n *\n * GET /session_config -> ISessionConfig\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const session_config = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISessionConfig, IError>> => {\n return sdk.get<ISessionConfig, IError>(\n '/session_config',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update session config.\n *\n * PATCH /session_config -> ISessionConfig\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSessionConfig>\n * @param options one-time API call overrides\n *\n */\nexport const update_session_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSessionConfig>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISessionConfig, IError | IValidationError>> => {\n return sdk.patch<ISessionConfig, IError | IValidationError>(\n '/session_config',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get Support Access Allowlist Users\n *\n * Returns the users that have been added to the Support Access Allowlist\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /support_access/allowlist -> ISupportAccessAllowlistEntry[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const get_support_access_allowlist_entries = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISupportAccessAllowlistEntry[], IError>> => {\n return sdk.get<ISupportAccessAllowlistEntry[], IError>(\n '/support_access/allowlist',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Add Support Access Allowlist Users\n *\n * Adds a list of emails to the Allowlist, using the provided reason\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /support_access/allowlist -> ISupportAccessAllowlistEntry[]\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ISupportAccessAddEntries>\n * @param options one-time API call overrides\n *\n */\nexport const add_support_access_allowlist_entries = async (\n sdk: IAPIMethods,\n body: Partial<ISupportAccessAddEntries>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<ISupportAccessAllowlistEntry[], IError | IValidationError>\n> => {\n return sdk.post<ISupportAccessAllowlistEntry[], IError | IValidationError>(\n '/support_access/allowlist',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete Support Access Allowlist User\n *\n * Deletes the specified Allowlist Entry Id\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /support_access/allowlist/{entry_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param entry_id Id of Allowlist Entry\n * @param options one-time API call overrides\n *\n */\nexport const delete_support_access_allowlist_entry = async (\n sdk: IAPIMethods,\n entry_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n entry_id = encodeParam(entry_id);\n return sdk.delete<string, IError>(\n `/support_access/allowlist/${entry_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Enable Support Access\n *\n * Enables Support Access for the provided duration\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /support_access/enable -> ISupportAccessStatus\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ISupportAccessEnable>\n * @param options one-time API call overrides\n *\n */\nexport const enable_support_access = async (\n sdk: IAPIMethods,\n body: Partial<ISupportAccessEnable>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISupportAccessStatus, IError | IValidationError>> => {\n return sdk.put<ISupportAccessStatus, IError | IValidationError>(\n '/support_access/enable',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Disable Support Access\n *\n * Disables Support Access immediately\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /support_access/disable -> ISupportAccessStatus\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const disable_support_access = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISupportAccessStatus, IError>> => {\n return sdk.put<ISupportAccessStatus, IError>(\n '/support_access/disable',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Support Access Status\n *\n * Returns the current Support Access Status\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /support_access/status -> ISupportAccessStatus\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const support_access_status = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISupportAccessStatus, IError>> => {\n return sdk.get<ISupportAccessStatus, IError>(\n '/support_access/status',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get currently locked-out users.\n *\n * GET /user_login_lockouts -> IUserLoginLockout[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Include only these fields in the response\n * @param options one-time API call overrides\n *\n */\nexport const all_user_login_lockouts = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserLoginLockout[], IError>> => {\n return sdk.get<IUserLoginLockout[], IError>(\n '/user_login_lockouts',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Search currently locked-out users.\n *\n * GET /user_login_lockouts/search -> IUserLoginLockout[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchUserLoginLockouts\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_user_login_lockouts = async (\n sdk: IAPIMethods,\n request: IRequestSearchUserLoginLockouts,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserLoginLockout[], IError>> => {\n return sdk.get<IUserLoginLockout[], IError>(\n '/user_login_lockouts/search',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n auth_type: request.auth_type,\n full_name: request.full_name,\n email: request.email,\n remote_id: request.remote_id,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Removes login lockout for the associated user.\n *\n * DELETE /user_login_lockout/{key} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param key The key associated with the locked user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_login_lockout = async (\n sdk: IAPIMethods,\n key: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n key = encodeParam(key);\n return sdk.delete<string, IError>(\n `/user_login_lockout/${key}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Auth: Manage User Authentication Configuration\n\n//#region Board: Manage Boards\n\n/**\n * ### Get information about all boards.\n *\n * GET /boards -> IBoard[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_boards = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard[], IError>> => {\n return sdk.get<IBoard[], IError>('/boards', { fields }, null, options);\n};\n\n/**\n * ### Create a new board.\n *\n * POST /boards -> IBoard\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteBoard>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_board = async (\n sdk: IAPIMethods,\n body: Partial<IWriteBoard>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard, IError | IValidationError>> => {\n return sdk.post<IBoard, IError | IValidationError>(\n '/boards',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Search Boards\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /boards/search -> IBoard[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchBoards\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_boards = async (\n sdk: IAPIMethods,\n request: IRequestSearchBoards,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard[], IError>> => {\n return sdk.get<IBoard[], IError>(\n '/boards/search',\n {\n title: request.title,\n created_at: request.created_at,\n first_name: request.first_name,\n last_name: request.last_name,\n fields: request.fields,\n favorited: request.favorited,\n creator_id: request.creator_id,\n sorts: request.sorts,\n page: request.page,\n per_page: request.per_page,\n offset: request.offset,\n limit: request.limit,\n filter_or: request.filter_or,\n permission: request.permission,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about a board.\n *\n * GET /boards/{board_id} -> IBoard\n *\n * @param sdk IAPIMethods implementation\n * @param board_id Id of board\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const board = async (\n sdk: IAPIMethods,\n board_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard, IError>> => {\n board_id = encodeParam(board_id);\n return sdk.get<IBoard, IError>(\n `/boards/${board_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a board definition.\n *\n * PATCH /boards/{board_id} -> IBoard\n *\n * @param sdk IAPIMethods implementation\n * @param board_id Id of board\n * @param body Partial<IWriteBoard>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_board = async (\n sdk: IAPIMethods,\n board_id: string,\n body: Partial<IWriteBoard>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoard, IError | IValidationError>> => {\n board_id = encodeParam(board_id);\n return sdk.patch<IBoard, IError | IValidationError>(\n `/boards/${board_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a board.\n *\n * DELETE /boards/{board_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param board_id Id of board\n * @param options one-time API call overrides\n *\n */\nexport const delete_board = async (\n sdk: IAPIMethods,\n board_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n board_id = encodeParam(board_id);\n return sdk.delete<string, IError>(`/boards/${board_id}`, null, null, options);\n};\n\n/**\n * ### Get information about all board items.\n *\n * GET /board_items -> IBoardItem[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllBoardItems\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_board_items = async (\n sdk: IAPIMethods,\n request: IRequestAllBoardItems,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardItem[], IError>> => {\n return sdk.get<IBoardItem[], IError>(\n '/board_items',\n {\n fields: request.fields,\n sorts: request.sorts,\n board_section_id: request.board_section_id,\n },\n null,\n options\n );\n};\n\n/**\n * ### Create a new board item.\n *\n * POST /board_items -> IBoardItem\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteBoardItem>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_board_item = async (\n sdk: IAPIMethods,\n body: Partial<IWriteBoardItem>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardItem, IError | IValidationError>> => {\n return sdk.post<IBoardItem, IError | IValidationError>(\n '/board_items',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a board item.\n *\n * GET /board_items/{board_item_id} -> IBoardItem\n *\n * @param sdk IAPIMethods implementation\n * @param board_item_id Id of board item\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const board_item = async (\n sdk: IAPIMethods,\n board_item_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardItem, IError>> => {\n board_item_id = encodeParam(board_item_id);\n return sdk.get<IBoardItem, IError>(\n `/board_items/${board_item_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a board item definition.\n *\n * PATCH /board_items/{board_item_id} -> IBoardItem\n *\n * @param sdk IAPIMethods implementation\n * @param board_item_id Id of board item\n * @param body Partial<IWriteBoardItem>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_board_item = async (\n sdk: IAPIMethods,\n board_item_id: string,\n body: Partial<IWriteBoardItem>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardItem, IError | IValidationError>> => {\n board_item_id = encodeParam(board_item_id);\n return sdk.patch<IBoardItem, IError | IValidationError>(\n `/board_items/${board_item_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a board item.\n *\n * DELETE /board_items/{board_item_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param board_item_id Id of board item\n * @param options one-time API call overrides\n *\n */\nexport const delete_board_item = async (\n sdk: IAPIMethods,\n board_item_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n board_item_id = encodeParam(board_item_id);\n return sdk.delete<string, IError>(\n `/board_items/${board_item_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all board sections.\n *\n * GET /board_sections -> IBoardSection[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllBoardSections\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_board_sections = async (\n sdk: IAPIMethods,\n request: IRequestAllBoardSections,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardSection[], IError>> => {\n return sdk.get<IBoardSection[], IError>(\n '/board_sections',\n { fields: request.fields, sorts: request.sorts },\n null,\n options\n );\n};\n\n/**\n * ### Create a new board section.\n *\n * POST /board_sections -> IBoardSection\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteBoardSection>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_board_section = async (\n sdk: IAPIMethods,\n body: Partial<IWriteBoardSection>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardSection, IError | IValidationError>> => {\n return sdk.post<IBoardSection, IError | IValidationError>(\n '/board_sections',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a board section.\n *\n * GET /board_sections/{board_section_id} -> IBoardSection\n *\n * @param sdk IAPIMethods implementation\n * @param board_section_id Id of board section\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const board_section = async (\n sdk: IAPIMethods,\n board_section_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardSection, IError>> => {\n board_section_id = encodeParam(board_section_id);\n return sdk.get<IBoardSection, IError>(\n `/board_sections/${board_section_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a board section definition.\n *\n * PATCH /board_sections/{board_section_id} -> IBoardSection\n *\n * @param sdk IAPIMethods implementation\n * @param board_section_id Id of board section\n * @param body Partial<IWriteBoardSection>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_board_section = async (\n sdk: IAPIMethods,\n board_section_id: string,\n body: Partial<IWriteBoardSection>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBoardSection, IError | IValidationError>> => {\n board_section_id = encodeParam(board_section_id);\n return sdk.patch<IBoardSection, IError | IValidationError>(\n `/board_sections/${board_section_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a board section.\n *\n * DELETE /board_sections/{board_section_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param board_section_id Id of board section\n * @param options one-time API call overrides\n *\n */\nexport const delete_board_section = async (\n sdk: IAPIMethods,\n board_section_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n board_section_id = encodeParam(board_section_id);\n return sdk.delete<string, IError>(\n `/board_sections/${board_section_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Board: Manage Boards\n\n//#region ColorCollection: Manage Color Collections\n\n/**\n * ### Get an array of all existing Color Collections\n * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n *\n * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n *\n * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * GET /color_collections -> IColorCollection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_color_collections = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection[], IError>> => {\n return sdk.get<IColorCollection[], IError>(\n '/color_collections',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a custom color collection with the specified information\n *\n * Creates a new custom color collection object, returning the details, including the created id.\n *\n * **Update** an existing color collection with [Update Color Collection](#!/ColorCollection/update_color_collection)\n *\n * **Permanently delete** an existing custom color collection with [Delete Color Collection](#!/ColorCollection/delete_color_collection)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * POST /color_collections -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteColorCollection>\n * @param options one-time API call overrides\n *\n */\nexport const create_color_collection = async (\n sdk: IAPIMethods,\n body: Partial<IWriteColorCollection>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError | IValidationError>> => {\n return sdk.post<IColorCollection, IError | IValidationError>(\n '/color_collections',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get an array of all existing **Custom** Color Collections\n * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n *\n * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * GET /color_collections/custom -> IColorCollection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const color_collections_custom = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection[], IError>> => {\n return sdk.get<IColorCollection[], IError>(\n '/color_collections/custom',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get an array of all existing **Standard** Color Collections\n * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n *\n * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * GET /color_collections/standard -> IColorCollection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const color_collections_standard = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection[], IError>> => {\n return sdk.get<IColorCollection[], IError>(\n '/color_collections/standard',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the default color collection\n *\n * Use this to retrieve the default Color Collection.\n *\n * Set the default color collection with [ColorCollection](#!/ColorCollection/set_default_color_collection)\n *\n * GET /color_collections/default -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const default_color_collection = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError>> => {\n return sdk.get<IColorCollection, IError>(\n '/color_collections/default',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Set the global default Color Collection by ID\n *\n * Returns the new specified default Color Collection object.\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * PUT /color_collections/default -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param collection_id ID of color collection to set as default\n * @param options one-time API call overrides\n *\n */\nexport const set_default_color_collection = async (\n sdk: IAPIMethods,\n collection_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError | IValidationError>> => {\n return sdk.put<IColorCollection, IError | IValidationError>(\n '/color_collections/default',\n { collection_id },\n null,\n options\n );\n};\n\n/**\n * ### Get a Color Collection by ID\n *\n * Use this to retrieve a specific Color Collection.\n * Get a **single** color collection by id with [ColorCollection](#!/ColorCollection/color_collection)\n *\n * Get all **standard** color collections with [ColorCollection](#!/ColorCollection/color_collections_standard)\n *\n * Get all **custom** color collections with [ColorCollection](#!/ColorCollection/color_collections_custom)\n *\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * GET /color_collections/{collection_id} -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param collection_id Id of Color Collection\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const color_collection = async (\n sdk: IAPIMethods,\n collection_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError>> => {\n collection_id = encodeParam(collection_id);\n return sdk.get<IColorCollection, IError>(\n `/color_collections/${collection_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a custom color collection by id.\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * PATCH /color_collections/{collection_id} -> IColorCollection\n *\n * @param sdk IAPIMethods implementation\n * @param collection_id Id of Custom Color Collection\n * @param body Partial<IWriteColorCollection>\n * @param options one-time API call overrides\n *\n */\nexport const update_color_collection = async (\n sdk: IAPIMethods,\n collection_id: string,\n body: Partial<IWriteColorCollection>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColorCollection, IError | IValidationError>> => {\n collection_id = encodeParam(collection_id);\n return sdk.patch<IColorCollection, IError | IValidationError>(\n `/color_collections/${collection_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a custom color collection by id\n *\n * This operation permanently deletes the identified **Custom** color collection.\n *\n * **Standard** color collections cannot be deleted\n *\n * Because multiple color collections can have the same label, they must be deleted by ID, not name.\n * **Note**: Only an API user with the Admin role can call this endpoint. Unauthorized requests will return `Not Found` (404) errors.\n *\n * DELETE /color_collections/{collection_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param collection_id Id of Color Collection\n * @param options one-time API call overrides\n *\n */\nexport const delete_color_collection = async (\n sdk: IAPIMethods,\n collection_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n collection_id = encodeParam(collection_id);\n return sdk.delete<string, IError>(\n `/color_collections/${collection_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion ColorCollection: Manage Color Collections\n\n//#region Config: Manage General Configuration\n\n/**\n * Get the current Cloud Storage Configuration.\n *\n * GET /cloud_storage -> IBackupConfiguration\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const cloud_storage_configuration = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBackupConfiguration, IError>> => {\n return sdk.get<IBackupConfiguration, IError>(\n '/cloud_storage',\n null,\n null,\n options\n );\n};\n\n/**\n * Update the current Cloud Storage Configuration.\n *\n * PATCH /cloud_storage -> IBackupConfiguration\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteBackupConfiguration>\n * @param options one-time API call overrides\n *\n */\nexport const update_cloud_storage_configuration = async (\n sdk: IAPIMethods,\n body: Partial<IWriteBackupConfiguration>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IBackupConfiguration, IError | IValidationError>> => {\n return sdk.patch<IBackupConfiguration, IError | IValidationError>(\n '/cloud_storage',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get the current status and content of custom welcome emails\n *\n * GET /custom_welcome_email -> ICustomWelcomeEmail\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const custom_welcome_email = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICustomWelcomeEmail, IError>> => {\n return sdk.get<ICustomWelcomeEmail, IError>(\n '/custom_welcome_email',\n null,\n null,\n options\n );\n};\n\n/**\n * Update custom welcome email setting and values. Optionally send a test email with the new content to the currently logged in user.\n *\n * PATCH /custom_welcome_email -> ICustomWelcomeEmail\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ICustomWelcomeEmail>\n * @param send_test_welcome_email If true a test email with the content from the request will be sent to the current user after saving\n * @param options one-time API call overrides\n *\n */\nexport const update_custom_welcome_email = async (\n sdk: IAPIMethods,\n body: Partial<ICustomWelcomeEmail>,\n send_test_welcome_email?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICustomWelcomeEmail, IError | IValidationError>> => {\n return sdk.patch<ICustomWelcomeEmail, IError | IValidationError>(\n '/custom_welcome_email',\n { send_test_welcome_email },\n body,\n options\n );\n};\n\n/**\n * Requests to this endpoint will send a welcome email with the custom content provided in the body to the currently logged in user.\n *\n * PUT /custom_welcome_email_test -> IWelcomeEmailTest\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWelcomeEmailTest>\n * @param options one-time API call overrides\n *\n */\nexport const update_custom_welcome_email_test = async (\n sdk: IAPIMethods,\n body: Partial<IWelcomeEmailTest>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IWelcomeEmailTest, IError | IValidationError>> => {\n return sdk.put<IWelcomeEmailTest, IError | IValidationError>(\n '/custom_welcome_email_test',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Retrieve the value for whether or not digest emails is enabled\n *\n * GET /digest_emails_enabled -> IDigestEmails\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const digest_emails_enabled = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDigestEmails, IError>> => {\n return sdk.get<IDigestEmails, IError>(\n '/digest_emails_enabled',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update the setting for enabling/disabling digest emails\n *\n * PATCH /digest_emails_enabled -> IDigestEmails\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IDigestEmails>\n * @param options one-time API call overrides\n *\n */\nexport const update_digest_emails_enabled = async (\n sdk: IAPIMethods,\n body: Partial<IDigestEmails>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDigestEmails, IError | IValidationError>> => {\n return sdk.patch<IDigestEmails, IError | IValidationError>(\n '/digest_emails_enabled',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Trigger the generation of digest email records and send them to Looker's internal system. This does not send\n * any actual emails, it generates records containing content which may be of interest for users who have become inactive.\n * Emails will be sent at a later time from Looker's internal system if the Digest Emails feature is enabled in settings.\n *\n * POST /digest_email_send -> IDigestEmailSend\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const create_digest_email_send = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDigestEmailSend, IError>> => {\n return sdk.post<IDigestEmailSend, IError>(\n '/digest_email_send',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Egress IP Addresses\n *\n * Returns the list of public egress IP Addresses for a hosted customer's instance\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /public_egress_ip_addresses -> IEgressIpAddresses\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const public_egress_ip_addresses = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IEgressIpAddresses, IError>> => {\n return sdk.get<IEgressIpAddresses, IError>(\n '/public_egress_ip_addresses',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Set the menu item name and content for internal help resources\n *\n * GET /internal_help_resources_content -> IInternalHelpResourcesContent\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const internal_help_resources_content = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IInternalHelpResourcesContent, IError>> => {\n return sdk.get<IInternalHelpResourcesContent, IError>(\n '/internal_help_resources_content',\n null,\n null,\n options\n );\n};\n\n/**\n * Update internal help resources content\n *\n * PATCH /internal_help_resources_content -> IInternalHelpResourcesContent\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteInternalHelpResourcesContent>\n * @param options one-time API call overrides\n *\n */\nexport const update_internal_help_resources_content = async (\n sdk: IAPIMethods,\n body: Partial<IWriteInternalHelpResourcesContent>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IInternalHelpResourcesContent, IError | IValidationError>\n> => {\n return sdk.patch<IInternalHelpResourcesContent, IError | IValidationError>(\n '/internal_help_resources_content',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get and set the options for internal help resources\n *\n * GET /internal_help_resources_enabled -> IInternalHelpResources\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const internal_help_resources = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IInternalHelpResources, IError>> => {\n return sdk.get<IInternalHelpResources, IError>(\n '/internal_help_resources_enabled',\n null,\n null,\n options\n );\n};\n\n/**\n * Update internal help resources settings\n *\n * PATCH /internal_help_resources -> IInternalHelpResources\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteInternalHelpResources>\n * @param options one-time API call overrides\n *\n */\nexport const update_internal_help_resources = async (\n sdk: IAPIMethods,\n body: Partial<IWriteInternalHelpResources>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IInternalHelpResources, IError | IValidationError>> => {\n return sdk.patch<IInternalHelpResources, IError | IValidationError>(\n '/internal_help_resources',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get all legacy features.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /legacy_features -> ILegacyFeature[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_legacy_features = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILegacyFeature[], IError>> => {\n return sdk.get<ILegacyFeature[], IError>(\n '/legacy_features',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about the legacy feature with a specific id.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /legacy_features/{legacy_feature_id} -> ILegacyFeature\n *\n * @param sdk IAPIMethods implementation\n * @param legacy_feature_id id of legacy feature\n * @param options one-time API call overrides\n *\n */\nexport const legacy_feature = async (\n sdk: IAPIMethods,\n legacy_feature_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILegacyFeature, IError>> => {\n legacy_feature_id = encodeParam(legacy_feature_id);\n return sdk.get<ILegacyFeature, IError>(\n `/legacy_features/${legacy_feature_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update information about the legacy feature with a specific id.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /legacy_features/{legacy_feature_id} -> ILegacyFeature\n *\n * @param sdk IAPIMethods implementation\n * @param legacy_feature_id id of legacy feature\n * @param body Partial<IWriteLegacyFeature>\n * @param options one-time API call overrides\n *\n */\nexport const update_legacy_feature = async (\n sdk: IAPIMethods,\n legacy_feature_id: string,\n body: Partial<IWriteLegacyFeature>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILegacyFeature, IError | IValidationError>> => {\n legacy_feature_id = encodeParam(legacy_feature_id);\n return sdk.patch<ILegacyFeature, IError | IValidationError>(\n `/legacy_features/${legacy_feature_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get a list of locales that Looker supports.\n *\n * GET /locales -> ILocale[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_locales = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILocale[], IError>> => {\n return sdk.get<ILocale[], IError>('/locales', null, null, options);\n};\n\n/**\n * ### Get all mobile settings.\n *\n * GET /mobile/settings -> IMobileSettings\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const mobile_settings = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMobileSettings, IError>> => {\n return sdk.get<IMobileSettings, IError>(\n '/mobile/settings',\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Looker Settings\n *\n * Available settings are:\n * - allow_user_timezones\n * - custom_welcome_email\n * - data_connector_default_enabled\n * - dashboard_auto_refresh_restriction\n * - dashboard_auto_refresh_minimum_interval\n * - extension_framework_enabled\n * - extension_load_url_enabled\n * - instance_config\n * - managed_certificate_uri\n * - marketplace_auto_install_enabled\n * - marketplace_automation\n * - marketplace_terms_accepted\n * - marketplace_enabled\n * - marketplace_site\n * - onboarding_enabled\n * - privatelabel_configuration\n * - timezone\n * - host_url\n * - email_domain_allowlist\n * - embed_cookieless_v2\n * - embed_enabled\n * - embed_config\n *\n * GET /setting -> ISetting\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const get_setting = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISetting, IError | IValidationError>> => {\n return sdk.get<ISetting, IError | IValidationError>(\n '/setting',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Configure Looker Settings\n *\n * Available settings are:\n * - allow_user_timezones\n * - custom_welcome_email\n * - data_connector_default_enabled\n * - dashboard_auto_refresh_restriction\n * - dashboard_auto_refresh_minimum_interval\n * - extension_framework_enabled\n * - extension_load_url_enabled\n * - instance_config\n * - managed_certificate_uri\n * - marketplace_auto_install_enabled\n * - marketplace_automation\n * - marketplace_terms_accepted\n * - marketplace_enabled\n * - marketplace_site\n * - onboarding_enabled\n * - privatelabel_configuration\n * - timezone\n * - host_url\n * - email_domain_allowlist\n * - embed_cookieless_v2\n * - embed_enabled\n * - embed_config\n *\n * See the `Setting` type for more information on the specific values that can be configured.\n *\n * If a setting update is rejected, the API error payload should provide information on the cause of the rejection.\n *\n * PATCH /setting -> ISetting\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSetting>\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const set_setting = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSetting>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISetting, IError | IValidationError>> => {\n return sdk.patch<ISetting, IError | IValidationError>(\n '/setting',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Configure SMTP Settings\n * This API allows users to configure the SMTP settings on the Looker instance.\n * Only admin users are authorised to call this API.\n *\n * POST /smtp_settings -> void\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ISmtpSettings>\n * @param options one-time API call overrides\n *\n */\nexport const set_smtp_settings = async (\n sdk: IAPIMethods,\n body: Partial<ISmtpSettings>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError | IValidationError>> => {\n return sdk.post<void, IError | IValidationError>(\n '/smtp_settings',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get current SMTP status.\n *\n * GET /smtp_status -> ISmtpStatus\n *\n * @param sdk IAPIMethods implementation\n * @param fields Include only these fields in the response\n * @param options one-time API call overrides\n *\n */\nexport const smtp_status = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISmtpStatus, IError>> => {\n return sdk.get<ISmtpStatus, IError>(\n '/smtp_status',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get a list of timezones that Looker supports (e.g. useful for scheduling tasks).\n *\n * GET /timezones -> ITimezone[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_timezones = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITimezone[], IError>> => {\n return sdk.get<ITimezone[], IError>('/timezones', null, null, options);\n};\n\n/**\n * ### Get information about all API versions supported by this Looker instance.\n *\n * GET /versions -> IApiVersion\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const versions = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IApiVersion, IError>> => {\n return sdk.get<IApiVersion, IError>('/versions', { fields }, null, options);\n};\n\n/**\n * ### Get an API specification for this Looker instance.\n *\n * The specification is returned as a JSON document in Swagger 2.x format\n *\n * GET /api_spec/{api_version}/{specification} -> any\n *\n * @param sdk IAPIMethods implementation\n * @param api_version API version\n * @param specification Specification name. Typically, this is \"swagger.json\"\n * @param options one-time API call overrides\n *\n */\nexport const api_spec = async (\n sdk: IAPIMethods,\n api_version: string,\n specification: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<any, IError>> => {\n api_version = encodeParam(api_version);\n specification = encodeParam(specification);\n return sdk.get<any, IError>(\n `/api_spec/${api_version}/${specification}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### This feature is enabled only by special license.\n *\n * This endpoint provides the private label configuration, which includes hiding documentation links, custom favicon uploading, etc.\n *\n * This endpoint is deprecated. [Get Setting](#!/Config/get_setting) should be used to retrieve private label settings instead\n *\n * GET /whitelabel_configuration -> IWhitelabelConfiguration\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const whitelabel_configuration = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IWhitelabelConfiguration, IError>> => {\n return sdk.get<IWhitelabelConfiguration, IError>(\n '/whitelabel_configuration',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the private label configuration\n *\n * This endpoint is deprecated. [Set Setting](#!/Config/set_setting) should be used to update private label settings instead\n *\n * PUT /whitelabel_configuration -> IWhitelabelConfiguration\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteWhitelabelConfiguration>\n * @param options one-time API call overrides\n *\n */\nexport const update_whitelabel_configuration = async (\n sdk: IAPIMethods,\n body: Partial<IWriteWhitelabelConfiguration>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IWhitelabelConfiguration, IError | IValidationError>\n> => {\n return sdk.put<IWhitelabelConfiguration, IError | IValidationError>(\n '/whitelabel_configuration',\n null,\n body,\n options\n );\n};\n\n//#endregion Config: Manage General Configuration\n\n//#region Connection: Manage Database Connections\n\n/**\n * ### Get information about all connections.\n *\n * GET /connections -> IDBConnection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_connections = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnection[], IError>> => {\n return sdk.get<IDBConnection[], IError>(\n '/connections',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a connection using the specified configuration.\n *\n * POST /connections -> IDBConnection\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDBConnection>\n * @param options one-time API call overrides\n *\n */\nexport const create_connection = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDBConnection>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnection, IError | IValidationError>> => {\n return sdk.post<IDBConnection, IError | IValidationError>(\n '/connections',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about a connection.\n *\n * GET /connections/{connection_name} -> IDBConnection\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const connection = async (\n sdk: IAPIMethods,\n connection_name: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnection, IError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.get<IDBConnection, IError>(\n `/connections/${connection_name}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a connection using the specified configuration.\n *\n * PATCH /connections/{connection_name} -> IDBConnection\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param body Partial<IWriteDBConnection>\n * @param options one-time API call overrides\n *\n */\nexport const update_connection = async (\n sdk: IAPIMethods,\n connection_name: string,\n body: Partial<IWriteDBConnection>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnection, IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.patch<IDBConnection, IError | IValidationError>(\n `/connections/${connection_name}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a connection.\n *\n * DELETE /connections/{connection_name} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param options one-time API call overrides\n *\n */\nexport const delete_connection = async (\n sdk: IAPIMethods,\n connection_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.delete<string, IError>(\n `/connections/${connection_name}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Delete a connection override.\n *\n * DELETE /connections/{connection_name}/connection_override/{override_context} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param override_context Context of connection override\n * @param options one-time API call overrides\n *\n */\nexport const delete_connection_override = async (\n sdk: IAPIMethods,\n connection_name: string,\n override_context: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n override_context = encodeParam(override_context);\n return sdk.delete<string, IError | IValidationError>(\n `/connections/${connection_name}/connection_override/${override_context}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Test an existing connection.\n *\n * Note that a connection's 'dialect' property has a 'connection_tests' property that lists the\n * specific types of tests that the connection supports.\n *\n * This API is rate limited.\n *\n * Unsupported tests in the request will be ignored.\n *\n * PUT /connections/{connection_name}/test -> IDBConnectionTestResult[]\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param tests Array of names of tests to run\n * @param options one-time API call overrides\n *\n */\nexport const test_connection = async (\n sdk: IAPIMethods,\n connection_name: string,\n tests?: DelimArray<string>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IDBConnectionTestResult[], IError | IValidationError>\n> => {\n connection_name = encodeParam(connection_name);\n return sdk.put<IDBConnectionTestResult[], IError | IValidationError>(\n `/connections/${connection_name}/test`,\n { tests },\n null,\n options\n );\n};\n\n/**\n * ### Test a connection configuration.\n *\n * Note that a connection's 'dialect' property has a 'connection_tests' property that lists the\n * specific types of tests that the connection supports.\n *\n * This API is rate limited.\n *\n * Unsupported tests in the request will be ignored.\n *\n * PUT /connections/test -> IDBConnectionTestResult[]\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDBConnection>\n * @param tests Array of names of tests to run\n * @param options one-time API call overrides\n *\n */\nexport const test_connection_config = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDBConnection>,\n tests?: DelimArray<string>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDBConnectionTestResult[], IError>> => {\n return sdk.put<IDBConnectionTestResult[], IError>(\n '/connections/test',\n { tests },\n body,\n options\n );\n};\n\n/**\n * ### Get information about all dialects.\n *\n * GET /dialect_info -> IDialectInfo[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_dialect_infos = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDialectInfo[], IError>> => {\n return sdk.get<IDialectInfo[], IError>(\n '/dialect_info',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get all External OAuth Applications.\n *\n * This is an OAuth Application which Looker uses to access external systems.\n *\n * GET /external_oauth_applications -> IExternalOauthApplication[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllExternalOauthApplications\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_external_oauth_applications = async (\n sdk: IAPIMethods,\n request: IRequestAllExternalOauthApplications,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IExternalOauthApplication[], IError>> => {\n return sdk.get<IExternalOauthApplication[], IError>(\n '/external_oauth_applications',\n { name: request.name, client_id: request.client_id },\n null,\n options\n );\n};\n\n/**\n * ### Create an OAuth Application using the specified configuration.\n *\n * This is an OAuth Application which Looker uses to access external systems.\n *\n * POST /external_oauth_applications -> IExternalOauthApplication\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteExternalOauthApplication>\n * @param options one-time API call overrides\n *\n */\nexport const create_external_oauth_application = async (\n sdk: IAPIMethods,\n body: Partial<IWriteExternalOauthApplication>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IExternalOauthApplication, IError | IValidationError>\n> => {\n return sdk.post<IExternalOauthApplication, IError | IValidationError>(\n '/external_oauth_applications',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Update an OAuth Application's client secret.\n *\n * This is an OAuth Application which Looker uses to access external systems.\n *\n * PATCH /external_oauth_applications/{client_id} -> IExternalOauthApplication\n *\n * @param sdk IAPIMethods implementation\n * @param client_id The client ID of the OAuth App to update\n * @param body Partial<IWriteExternalOauthApplication>\n * @param options one-time API call overrides\n *\n */\nexport const update_external_oauth_application = async (\n sdk: IAPIMethods,\n client_id: string,\n body: Partial<IWriteExternalOauthApplication>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IExternalOauthApplication, IError | IValidationError>\n> => {\n client_id = encodeParam(client_id);\n return sdk.patch<IExternalOauthApplication, IError | IValidationError>(\n `/external_oauth_applications/${client_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Create OAuth User state.\n *\n * POST /external_oauth_applications/user_state -> ICreateOAuthApplicationUserStateResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ICreateOAuthApplicationUserStateRequest>\n * @param options one-time API call overrides\n *\n */\nexport const create_oauth_application_user_state = async (\n sdk: IAPIMethods,\n body: Partial<ICreateOAuthApplicationUserStateRequest>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<\n ICreateOAuthApplicationUserStateResponse,\n IError | IValidationError\n >\n> => {\n return sdk.post<\n ICreateOAuthApplicationUserStateResponse,\n IError | IValidationError\n >('/external_oauth_applications/user_state', null, body, options);\n};\n\n/**\n * ### Get information about all SSH Servers.\n *\n * GET /ssh_servers -> ISshServer[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_ssh_servers = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer[], IError>> => {\n return sdk.get<ISshServer[], IError>(\n '/ssh_servers',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create an SSH Server.\n *\n * POST /ssh_servers -> ISshServer\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSshServer>\n * @param options one-time API call overrides\n *\n */\nexport const create_ssh_server = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSshServer>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer, IError | IValidationError>> => {\n return sdk.post<ISshServer, IError | IValidationError>(\n '/ssh_servers',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about an SSH Server.\n *\n * GET /ssh_server/{ssh_server_id} -> ISshServer\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_server_id Id of SSH Server\n * @param options one-time API call overrides\n *\n */\nexport const ssh_server = async (\n sdk: IAPIMethods,\n ssh_server_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer, IError>> => {\n ssh_server_id = encodeParam(ssh_server_id);\n return sdk.get<ISshServer, IError>(\n `/ssh_server/${ssh_server_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update an SSH Server.\n *\n * PATCH /ssh_server/{ssh_server_id} -> ISshServer\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_server_id Id of SSH Server\n * @param body Partial<IWriteSshServer>\n * @param options one-time API call overrides\n *\n */\nexport const update_ssh_server = async (\n sdk: IAPIMethods,\n ssh_server_id: string,\n body: Partial<IWriteSshServer>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer, IError | IValidationError>> => {\n ssh_server_id = encodeParam(ssh_server_id);\n return sdk.patch<ISshServer, IError | IValidationError>(\n `/ssh_server/${ssh_server_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete an SSH Server.\n *\n * DELETE /ssh_server/{ssh_server_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_server_id Id of SSH Server\n * @param options one-time API call overrides\n *\n */\nexport const delete_ssh_server = async (\n sdk: IAPIMethods,\n ssh_server_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n ssh_server_id = encodeParam(ssh_server_id);\n return sdk.delete<string, IError>(\n `/ssh_server/${ssh_server_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Test the SSH Server\n *\n * GET /ssh_server/{ssh_server_id}/test -> ISshServer\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_server_id Id of SSH Server\n * @param options one-time API call overrides\n *\n */\nexport const test_ssh_server = async (\n sdk: IAPIMethods,\n ssh_server_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshServer, IError>> => {\n ssh_server_id = encodeParam(ssh_server_id);\n return sdk.get<ISshServer, IError>(\n `/ssh_server/${ssh_server_id}/test`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all SSH Tunnels.\n *\n * GET /ssh_tunnels -> ISshTunnel[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_ssh_tunnels = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel[], IError>> => {\n return sdk.get<ISshTunnel[], IError>(\n '/ssh_tunnels',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create an SSH Tunnel\n *\n * POST /ssh_tunnels -> ISshTunnel\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSshTunnel>\n * @param options one-time API call overrides\n *\n */\nexport const create_ssh_tunnel = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSshTunnel>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel, IError | IValidationError>> => {\n return sdk.post<ISshTunnel, IError | IValidationError>(\n '/ssh_tunnels',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about an SSH Tunnel.\n *\n * GET /ssh_tunnel/{ssh_tunnel_id} -> ISshTunnel\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_tunnel_id Id of SSH Tunnel\n * @param options one-time API call overrides\n *\n */\nexport const ssh_tunnel = async (\n sdk: IAPIMethods,\n ssh_tunnel_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel, IError>> => {\n ssh_tunnel_id = encodeParam(ssh_tunnel_id);\n return sdk.get<ISshTunnel, IError>(\n `/ssh_tunnel/${ssh_tunnel_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update an SSH Tunnel\n *\n * PATCH /ssh_tunnel/{ssh_tunnel_id} -> ISshTunnel\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_tunnel_id Id of SSH Tunnel\n * @param body Partial<IWriteSshTunnel>\n * @param options one-time API call overrides\n *\n */\nexport const update_ssh_tunnel = async (\n sdk: IAPIMethods,\n ssh_tunnel_id: string,\n body: Partial<IWriteSshTunnel>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel, IError | IValidationError>> => {\n ssh_tunnel_id = encodeParam(ssh_tunnel_id);\n return sdk.patch<ISshTunnel, IError | IValidationError>(\n `/ssh_tunnel/${ssh_tunnel_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete an SSH Tunnel\n *\n * DELETE /ssh_tunnel/{ssh_tunnel_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_tunnel_id Id of SSH Tunnel\n * @param options one-time API call overrides\n *\n */\nexport const delete_ssh_tunnel = async (\n sdk: IAPIMethods,\n ssh_tunnel_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n ssh_tunnel_id = encodeParam(ssh_tunnel_id);\n return sdk.delete<string, IError>(\n `/ssh_tunnel/${ssh_tunnel_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Test the SSH Tunnel\n *\n * GET /ssh_tunnel/{ssh_tunnel_id}/test -> ISshTunnel\n *\n * @param sdk IAPIMethods implementation\n * @param ssh_tunnel_id Id of SSH Tunnel\n * @param options one-time API call overrides\n *\n */\nexport const test_ssh_tunnel = async (\n sdk: IAPIMethods,\n ssh_tunnel_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshTunnel, IError>> => {\n ssh_tunnel_id = encodeParam(ssh_tunnel_id);\n return sdk.get<ISshTunnel, IError>(\n `/ssh_tunnel/${ssh_tunnel_id}/test`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get the SSH public key\n *\n * Get the public key created for this instance to identify itself to a remote SSH server.\n *\n * GET /ssh_public_key -> ISshPublicKey\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const ssh_public_key = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISshPublicKey, IError>> => {\n return sdk.get<ISshPublicKey, IError>('/ssh_public_key', null, null, options);\n};\n\n//#endregion Connection: Manage Database Connections\n\n//#region Content: Manage Content\n\n/**\n * ### Search Favorite Content\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /content_favorite/search -> IContentFavorite[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchContentFavorites\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_content_favorites = async (\n sdk: IAPIMethods,\n request: IRequestSearchContentFavorites,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentFavorite[], IError>> => {\n return sdk.get<IContentFavorite[], IError>(\n '/content_favorite/search',\n {\n id: request.id,\n user_id: request.user_id,\n content_metadata_id: request.content_metadata_id,\n dashboard_id: request.dashboard_id,\n look_id: request.look_id,\n board_id: request.board_id,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n fields: request.fields,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get favorite content by its id\n *\n * GET /content_favorite/{content_favorite_id} -> IContentFavorite\n *\n * @param sdk IAPIMethods implementation\n * @param content_favorite_id Id of favorite content\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const content_favorite = async (\n sdk: IAPIMethods,\n content_favorite_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentFavorite, IError>> => {\n content_favorite_id = encodeParam(content_favorite_id);\n return sdk.get<IContentFavorite, IError>(\n `/content_favorite/${content_favorite_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Delete favorite content\n *\n * DELETE /content_favorite/{content_favorite_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param content_favorite_id Id of favorite content\n * @param options one-time API call overrides\n *\n */\nexport const delete_content_favorite = async (\n sdk: IAPIMethods,\n content_favorite_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n content_favorite_id = encodeParam(content_favorite_id);\n return sdk.delete<string, IError>(\n `/content_favorite/${content_favorite_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create favorite content\n *\n * POST /content_favorite -> IContentFavorite\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteContentFavorite>\n * @param options one-time API call overrides\n *\n */\nexport const create_content_favorite = async (\n sdk: IAPIMethods,\n body: Partial<IWriteContentFavorite>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentFavorite, IError | IValidationError>> => {\n return sdk.post<IContentFavorite, IError | IValidationError>(\n '/content_favorite',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about all content metadata in a space.\n *\n * GET /content_metadata -> IContentMeta[]\n *\n * @param sdk IAPIMethods implementation\n * @param parent_id Parent space of content.\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_content_metadatas = async (\n sdk: IAPIMethods,\n parent_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMeta[], IError>> => {\n return sdk.get<IContentMeta[], IError>(\n '/content_metadata',\n { parent_id, fields },\n null,\n options\n );\n};\n\n/**\n * ### Get information about an individual content metadata record.\n *\n * GET /content_metadata/{content_metadata_id} -> IContentMeta\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_id Id of content metadata\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const content_metadata = async (\n sdk: IAPIMethods,\n content_metadata_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMeta, IError>> => {\n content_metadata_id = encodeParam(content_metadata_id);\n return sdk.get<IContentMeta, IError>(\n `/content_metadata/${content_metadata_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Move a piece of content.\n *\n * PATCH /content_metadata/{content_metadata_id} -> IContentMeta\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_id Id of content metadata\n * @param body Partial<IWriteContentMeta>\n * @param options one-time API call overrides\n *\n */\nexport const update_content_metadata = async (\n sdk: IAPIMethods,\n content_metadata_id: string,\n body: Partial<IWriteContentMeta>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMeta, IError | IValidationError>> => {\n content_metadata_id = encodeParam(content_metadata_id);\n return sdk.patch<IContentMeta, IError | IValidationError>(\n `/content_metadata/${content_metadata_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### All content metadata access records for a content metadata item.\n *\n * GET /content_metadata_access -> IContentMetaGroupUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_id Id of content metadata\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_content_metadata_accesses = async (\n sdk: IAPIMethods,\n content_metadata_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMetaGroupUser[], IError>> => {\n return sdk.get<IContentMetaGroupUser[], IError>(\n '/content_metadata_access',\n { content_metadata_id, fields },\n null,\n options\n );\n};\n\n/**\n * ### Create content metadata access.\n *\n * POST /content_metadata_access -> IContentMetaGroupUser\n *\n * @param sdk IAPIMethods implementation\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param send_boards_notification_email Optionally sends notification email when granting access to a board.\n * @param options one-time API call overrides\n *\n */\nexport const create_content_metadata_access = async (\n sdk: IAPIMethods,\n body: Partial<IContentMetaGroupUser>,\n send_boards_notification_email?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMetaGroupUser, IError | IValidationError>> => {\n return sdk.post<IContentMetaGroupUser, IError | IValidationError>(\n '/content_metadata_access',\n { send_boards_notification_email },\n body,\n options\n );\n};\n\n/**\n * ### Update type of access for content metadata.\n *\n * PUT /content_metadata_access/{content_metadata_access_id} -> IContentMetaGroupUser\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_access_id Id of content metadata access\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param options one-time API call overrides\n *\n */\nexport const update_content_metadata_access = async (\n sdk: IAPIMethods,\n content_metadata_access_id: string,\n body: Partial<IContentMetaGroupUser>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentMetaGroupUser, IError | IValidationError>> => {\n content_metadata_access_id = encodeParam(content_metadata_access_id);\n return sdk.put<IContentMetaGroupUser, IError | IValidationError>(\n `/content_metadata_access/${content_metadata_access_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Remove content metadata access.\n *\n * DELETE /content_metadata_access/{content_metadata_access_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param content_metadata_access_id Id of content metadata access\n * @param options one-time API call overrides\n *\n */\nexport const delete_content_metadata_access = async (\n sdk: IAPIMethods,\n content_metadata_access_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n content_metadata_access_id = encodeParam(content_metadata_access_id);\n return sdk.delete<string, IError>(\n `/content_metadata_access/${content_metadata_access_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Search across looks, dashboards, and lookml dashboards. The terms field will be matched against the\n * title and description of the content and the closest results are returned. Content that has been frequently\n * viewed and those pieces of content stored in public folders will be ranked more highly in the results.\n *\n * This endpoint does not return a full description of these content types. For more specific information\n * about each type please refer to the individual content specific API endpoints.\n *\n * Get the **full details** of a specific dashboard (or lookml dashboard) by id with [dashboard()](#!/Dashboard/dashboard)\n * Get the **full details** of a specific look by id with [look()](#!/Look/look)\n *\n * GET /content/{terms} -> IContentSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchContent\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_content = async (\n sdk: IAPIMethods,\n request: IRequestSearchContent,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentSearch[], IError>> => {\n request.terms = encodeParam(request.terms);\n return sdk.get<IContentSearch[], IError>(\n `/content/${request.terms}`,\n {\n fields: request.fields,\n types: request.types,\n limit: request.limit,\n offset: request.offset,\n page: request.page,\n per_page: request.per_page,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get Content Summary\n *\n * Retrieves a collection of content items related to user activity and engagement, such as recently viewed content,\n * favorites and scheduled items.\n *\n * GET /content_summary -> IContentSummary[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestContentSummary\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const content_summary = async (\n sdk: IAPIMethods,\n request: IRequestContentSummary,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentSummary[], IError | IValidationError>> => {\n return sdk.get<IContentSummary[], IError | IValidationError>(\n '/content_summary',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n target_group_id: request.target_group_id,\n target_user_id: request.target_user_id,\n target_content_type: request.target_content_type,\n sorts: request.sorts,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get an image representing the contents of a dashboard or look.\n *\n * The returned thumbnail is an abstract representation of the contents of a dashboard or look and does not\n * reflect the actual data displayed in the respective visualizations.\n *\n * GET /content_thumbnail/{type}/{resource_id} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestContentThumbnail\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const content_thumbnail = async (\n sdk: IAPIMethods,\n request: IRequestContentThumbnail,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.type = encodeParam(request.type);\n request.resource_id = encodeParam(request.resource_id);\n return sdk.get<string, IError | IValidationError>(\n `/content_thumbnail/${request.type}/${request.resource_id}`,\n {\n reload: request.reload,\n theme: request.theme,\n format: request.format,\n width: request.width,\n height: request.height,\n },\n null,\n options\n );\n};\n\n/**\n * ### Validate All Content\n *\n * Performs validation of all looks and dashboards\n * Returns a list of errors found as well as metadata about the content validation run.\n *\n * GET /content_validation -> IContentValidation\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestContentValidation\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const content_validation = async (\n sdk: IAPIMethods,\n request: IRequestContentValidation,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentValidation, IError | IValidationError>> => {\n return sdk.get<IContentValidation, IError | IValidationError>(\n '/content_validation',\n {\n fields: request.fields,\n project_names: request.project_names,\n space_ids: request.space_ids,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search Content Views\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /content_view/search -> IContentView[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchContentViews\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_content_views = async (\n sdk: IAPIMethods,\n request: IRequestSearchContentViews,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IContentView[], IError>> => {\n return sdk.get<IContentView[], IError>(\n '/content_view/search',\n {\n view_count: request.view_count,\n group_id: request.group_id,\n look_id: request.look_id,\n dashboard_id: request.dashboard_id,\n content_metadata_id: request.content_metadata_id,\n start_of_week_date: request.start_of_week_date,\n all_time: request.all_time,\n user_id: request.user_id,\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get a vector image representing the contents of a dashboard or look.\n *\n * # DEPRECATED: Use [content_thumbnail()](#!/Content/content_thumbnail)\n *\n * The returned thumbnail is an abstract representation of the contents of a dashboard or look and does not\n * reflect the actual data displayed in the respective visualizations.\n *\n * GET /vector_thumbnail/{type}/{resource_id} -> string\n *\n * @deprecated\n *\n * @param sdk IAPIMethods implementation\n * @param type Either dashboard or look\n * @param resource_id ID of the dashboard or look to render\n * @param reload Whether or not to refresh the rendered image with the latest content\n * @param options one-time API call overrides\n *\n */\nexport const vector_thumbnail = async (\n sdk: IAPIMethods,\n type: string,\n resource_id: string,\n reload?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n type = encodeParam(type);\n resource_id = encodeParam(resource_id);\n return sdk.get<string, IError>(\n `/vector_thumbnail/${type}/${resource_id}`,\n { reload },\n null,\n options\n );\n};\n\n//#endregion Content: Manage Content\n\n//#region Dashboard: Manage Dashboards\n\n/**\n * ### Get information about all active dashboards.\n *\n * Returns an array of **abbreviated dashboard objects**. Dashboards marked as deleted are excluded from this list.\n *\n * Get the **full details** of a specific dashboard by id with [dashboard()](#!/Dashboard/dashboard)\n *\n * Find **deleted dashboards** with [search_dashboards()](#!/Dashboard/search_dashboards)\n *\n * GET /dashboards -> IDashboardBase[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_dashboards = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardBase[], IError>> => {\n return sdk.get<IDashboardBase[], IError>(\n '/dashboards',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a new dashboard\n *\n * Creates a new dashboard object and returns the details of the newly created dashboard.\n *\n * `Title` and `space_id` are required fields.\n * `Space_id` must contain the id of an existing space.\n * A dashboard's `title` must be unique within the space in which it resides.\n *\n * If you receive a 422 error response when creating a dashboard, be sure to look at the\n * response body for information about exactly which fields are missing or contain invalid data.\n *\n * You can **update** an existing dashboard with [update_dashboard()](#!/Dashboard/update_dashboard)\n *\n * You can **permanently delete** an existing dashboard with [delete_dashboard()](#!/Dashboard/delete_dashboard)\n *\n * POST /dashboards -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDashboard>\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDashboard>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n return sdk.post<IDashboard, IError | IValidationError>(\n '/dashboards',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Search Dashboards\n *\n * Returns an array of **user-defined dashboard** objects that match the specified search criteria.\n * Note, [search_dashboards()](#!/Dashboard/search_dashboards) does not return LookML dashboard objects.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * The parameters `limit`, and `offset` are recommended for fetching results in page-size chunks.\n *\n * Get a **single dashboard** by id with [dashboard()](#!/Dashboard/dashboard)\n *\n * GET /dashboards/search -> IDashboard[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchDashboards\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_dashboards = async (\n sdk: IAPIMethods,\n request: IRequestSearchDashboards,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard[], IError>> => {\n return sdk.get<IDashboard[], IError>(\n '/dashboards/search',\n {\n id: request.id,\n slug: request.slug,\n title: request.title,\n description: request.description,\n content_favorite_id: request.content_favorite_id,\n folder_id: request.folder_id,\n deleted: request.deleted,\n user_id: request.user_id,\n view_count: request.view_count,\n content_metadata_id: request.content_metadata_id,\n curate: request.curate,\n last_viewed_at: request.last_viewed_at,\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n not_owned_by: request.not_owned_by,\n },\n null,\n options\n );\n};\n\n/**\n * ### Import a LookML dashboard to a space as a UDD\n * Creates a UDD (a dashboard which exists in the Looker database rather than as a LookML file) from the LookML dashboard\n * and places it in the space specified. The created UDD will have a lookml_link_id which links to the original LookML dashboard.\n *\n * To give the imported dashboard specify a (e.g. title: \"my title\") in the body of your request, otherwise the imported\n * dashboard will have the same title as the original LookML dashboard.\n *\n * For this operation to succeed the user must have permission to see the LookML dashboard in question, and have permission to\n * create content in the space the dashboard is being imported to.\n *\n * **Sync** a linked UDD with [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard)\n * **Unlink** a linked UDD by setting lookml_link_id to null with [update_dashboard()](#!/Dashboard/update_dashboard)\n *\n * POST /dashboards/{lookml_dashboard_id}/import/{space_id} -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_dashboard_id Id of LookML dashboard\n * @param space_id Id of space to import the dashboard to\n * @param body Partial<IWriteDashboard>\n * @param raw_locale If true, and this dashboard is localized, export it with the raw keys, not localized.\n * @param options one-time API call overrides\n *\n */\nexport const import_lookml_dashboard = async (\n sdk: IAPIMethods,\n lookml_dashboard_id: string,\n space_id: string,\n body?: Partial<IWriteDashboard>,\n raw_locale?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n lookml_dashboard_id = encodeParam(lookml_dashboard_id);\n space_id = encodeParam(space_id);\n return sdk.post<IDashboard, IError | IValidationError>(\n `/dashboards/${lookml_dashboard_id}/import/${space_id}`,\n { raw_locale },\n body,\n options\n );\n};\n\n/**\n * ### Update all linked dashboards to match the specified LookML dashboard.\n *\n * Any UDD (a dashboard which exists in the Looker database rather than as a LookML file) which has a `lookml_link_id`\n * property value referring to a LookML dashboard's id (model::dashboardname) will be updated so that it matches the current state of the LookML dashboard.\n *\n * For this operation to succeed the user must have permission to view the LookML dashboard, and only linked dashboards\n * that the user has permission to update will be synced.\n *\n * To **link** or **unlink** a UDD set the `lookml_link_id` property with [update_dashboard()](#!/Dashboard/update_dashboard)\n *\n * PATCH /dashboards/{lookml_dashboard_id}/sync -> number[]\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_dashboard_id Id of LookML dashboard, in the form 'model::dashboardname'\n * @param body Partial<IWriteDashboard>\n * @param raw_locale If true, and this dashboard is localized, export it with the raw keys, not localized.\n * @param options one-time API call overrides\n *\n */\nexport const sync_lookml_dashboard = async (\n sdk: IAPIMethods,\n lookml_dashboard_id: string,\n body: Partial<IWriteDashboard>,\n raw_locale?: boolean,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<number[], IError | IValidationError>> => {\n lookml_dashboard_id = encodeParam(lookml_dashboard_id);\n return sdk.patch<number[], IError | IValidationError>(\n `/dashboards/${lookml_dashboard_id}/sync`,\n { raw_locale },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a dashboard\n *\n * Returns the full details of the identified dashboard object\n *\n * Get a **summary list** of all active dashboards with [all_dashboards()](#!/Dashboard/all_dashboards)\n *\n * You can **Search** for dashboards with [search_dashboards()](#!/Dashboard/search_dashboards)\n *\n * GET /dashboards/{dashboard_id} -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboard, IError>(\n `/dashboards/${dashboard_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a dashboard\n *\n * You can use this function to change the string and integer properties of\n * a dashboard. Nested objects such as filters, dashboard elements, or dashboard layout components\n * cannot be modified by this function - use the update functions for the respective\n * nested object types (like [update_dashboard_filter()](#!/Dashboard/update_dashboard_filter) to change a filter)\n * to modify nested objects referenced by a dashboard.\n *\n * If you receive a 422 error response when updating a dashboard, be sure to look at the\n * response body for information about exactly which fields are missing or contain invalid data.\n *\n * PATCH /dashboards/{dashboard_id} -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param body Partial<IWriteDashboard>\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n body: Partial<IWriteDashboard>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.patch<IDashboard, IError | IValidationError>(\n `/dashboards/${dashboard_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the dashboard with the specified id\n *\n * Permanently **deletes** a dashboard. (The dashboard cannot be recovered after this operation.)\n *\n * \"Soft\" delete or hide a dashboard by setting its `deleted` status to `True` with [update_dashboard()](#!/Dashboard/update_dashboard).\n *\n * Note: When a dashboard is deleted in the UI, it is soft deleted. Use this API call to permanently remove it, if desired.\n *\n * DELETE /dashboards/{dashboard_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param options one-time API call overrides\n *\n */\nexport const delete_dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.delete<string, IError>(\n `/dashboards/${dashboard_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Aggregate Table LookML for Each Query on a Dashboard\n *\n * Returns a JSON object that contains the dashboard id and Aggregate Table lookml\n *\n * GET /dashboards/aggregate_table_lookml/{dashboard_id} -> IDashboardAggregateTableLookml\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_aggregate_table_lookml = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardAggregateTableLookml, IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardAggregateTableLookml, IError>(\n `/dashboards/aggregate_table_lookml/${dashboard_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get lookml of a UDD\n *\n * Returns a JSON object that contains the dashboard id and the full lookml\n *\n * GET /dashboards/lookml/{dashboard_id} -> IDashboardLookml\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_lookml = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLookml, IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardLookml, IError>(\n `/dashboards/lookml/${dashboard_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Move an existing dashboard\n *\n * Moves a dashboard to a specified folder, and returns the moved dashboard.\n *\n * `dashboard_id` and `folder_id` are required.\n * `dashboard_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n *\n * PATCH /dashboards/{dashboard_id}/move -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Dashboard id to move.\n * @param folder_id Folder id to move to.\n * @param options one-time API call overrides\n *\n */\nexport const move_dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n folder_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.patch<IDashboard, IError | IValidationError>(\n `/dashboards/${dashboard_id}/move`,\n { folder_id },\n null,\n options\n );\n};\n\n/**\n * ### Creates a dashboard object based on LookML Dashboard YAML, and returns the details of the newly created dashboard.\n *\n * If a dashboard exists with the YAML-defined \"preferred_slug\", the new dashboard will overwrite it. Otherwise, a new\n * dashboard will be created. Note that when a dashboard is overwritten, alerts will not be maintained.\n *\n * If a folder_id is specified: new dashboards will be placed in that folder, and overwritten dashboards will be moved to it\n * If the folder_id isn't specified: new dashboards will be placed in the caller's personal folder, and overwritten dashboards\n * will remain where they were\n *\n * LookML must contain valid LookML YAML code. It's recommended to use the LookML format returned\n * from [dashboard_lookml()](#!/Dashboard/dashboard_lookml) as the input LookML (newlines replaced with\n * ).\n *\n * Note that the created dashboard is not linked to any LookML Dashboard,\n * i.e. [sync_lookml_dashboard()](#!/Dashboard/sync_lookml_dashboard) will not update dashboards created by this method.\n *\n * POST /dashboards/lookml -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDashboardLookml>\n * @param options one-time API call overrides\n *\n */\nexport const import_dashboard_from_lookml = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDashboardLookml>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n return sdk.post<IDashboard, IError | IValidationError>(\n '/dashboards/lookml',\n null,\n body,\n options\n );\n};\n\n/**\n * # DEPRECATED: Use [import_dashboard_from_lookml()](#!/Dashboard/import_dashboard_from_lookml)\n *\n * POST /dashboards/from_lookml -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDashboardLookml>\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_from_lookml = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDashboardLookml>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n return sdk.post<IDashboard, IError | IValidationError>(\n '/dashboards/from_lookml',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Copy an existing dashboard\n *\n * Creates a copy of an existing dashboard, in a specified folder, and returns the copied dashboard.\n *\n * `dashboard_id` is required, `dashboard_id` and `folder_id` must already exist if specified.\n * `folder_id` will default to the existing folder.\n *\n * If a dashboard with the same title already exists in the target folder, the copy will have '(copy)'\n * or '(copy <# of copies>)' appended.\n *\n * POST /dashboards/{dashboard_id}/copy -> IDashboard\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Dashboard id to copy.\n * @param folder_id Folder id to copy to.\n * @param options one-time API call overrides\n *\n */\nexport const copy_dashboard = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n folder_id?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard, IError | IValidationError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.post<IDashboard, IError | IValidationError>(\n `/dashboards/${dashboard_id}/copy`,\n { folder_id },\n null,\n options\n );\n};\n\n/**\n * ### Search Dashboard Elements\n *\n * Returns an **array of DashboardElement objects** that match the specified search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /dashboard_elements/search -> IDashboardElement[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchDashboardElements\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_dashboard_elements = async (\n sdk: IAPIMethods,\n request: IRequestSearchDashboardElements,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement[], IError>> => {\n return sdk.get<IDashboardElement[], IError>(\n '/dashboard_elements/search',\n {\n dashboard_id: request.dashboard_id,\n look_id: request.look_id,\n title: request.title,\n deleted: request.deleted,\n fields: request.fields,\n filter_or: request.filter_or,\n sorts: request.sorts,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the dashboard element with a specific id.\n *\n * GET /dashboard_elements/{dashboard_element_id} -> IDashboardElement\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_element_id Id of dashboard element\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_element = async (\n sdk: IAPIMethods,\n dashboard_element_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement, IError>> => {\n dashboard_element_id = encodeParam(dashboard_element_id);\n return sdk.get<IDashboardElement, IError>(\n `/dashboard_elements/${dashboard_element_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the dashboard element with a specific id.\n *\n * PATCH /dashboard_elements/{dashboard_element_id} -> IDashboardElement\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_element_id Id of dashboard element\n * @param body Partial<IWriteDashboardElement>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard_element = async (\n sdk: IAPIMethods,\n dashboard_element_id: string,\n body: Partial<IWriteDashboardElement>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement, IError | IValidationError>> => {\n dashboard_element_id = encodeParam(dashboard_element_id);\n return sdk.patch<IDashboardElement, IError | IValidationError>(\n `/dashboard_elements/${dashboard_element_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a dashboard element with a specific id.\n *\n * DELETE /dashboard_elements/{dashboard_element_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_element_id Id of dashboard element\n * @param options one-time API call overrides\n *\n */\nexport const delete_dashboard_element = async (\n sdk: IAPIMethods,\n dashboard_element_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n dashboard_element_id = encodeParam(dashboard_element_id);\n return sdk.delete<string, IError>(\n `/dashboard_elements/${dashboard_element_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all the dashboard elements on a dashboard with a specific id.\n *\n * GET /dashboards/{dashboard_id}/dashboard_elements -> IDashboardElement[]\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_dashboard_elements = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement[], IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardElement[], IError>(\n `/dashboards/${dashboard_id}/dashboard_elements`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a dashboard element on the dashboard with a specific id.\n *\n * POST /dashboard_elements -> IDashboardElement\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestCreateDashboardElement\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_element = async (\n sdk: IAPIMethods,\n request: IRequestCreateDashboardElement,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardElement, IError | IValidationError>> => {\n return sdk.post<IDashboardElement, IError | IValidationError>(\n '/dashboard_elements',\n { fields: request.fields, apply_filters: request.apply_filters },\n request.body,\n options\n );\n};\n\n/**\n * ### Get information about the dashboard filters with a specific id.\n *\n * GET /dashboard_filters/{dashboard_filter_id} -> IDashboardFilter\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_filter_id Id of dashboard filters\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_filter = async (\n sdk: IAPIMethods,\n dashboard_filter_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardFilter, IError>> => {\n dashboard_filter_id = encodeParam(dashboard_filter_id);\n return sdk.get<IDashboardFilter, IError>(\n `/dashboard_filters/${dashboard_filter_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the dashboard filter with a specific id.\n *\n * PATCH /dashboard_filters/{dashboard_filter_id} -> IDashboardFilter\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_filter_id Id of dashboard filter\n * @param body Partial<IWriteDashboardFilter>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard_filter = async (\n sdk: IAPIMethods,\n dashboard_filter_id: string,\n body: Partial<IWriteDashboardFilter>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardFilter, IError | IValidationError>> => {\n dashboard_filter_id = encodeParam(dashboard_filter_id);\n return sdk.patch<IDashboardFilter, IError | IValidationError>(\n `/dashboard_filters/${dashboard_filter_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a dashboard filter with a specific id.\n *\n * DELETE /dashboard_filters/{dashboard_filter_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_filter_id Id of dashboard filter\n * @param options one-time API call overrides\n *\n */\nexport const delete_dashboard_filter = async (\n sdk: IAPIMethods,\n dashboard_filter_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n dashboard_filter_id = encodeParam(dashboard_filter_id);\n return sdk.delete<string, IError>(\n `/dashboard_filters/${dashboard_filter_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all the dashboard filters on a dashboard with a specific id.\n *\n * GET /dashboards/{dashboard_id}/dashboard_filters -> IDashboardFilter[]\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_dashboard_filters = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardFilter[], IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardFilter[], IError>(\n `/dashboards/${dashboard_id}/dashboard_filters`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a dashboard filter on the dashboard with a specific id.\n *\n * POST /dashboard_filters -> IDashboardFilter\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteCreateDashboardFilter>\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_filter = async (\n sdk: IAPIMethods,\n body: Partial<IWriteCreateDashboardFilter>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardFilter, IError | IValidationError>> => {\n return sdk.post<IDashboardFilter, IError | IValidationError>(\n '/dashboard_filters',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about the dashboard elements with a specific id.\n *\n * GET /dashboard_layout_components/{dashboard_layout_component_id} -> IDashboardLayoutComponent\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_component_id Id of dashboard layout component\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_layout_component = async (\n sdk: IAPIMethods,\n dashboard_layout_component_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayoutComponent, IError>> => {\n dashboard_layout_component_id = encodeParam(dashboard_layout_component_id);\n return sdk.get<IDashboardLayoutComponent, IError>(\n `/dashboard_layout_components/${dashboard_layout_component_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the dashboard element with a specific id.\n *\n * PATCH /dashboard_layout_components/{dashboard_layout_component_id} -> IDashboardLayoutComponent\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_component_id Id of dashboard layout component\n * @param body Partial<IWriteDashboardLayoutComponent>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard_layout_component = async (\n sdk: IAPIMethods,\n dashboard_layout_component_id: string,\n body: Partial<IWriteDashboardLayoutComponent>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IDashboardLayoutComponent, IError | IValidationError>\n> => {\n dashboard_layout_component_id = encodeParam(dashboard_layout_component_id);\n return sdk.patch<IDashboardLayoutComponent, IError | IValidationError>(\n `/dashboard_layout_components/${dashboard_layout_component_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about all the dashboard layout components for a dashboard layout with a specific id.\n *\n * GET /dashboard_layouts/{dashboard_layout_id}/dashboard_layout_components -> IDashboardLayoutComponent[]\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_id Id of dashboard layout component\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_layout_dashboard_layout_components = async (\n sdk: IAPIMethods,\n dashboard_layout_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayoutComponent[], IError>> => {\n dashboard_layout_id = encodeParam(dashboard_layout_id);\n return sdk.get<IDashboardLayoutComponent[], IError>(\n `/dashboard_layouts/${dashboard_layout_id}/dashboard_layout_components`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the dashboard layouts with a specific id.\n *\n * GET /dashboard_layouts/{dashboard_layout_id} -> IDashboardLayout\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_id Id of dashboard layouts\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_layout = async (\n sdk: IAPIMethods,\n dashboard_layout_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayout, IError>> => {\n dashboard_layout_id = encodeParam(dashboard_layout_id);\n return sdk.get<IDashboardLayout, IError>(\n `/dashboard_layouts/${dashboard_layout_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the dashboard layout with a specific id.\n *\n * PATCH /dashboard_layouts/{dashboard_layout_id} -> IDashboardLayout\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_id Id of dashboard layout\n * @param body Partial<IWriteDashboardLayout>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_dashboard_layout = async (\n sdk: IAPIMethods,\n dashboard_layout_id: string,\n body: Partial<IWriteDashboardLayout>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayout, IError | IValidationError>> => {\n dashboard_layout_id = encodeParam(dashboard_layout_id);\n return sdk.patch<IDashboardLayout, IError | IValidationError>(\n `/dashboard_layouts/${dashboard_layout_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a dashboard layout with a specific id.\n *\n * DELETE /dashboard_layouts/{dashboard_layout_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_layout_id Id of dashboard layout\n * @param options one-time API call overrides\n *\n */\nexport const delete_dashboard_layout = async (\n sdk: IAPIMethods,\n dashboard_layout_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n dashboard_layout_id = encodeParam(dashboard_layout_id);\n return sdk.delete<string, IError | IValidationError>(\n `/dashboard_layouts/${dashboard_layout_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all the dashboard elements on a dashboard with a specific id.\n *\n * GET /dashboards/{dashboard_id}/dashboard_layouts -> IDashboardLayout[]\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_id Id of dashboard\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const dashboard_dashboard_layouts = async (\n sdk: IAPIMethods,\n dashboard_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayout[], IError>> => {\n dashboard_id = encodeParam(dashboard_id);\n return sdk.get<IDashboardLayout[], IError>(\n `/dashboards/${dashboard_id}/dashboard_layouts`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a dashboard layout on the dashboard with a specific id.\n *\n * POST /dashboard_layouts -> IDashboardLayout\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteDashboardLayout>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_layout = async (\n sdk: IAPIMethods,\n body: Partial<IWriteDashboardLayout>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboardLayout, IError | IValidationError>> => {\n return sdk.post<IDashboardLayout, IError | IValidationError>(\n '/dashboard_layouts',\n { fields },\n body,\n options\n );\n};\n\n//#endregion Dashboard: Manage Dashboards\n\n//#region DataAction: Run Data Actions\n\n/**\n * Perform a data action. The data action object can be obtained from query results, and used to perform an arbitrary action.\n *\n * POST /data_actions -> IDataActionResponse\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IDataActionRequest>\n * @param options one-time API call overrides\n *\n */\nexport const perform_data_action = async (\n sdk: IAPIMethods,\n body: Partial<IDataActionRequest>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDataActionResponse, IError>> => {\n return sdk.post<IDataActionResponse, IError>(\n '/data_actions',\n null,\n body,\n options\n );\n};\n\n/**\n * For some data actions, the remote server may supply a form requesting further user input. This endpoint takes a data action, asks the remote server to generate a form for it, and returns that form to you for presentation to the user.\n *\n * POST /data_actions/form -> IDataActionForm\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IDictionary<string>>\n * @param options one-time API call overrides\n *\n */\nexport const fetch_remote_data_action_form = async (\n sdk: IAPIMethods,\n body: Partial<IDictionary<string>>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDataActionForm, IError | IValidationError>> => {\n return sdk.post<IDataActionForm, IError | IValidationError>(\n '/data_actions/form',\n null,\n body,\n options\n );\n};\n\n//#endregion DataAction: Run Data Actions\n\n//#region Datagroup: Manage Datagroups\n\n/**\n * ### Get information about all datagroups.\n *\n * GET /datagroups -> IDatagroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_datagroups = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDatagroup[], IError>> => {\n return sdk.get<IDatagroup[], IError>('/datagroups', null, null, options);\n};\n\n/**\n * ### Get information about a datagroup.\n *\n * GET /datagroups/{datagroup_id} -> IDatagroup\n *\n * @param sdk IAPIMethods implementation\n * @param datagroup_id ID of datagroup.\n * @param options one-time API call overrides\n *\n */\nexport const datagroup = async (\n sdk: IAPIMethods,\n datagroup_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDatagroup, IError>> => {\n datagroup_id = encodeParam(datagroup_id);\n return sdk.get<IDatagroup, IError>(\n `/datagroups/${datagroup_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Update a datagroup using the specified params.\n *\n * PATCH /datagroups/{datagroup_id} -> IDatagroup\n *\n * @param sdk IAPIMethods implementation\n * @param datagroup_id ID of datagroup.\n * @param body Partial<IWriteDatagroup>\n * @param options one-time API call overrides\n *\n */\nexport const update_datagroup = async (\n sdk: IAPIMethods,\n datagroup_id: string,\n body: Partial<IWriteDatagroup>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDatagroup, IError | IValidationError>> => {\n datagroup_id = encodeParam(datagroup_id);\n return sdk.patch<IDatagroup, IError | IValidationError>(\n `/datagroups/${datagroup_id}`,\n null,\n body,\n options\n );\n};\n\n//#endregion Datagroup: Manage Datagroups\n\n//#region DerivedTable: View Derived Table graphs\n\n/**\n * ### Discover information about derived tables\n *\n * GET /derived_table/graph/model/{model} -> IDependencyGraph\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestGraphDerivedTablesForModel\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const graph_derived_tables_for_model = async (\n sdk: IAPIMethods,\n request: IRequestGraphDerivedTablesForModel,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDependencyGraph, IError>> => {\n request.model = encodeParam(request.model);\n return sdk.get<IDependencyGraph, IError>(\n `/derived_table/graph/model/${request.model}`,\n { format: request.format, color: request.color },\n null,\n options\n );\n};\n\n/**\n * ### Get the subgraph representing this derived table and its dependencies.\n *\n * GET /derived_table/graph/view/{view} -> IDependencyGraph\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestGraphDerivedTablesForView\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const graph_derived_tables_for_view = async (\n sdk: IAPIMethods,\n request: IRequestGraphDerivedTablesForView,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDependencyGraph, IError>> => {\n request.view = encodeParam(request.view);\n return sdk.get<IDependencyGraph, IError>(\n `/derived_table/graph/view/${request.view}`,\n { models: request.models, workspace: request.workspace },\n null,\n options\n );\n};\n\n/**\n * Enqueue materialization for a PDT with the given model name and view name\n *\n * GET /derived_table/{model_name}/{view_name}/start -> IMaterializePDT\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestStartPdtBuild\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const start_pdt_build = async (\n sdk: IAPIMethods,\n request: IRequestStartPdtBuild,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMaterializePDT, IError>> => {\n request.model_name = encodeParam(request.model_name);\n request.view_name = encodeParam(request.view_name);\n return sdk.get<IMaterializePDT, IError>(\n `/derived_table/${request.model_name}/${request.view_name}/start`,\n {\n force_rebuild: request.force_rebuild,\n force_full_incremental: request.force_full_incremental,\n workspace: request.workspace,\n source: request.source,\n },\n null,\n options\n );\n};\n\n/**\n * Check status of PDT materialization\n *\n * GET /derived_table/{materialization_id}/status -> IMaterializePDT\n *\n * @param sdk IAPIMethods implementation\n * @param materialization_id The materialization id to check status for.\n * @param options one-time API call overrides\n *\n */\nexport const check_pdt_build = async (\n sdk: IAPIMethods,\n materialization_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMaterializePDT, IError>> => {\n materialization_id = encodeParam(materialization_id);\n return sdk.get<IMaterializePDT, IError>(\n `/derived_table/${materialization_id}/status`,\n null,\n null,\n options\n );\n};\n\n/**\n * Stop a PDT materialization\n *\n * GET /derived_table/{materialization_id}/stop -> IMaterializePDT\n *\n * @param sdk IAPIMethods implementation\n * @param materialization_id The materialization id to stop.\n * @param source The source of this request.\n * @param options one-time API call overrides\n *\n */\nexport const stop_pdt_build = async (\n sdk: IAPIMethods,\n materialization_id: string,\n source?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMaterializePDT, IError>> => {\n materialization_id = encodeParam(materialization_id);\n return sdk.get<IMaterializePDT, IError>(\n `/derived_table/${materialization_id}/stop`,\n { source },\n null,\n options\n );\n};\n\n//#endregion DerivedTable: View Derived Table graphs\n\n//#region Folder: Manage Folders\n\n/**\n * Search for folders by creator id, parent id, name, etc\n *\n * GET /folders/search -> IFolder[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchFolders\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_folders = async (\n sdk: IAPIMethods,\n request: IRequestSearchFolders,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder[], IError>> => {\n return sdk.get<IFolder[], IError>(\n '/folders/search',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n name: request.name,\n id: request.id,\n parent_id: request.parent_id,\n creator_id: request.creator_id,\n filter_or: request.filter_or,\n is_shared_root: request.is_shared_root,\n is_users_root: request.is_users_root,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the folder with a specific id.\n *\n * GET /folders/{folder_id} -> IFolder\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder, IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<IFolder, IError>(\n `/folders/${folder_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the folder with a specific id.\n *\n * PATCH /folders/{folder_id} -> IFolder\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param body Partial<IUpdateFolder>\n * @param options one-time API call overrides\n *\n */\nexport const update_folder = async (\n sdk: IAPIMethods,\n folder_id: string,\n body: Partial<IUpdateFolder>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder, IError | IValidationError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.patch<IFolder, IError | IValidationError>(\n `/folders/${folder_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the folder with a specific id including any children folders.\n * **DANGER** this will delete all looks and dashboards in the folder.\n *\n * DELETE /folders/{folder_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param options one-time API call overrides\n *\n */\nexport const delete_folder = async (\n sdk: IAPIMethods,\n folder_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.delete<string, IError | IValidationError>(\n `/folders/${folder_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all folders.\n *\n * All personal folders will be returned.\n *\n * GET /folders -> IFolderBase[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_folders = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolderBase[], IError>> => {\n return sdk.get<IFolderBase[], IError>('/folders', { fields }, null, options);\n};\n\n/**\n * ### Create a folder with specified information.\n *\n * Caller must have permission to edit the parent folder and to create folders, otherwise the request\n * returns 404 Not Found.\n *\n * POST /folders -> IFolder\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ICreateFolder>\n * @param options one-time API call overrides\n *\n */\nexport const create_folder = async (\n sdk: IAPIMethods,\n body: Partial<ICreateFolder>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder, IError | IValidationError>> => {\n return sdk.post<IFolder, IError | IValidationError>(\n '/folders',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get the children of a folder.\n *\n * GET /folders/{folder_id}/children -> IFolder[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestFolderChildren\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const folder_children = async (\n sdk: IAPIMethods,\n request: IRequestFolderChildren,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder[], IError>> => {\n request.folder_id = encodeParam(request.folder_id);\n return sdk.get<IFolder[], IError>(\n `/folders/${request.folder_id}/children`,\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search the children of a folder\n *\n * GET /folders/{folder_id}/children/search -> IFolder[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestFolderChildrenSearch\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const folder_children_search = async (\n sdk: IAPIMethods,\n request: IRequestFolderChildrenSearch,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder[], IError>> => {\n request.folder_id = encodeParam(request.folder_id);\n return sdk.get<IFolder[], IError>(\n `/folders/${request.folder_id}/children/search`,\n { fields: request.fields, sorts: request.sorts, name: request.name },\n null,\n options\n );\n};\n\n/**\n * ### Get the parent of a folder\n *\n * GET /folders/{folder_id}/parent -> IFolder\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder_parent = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder, IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<IFolder, IError>(\n `/folders/${folder_id}/parent`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the ancestors of a folder\n *\n * GET /folders/{folder_id}/ancestors -> IFolder[]\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder_ancestors = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IFolder[], IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<IFolder[], IError>(\n `/folders/${folder_id}/ancestors`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get all looks in a folder.\n * In API 4.0+, all looks in a folder will be returned, excluding looks in the trash.\n *\n * GET /folders/{folder_id}/looks -> ILookWithQuery[]\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder_looks = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery[], IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<ILookWithQuery[], IError>(\n `/folders/${folder_id}/looks`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the dashboards in a folder\n *\n * GET /folders/{folder_id}/dashboards -> IDashboard[]\n *\n * @param sdk IAPIMethods implementation\n * @param folder_id Id of folder\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const folder_dashboards = async (\n sdk: IAPIMethods,\n folder_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDashboard[], IError>> => {\n folder_id = encodeParam(folder_id);\n return sdk.get<IDashboard[], IError>(\n `/folders/${folder_id}/dashboards`,\n { fields },\n null,\n options\n );\n};\n\n//#endregion Folder: Manage Folders\n\n//#region Group: Manage Groups\n\n/**\n * ### Get information about all groups.\n *\n * GET /groups -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllGroups\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_groups = async (\n sdk: IAPIMethods,\n request: IRequestAllGroups,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError>> => {\n return sdk.get<IGroup[], IError>(\n '/groups',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n ids: request.ids,\n content_metadata_id: request.content_metadata_id,\n can_add_to_content_metadata: request.can_add_to_content_metadata,\n },\n null,\n options\n );\n};\n\n/**\n * ### Creates a new group (admin only).\n *\n * POST /groups -> IGroup\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteGroup>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_group = async (\n sdk: IAPIMethods,\n body: Partial<IWriteGroup>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup, IError | IValidationError>> => {\n return sdk.post<IGroup, IError | IValidationError>(\n '/groups',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Search groups\n *\n * Returns all group records that match the given search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /groups/search -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchGroups\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_groups = async (\n sdk: IAPIMethods,\n request: IRequestSearchGroups,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError>> => {\n return sdk.get<IGroup[], IError>(\n '/groups/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n id: request.id,\n name: request.name,\n external_group_id: request.external_group_id,\n externally_managed: request.externally_managed,\n externally_orphaned: request.externally_orphaned,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search groups include roles\n *\n * Returns all group records that match the given search criteria, and attaches any associated roles.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /groups/search/with_roles -> IGroupSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchGroupsWithRoles\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_groups_with_roles = async (\n sdk: IAPIMethods,\n request: IRequestSearchGroupsWithRoles,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroupSearch[], IError>> => {\n return sdk.get<IGroupSearch[], IError>(\n '/groups/search/with_roles',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n id: request.id,\n name: request.name,\n external_group_id: request.external_group_id,\n externally_managed: request.externally_managed,\n externally_orphaned: request.externally_orphaned,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search groups include hierarchy\n *\n * Returns all group records that match the given search criteria, and attaches\n * associated role_ids and parent group_ids.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /groups/search/with_hierarchy -> IGroupHierarchy[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchGroupsWithHierarchy\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_groups_with_hierarchy = async (\n sdk: IAPIMethods,\n request: IRequestSearchGroupsWithHierarchy,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroupHierarchy[], IError>> => {\n return sdk.get<IGroupHierarchy[], IError>(\n '/groups/search/with_hierarchy',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n id: request.id,\n name: request.name,\n external_group_id: request.external_group_id,\n externally_managed: request.externally_managed,\n externally_orphaned: request.externally_orphaned,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about a group.\n *\n * GET /groups/{group_id} -> IGroup\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const group = async (\n sdk: IAPIMethods,\n group_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup, IError>> => {\n group_id = encodeParam(group_id);\n return sdk.get<IGroup, IError>(\n `/groups/${group_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Updates the a group (admin only).\n *\n * PATCH /groups/{group_id} -> IGroup\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param body Partial<IWriteGroup>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_group = async (\n sdk: IAPIMethods,\n group_id: string,\n body: Partial<IWriteGroup>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup, IError | IValidationError>> => {\n group_id = encodeParam(group_id);\n return sdk.patch<IGroup, IError | IValidationError>(\n `/groups/${group_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Deletes a group (admin only).\n *\n * DELETE /groups/{group_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param options one-time API call overrides\n *\n */\nexport const delete_group = async (\n sdk: IAPIMethods,\n group_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n group_id = encodeParam(group_id);\n return sdk.delete<string, IError>(`/groups/${group_id}`, null, null, options);\n};\n\n/**\n * ### Get information about all the groups in a group\n *\n * GET /groups/{group_id}/groups -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_group_groups = async (\n sdk: IAPIMethods,\n group_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError>> => {\n group_id = encodeParam(group_id);\n return sdk.get<IGroup[], IError>(\n `/groups/${group_id}/groups`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Adds a new group to a group.\n *\n * POST /groups/{group_id}/groups -> IGroup\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param options one-time API call overrides\n *\n */\nexport const add_group_group = async (\n sdk: IAPIMethods,\n group_id: string,\n body: Partial<IGroupIdForGroupInclusion>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup, IError>> => {\n group_id = encodeParam(group_id);\n return sdk.post<IGroup, IError>(\n `/groups/${group_id}/groups`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about all the users directly included in a group.\n *\n * GET /groups/{group_id}/users -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllGroupUsers\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_group_users = async (\n sdk: IAPIMethods,\n request: IRequestAllGroupUsers,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n request.group_id = encodeParam(request.group_id);\n return sdk.get<IUser[], IError>(\n `/groups/${request.group_id}/users`,\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n },\n null,\n options\n );\n};\n\n/**\n * ### Adds a new user to a group.\n *\n * POST /groups/{group_id}/users -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param options one-time API call overrides\n *\n */\nexport const add_group_user = async (\n sdk: IAPIMethods,\n group_id: string,\n body: Partial<IGroupIdForGroupUserInclusion>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError>> => {\n group_id = encodeParam(group_id);\n return sdk.post<IUser, IError>(\n `/groups/${group_id}/users`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Removes a user from a group.\n *\n * DELETE /groups/{group_id}/users/{user_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param user_id Id of user to remove from group\n * @param options one-time API call overrides\n *\n */\nexport const delete_group_user = async (\n sdk: IAPIMethods,\n group_id: string,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n group_id = encodeParam(group_id);\n user_id = encodeParam(user_id);\n return sdk.delete<void, IError>(\n `/groups/${group_id}/users/${user_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Removes a group from a group.\n *\n * DELETE /groups/{group_id}/groups/{deleting_group_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param deleting_group_id Id of group to delete\n * @param options one-time API call overrides\n *\n */\nexport const delete_group_from_group = async (\n sdk: IAPIMethods,\n group_id: string,\n deleting_group_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n group_id = encodeParam(group_id);\n deleting_group_id = encodeParam(deleting_group_id);\n return sdk.delete<void, IError>(\n `/groups/${group_id}/groups/${deleting_group_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Set the value of a user attribute for a group.\n *\n * For information about how user attribute values are calculated, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n *\n * PATCH /groups/{group_id}/attribute_values/{user_attribute_id} -> IUserAttributeGroupValue\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param user_attribute_id Id of user attribute\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param options one-time API call overrides\n *\n */\nexport const update_user_attribute_group_value = async (\n sdk: IAPIMethods,\n group_id: string,\n user_attribute_id: string,\n body: Partial<IUserAttributeGroupValue>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IUserAttributeGroupValue, IError | IValidationError>\n> => {\n group_id = encodeParam(group_id);\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.patch<IUserAttributeGroupValue, IError | IValidationError>(\n `/groups/${group_id}/attribute_values/${user_attribute_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Remove a user attribute value from a group.\n *\n * DELETE /groups/{group_id}/attribute_values/{user_attribute_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param group_id Id of group\n * @param user_attribute_id Id of user attribute\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_attribute_group_value = async (\n sdk: IAPIMethods,\n group_id: string,\n user_attribute_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n group_id = encodeParam(group_id);\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.delete<void, IError>(\n `/groups/${group_id}/attribute_values/${user_attribute_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Group: Manage Groups\n\n//#region Homepage: Manage Homepage\n\n/**\n * ### Get information about the primary homepage's sections.\n *\n * GET /primary_homepage_sections -> IHomepageSection[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_primary_homepage_sections = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IHomepageSection[], IError>> => {\n return sdk.get<IHomepageSection[], IError>(\n '/primary_homepage_sections',\n { fields },\n null,\n options\n );\n};\n\n//#endregion Homepage: Manage Homepage\n\n//#region Integration: Manage Integrations\n\n/**\n * ### Get information about all Integration Hubs.\n *\n * GET /integration_hubs -> IIntegrationHub[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_integration_hubs = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub[], IError>> => {\n return sdk.get<IIntegrationHub[], IError>(\n '/integration_hubs',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a new Integration Hub.\n *\n * This API is rate limited to prevent it from being used for SSRF attacks\n *\n * POST /integration_hubs -> IIntegrationHub\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteIntegrationHub>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_integration_hub = async (\n sdk: IAPIMethods,\n body: Partial<IWriteIntegrationHub>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub, IError | IValidationError>> => {\n return sdk.post<IIntegrationHub, IError | IValidationError>(\n '/integration_hubs',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a Integration Hub.\n *\n * GET /integration_hubs/{integration_hub_id} -> IIntegrationHub\n *\n * @param sdk IAPIMethods implementation\n * @param integration_hub_id Id of integration_hub\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const integration_hub = async (\n sdk: IAPIMethods,\n integration_hub_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub, IError>> => {\n integration_hub_id = encodeParam(integration_hub_id);\n return sdk.get<IIntegrationHub, IError>(\n `/integration_hubs/${integration_hub_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a Integration Hub definition.\n *\n * This API is rate limited to prevent it from being used for SSRF attacks\n *\n * PATCH /integration_hubs/{integration_hub_id} -> IIntegrationHub\n *\n * @param sdk IAPIMethods implementation\n * @param integration_hub_id Id of integration_hub\n * @param body Partial<IWriteIntegrationHub>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_integration_hub = async (\n sdk: IAPIMethods,\n integration_hub_id: string,\n body: Partial<IWriteIntegrationHub>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub, IError | IValidationError>> => {\n integration_hub_id = encodeParam(integration_hub_id);\n return sdk.patch<IIntegrationHub, IError | IValidationError>(\n `/integration_hubs/${integration_hub_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a Integration Hub.\n *\n * DELETE /integration_hubs/{integration_hub_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param integration_hub_id Id of integration_hub\n * @param options one-time API call overrides\n *\n */\nexport const delete_integration_hub = async (\n sdk: IAPIMethods,\n integration_hub_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n integration_hub_id = encodeParam(integration_hub_id);\n return sdk.delete<string, IError>(\n `/integration_hubs/${integration_hub_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * 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.\n *\n * POST /integration_hubs/{integration_hub_id}/accept_legal_agreement -> IIntegrationHub\n *\n * @param sdk IAPIMethods implementation\n * @param integration_hub_id Id of integration_hub\n * @param options one-time API call overrides\n *\n */\nexport const accept_integration_hub_legal_agreement = async (\n sdk: IAPIMethods,\n integration_hub_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationHub, IError | IValidationError>> => {\n integration_hub_id = encodeParam(integration_hub_id);\n return sdk.post<IIntegrationHub, IError | IValidationError>(\n `/integration_hubs/${integration_hub_id}/accept_legal_agreement`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all Integrations.\n *\n * GET /integrations -> IIntegration[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllIntegrations\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_integrations = async (\n sdk: IAPIMethods,\n request: IRequestAllIntegrations,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegration[], IError>> => {\n return sdk.get<IIntegration[], IError>(\n '/integrations',\n { fields: request.fields, integration_hub_id: request.integration_hub_id },\n null,\n options\n );\n};\n\n/**\n * ### Get information about a Integration.\n *\n * GET /integrations/{integration_id} -> IIntegration\n *\n * @param sdk IAPIMethods implementation\n * @param integration_id Id of integration\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const integration = async (\n sdk: IAPIMethods,\n integration_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegration, IError>> => {\n integration_id = encodeParam(integration_id);\n return sdk.get<IIntegration, IError>(\n `/integrations/${integration_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update parameters on a Integration.\n *\n * PATCH /integrations/{integration_id} -> IIntegration\n *\n * @param sdk IAPIMethods implementation\n * @param integration_id Id of integration\n * @param body Partial<IWriteIntegration>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_integration = async (\n sdk: IAPIMethods,\n integration_id: string,\n body: Partial<IWriteIntegration>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegration, IError | IValidationError>> => {\n integration_id = encodeParam(integration_id);\n return sdk.patch<IIntegration, IError | IValidationError>(\n `/integrations/${integration_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * Returns the Integration form for presentation to the user.\n *\n * POST /integrations/{integration_id}/form -> IDataActionForm\n *\n * @param sdk IAPIMethods implementation\n * @param integration_id Id of integration\n * @param body Partial<IDictionary<string>>\n * @param options one-time API call overrides\n *\n */\nexport const fetch_integration_form = async (\n sdk: IAPIMethods,\n integration_id: string,\n body?: Partial<IDictionary<string>>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDataActionForm, IError | IValidationError>> => {\n integration_id = encodeParam(integration_id);\n return sdk.post<IDataActionForm, IError | IValidationError>(\n `/integrations/${integration_id}/form`,\n null,\n body,\n options\n );\n};\n\n/**\n * Tests the integration to make sure all the settings are working.\n *\n * POST /integrations/{integration_id}/test -> IIntegrationTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param integration_id Id of integration\n * @param options one-time API call overrides\n *\n */\nexport const test_integration = async (\n sdk: IAPIMethods,\n integration_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IIntegrationTestResult, IError | IValidationError>> => {\n integration_id = encodeParam(integration_id);\n return sdk.post<IIntegrationTestResult, IError | IValidationError>(\n `/integrations/${integration_id}/test`,\n null,\n null,\n options\n );\n};\n\n//#endregion Integration: Manage Integrations\n\n//#region Look: Run and Manage Looks\n\n/**\n * ### Get information about all active Looks\n *\n * Returns an array of **abbreviated Look objects** describing all the looks that the caller has access to. Soft-deleted Looks are **not** included.\n *\n * Get the **full details** of a specific look by id with [look(id)](#!/Look/look)\n *\n * Find **soft-deleted looks** with [search_looks()](#!/Look/search_looks)\n *\n * GET /looks -> ILook[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_looks = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILook[], IError>> => {\n return sdk.get<ILook[], IError>('/looks', { fields }, null, options);\n};\n\n/**\n * ### Create a Look\n *\n * To create a look to display query data, first create the query with [create_query()](#!/Query/create_query)\n * then assign the query's id to the `query_id` property in the call to `create_look()`.\n *\n * To place the look into a particular space, assign the space's id to the `space_id` property\n * in the call to `create_look()`.\n *\n * POST /looks -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLookWithQuery>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_look = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLookWithQuery>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError | IValidationError>> => {\n return sdk.post<ILookWithQuery, IError | IValidationError>(\n '/looks',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Search Looks\n *\n * Returns an **array of Look objects** that match the specified search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * Get a **single look** by id with [look(id)](#!/Look/look)\n *\n * GET /looks/search -> ILook[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchLooks\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_looks = async (\n sdk: IAPIMethods,\n request: IRequestSearchLooks,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILook[], IError>> => {\n return sdk.get<ILook[], IError>(\n '/looks/search',\n {\n id: request.id,\n title: request.title,\n description: request.description,\n content_favorite_id: request.content_favorite_id,\n folder_id: request.folder_id,\n user_id: request.user_id,\n view_count: request.view_count,\n deleted: request.deleted,\n query_id: request.query_id,\n curate: request.curate,\n last_viewed_at: request.last_viewed_at,\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get a Look.\n *\n * Returns detailed information about a Look and its associated Query.\n *\n * GET /looks/{look_id} -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Id of look\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const look = async (\n sdk: IAPIMethods,\n look_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError>> => {\n look_id = encodeParam(look_id);\n return sdk.get<ILookWithQuery, IError>(\n `/looks/${look_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Modify a Look\n *\n * Use this function to modify parts of a look. Property values given in a call to `update_look` are\n * applied to the existing look, so there's no need to include properties whose values are not changing.\n * It's best to specify only the properties you want to change and leave everything else out\n * of your `update_look` call. **Look properties marked 'read-only' will be ignored.**\n *\n * When a user deletes a look in the Looker UI, the look data remains in the database but is\n * marked with a deleted flag (\"soft-deleted\"). Soft-deleted looks can be undeleted (by an admin)\n * if the delete was in error.\n *\n * To soft-delete a look via the API, use [update_look()](#!/Look/update_look) to change the look's `deleted` property to `true`.\n * You can undelete a look by calling `update_look` to change the look's `deleted` property to `false`.\n *\n * Soft-deleted looks are excluded from the results of [all_looks()](#!/Look/all_looks) and [search_looks()](#!/Look/search_looks), so they\n * essentially disappear from view even though they still reside in the db.\n * You can pass `deleted: true` as a parameter to [search_looks()](#!/Look/search_looks) to list soft-deleted looks.\n *\n * NOTE: [delete_look()](#!/Look/delete_look) performs a \"hard delete\" - the look data is removed from the Looker\n * database and destroyed. There is no \"undo\" for `delete_look()`.\n *\n * PATCH /looks/{look_id} -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Id of look\n * @param body Partial<IWriteLookWithQuery>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_look = async (\n sdk: IAPIMethods,\n look_id: string,\n body: Partial<IWriteLookWithQuery>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError | IValidationError>> => {\n look_id = encodeParam(look_id);\n return sdk.patch<ILookWithQuery, IError | IValidationError>(\n `/looks/${look_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Permanently Delete a Look\n *\n * This operation **permanently** removes a look from the Looker database.\n *\n * NOTE: There is no \"undo\" for this kind of delete.\n *\n * For information about soft-delete (which can be undone) see [update_look()](#!/Look/update_look).\n *\n * DELETE /looks/{look_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Id of look\n * @param options one-time API call overrides\n *\n */\nexport const delete_look = async (\n sdk: IAPIMethods,\n look_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n look_id = encodeParam(look_id);\n return sdk.delete<string, IError>(`/looks/${look_id}`, null, null, options);\n};\n\n/**\n * ### Run a Look\n *\n * Runs a given look's query and returns the results in the requested format.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json | Plain json\n * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema\n * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | md | Simple markdown\n * | xlsx | MS Excel spreadsheet\n * | sql | Returns the generated SQL rather than running the query\n * | png | A PNG image of the visualization of the query\n * | jpg | A JPG image of the visualization of the query\n *\n * GET /looks/{look_id}/run/{result_format} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunLook\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_look = async (\n sdk: IAPIMethods,\n request: IRequestRunLook,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.look_id = encodeParam(request.look_id);\n request.result_format = encodeParam(request.result_format);\n return sdk.get<string, IError | IValidationError>(\n `/looks/${request.look_id}/run/${request.result_format}`,\n {\n limit: request.limit,\n apply_formatting: request.apply_formatting,\n apply_vis: request.apply_vis,\n cache: request.cache,\n image_width: request.image_width,\n image_height: request.image_height,\n generate_drill_links: request.generate_drill_links,\n force_production: request.force_production,\n cache_only: request.cache_only,\n path_prefix: request.path_prefix,\n rebuild_pdts: request.rebuild_pdts,\n server_table_calcs: request.server_table_calcs,\n },\n null,\n options\n );\n};\n\n/**\n * ### Copy an existing look\n *\n * Creates a copy of an existing look, in a specified folder, and returns the copied look.\n *\n * `look_id` and `folder_id` are required.\n *\n * `look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n *\n * POST /looks/{look_id}/copy -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Look id to copy.\n * @param folder_id Folder id to copy to.\n * @param options one-time API call overrides\n *\n */\nexport const copy_look = async (\n sdk: IAPIMethods,\n look_id: string,\n folder_id?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError | IValidationError>> => {\n look_id = encodeParam(look_id);\n return sdk.post<ILookWithQuery, IError | IValidationError>(\n `/looks/${look_id}/copy`,\n { folder_id },\n null,\n options\n );\n};\n\n/**\n * ### Move an existing look\n *\n * Moves a look to a specified folder, and returns the moved look.\n *\n * `look_id` and `folder_id` are required.\n * `look_id` and `folder_id` must already exist, and `folder_id` must be different from the current `folder_id` of the dashboard.\n *\n * PATCH /looks/{look_id}/move -> ILookWithQuery\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Look id to move.\n * @param folder_id Folder id to move to.\n * @param options one-time API call overrides\n *\n */\nexport const move_look = async (\n sdk: IAPIMethods,\n look_id: string,\n folder_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookWithQuery, IError | IValidationError>> => {\n look_id = encodeParam(look_id);\n return sdk.patch<ILookWithQuery, IError | IValidationError>(\n `/looks/${look_id}/move`,\n { folder_id },\n null,\n options\n );\n};\n\n//#endregion Look: Run and Manage Looks\n\n//#region LookmlModel: Manage LookML Models\n\n/**\n * ### Get information about all lookml models.\n *\n * GET /lookml_models -> ILookmlModel[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllLookmlModels\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_lookml_models = async (\n sdk: IAPIMethods,\n request: IRequestAllLookmlModels,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModel[], IError>> => {\n return sdk.get<ILookmlModel[], IError>(\n '/lookml_models',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n exclude_empty: request.exclude_empty,\n exclude_hidden: request.exclude_hidden,\n include_internal: request.include_internal,\n },\n null,\n options\n );\n};\n\n/**\n * ### Create a lookml model using the specified configuration.\n *\n * POST /lookml_models -> ILookmlModel\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteLookmlModel>\n * @param options one-time API call overrides\n *\n */\nexport const create_lookml_model = async (\n sdk: IAPIMethods,\n body: Partial<IWriteLookmlModel>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModel, IError | IValidationError>> => {\n return sdk.post<ILookmlModel, IError | IValidationError>(\n '/lookml_models',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about a lookml model.\n *\n * GET /lookml_models/{lookml_model_name} -> ILookmlModel\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_model_name Name of lookml model.\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const lookml_model = async (\n sdk: IAPIMethods,\n lookml_model_name: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModel, IError>> => {\n lookml_model_name = encodeParam(lookml_model_name);\n return sdk.get<ILookmlModel, IError>(\n `/lookml_models/${lookml_model_name}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a lookml model using the specified configuration.\n *\n * PATCH /lookml_models/{lookml_model_name} -> ILookmlModel\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_model_name Name of lookml model.\n * @param body Partial<IWriteLookmlModel>\n * @param options one-time API call overrides\n *\n */\nexport const update_lookml_model = async (\n sdk: IAPIMethods,\n lookml_model_name: string,\n body: Partial<IWriteLookmlModel>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModel, IError | IValidationError>> => {\n lookml_model_name = encodeParam(lookml_model_name);\n return sdk.patch<ILookmlModel, IError | IValidationError>(\n `/lookml_models/${lookml_model_name}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a lookml model.\n *\n * DELETE /lookml_models/{lookml_model_name} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param lookml_model_name Name of lookml model.\n * @param options one-time API call overrides\n *\n */\nexport const delete_lookml_model = async (\n sdk: IAPIMethods,\n lookml_model_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n lookml_model_name = encodeParam(lookml_model_name);\n return sdk.delete<string, IError>(\n `/lookml_models/${lookml_model_name}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about a lookml model explore.\n *\n * GET /lookml_models/{lookml_model_name}/explores/{explore_name} -> ILookmlModelExplore\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestLookmlModelExplore\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const lookml_model_explore = async (\n sdk: IAPIMethods,\n request: IRequestLookmlModelExplore,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlModelExplore, IError>> => {\n request.lookml_model_name = encodeParam(request.lookml_model_name);\n request.explore_name = encodeParam(request.explore_name);\n return sdk.get<ILookmlModelExplore, IError>(\n `/lookml_models/${request.lookml_model_name}/explores/${request.explore_name}`,\n {\n fields: request.fields,\n add_drills_metadata: request.add_drills_metadata,\n },\n null,\n options\n );\n};\n\n//#endregion LookmlModel: Manage LookML Models\n\n//#region Metadata: Connection Metadata Features\n\n/**\n * ### Field name suggestions for a model and view\n *\n * `filters` is a string hash of values, with the key as the field name and the string value as the filter expression:\n *\n * ```ruby\n * {'users.age': '>=60'}\n * ```\n *\n * or\n *\n * ```ruby\n * {'users.age': '<30'}\n * ```\n *\n * or\n *\n * ```ruby\n * {'users.age': '=50'}\n * ```\n *\n * GET /models/{model_name}/views/{view_name}/fields/{field_name}/suggestions -> IModelFieldSuggestions\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestModelFieldnameSuggestions\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const model_fieldname_suggestions = async (\n sdk: IAPIMethods,\n request: IRequestModelFieldnameSuggestions,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelFieldSuggestions, IError>> => {\n request.model_name = encodeParam(request.model_name);\n request.view_name = encodeParam(request.view_name);\n request.field_name = encodeParam(request.field_name);\n return sdk.get<IModelFieldSuggestions, IError>(\n `/models/${request.model_name}/views/${request.view_name}/fields/${request.field_name}/suggestions`,\n { term: request.term, filters: request.filters },\n null,\n options\n );\n};\n\n/**\n * ### Get a single model\n *\n * GET /models/{model_name} -> IModel\n *\n * @param sdk IAPIMethods implementation\n * @param model_name Name of model\n * @param options one-time API call overrides\n *\n */\nexport const get_model = async (\n sdk: IAPIMethods,\n model_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModel, IError>> => {\n model_name = encodeParam(model_name);\n return sdk.get<IModel, IError>(`/models/${model_name}`, null, null, options);\n};\n\n/**\n * ### List databases available to this connection\n *\n * Certain dialects can support multiple databases per single connection.\n * If this connection supports multiple databases, the database names will be returned in an array.\n *\n * Connections using dialects that do not support multiple databases will return an empty array.\n *\n * **Note**: [Connection Features](#!/Metadata/connection_features) can be used to determine if a connection supports\n * multiple databases.\n *\n * GET /connections/{connection_name}/databases -> string[]\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param options one-time API call overrides\n *\n */\nexport const connection_databases = async (\n sdk: IAPIMethods,\n connection_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string[], IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.get<string[], IError | IValidationError>(\n `/connections/${connection_name}/databases`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Retrieve metadata features for this connection\n *\n * Returns a list of feature names with `true` (available) or `false` (not available)\n *\n * GET /connections/{connection_name}/features -> IConnectionFeatures\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const connection_features = async (\n sdk: IAPIMethods,\n connection_name: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IConnectionFeatures, IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.get<IConnectionFeatures, IError | IValidationError>(\n `/connections/${connection_name}/features`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the list of schemas and tables for a connection\n *\n * GET /connections/{connection_name}/schemas -> ISchema[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestConnectionSchemas\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const connection_schemas = async (\n sdk: IAPIMethods,\n request: IRequestConnectionSchemas,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISchema[], IError | IValidationError>> => {\n request.connection_name = encodeParam(request.connection_name);\n return sdk.get<ISchema[], IError | IValidationError>(\n `/connections/${request.connection_name}/schemas`,\n {\n database: request.database,\n cache: request.cache,\n fields: request.fields,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get the list of tables for a schema\n *\n * For dialects that support multiple databases, optionally identify which to use. If not provided, the default\n * database for the connection will be used.\n *\n * For dialects that do **not** support multiple databases, **do not use** the database parameter\n *\n * GET /connections/{connection_name}/tables -> ISchemaTables[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestConnectionTables\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const connection_tables = async (\n sdk: IAPIMethods,\n request: IRequestConnectionTables,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISchemaTables[], IError | IValidationError>> => {\n request.connection_name = encodeParam(request.connection_name);\n return sdk.get<ISchemaTables[], IError | IValidationError>(\n `/connections/${request.connection_name}/tables`,\n {\n database: request.database,\n schema_name: request.schema_name,\n cache: request.cache,\n fields: request.fields,\n table_filter: request.table_filter,\n table_limit: request.table_limit,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get the columns (and therefore also the tables) in a specific schema\n *\n * GET /connections/{connection_name}/columns -> ISchemaColumns[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestConnectionColumns\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const connection_columns = async (\n sdk: IAPIMethods,\n request: IRequestConnectionColumns,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISchemaColumns[], IError | IValidationError>> => {\n request.connection_name = encodeParam(request.connection_name);\n return sdk.get<ISchemaColumns[], IError | IValidationError>(\n `/connections/${request.connection_name}/columns`,\n {\n database: request.database,\n schema_name: request.schema_name,\n cache: request.cache,\n table_limit: request.table_limit,\n table_names: request.table_names,\n fields: request.fields,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search a connection for columns matching the specified name\n *\n * **Note**: `column_name` must be a valid column name. It is not a search pattern.\n *\n * GET /connections/{connection_name}/search_columns -> IColumnSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestConnectionSearchColumns\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const connection_search_columns = async (\n sdk: IAPIMethods,\n request: IRequestConnectionSearchColumns,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IColumnSearch[], IError | IValidationError>> => {\n request.connection_name = encodeParam(request.connection_name);\n return sdk.get<IColumnSearch[], IError | IValidationError>(\n `/connections/${request.connection_name}/search_columns`,\n { column_name: request.column_name, fields: request.fields },\n null,\n options\n );\n};\n\n/**\n * ### Connection cost estimating\n *\n * Assign a `sql` statement to the body of the request. e.g., for Ruby, `{sql: 'select * from users'}`\n *\n * **Note**: If the connection's dialect has no support for cost estimates, an error will be returned\n *\n * POST /connections/{connection_name}/cost_estimate -> ICostEstimate\n *\n * @param sdk IAPIMethods implementation\n * @param connection_name Name of connection\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const connection_cost_estimate = async (\n sdk: IAPIMethods,\n connection_name: string,\n body: Partial<ICreateCostEstimate>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICostEstimate, IError | IValidationError>> => {\n connection_name = encodeParam(connection_name);\n return sdk.post<ICostEstimate, IError | IValidationError>(\n `/connections/${connection_name}/cost_estimate`,\n { fields },\n body,\n options\n );\n};\n\n//#endregion Metadata: Connection Metadata Features\n\n//#region Project: Manage Projects\n\n/**\n * ### Generate Lockfile for All LookML Dependencies\n *\n * Git must have been configured, must be in dev mode and deploy permission required\n *\n * Install_all is a two step process\n * 1. For each remote_dependency in a project the dependency manager will resolve any ambiguous ref.\n * 2. The project will then write out a lockfile including each remote_dependency with its resolved ref.\n *\n * POST /projects/{project_id}/manifest/lock_all -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Id of project\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const lock_all = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/manifest/lock_all`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get All Git Branches\n *\n * Returns a list of git branches in the project repository\n *\n * GET /projects/{project_id}/git_branches -> IGitBranch[]\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const all_git_branches = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch[], IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IGitBranch[], IError>(\n `/projects/${project_id}/git_branches`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get the Current Git Branch\n *\n * Returns the git branch currently checked out in the given project repository\n *\n * GET /projects/{project_id}/git_branch -> IGitBranch\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IGitBranch, IError>(\n `/projects/${project_id}/git_branch`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Checkout and/or reset --hard an existing Git Branch\n *\n * Only allowed in development mode\n * - Call `update_session` to select the 'dev' workspace.\n *\n * Checkout an existing branch if name field is different from the name of the currently checked out branch.\n *\n * Optionally specify a branch name, tag name or commit SHA to which the branch should be reset.\n * **DANGER** hard reset will be force pushed to the remote. Unsaved changes and commits may be permanently lost.\n *\n * PUT /projects/{project_id}/git_branch -> IGitBranch\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param body Partial<IWriteGitBranch>\n * @param options one-time API call overrides\n *\n */\nexport const update_git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n body: Partial<IWriteGitBranch>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.put<IGitBranch, IError | IValidationError>(\n `/projects/${project_id}/git_branch`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Create and Checkout a Git Branch\n *\n * Creates and checks out a new branch in the given project repository\n * Only allowed in development mode\n * - Call `update_session` to select the 'dev' workspace.\n *\n * Optionally specify a branch name, tag name or commit SHA as the start point in the ref field.\n * If no ref is specified, HEAD of the current branch will be used as the start point for the new branch.\n *\n * POST /projects/{project_id}/git_branch -> IGitBranch\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param body Partial<IWriteGitBranch>\n * @param options one-time API call overrides\n *\n */\nexport const create_git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n body: Partial<IWriteGitBranch>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<IGitBranch, IError | IValidationError>(\n `/projects/${project_id}/git_branch`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get the specified Git Branch\n *\n * Returns the git branch specified in branch_name path param if it exists in the given project repository\n *\n * GET /projects/{project_id}/git_branch/{branch_name} -> IGitBranch\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param branch_name Branch Name\n * @param options one-time API call overrides\n *\n */\nexport const find_git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n branch_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitBranch, IError>> => {\n project_id = encodeParam(project_id);\n branch_name = encodeParam(branch_name);\n return sdk.get<IGitBranch, IError>(\n `/projects/${project_id}/git_branch/${branch_name}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Delete the specified Git Branch\n *\n * Delete git branch specified in branch_name path param from local and remote of specified project repository\n *\n * DELETE /projects/{project_id}/git_branch/{branch_name} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param branch_name Branch Name\n * @param options one-time API call overrides\n *\n */\nexport const delete_git_branch = async (\n sdk: IAPIMethods,\n project_id: string,\n branch_name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n project_id = encodeParam(project_id);\n branch_name = encodeParam(branch_name);\n return sdk.delete<string, IError>(\n `/projects/${project_id}/git_branch/${branch_name}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Deploy a Remote Branch or Ref to Production\n *\n * Git must have been configured and deploy permission required.\n *\n * Deploy is a one/two step process\n * 1. If this is the first deploy of this project, create the production project with git repository.\n * 2. Pull the branch or ref into the production project.\n *\n * Can only specify either a branch or a ref.\n *\n * POST /projects/{project_id}/deploy_ref_to_production -> string\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestDeployRefToProduction\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const deploy_ref_to_production = async (\n sdk: IAPIMethods,\n request: IRequestDeployRefToProduction,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.project_id = encodeParam(request.project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${request.project_id}/deploy_ref_to_production`,\n { branch: request.branch, ref: request.ref },\n null,\n options\n );\n};\n\n/**\n * ### Deploy LookML from this Development Mode Project to Production\n *\n * Git must have been configured, must be in dev mode and deploy permission required\n *\n * Deploy is a two / three step process:\n *\n * 1. Push commits in current branch of dev mode project to the production branch (origin/master).\n * Note a. This step is skipped in read-only projects.\n * Note b. If this step is unsuccessful for any reason (e.g. rejected non-fastforward because production branch has\n * commits not in current branch), subsequent steps will be skipped.\n * 2. If this is the first deploy of this project, create the production project with git repository.\n * 3. Pull the production branch into the production project.\n *\n * POST /projects/{project_id}/deploy_to_production -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Id of project\n * @param options one-time API call overrides\n *\n */\nexport const deploy_to_production = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/deploy_to_production`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Reset a project to the revision of the project that is in production.\n *\n * **DANGER** this will delete any changes that have not been pushed to a remote repository.\n *\n * POST /projects/{project_id}/reset_to_production -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Id of project\n * @param options one-time API call overrides\n *\n */\nexport const reset_project_to_production = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/reset_to_production`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Reset a project development branch to the revision of the project that is on the remote.\n *\n * **DANGER** this will delete any changes that have not been pushed to a remote repository.\n *\n * POST /projects/{project_id}/reset_to_remote -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Id of project\n * @param options one-time API call overrides\n *\n */\nexport const reset_project_to_remote = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/reset_to_remote`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get All Projects\n *\n * Returns all projects visible to the current user\n *\n * GET /projects -> IProject[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const all_projects = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject[], IError>> => {\n return sdk.get<IProject[], IError>('/projects', { fields }, null, options);\n};\n\n/**\n * ### Create A Project\n *\n * dev mode required.\n * - Call `update_session` to select the 'dev' workspace.\n *\n * `name` is required.\n * `git_remote_url` is not allowed. To configure Git for the newly created project, follow the instructions in `update_project`.\n *\n * POST /projects -> IProject\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteProject>\n * @param options one-time API call overrides\n *\n */\nexport const create_project = async (\n sdk: IAPIMethods,\n body: Partial<IWriteProject>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject, IError | IValidationError>> => {\n return sdk.post<IProject, IError | IValidationError>(\n '/projects',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get A Project\n *\n * Returns the project with the given project id\n *\n * GET /projects/{project_id} -> IProject\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const project = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProject, IError>(\n `/projects/${project_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update Project Configuration\n *\n * Apply changes to a project's configuration.\n *\n *\n * #### Configuring Git for a Project\n *\n * To set up a Looker project with a remote git repository, follow these steps:\n *\n * 1. Call `update_session` to select the 'dev' workspace.\n * 1. Call `create_git_deploy_key` to create a new deploy key for the project\n * 1. Copy the deploy key text into the remote git repository's ssh key configuration\n * 1. Call `update_project` to set project's `git_remote_url` ()and `git_service_name`, if necessary).\n *\n * When you modify a project's `git_remote_url`, Looker connects to the remote repository to fetch\n * metadata. The remote git repository MUST be configured with the Looker-generated deploy\n * key for this project prior to setting the project's `git_remote_url`.\n *\n * To set up a Looker project with a git repository residing on the Looker server (a 'bare' git repo):\n *\n * 1. Call `update_session` to select the 'dev' workspace.\n * 1. Call `update_project` setting `git_remote_url` to null and `git_service_name` to \"bare\".\n *\n * PATCH /projects/{project_id} -> IProject\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param body Partial<IWriteProject>\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const update_project = async (\n sdk: IAPIMethods,\n project_id: string,\n body: Partial<IWriteProject>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.patch<IProject, IError | IValidationError>(\n `/projects/${project_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get A Projects Manifest object\n *\n * Returns the project with the given project id\n *\n * GET /projects/{project_id}/manifest -> IManifest\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const manifest = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IManifest, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IManifest, IError>(\n `/projects/${project_id}/manifest`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Git Deploy Key\n *\n * Returns the ssh public key previously created for a project's git repository.\n *\n * GET /projects/{project_id}/git/deploy_key -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const git_deploy_key = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<string, IError>(\n `/projects/${project_id}/git/deploy_key`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create Git Deploy Key\n *\n * Create a public/private key pair for authenticating ssh git requests from Looker to a remote git repository\n * for a particular Looker project.\n *\n * Returns the public key of the generated ssh key pair.\n *\n * Copy this public key to your remote git repository's ssh keys configuration so that the remote git service can\n * validate and accept git requests from the Looker server.\n *\n * POST /projects/{project_id}/git/deploy_key -> string\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param options one-time API call overrides\n *\n */\nexport const create_git_deploy_key = async (\n sdk: IAPIMethods,\n project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<string, IError | IValidationError>(\n `/projects/${project_id}/git/deploy_key`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Cached Project Validation Results\n *\n * Returns the cached results of a previous project validation calculation, if any.\n * Returns http status 204 No Content if no validation results exist.\n *\n * Validating the content of all the files in a project can be computationally intensive\n * for large projects. Use this API to simply fetch the results of the most recent\n * project validation rather than revalidating the entire project from scratch.\n *\n * A value of `\"stale\": true` in the response indicates that the project has changed since\n * the cached validation results were computed. The cached validation results may no longer\n * reflect the current state of the project.\n *\n * GET /projects/{project_id}/validate -> IProjectValidationCache\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const project_validation_results = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectValidationCache, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProjectValidationCache, IError>(\n `/projects/${project_id}/validate`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Validate Project\n *\n * Performs lint validation of all lookml files in the project.\n * Returns a list of errors found, if any.\n *\n * Validating the content of all the files in a project can be computationally intensive\n * for large projects. For best performance, call `validate_project(project_id)` only\n * when you really want to recompute project validation. To quickly display the results of\n * the most recent project validation (without recomputing), use `project_validation_results(project_id)`\n *\n * POST /projects/{project_id}/validate -> IProjectValidation\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const validate_project = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectValidation, IError | IValidationError>> => {\n project_id = encodeParam(project_id);\n return sdk.post<IProjectValidation, IError | IValidationError>(\n `/projects/${project_id}/validate`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Project Workspace\n *\n * Returns information about the state of the project files in the currently selected workspace\n *\n * GET /projects/{project_id}/current_workspace -> IProjectWorkspace\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const project_workspace = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectWorkspace, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProjectWorkspace, IError>(\n `/projects/${project_id}/current_workspace`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get All Project Files\n *\n * Returns a list of the files in the project\n *\n * GET /projects/{project_id}/files -> IProjectFile[]\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const all_project_files = async (\n sdk: IAPIMethods,\n project_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectFile[], IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProjectFile[], IError>(\n `/projects/${project_id}/files`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Project File Info\n *\n * Returns information about a file in the project\n *\n * GET /projects/{project_id}/files/file -> IProjectFile\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param file_id File Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const project_file = async (\n sdk: IAPIMethods,\n project_id: string,\n file_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProjectFile, IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IProjectFile, IError>(\n `/projects/${project_id}/files/file`,\n { file_id, fields },\n null,\n options\n );\n};\n\n/**\n * ### Get All Git Connection Tests\n *\n * dev mode required.\n * - Call `update_session` to select the 'dev' workspace.\n *\n * Returns a list of tests which can be run against a project's (or the dependency project for the provided remote_url) git connection. Call [Run Git Connection Test](#!/Project/run_git_connection_test) to execute each test in sequence.\n *\n * Tests are ordered by increasing specificity. Tests should be run in the order returned because later tests require functionality tested by tests earlier in the test list.\n *\n * For example, a late-stage test for write access is meaningless if connecting to the git server (an early test) is failing.\n *\n * GET /projects/{project_id}/git_connection_tests -> IGitConnectionTest[]\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param remote_url (Optional: leave blank for root project) The remote url for remote dependency to test.\n * @param options one-time API call overrides\n *\n */\nexport const all_git_connection_tests = async (\n sdk: IAPIMethods,\n project_id: string,\n remote_url?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGitConnectionTest[], IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<IGitConnectionTest[], IError>(\n `/projects/${project_id}/git_connection_tests`,\n { remote_url },\n null,\n options\n );\n};\n\n/**\n * ### Run a git connection test\n *\n * Run the named test on the git service used by this project (or the dependency project for the provided remote_url) and return the result. This\n * is intended to help debug git connections when things do not work properly, to give\n * more helpful information about why a git url is not working with Looker.\n *\n * Tests should be run in the order they are returned by [Get All Git Connection Tests](#!/Project/all_git_connection_tests).\n *\n * GET /projects/{project_id}/git_connection_tests/{test_id} -> IGitConnectionTestResult\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunGitConnectionTest\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_git_connection_test = async (\n sdk: IAPIMethods,\n request: IRequestRunGitConnectionTest,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IGitConnectionTestResult, IError | IValidationError>\n> => {\n request.project_id = encodeParam(request.project_id);\n request.test_id = encodeParam(request.test_id);\n return sdk.get<IGitConnectionTestResult, IError | IValidationError>(\n `/projects/${request.project_id}/git_connection_tests/${request.test_id}`,\n { remote_url: request.remote_url, use_production: request.use_production },\n null,\n options\n );\n};\n\n/**\n * ### Get All LookML Tests\n *\n * Returns a list of tests which can be run to validate a project's LookML code and/or the underlying data,\n * optionally filtered by the file id.\n * Call [Run LookML Test](#!/Project/run_lookml_test) to execute tests.\n *\n * GET /projects/{project_id}/lookml_tests -> ILookmlTest[]\n *\n * @param sdk IAPIMethods implementation\n * @param project_id Project Id\n * @param file_id File Id\n * @param options one-time API call overrides\n *\n */\nexport const all_lookml_tests = async (\n sdk: IAPIMethods,\n project_id: string,\n file_id?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlTest[], IError>> => {\n project_id = encodeParam(project_id);\n return sdk.get<ILookmlTest[], IError>(\n `/projects/${project_id}/lookml_tests`,\n { file_id },\n null,\n options\n );\n};\n\n/**\n * ### Run LookML Tests\n *\n * Runs all tests in the project, optionally filtered by file, test, and/or model.\n *\n * GET /projects/{project_id}/lookml_tests/run -> ILookmlTestResult[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunLookmlTest\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_lookml_test = async (\n sdk: IAPIMethods,\n request: IRequestRunLookmlTest,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ILookmlTestResult[], IError | IValidationError>> => {\n request.project_id = encodeParam(request.project_id);\n return sdk.get<ILookmlTestResult[], IError | IValidationError>(\n `/projects/${request.project_id}/lookml_tests/run`,\n { file_id: request.file_id, test: request.test, model: request.model },\n null,\n options\n );\n};\n\n/**\n * ### Creates a tag for the most recent commit, or a specific ref is a SHA is provided\n *\n * POST /projects/{project_id}/tag -> IProject\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestTagRef\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const tag_ref = async (\n sdk: IAPIMethods,\n request: IRequestTagRef,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IProject, IError | IValidationError>> => {\n request.project_id = encodeParam(request.project_id);\n return sdk.post<IProject, IError | IValidationError>(\n `/projects/${request.project_id}/tag`,\n {\n commit_sha: request.commit_sha,\n tag_name: request.tag_name,\n tag_message: request.tag_message,\n },\n request.body,\n options\n );\n};\n\n/**\n * ### Configure Repository Credential for a remote dependency\n *\n * Admin required.\n *\n * `root_project_id` is required.\n * `credential_id` is required.\n *\n * PUT /projects/{root_project_id}/credential/{credential_id} -> IRepositoryCredential\n *\n * @param sdk IAPIMethods implementation\n * @param root_project_id Root Project Id\n * @param credential_id Credential Id\n * @param body Partial<IWriteRepositoryCredential>\n * @param options one-time API call overrides\n *\n */\nexport const update_repository_credential = async (\n sdk: IAPIMethods,\n root_project_id: string,\n credential_id: string,\n body: Partial<IWriteRepositoryCredential>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRepositoryCredential, IError | IValidationError>> => {\n root_project_id = encodeParam(root_project_id);\n credential_id = encodeParam(credential_id);\n return sdk.put<IRepositoryCredential, IError | IValidationError>(\n `/projects/${root_project_id}/credential/${credential_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Repository Credential for a remote dependency\n *\n * Admin required.\n *\n * `root_project_id` is required.\n * `credential_id` is required.\n *\n * DELETE /projects/{root_project_id}/credential/{credential_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param root_project_id Root Project Id\n * @param credential_id Credential Id\n * @param options one-time API call overrides\n *\n */\nexport const delete_repository_credential = async (\n sdk: IAPIMethods,\n root_project_id: string,\n credential_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n root_project_id = encodeParam(root_project_id);\n credential_id = encodeParam(credential_id);\n return sdk.delete<string, IError>(\n `/projects/${root_project_id}/credential/${credential_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get all Repository Credentials for a project\n *\n * `root_project_id` is required.\n *\n * GET /projects/{root_project_id}/credentials -> IRepositoryCredential[]\n *\n * @param sdk IAPIMethods implementation\n * @param root_project_id Root Project Id\n * @param options one-time API call overrides\n *\n */\nexport const get_all_repository_credentials = async (\n sdk: IAPIMethods,\n root_project_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRepositoryCredential[], IError>> => {\n root_project_id = encodeParam(root_project_id);\n return sdk.get<IRepositoryCredential[], IError>(\n `/projects/${root_project_id}/credentials`,\n null,\n null,\n options\n );\n};\n\n//#endregion Project: Manage Projects\n\n//#region Query: Run and Manage Queries\n\n/**\n * ### Create an async query task\n *\n * Creates a query task (job) to run a previously created query asynchronously. Returns a Query Task ID.\n *\n * Use [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task.\n * After the query task status reaches \"Complete\", use [query_task_results(query_task_id)](#!/Query/query_task_results) to fetch the results of the query.\n *\n * POST /query_tasks -> IQueryTask\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestCreateQueryTask\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const create_query_task = async (\n sdk: IAPIMethods,\n request: IRequestCreateQueryTask,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQueryTask, IError | IValidationError>> => {\n return sdk.post<IQueryTask, IError | IValidationError>(\n '/query_tasks',\n {\n limit: request.limit,\n apply_formatting: request.apply_formatting,\n apply_vis: request.apply_vis,\n cache: request.cache,\n generate_drill_links: request.generate_drill_links,\n force_production: request.force_production,\n cache_only: request.cache_only,\n path_prefix: request.path_prefix,\n rebuild_pdts: request.rebuild_pdts,\n server_table_calcs: request.server_table_calcs,\n fields: request.fields,\n },\n request.body,\n options\n );\n};\n\n/**\n * ### Fetch results of multiple async queries\n *\n * Returns the results of multiple async queries in one request.\n *\n * For Query Tasks that are not completed, the response will include the execution status of the Query Task but will not include query results.\n * Query Tasks whose results have expired will have a status of 'expired'.\n * If the user making the API request does not have sufficient privileges to view a Query Task result, the result will have a status of 'missing'\n *\n * GET /query_tasks/multi_results -> IDictionary<any>\n *\n * @param sdk IAPIMethods implementation\n * @param query_task_ids List of Query Task IDs\n * @param options one-time API call overrides\n *\n */\nexport const query_task_multi_results = async (\n sdk: IAPIMethods,\n query_task_ids: DelimArray<string>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IDictionary<any>, IError>> => {\n return sdk.get<IDictionary<any>, IError>(\n '/query_tasks/multi_results',\n { query_task_ids },\n null,\n options\n );\n};\n\n/**\n * ### Get Query Task details\n *\n * Use this function to check the status of an async query task. After the status\n * reaches \"Complete\", you can call [query_task_results(query_task_id)](#!/Query/query_task_results) to\n * retrieve the results of the query.\n *\n * Use [create_query_task()](#!/Query/create_query_task) to create an async query task.\n *\n * GET /query_tasks/{query_task_id} -> IQueryTask\n *\n * @param sdk IAPIMethods implementation\n * @param query_task_id ID of the Query Task\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const query_task = async (\n sdk: IAPIMethods,\n query_task_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQueryTask, IError>> => {\n query_task_id = encodeParam(query_task_id);\n return sdk.get<IQueryTask, IError>(\n `/query_tasks/${query_task_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Async Query Results\n *\n * Returns the results of an async query task if the query has completed.\n *\n * If the query task is still running or waiting to run, this function returns 202 Accepted.\n *\n * If the query task ID is invalid or the cached results of the query task have expired, this function returns 404 Not Found.\n *\n * Use [query_task(query_task_id)](#!/Query/query_task) to check the execution status of the query task\n * Call query_task_results only after the query task status reaches \"Complete\".\n *\n * You can also use [query_task_multi_results()](#!/Query/query_task_multi_results) retrieve the\n * results of multiple async query tasks at the same time.\n *\n * #### SQL Error Handling:\n * If the query fails due to a SQL db error, how this is communicated depends on the result_format you requested in `create_query_task()`.\n *\n * For `json_detail` result_format: `query_task_results()` will respond with HTTP status '200 OK' and db SQL error info\n * will be in the `errors` property of the response object. The 'data' property will be empty.\n *\n * For all other result formats: `query_task_results()` will respond with HTTP status `400 Bad Request` and some db SQL error info\n * will be in the message of the 400 error response, but not as detailed as expressed in `json_detail.errors`.\n * These data formats can only carry row data, and error info is not row data.\n *\n * GET /query_tasks/{query_task_id}/results -> string\n *\n * @param sdk IAPIMethods implementation\n * @param query_task_id ID of the Query Task\n * @param options one-time API call overrides\n *\n */\nexport const query_task_results = async (\n sdk: IAPIMethods,\n query_task_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n query_task_id = encodeParam(query_task_id);\n return sdk.get<string, IError>(\n `/query_tasks/${query_task_id}/results`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get a previously created query by id.\n *\n * A Looker query object includes the various parameters that define a database query that has been run or\n * could be run in the future. These parameters include: model, view, fields, filters, pivots, etc.\n * Query *results* are not part of the query object.\n *\n * Query objects are unique and immutable. Query objects are created automatically in Looker as users explore data.\n * Looker does not delete them; they become part of the query history. When asked to create a query for\n * any given set of parameters, Looker will first try to find an existing query object with matching\n * parameters and will only create a new object when an appropriate object can not be found.\n *\n * This 'get' method is used to get the details about a query for a given id. See the other methods here\n * to 'create' and 'run' queries.\n *\n * Note that some fields like 'filter_config' and 'vis_config' etc are specific to how the Looker UI\n * builds queries and visualizations and are not generally useful for API use. They are not required when\n * creating new queries and can usually just be ignored.\n *\n * GET /queries/{query_id} -> IQuery\n *\n * @param sdk IAPIMethods implementation\n * @param query_id Id of query\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const query = async (\n sdk: IAPIMethods,\n query_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQuery, IError>> => {\n query_id = encodeParam(query_id);\n return sdk.get<IQuery, IError>(\n `/queries/${query_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the query for a given query slug.\n *\n * This returns the query for the 'slug' in a query share URL.\n *\n * The 'slug' is a randomly chosen short string that is used as an alternative to the query's id value\n * for use in URLs etc. This method exists as a convenience to help you use the API to 'find' queries that\n * have been created using the Looker UI.\n *\n * You can use the Looker explore page to build a query and then choose the 'Share' option to\n * show the share url for the query. Share urls generally look something like 'https://looker.yourcompany/x/vwGSbfc'.\n * The trailing 'vwGSbfc' is the share slug. You can pass that string to this api method to get details about the query.\n * Those details include the 'id' that you can use to run the query. Or, you can copy the query body\n * (perhaps with your own modification) and use that as the basis to make/run new queries.\n *\n * This will also work with slugs from Looker explore urls like\n * 'https://looker.yourcompany/explore/ecommerce/orders?qid=aogBgL6o3cKK1jN3RoZl5s'. In this case\n * 'aogBgL6o3cKK1jN3RoZl5s' is the slug.\n *\n * GET /queries/slug/{slug} -> IQuery\n *\n * @param sdk IAPIMethods implementation\n * @param slug Slug of query\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const query_for_slug = async (\n sdk: IAPIMethods,\n slug: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQuery, IError>> => {\n slug = encodeParam(slug);\n return sdk.get<IQuery, IError>(\n `/queries/slug/${slug}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a query.\n *\n * This allows you to create a new query that you can later run. Looker queries are immutable once created\n * and are not deleted. If you create a query that is exactly like an existing query then the existing query\n * will be returned and no new query will be created. Whether a new query is created or not, you can use\n * the 'id' in the returned query with the 'run' method.\n *\n * The query parameters are passed as json in the body of the request.\n *\n * POST /queries -> IQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteQuery>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_query = async (\n sdk: IAPIMethods,\n body: Partial<IWriteQuery>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IQuery, IError | IValidationError>> => {\n return sdk.post<IQuery, IError | IValidationError>(\n '/queries',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Run a saved query.\n *\n * This runs a previously saved query. You can use this on a query that was generated in the Looker UI\n * or one that you have explicitly created using the API. You can also use a query 'id' from a saved 'Look'.\n *\n * The 'result_format' parameter specifies the desired structure and format of the response.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json | Plain json\n * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema\n * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | md | Simple markdown\n * | xlsx | MS Excel spreadsheet\n * | sql | Returns the generated SQL rather than running the query\n * | png | A PNG image of the visualization of the query\n * | jpg | A JPG image of the visualization of the query\n *\n * GET /queries/{query_id}/run/{result_format} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunQuery\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_query = async (\n sdk: IAPIMethods,\n request: IRequestRunQuery,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.query_id = encodeParam(request.query_id);\n request.result_format = encodeParam(request.result_format);\n return sdk.get<string, IError | IValidationError>(\n `/queries/${request.query_id}/run/${request.result_format}`,\n {\n limit: request.limit,\n apply_formatting: request.apply_formatting,\n apply_vis: request.apply_vis,\n cache: request.cache,\n image_width: request.image_width,\n image_height: request.image_height,\n generate_drill_links: request.generate_drill_links,\n force_production: request.force_production,\n cache_only: request.cache_only,\n path_prefix: request.path_prefix,\n rebuild_pdts: request.rebuild_pdts,\n server_table_calcs: request.server_table_calcs,\n source: request.source,\n enable_oauth_error_response: request.enable_oauth_error_response,\n },\n null,\n options\n );\n};\n\n/**\n * ### Run the query that is specified inline in the posted body.\n *\n * This allows running a query as defined in json in the posted body. This combines\n * the two actions of posting & running a query into one step.\n *\n * Here is an example body in json:\n * ```\n * {\n * \"model\":\"thelook\",\n * \"view\":\"inventory_items\",\n * \"fields\":[\"category.name\",\"inventory_items.days_in_inventory_tier\",\"products.count\"],\n * \"filters\":{\"category.name\":\"socks\"},\n * \"sorts\":[\"products.count desc 0\"],\n * \"limit\":\"500\",\n * \"query_timezone\":\"America/Los_Angeles\"\n * }\n * ```\n *\n * When using the Ruby SDK this would be passed as a Ruby hash like:\n * ```\n * {\n * :model=>\"thelook\",\n * :view=>\"inventory_items\",\n * :fields=>\n * [\"category.name\",\n * \"inventory_items.days_in_inventory_tier\",\n * \"products.count\"],\n * :filters=>{:\"category.name\"=>\"socks\"},\n * :sorts=>[\"products.count desc 0\"],\n * :limit=>\"500\",\n * :query_timezone=>\"America/Los_Angeles\",\n * }\n * ```\n *\n * This will return the result of running the query in the format specified by the 'result_format' parameter.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json | Plain json\n * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema\n * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | md | Simple markdown\n * | xlsx | MS Excel spreadsheet\n * | sql | Returns the generated SQL rather than running the query\n * | png | A PNG image of the visualization of the query\n * | jpg | A JPG image of the visualization of the query\n *\n * POST /queries/run/{result_format} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRunInlineQuery\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const run_inline_query = async (\n sdk: IAPIMethods,\n request: IRequestRunInlineQuery,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n request.result_format = encodeParam(request.result_format);\n return sdk.post<string, IError | IValidationError>(\n `/queries/run/${request.result_format}`,\n {\n limit: request.limit,\n apply_formatting: request.apply_formatting,\n apply_vis: request.apply_vis,\n cache: request.cache,\n image_width: request.image_width,\n image_height: request.image_height,\n generate_drill_links: request.generate_drill_links,\n force_production: request.force_production,\n cache_only: request.cache_only,\n path_prefix: request.path_prefix,\n rebuild_pdts: request.rebuild_pdts,\n server_table_calcs: request.server_table_calcs,\n enable_oauth_error_response: request.enable_oauth_error_response,\n },\n request.body,\n options\n );\n};\n\n/**\n * ### Run an URL encoded query.\n *\n * This requires the caller to encode the specifiers for the query into the URL query part using\n * Looker-specific syntax as explained below.\n *\n * Generally, you would want to use one of the methods that takes the parameters as json in the POST body\n * for creating and/or running queries. This method exists for cases where one really needs to encode the\n * parameters into the URL of a single 'GET' request. This matches the way that the Looker UI formats\n * 'explore' URLs etc.\n *\n * The parameters here are very similar to the json body formatting except that the filter syntax is\n * tricky. Unfortunately, this format makes this method not currently callable via the 'Try it out!' button\n * in this documentation page. But, this is callable when creating URLs manually or when using the Looker SDK.\n *\n * Here is an example inline query URL:\n *\n * ```\n * https://looker.mycompany.com:19999/api/4.0/queries/models/thelook/views/inventory_items/run/json?fields=category.name,inventory_items.days_in_inventory_tier,products.count&f[category.name]=socks&sorts=products.count+desc+0&limit=500&query_timezone=America/Los_Angeles\n * ```\n *\n * When invoking this endpoint with the Ruby SDK, pass the query parameter parts as a hash. The hash to match the above would look like:\n *\n * ```ruby\n * query_params =\n * {\n * fields: \"category.name,inventory_items.days_in_inventory_tier,products.count\",\n * :\"f[category.name]\" => \"socks\",\n * sorts: \"products.count desc 0\",\n * limit: \"500\",\n * query_timezone: \"America/Los_Angeles\"\n * }\n * response = ruby_sdk.run_url_encoded_query('thelook','inventory_items','json', query_params)\n *\n * ```\n *\n * Again, it is generally easier to use the variant of this method that passes the full query in the POST body.\n * This method is available for cases where other alternatives won't fit the need.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json | Plain json\n * | json_bi | (*RECOMMENDED*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query. See JsonBi type for schema\n * | json_detail | (*LEGACY*) Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | md | Simple markdown\n * | xlsx | MS Excel spreadsheet\n * | sql | Returns the generated SQL rather than running the query\n * | png | A PNG image of the visualization of the query\n * | jpg | A JPG image of the visualization of the query\n *\n * GET /queries/models/{model_name}/views/{view_name}/run/{result_format} -> string\n *\n * @remarks\n * **NOTE**: Binary content may be returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param model_name Model name\n * @param view_name View name\n * @param result_format Format of result\n * @param options one-time API call overrides\n *\n */\nexport const run_url_encoded_query = async (\n sdk: IAPIMethods,\n model_name: string,\n view_name: string,\n result_format: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n model_name = encodeParam(model_name);\n view_name = encodeParam(view_name);\n result_format = encodeParam(result_format);\n return sdk.get<string, IError | IValidationError>(\n `/queries/models/${model_name}/views/${view_name}/run/${result_format}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get Merge Query\n *\n * Returns a merge query object given its id.\n *\n * GET /merge_queries/{merge_query_id} -> IMergeQuery\n *\n * @param sdk IAPIMethods implementation\n * @param merge_query_id Merge Query Id\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const merge_query = async (\n sdk: IAPIMethods,\n merge_query_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMergeQuery, IError>> => {\n merge_query_id = encodeParam(merge_query_id);\n return sdk.get<IMergeQuery, IError>(\n `/merge_queries/${merge_query_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create Merge Query\n *\n * Creates a new merge query object.\n *\n * A merge query takes the results of one or more queries and combines (merges) the results\n * according to field mapping definitions. The result is similar to a SQL left outer join.\n *\n * A merge query can merge results of queries from different SQL databases.\n *\n * The order that queries are defined in the source_queries array property is significant. The\n * first query in the array defines the primary key into which the results of subsequent\n * queries will be merged.\n *\n * Like model/view query objects, merge queries are immutable and have structural identity - if\n * you make a request to create a new merge query that is identical to an existing merge query,\n * the existing merge query will be returned instead of creating a duplicate. Conversely, any\n * change to the contents of a merge query will produce a new object with a new id.\n *\n * POST /merge_queries -> IMergeQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteMergeQuery>\n * @param fields Requested fields\n * @param options one-time API call overrides\n *\n */\nexport const create_merge_query = async (\n sdk: IAPIMethods,\n body?: Partial<IWriteMergeQuery>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IMergeQuery, IError | IValidationError>> => {\n return sdk.post<IMergeQuery, IError | IValidationError>(\n '/merge_queries',\n { fields },\n body,\n options\n );\n};\n\n/**\n * Get information about all running queries.\n *\n * GET /running_queries -> IRunningQueries[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_running_queries = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRunningQueries[], IError>> => {\n return sdk.get<IRunningQueries[], IError>(\n '/running_queries',\n null,\n null,\n options\n );\n};\n\n/**\n * Kill a query with a specific query_task_id.\n *\n * DELETE /running_queries/{query_task_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param query_task_id Query task id.\n * @param options one-time API call overrides\n *\n */\nexport const kill_query = async (\n sdk: IAPIMethods,\n query_task_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n query_task_id = encodeParam(query_task_id);\n return sdk.delete<string, IError | IValidationError>(\n `/running_queries/${query_task_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a SQL Runner Query\n *\n * Either the `connection_name` or `model_name` parameter MUST be provided.\n *\n * POST /sql_queries -> ISqlQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ISqlQueryCreate>\n * @param options one-time API call overrides\n *\n */\nexport const create_sql_query = async (\n sdk: IAPIMethods,\n body: Partial<ISqlQueryCreate>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISqlQuery, IError | IValidationError>> => {\n return sdk.post<ISqlQuery, IError | IValidationError>(\n '/sql_queries',\n null,\n body,\n options\n );\n};\n\n/**\n * Get a SQL Runner query.\n *\n * GET /sql_queries/{slug} -> ISqlQuery\n *\n * @param sdk IAPIMethods implementation\n * @param slug slug of query\n * @param options one-time API call overrides\n *\n */\nexport const sql_query = async (\n sdk: IAPIMethods,\n slug: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISqlQuery, IError>> => {\n slug = encodeParam(slug);\n return sdk.get<ISqlQuery, IError>(\n `/sql_queries/${slug}`,\n null,\n null,\n options\n );\n};\n\n/**\n * Execute a SQL Runner query in a given result_format.\n *\n * POST /sql_queries/{slug}/run/{result_format} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param slug slug of query\n * @param result_format Format of result, options are: [\"inline_json\", \"json\", \"json_detail\", \"json_fe\", \"json_bi\", \"csv\", \"html\", \"md\", \"txt\", \"xlsx\", \"gsxml\", \"sql\", \"odc\", \"json_label\"]\n * @param download Defaults to false. If set to true, the HTTP response will have content-disposition and other headers set to make the HTTP response behave as a downloadable attachment instead of as inline content.\n * @param options one-time API call overrides\n *\n */\nexport const run_sql_query = async (\n sdk: IAPIMethods,\n slug: string,\n result_format: string,\n download?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError | IValidationError>> => {\n slug = encodeParam(slug);\n result_format = encodeParam(result_format);\n return sdk.post<string, IError | IValidationError>(\n `/sql_queries/${slug}/run/${result_format}`,\n { download },\n null,\n options\n );\n};\n\n//#endregion Query: Run and Manage Queries\n\n//#region RenderTask: Manage Render Tasks\n\n/**\n * ### Create a new task to render a look to an image.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * POST /render_tasks/looks/{look_id}/{result_format} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param look_id Id of look to render\n * @param result_format Output type: png, or jpg\n * @param width Output width in pixels\n * @param height Output height in pixels\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_look_render_task = async (\n sdk: IAPIMethods,\n look_id: string,\n result_format: string,\n width: number,\n height: number,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError | IValidationError>> => {\n look_id = encodeParam(look_id);\n result_format = encodeParam(result_format);\n return sdk.post<IRenderTask, IError | IValidationError>(\n `/render_tasks/looks/${look_id}/${result_format}`,\n { width, height, fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a new task to render an existing query to an image.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * POST /render_tasks/queries/{query_id}/{result_format} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param query_id Id of the query to render\n * @param result_format Output type: png or jpg\n * @param width Output width in pixels\n * @param height Output height in pixels\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_query_render_task = async (\n sdk: IAPIMethods,\n query_id: string,\n result_format: string,\n width: number,\n height: number,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError | IValidationError>> => {\n query_id = encodeParam(query_id);\n result_format = encodeParam(result_format);\n return sdk.post<IRenderTask, IError | IValidationError>(\n `/render_tasks/queries/${query_id}/${result_format}`,\n { width, height, fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a new task to render a dashboard to a document or image.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * POST /render_tasks/dashboards/{dashboard_id}/{result_format} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestCreateDashboardRenderTask\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_render_task = async (\n sdk: IAPIMethods,\n request: IRequestCreateDashboardRenderTask,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError | IValidationError>> => {\n request.dashboard_id = encodeParam(request.dashboard_id);\n request.result_format = encodeParam(request.result_format);\n return sdk.post<IRenderTask, IError | IValidationError>(\n `/render_tasks/dashboards/${request.dashboard_id}/${request.result_format}`,\n {\n width: request.width,\n height: request.height,\n fields: request.fields,\n pdf_paper_size: request.pdf_paper_size,\n pdf_landscape: request.pdf_landscape,\n long_tables: request.long_tables,\n theme: request.theme,\n },\n request.body,\n options\n );\n};\n\n/**\n * ### Get information about a render task.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * GET /render_tasks/{render_task_id} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param render_task_id Id of render task\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const render_task = async (\n sdk: IAPIMethods,\n render_task_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError>> => {\n render_task_id = encodeParam(render_task_id);\n return sdk.get<IRenderTask, IError>(\n `/render_tasks/${render_task_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the document or image produced by a completed render task.\n *\n * Note that the PDF or image result will be a binary blob in the HTTP response, as indicated by the\n * Content-Type in the response headers. This may require specialized (or at least different) handling than text\n * responses such as JSON. You may need to tell your HTTP client that the response is binary so that it does not\n * attempt to parse the binary data as text.\n *\n * If the render task exists but has not finished rendering the results, the response HTTP status will be\n * **202 Accepted**, the response body will be empty, and the response will have a Retry-After header indicating\n * that the caller should repeat the request at a later time.\n *\n * Returns 404 if the render task cannot be found, if the cached result has expired, or if the caller\n * does not have permission to view the results.\n *\n * For detailed information about the status of the render task, use [Render Task](#!/RenderTask/render_task).\n * Polling loops waiting for completion of a render task would be better served by polling **render_task(id)** until\n * the task status reaches completion (or error) instead of polling **render_task_results(id)** alone.\n *\n * GET /render_tasks/{render_task_id}/results -> string\n *\n * @remarks\n * **NOTE**: Binary content is returned by this function.\n *\n * @param sdk IAPIMethods implementation\n * @param render_task_id Id of render task\n * @param options one-time API call overrides\n *\n */\nexport const render_task_results = async (\n sdk: IAPIMethods,\n render_task_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n render_task_id = encodeParam(render_task_id);\n return sdk.get<string, IError>(\n `/render_tasks/${render_task_id}/results`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a new task to render a dashboard element to an image.\n *\n * Returns a render task object.\n * To check the status of a render task, pass the render_task.id to [Get Render Task](#!/RenderTask/get_render_task).\n * Once the render task is complete, you can download the resulting document or image using [Get Render Task Results](#!/RenderTask/get_render_task_results).\n *\n * POST /render_tasks/dashboard_elements/{dashboard_element_id}/{result_format} -> IRenderTask\n *\n * @param sdk IAPIMethods implementation\n * @param dashboard_element_id Id of dashboard element to render: UDD dashboard element would be numeric and LookML dashboard element would be model_name::dashboard_title::lookml_link_id\n * @param result_format Output type: png or jpg\n * @param width Output width in pixels\n * @param height Output height in pixels\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_dashboard_element_render_task = async (\n sdk: IAPIMethods,\n dashboard_element_id: string,\n result_format: string,\n width: number,\n height: number,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRenderTask, IError | IValidationError>> => {\n dashboard_element_id = encodeParam(dashboard_element_id);\n result_format = encodeParam(result_format);\n return sdk.post<IRenderTask, IError | IValidationError>(\n `/render_tasks/dashboard_elements/${dashboard_element_id}/${result_format}`,\n { width, height, fields },\n null,\n options\n );\n};\n\n//#endregion RenderTask: Manage Render Tasks\n\n//#region Role: Manage Roles\n\n/**\n * ### Search model sets\n * Returns all model set records that match the given search criteria.\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /model_sets/search -> IModelSet[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchModelSets\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_model_sets = async (\n sdk: IAPIMethods,\n request: IRequestSearchModelSets,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet[], IError>> => {\n return sdk.get<IModelSet[], IError>(\n '/model_sets/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n name: request.name,\n all_access: request.all_access,\n built_in: request.built_in,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the model set with a specific id.\n *\n * GET /model_sets/{model_set_id} -> IModelSet\n *\n * @param sdk IAPIMethods implementation\n * @param model_set_id Id of model set\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const model_set = async (\n sdk: IAPIMethods,\n model_set_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet, IError>> => {\n model_set_id = encodeParam(model_set_id);\n return sdk.get<IModelSet, IError>(\n `/model_sets/${model_set_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update information about the model set with a specific id.\n *\n * PATCH /model_sets/{model_set_id} -> IModelSet\n *\n * @param sdk IAPIMethods implementation\n * @param model_set_id id of model set\n * @param body Partial<IWriteModelSet>\n * @param options one-time API call overrides\n *\n */\nexport const update_model_set = async (\n sdk: IAPIMethods,\n model_set_id: string,\n body: Partial<IWriteModelSet>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet, IError | IValidationError>> => {\n model_set_id = encodeParam(model_set_id);\n return sdk.patch<IModelSet, IError | IValidationError>(\n `/model_sets/${model_set_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the model set with a specific id.\n *\n * DELETE /model_sets/{model_set_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param model_set_id id of model set\n * @param options one-time API call overrides\n *\n */\nexport const delete_model_set = async (\n sdk: IAPIMethods,\n model_set_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n model_set_id = encodeParam(model_set_id);\n return sdk.delete<string, IError>(\n `/model_sets/${model_set_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all model sets.\n *\n * GET /model_sets -> IModelSet[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_model_sets = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet[], IError>> => {\n return sdk.get<IModelSet[], IError>('/model_sets', { fields }, null, options);\n};\n\n/**\n * ### Create a model set with the specified information. Model sets are used by Roles.\n *\n * POST /model_sets -> IModelSet\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteModelSet>\n * @param options one-time API call overrides\n *\n */\nexport const create_model_set = async (\n sdk: IAPIMethods,\n body: Partial<IWriteModelSet>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IModelSet, IError | IValidationError>> => {\n return sdk.post<IModelSet, IError | IValidationError>(\n '/model_sets',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get all supported permissions.\n *\n * GET /permissions -> IPermission[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_permissions = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermission[], IError>> => {\n return sdk.get<IPermission[], IError>('/permissions', null, null, options);\n};\n\n/**\n * ### Search permission sets\n * Returns all permission set records that match the given search criteria.\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /permission_sets/search -> IPermissionSet[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchPermissionSets\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_permission_sets = async (\n sdk: IAPIMethods,\n request: IRequestSearchPermissionSets,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet[], IError>> => {\n return sdk.get<IPermissionSet[], IError>(\n '/permission_sets/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n name: request.name,\n all_access: request.all_access,\n built_in: request.built_in,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the permission set with a specific id.\n *\n * GET /permission_sets/{permission_set_id} -> IPermissionSet\n *\n * @param sdk IAPIMethods implementation\n * @param permission_set_id Id of permission set\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const permission_set = async (\n sdk: IAPIMethods,\n permission_set_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet, IError>> => {\n permission_set_id = encodeParam(permission_set_id);\n return sdk.get<IPermissionSet, IError>(\n `/permission_sets/${permission_set_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update information about the permission set with a specific id.\n * Providing save_content permission alone will also provide you the abilities of save_looks and save_dashboards.\n *\n * PATCH /permission_sets/{permission_set_id} -> IPermissionSet\n *\n * @param sdk IAPIMethods implementation\n * @param permission_set_id Id of permission set\n * @param body Partial<IWritePermissionSet>\n * @param options one-time API call overrides\n *\n */\nexport const update_permission_set = async (\n sdk: IAPIMethods,\n permission_set_id: string,\n body: Partial<IWritePermissionSet>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet, IError | IValidationError>> => {\n permission_set_id = encodeParam(permission_set_id);\n return sdk.patch<IPermissionSet, IError | IValidationError>(\n `/permission_sets/${permission_set_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the permission set with a specific id.\n *\n * DELETE /permission_sets/{permission_set_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param permission_set_id Id of permission set\n * @param options one-time API call overrides\n *\n */\nexport const delete_permission_set = async (\n sdk: IAPIMethods,\n permission_set_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n permission_set_id = encodeParam(permission_set_id);\n return sdk.delete<string, IError>(\n `/permission_sets/${permission_set_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Get information about all permission sets.\n *\n * GET /permission_sets -> IPermissionSet[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_permission_sets = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet[], IError>> => {\n return sdk.get<IPermissionSet[], IError>(\n '/permission_sets',\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a permission set with the specified information. Permission sets are used by Roles.\n * Providing save_content permission alone will also provide you the abilities of save_looks and save_dashboards.\n *\n * POST /permission_sets -> IPermissionSet\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWritePermissionSet>\n * @param options one-time API call overrides\n *\n */\nexport const create_permission_set = async (\n sdk: IAPIMethods,\n body: Partial<IWritePermissionSet>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IPermissionSet, IError | IValidationError>> => {\n return sdk.post<IPermissionSet, IError | IValidationError>(\n '/permission_sets',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about all roles.\n *\n * GET /roles -> IRole[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllRoles\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_roles = async (\n sdk: IAPIMethods,\n request: IRequestAllRoles,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole[], IError>> => {\n return sdk.get<IRole[], IError>(\n '/roles',\n { fields: request.fields, ids: request.ids },\n null,\n options\n );\n};\n\n/**\n * ### Create a role with the specified information.\n *\n * POST /roles -> IRole\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteRole>\n * @param options one-time API call overrides\n *\n */\nexport const create_role = async (\n sdk: IAPIMethods,\n body: Partial<IWriteRole>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole, IError | IValidationError>> => {\n return sdk.post<IRole, IError | IValidationError>(\n '/roles',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Search roles\n *\n * Returns all role records that match the given search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /roles/search -> IRole[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchRoles\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_roles = async (\n sdk: IAPIMethods,\n request: IRequestSearchRoles,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole[], IError>> => {\n return sdk.get<IRole[], IError>(\n '/roles/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n name: request.name,\n built_in: request.built_in,\n filter_or: request.filter_or,\n is_support_role: request.is_support_role,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search roles include user count\n *\n * Returns all role records that match the given search criteria, and attaches\n * associated user counts.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n * GET /roles/search/with_user_count -> IRoleSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchRolesWithUserCount\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_roles_with_user_count = async (\n sdk: IAPIMethods,\n request: IRequestSearchRolesWithUserCount,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRoleSearch[], IError>> => {\n return sdk.get<IRoleSearch[], IError>(\n '/roles/search/with_user_count',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n name: request.name,\n built_in: request.built_in,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the role with a specific id.\n *\n * GET /roles/{role_id} -> IRole\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param options one-time API call overrides\n *\n */\nexport const role = async (\n sdk: IAPIMethods,\n role_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole, IError>> => {\n role_id = encodeParam(role_id);\n return sdk.get<IRole, IError>(`/roles/${role_id}`, null, null, options);\n};\n\n/**\n * ### Update information about the role with a specific id.\n *\n * PATCH /roles/{role_id} -> IRole\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param body Partial<IWriteRole>\n * @param options one-time API call overrides\n *\n */\nexport const update_role = async (\n sdk: IAPIMethods,\n role_id: string,\n body: Partial<IWriteRole>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole, IError | IValidationError>> => {\n role_id = encodeParam(role_id);\n return sdk.patch<IRole, IError | IValidationError>(\n `/roles/${role_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete the role with a specific id.\n *\n * DELETE /roles/{role_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param options one-time API call overrides\n *\n */\nexport const delete_role = async (\n sdk: IAPIMethods,\n role_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n role_id = encodeParam(role_id);\n return sdk.delete<string, IError>(`/roles/${role_id}`, null, null, options);\n};\n\n/**\n * ### Get information about all the groups with the role that has a specific id.\n *\n * GET /roles/{role_id}/groups -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const role_groups = async (\n sdk: IAPIMethods,\n role_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError>> => {\n role_id = encodeParam(role_id);\n return sdk.get<IGroup[], IError>(\n `/roles/${role_id}/groups`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Set all groups for a role, removing all existing group associations from that role.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PUT /roles/{role_id}/groups -> IGroup[]\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param body Partial<string[]>\n * @param options one-time API call overrides\n *\n */\nexport const set_role_groups = async (\n sdk: IAPIMethods,\n role_id: string,\n body: Partial<string[]>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IGroup[], IError | IValidationError>> => {\n role_id = encodeParam(role_id);\n return sdk.put<IGroup[], IError | IValidationError>(\n `/roles/${role_id}/groups`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get information about all the users with the role that has a specific id.\n *\n * GET /roles/{role_id}/users -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestRoleUsers\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const role_users = async (\n sdk: IAPIMethods,\n request: IRequestRoleUsers,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n request.role_id = encodeParam(request.role_id);\n return sdk.get<IUser[], IError>(\n `/roles/${request.role_id}/users`,\n {\n fields: request.fields,\n direct_association_only: request.direct_association_only,\n },\n null,\n options\n );\n};\n\n/**\n * ### Set all the users of the role with a specific id.\n *\n * PUT /roles/{role_id}/users -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param role_id id of role\n * @param body Partial<string[]>\n * @param options one-time API call overrides\n *\n */\nexport const set_role_users = async (\n sdk: IAPIMethods,\n role_id: string,\n body: Partial<string[]>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError | IValidationError>> => {\n role_id = encodeParam(role_id);\n return sdk.put<IUser[], IError | IValidationError>(\n `/roles/${role_id}/users`,\n null,\n body,\n options\n );\n};\n\n//#endregion Role: Manage Roles\n\n//#region ScheduledPlan: Manage Scheduled Plans\n\n/**\n * ### Get Scheduled Plans for a Space\n *\n * Returns scheduled plans owned by the caller for a given space id.\n *\n * GET /scheduled_plans/space/{space_id} -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param space_id Space Id\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plans_for_space = async (\n sdk: IAPIMethods,\n space_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError>> => {\n space_id = encodeParam(space_id);\n return sdk.get<IScheduledPlan[], IError>(\n `/scheduled_plans/space/${space_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Get Information About a Scheduled Plan\n *\n * Admins can fetch information about other users' Scheduled Plans.\n *\n * GET /scheduled_plans/{scheduled_plan_id} -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param scheduled_plan_id Scheduled Plan Id\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plan = async (\n sdk: IAPIMethods,\n scheduled_plan_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError>> => {\n scheduled_plan_id = encodeParam(scheduled_plan_id);\n return sdk.get<IScheduledPlan, IError>(\n `/scheduled_plans/${scheduled_plan_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a Scheduled Plan\n *\n * Admins can update other users' Scheduled Plans.\n *\n * Note: Any scheduled plan destinations specified in an update will **replace** all scheduled plan destinations\n * currently defined for the scheduled plan.\n *\n * For Example: If a scheduled plan has destinations A, B, and C, and you call update on this scheduled plan\n * specifying only B in the destinations, then destinations A and C will be deleted by the update.\n *\n * Updating a scheduled plan to assign null or an empty array to the scheduled_plan_destinations property is an error, as a scheduled plan must always have at least one destination.\n *\n * If you omit the scheduled_plan_destinations property from the object passed to update, then the destinations\n * defined on the original scheduled plan will remain unchanged.\n *\n * #### Email Permissions:\n *\n * For details about permissions required to schedule delivery to email and the safeguards\n * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions).\n *\n *\n * #### Scheduled Plan Destination Formats\n *\n * Scheduled plan destinations must specify the data format to produce and send to the destination.\n *\n * Formats:\n *\n * | format | Description\n * | :-----------: | :--- |\n * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination.\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | xlsx | MS Excel spreadsheet\n * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n * ||\n *\n * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n *\n * PATCH /scheduled_plans/{scheduled_plan_id} -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param scheduled_plan_id Scheduled Plan Id\n * @param body Partial<IWriteScheduledPlan>\n * @param options one-time API call overrides\n *\n */\nexport const update_scheduled_plan = async (\n sdk: IAPIMethods,\n scheduled_plan_id: string,\n body: Partial<IWriteScheduledPlan>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError | IValidationError>> => {\n scheduled_plan_id = encodeParam(scheduled_plan_id);\n return sdk.patch<IScheduledPlan, IError | IValidationError>(\n `/scheduled_plans/${scheduled_plan_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a Scheduled Plan\n *\n * Normal users can only delete their own scheduled plans.\n * Admins can delete other users' scheduled plans.\n * This delete cannot be undone.\n *\n * DELETE /scheduled_plans/{scheduled_plan_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param scheduled_plan_id Scheduled Plan Id\n * @param options one-time API call overrides\n *\n */\nexport const delete_scheduled_plan = async (\n sdk: IAPIMethods,\n scheduled_plan_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n scheduled_plan_id = encodeParam(scheduled_plan_id);\n return sdk.delete<string, IError>(\n `/scheduled_plans/${scheduled_plan_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### List All Scheduled Plans\n *\n * Returns all scheduled plans which belong to the caller or given user.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllScheduledPlans\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_scheduled_plans = async (\n sdk: IAPIMethods,\n request: IRequestAllScheduledPlans,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError | IValidationError>> => {\n return sdk.get<IScheduledPlan[], IError | IValidationError>(\n '/scheduled_plans',\n {\n user_id: request.user_id,\n fields: request.fields,\n all_users: request.all_users,\n },\n null,\n options\n );\n};\n\n/**\n * ### Create a Scheduled Plan\n *\n * Create a scheduled plan to render a Look or Dashboard on a recurring schedule.\n *\n * To create a scheduled plan, you MUST provide values for the following fields:\n * `name`\n * and\n * `look_id`, `dashboard_id`, `lookml_dashboard_id`, or `query_id`\n * and\n * `cron_tab` or `datagroup`\n * and\n * at least one scheduled_plan_destination\n *\n * A scheduled plan MUST have at least one scheduled_plan_destination defined.\n *\n * When `look_id` is set, `require_no_results`, `require_results`, and `require_change` are all required.\n *\n * If `create_scheduled_plan` fails with a 422 error, be sure to look at the error messages in the response which will explain exactly what fields are missing or values that are incompatible.\n *\n * The queries that provide the data for the look or dashboard are run in the context of user account that owns the scheduled plan.\n *\n * When `run_as_recipient` is `false` or not specified, the queries that provide the data for the\n * look or dashboard are run in the context of user account that owns the scheduled plan.\n *\n * When `run_as_recipient` is `true` and all the email recipients are Looker user accounts, the\n * queries are run in the context of each recipient, so different recipients may see different\n * data from the same scheduled render of a look or dashboard. For more details, see [Run As Recipient](https://cloud.google.com/looker/docs/r/admin/run-as-recipient).\n *\n * Admins can create and modify scheduled plans on behalf of other users by specifying a user id.\n * Non-admin users may not create or modify scheduled plans by or for other users.\n *\n * #### Email Permissions:\n *\n * For details about permissions required to schedule delivery to email and the safeguards\n * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions).\n *\n *\n * #### Scheduled Plan Destination Formats\n *\n * Scheduled plan destinations must specify the data format to produce and send to the destination.\n *\n * Formats:\n *\n * | format | Description\n * | :-----------: | :--- |\n * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination.\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | xlsx | MS Excel spreadsheet\n * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n * ||\n *\n * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n *\n * POST /scheduled_plans -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteScheduledPlan>\n * @param options one-time API call overrides\n *\n */\nexport const create_scheduled_plan = async (\n sdk: IAPIMethods,\n body: Partial<IWriteScheduledPlan>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError | IValidationError>> => {\n return sdk.post<IScheduledPlan, IError | IValidationError>(\n '/scheduled_plans',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Run a Scheduled Plan Immediately\n *\n * Create a scheduled plan that runs only once, and immediately.\n *\n * This can be useful for testing a Scheduled Plan before committing to a production schedule.\n *\n * Admins can create scheduled plans on behalf of other users by specifying a user id.\n *\n * This API is rate limited to prevent it from being used for relay spam or DoS attacks\n *\n * #### Email Permissions:\n *\n * For details about permissions required to schedule delivery to email and the safeguards\n * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions).\n *\n *\n * #### Scheduled Plan Destination Formats\n *\n * Scheduled plan destinations must specify the data format to produce and send to the destination.\n *\n * Formats:\n *\n * | format | Description\n * | :-----------: | :--- |\n * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination.\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | xlsx | MS Excel spreadsheet\n * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n * ||\n *\n * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n *\n * POST /scheduled_plans/run_once -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteScheduledPlan>\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plan_run_once = async (\n sdk: IAPIMethods,\n body: Partial<IWriteScheduledPlan>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError | IValidationError>> => {\n return sdk.post<IScheduledPlan, IError | IValidationError>(\n '/scheduled_plans/run_once',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Search Scheduled Plans\n *\n * Returns all scheduled plans which matches the given search criteria.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans/search -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchScheduledPlans\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_scheduled_plans = async (\n sdk: IAPIMethods,\n request: IRequestSearchScheduledPlans,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError | IValidationError>> => {\n return sdk.get<IScheduledPlan[], IError | IValidationError>(\n '/scheduled_plans/search',\n {\n user_id: request.user_id,\n fields: request.fields,\n all_users: request.all_users,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n name: request.name,\n user_first_name: request.user_first_name,\n user_last_name: request.user_last_name,\n dashboard_id: request.dashboard_id,\n look_id: request.look_id,\n lookml_dashboard_id: request.lookml_dashboard_id,\n recipient: request.recipient,\n destination_type: request.destination_type,\n delivery_format: request.delivery_format,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get Scheduled Plans for a Look\n *\n * Returns all scheduled plans for a look which belong to the caller or given user.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans/look/{look_id} -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestScheduledPlansForLook\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plans_for_look = async (\n sdk: IAPIMethods,\n request: IRequestScheduledPlansForLook,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError>> => {\n request.look_id = encodeParam(request.look_id);\n return sdk.get<IScheduledPlan[], IError>(\n `/scheduled_plans/look/${request.look_id}`,\n {\n user_id: request.user_id,\n fields: request.fields,\n all_users: request.all_users,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get Scheduled Plans for a Dashboard\n *\n * Returns all scheduled plans for a dashboard which belong to the caller or given user.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans/dashboard/{dashboard_id} -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestScheduledPlansForDashboard\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plans_for_dashboard = async (\n sdk: IAPIMethods,\n request: IRequestScheduledPlansForDashboard,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError>> => {\n request.dashboard_id = encodeParam(request.dashboard_id);\n return sdk.get<IScheduledPlan[], IError>(\n `/scheduled_plans/dashboard/${request.dashboard_id}`,\n {\n user_id: request.user_id,\n all_users: request.all_users,\n fields: request.fields,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get Scheduled Plans for a LookML Dashboard\n *\n * Returns all scheduled plans for a LookML Dashboard which belong to the caller or given user.\n *\n * If no user_id is provided, this function returns the scheduled plans owned by the caller.\n *\n *\n * To list all schedules for all users, pass `all_users=true`.\n *\n *\n * The caller must have `see_schedules` permission to see other users' scheduled plans.\n *\n * GET /scheduled_plans/lookml_dashboard/{lookml_dashboard_id} -> IScheduledPlan[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestScheduledPlansForLookmlDashboard\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plans_for_lookml_dashboard = async (\n sdk: IAPIMethods,\n request: IRequestScheduledPlansForLookmlDashboard,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan[], IError>> => {\n request.lookml_dashboard_id = encodeParam(request.lookml_dashboard_id);\n return sdk.get<IScheduledPlan[], IError>(\n `/scheduled_plans/lookml_dashboard/${request.lookml_dashboard_id}`,\n {\n user_id: request.user_id,\n fields: request.fields,\n all_users: request.all_users,\n },\n null,\n options\n );\n};\n\n/**\n * ### Run a Scheduled Plan By Id Immediately\n * This function creates a run-once schedule plan based on an existing scheduled plan,\n * applies modifications (if any) to the new scheduled plan, and runs the new schedule plan immediately.\n * This can be useful for testing modifications to an existing scheduled plan before committing to a production schedule.\n *\n * This function internally performs the following operations:\n *\n * 1. Copies the properties of the existing scheduled plan into a new scheduled plan\n * 2. Copies any properties passed in the JSON body of this request into the new scheduled plan (replacing the original values)\n * 3. Creates the new scheduled plan\n * 4. Runs the new scheduled plan\n *\n * The original scheduled plan is not modified by this operation.\n * Admins can create, modify, and run scheduled plans on behalf of other users by specifying a user id.\n * Non-admins can only create, modify, and run their own scheduled plans.\n *\n * #### Email Permissions:\n *\n * For details about permissions required to schedule delivery to email and the safeguards\n * Looker offers to protect against sending to unauthorized email destinations, see [Email Domain Allow List for Scheduled Looks](https://cloud.google.com/looker/docs/r/api/embed-permissions).\n *\n *\n * #### Scheduled Plan Destination Formats\n *\n * Scheduled plan destinations must specify the data format to produce and send to the destination.\n *\n * Formats:\n *\n * | format | Description\n * | :-----------: | :--- |\n * | json | A JSON object containing a `data` property which contains an array of JSON objects, one per row. No metadata.\n * | json_detail | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n * | inline_json | Same as the JSON format, except that the `data` property is a string containing JSON-escaped row data. Additional properties describe the data operation. This format is primarily used to send data to web hooks so that the web hook doesn't have to re-encode the JSON row data in order to pass it on to its ultimate destination.\n * | csv | Comma separated values with a header\n * | txt | Tab separated values with a header\n * | html | Simple html\n * | xlsx | MS Excel spreadsheet\n * | wysiwyg_pdf | Dashboard rendered in a tiled layout to produce a PDF document\n * | assembled_pdf | Dashboard rendered in a single column layout to produce a PDF document\n * | wysiwyg_png | Dashboard rendered in a tiled layout to produce a PNG image\n * ||\n *\n * Valid formats vary by destination type and source object. `wysiwyg_pdf` is only valid for dashboards, for example.\n *\n *\n *\n * This API is rate limited to prevent it from being used for relay spam or DoS attacks\n *\n * POST /scheduled_plans/{scheduled_plan_id}/run_once -> IScheduledPlan\n *\n * @param sdk IAPIMethods implementation\n * @param scheduled_plan_id Id of schedule plan to copy and run\n * @param body Partial<IWriteScheduledPlan>\n * @param options one-time API call overrides\n *\n */\nexport const scheduled_plan_run_once_by_id = async (\n sdk: IAPIMethods,\n scheduled_plan_id: string,\n body?: Partial<IWriteScheduledPlan>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IScheduledPlan, IError | IValidationError>> => {\n scheduled_plan_id = encodeParam(scheduled_plan_id);\n return sdk.post<IScheduledPlan, IError | IValidationError>(\n `/scheduled_plans/${scheduled_plan_id}/run_once`,\n null,\n body,\n options\n );\n};\n\n//#endregion ScheduledPlan: Manage Scheduled Plans\n\n//#region Session: Session Information\n\n/**\n * ### Get API Session\n *\n * Returns information about the current API session, such as which workspace is selected for the session.\n *\n * GET /session -> IApiSession\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const session = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IApiSession, IError>> => {\n return sdk.get<IApiSession, IError>('/session', null, null, options);\n};\n\n/**\n * ### Update API Session\n *\n * #### API Session Workspace\n *\n * You can use this endpoint to change the active workspace for the current API session.\n *\n * Only one workspace can be active in a session. The active workspace can be changed\n * any number of times in a session.\n *\n * The default workspace for API sessions is the \"production\" workspace.\n *\n * All Looker APIs that use projects or lookml models (such as running queries) will\n * use the version of project and model files defined by this workspace for the lifetime of the\n * current API session or until the session workspace is changed again.\n *\n * An API session has the same lifetime as the access_token used to authenticate API requests. Each successful\n * API login generates a new access_token and a new API session.\n *\n * If your Looker API client application needs to work in a dev workspace across multiple\n * API sessions, be sure to select the dev workspace after each login.\n *\n * PATCH /session -> IApiSession\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteApiSession>\n * @param options one-time API call overrides\n *\n */\nexport const update_session = async (\n sdk: IAPIMethods,\n body: Partial<IWriteApiSession>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IApiSession, IError | IValidationError>> => {\n return sdk.patch<IApiSession, IError | IValidationError>(\n '/session',\n null,\n body,\n options\n );\n};\n\n//#endregion Session: Session Information\n\n//#region SqlInterfaceQuery: Run and Manage SQL Interface Queries\n\n/**\n * ### Handles Avatica RPC metadata requests for SQL Interface queries\n *\n * GET /sql_interface_queries/metadata -> ISqlInterfaceQueryMetadata\n *\n * @param sdk IAPIMethods implementation\n * @param avatica_request Avatica RPC request\n * @param options one-time API call overrides\n *\n */\nexport const sql_interface_metadata = async (\n sdk: IAPIMethods,\n avatica_request?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISqlInterfaceQueryMetadata, IError>> => {\n return sdk.get<ISqlInterfaceQueryMetadata, IError>(\n '/sql_interface_queries/metadata',\n { avatica_request },\n null,\n options\n );\n};\n\n/**\n * ### Run a saved SQL interface query.\n *\n * This runs a previously created SQL interface query.\n *\n * The 'result_format' parameter specifies the desired structure and format of the response.\n *\n * Supported formats:\n *\n * | result_format | Description\n * | :-----------: | :--- |\n * | json_bi | Row data plus metadata describing the fields, pivots, table calcs, and other aspects of the query\n *\n * GET /sql_interface_queries/{query_id}/run/{result_format} -> IJsonBi\n *\n * @param sdk IAPIMethods implementation\n * @param query_id Integer id of query\n * @param result_format Format of result, options are: [\"json_bi\"]\n * @param options one-time API call overrides\n *\n */\nexport const run_sql_interface_query = async (\n sdk: IAPIMethods,\n query_id: number,\n result_format: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IJsonBi, IError | IValidationError>> => {\n result_format = encodeParam(result_format);\n return sdk.get<IJsonBi, IError | IValidationError>(\n `/sql_interface_queries/${query_id}/run/${result_format}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Create a SQL interface query.\n *\n * This allows you to create a new SQL interface query that you can later run. Looker queries are immutable once created\n * and are not deleted. If you create a query that is exactly like an existing query then the existing query\n * will be returned and no new query will be created. Whether a new query is created or not, you can use\n * the 'id' in the returned query with the 'run' method.\n *\n * The query parameters are passed as json in the body of the request.\n *\n * POST /sql_interface_queries -> ISqlInterfaceQuery\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteSqlInterfaceQueryCreate>\n * @param options one-time API call overrides\n *\n */\nexport const create_sql_interface_query = async (\n sdk: IAPIMethods,\n body: Partial<IWriteSqlInterfaceQueryCreate>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISqlInterfaceQuery, IError | IValidationError>> => {\n return sdk.post<ISqlInterfaceQuery, IError | IValidationError>(\n '/sql_interface_queries',\n null,\n body,\n options\n );\n};\n\n//#endregion SqlInterfaceQuery: Run and Manage SQL Interface Queries\n\n//#region Theme: Manage Themes\n\n/**\n * ### Get an array of all existing themes\n *\n * Get a **single theme** by id with [Theme](#!/Theme/theme)\n *\n * This method returns an array of all existing themes. The active time for the theme is not considered.\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes -> ITheme[]\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_themes = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme[], IError>> => {\n return sdk.get<ITheme[], IError>('/themes', { fields }, null, options);\n};\n\n/**\n * ### Create a theme\n *\n * Creates a new theme object, returning the theme details, including the created id.\n *\n * If `settings` are not specified, the default theme settings will be copied into the new theme.\n *\n * The theme `name` can only contain alphanumeric characters or underscores. Theme names should not contain any confidential information, such as customer names.\n *\n * **Update** an existing theme with [Update Theme](#!/Theme/update_theme)\n *\n * **Permanently delete** an existing theme with [Delete Theme](#!/Theme/delete_theme)\n *\n * For more information, see [Creating and Applying Themes](https://cloud.google.com/looker/docs/r/admin/themes).\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * POST /themes -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteTheme>\n * @param options one-time API call overrides\n *\n */\nexport const create_theme = async (\n sdk: IAPIMethods,\n body: Partial<IWriteTheme>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError | IValidationError>> => {\n return sdk.post<ITheme, IError | IValidationError>(\n '/themes',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Search all themes for matching criteria.\n *\n * Returns an **array of theme objects** that match the specified search criteria.\n *\n * | Search Parameters | Description\n * | :-------------------: | :------ |\n * | `begin_at` only | Find themes active at or after `begin_at`\n * | `end_at` only | Find themes active at or before `end_at`\n * | both set | Find themes with an active inclusive period between `begin_at` and `end_at`\n *\n * Note: Range matching requires boolean AND logic.\n * When using `begin_at` and `end_at` together, do not use `filter_or`=TRUE\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * Get a **single theme** by id with [Theme](#!/Theme/theme)\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes/search -> ITheme[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchThemes\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_themes = async (\n sdk: IAPIMethods,\n request: IRequestSearchThemes,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme[], IError>> => {\n return sdk.get<ITheme[], IError>(\n '/themes/search',\n {\n id: request.id,\n name: request.name,\n begin_at: request.begin_at,\n end_at: request.end_at,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n fields: request.fields,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get the default theme\n *\n * Returns the active theme object set as the default.\n *\n * The **default** theme name can be set in the UI on the Admin|Theme UI page\n *\n * The optional `ts` parameter can specify a different timestamp than \"now.\" If specified, it returns the default theme at the time indicated.\n *\n * GET /themes/default -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param ts Timestamp representing the target datetime for the active period. Defaults to 'now'\n * @param options one-time API call overrides\n *\n */\nexport const default_theme = async (\n sdk: IAPIMethods,\n ts?: Date,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError>> => {\n return sdk.get<ITheme, IError>('/themes/default', { ts }, null, options);\n};\n\n/**\n * ### Set the global default theme by theme name\n *\n * Only Admin users can call this function.\n *\n * Only an active theme with no expiration (`end_at` not set) can be assigned as the default theme. As long as a theme has an active record with no expiration, it can be set as the default.\n *\n * [Create Theme](#!/Theme/create) has detailed information on rules for default and active themes\n *\n * Returns the new specified default theme object.\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * PUT /themes/default -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param name Name of theme to set as default\n * @param options one-time API call overrides\n *\n */\nexport const set_default_theme = async (\n sdk: IAPIMethods,\n name: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError | IValidationError>> => {\n return sdk.put<ITheme, IError | IValidationError>(\n '/themes/default',\n { name },\n null,\n options\n );\n};\n\n/**\n * ### Get active themes\n *\n * Returns an array of active themes.\n *\n * If the `name` parameter is specified, it will return an array with one theme if it's active and found.\n *\n * The optional `ts` parameter can specify a different timestamp than \"now.\"\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes/active -> ITheme[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestActiveThemes\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const active_themes = async (\n sdk: IAPIMethods,\n request: IRequestActiveThemes,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme[], IError>> => {\n return sdk.get<ITheme[], IError>(\n '/themes/active',\n { name: request.name, ts: request.ts, fields: request.fields },\n null,\n options\n );\n};\n\n/**\n * ### Get the named theme if it's active. Otherwise, return the default theme\n *\n * The optional `ts` parameter can specify a different timestamp than \"now.\"\n * Note: API users with `show` ability can call this function\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes/theme_or_default -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param name Name of theme\n * @param ts Timestamp representing the target datetime for the active period. Defaults to 'now'\n * @param options one-time API call overrides\n *\n */\nexport const theme_or_default = async (\n sdk: IAPIMethods,\n name: string,\n ts?: Date,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError>> => {\n return sdk.get<ITheme, IError>(\n '/themes/theme_or_default',\n { name, ts },\n null,\n options\n );\n};\n\n/**\n * ### Validate a theme with the specified information\n *\n * Validates all values set for the theme, returning any errors encountered, or 200 OK if valid\n *\n * See [Create Theme](#!/Theme/create_theme) for constraints\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * POST /themes/validate -> IValidationError\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteTheme>\n * @param options one-time API call overrides\n *\n */\nexport const validate_theme = async (\n sdk: IAPIMethods,\n body: Partial<IWriteTheme>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IValidationError, IError | IValidationError>> => {\n return sdk.post<IValidationError, IError | IValidationError>(\n '/themes/validate',\n null,\n body,\n options\n );\n};\n\n/**\n * ### Get a theme by ID\n *\n * Use this to retrieve a specific theme, whether or not it's currently active.\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * GET /themes/{theme_id} -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param theme_id Id of theme\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const theme = async (\n sdk: IAPIMethods,\n theme_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError>> => {\n theme_id = encodeParam(theme_id);\n return sdk.get<ITheme, IError>(\n `/themes/${theme_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update the theme by id.\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * PATCH /themes/{theme_id} -> ITheme\n *\n * @param sdk IAPIMethods implementation\n * @param theme_id Id of theme\n * @param body Partial<IWriteTheme>\n * @param options one-time API call overrides\n *\n */\nexport const update_theme = async (\n sdk: IAPIMethods,\n theme_id: string,\n body: Partial<IWriteTheme>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ITheme, IError | IValidationError>> => {\n theme_id = encodeParam(theme_id);\n return sdk.patch<ITheme, IError | IValidationError>(\n `/themes/${theme_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a specific theme by id\n *\n * This operation permanently deletes the identified theme from the database.\n *\n * Because multiple themes can have the same name (with different activation time spans) themes can only be deleted by ID.\n *\n * All IDs associated with a theme name can be retrieved by searching for the theme name with [Theme Search](#!/Theme/search).\n *\n * **Note**: Custom themes needs to be enabled by Looker. Unless custom themes are enabled, only the automatically generated default theme can be used. Please contact your Account Manager or https://console.cloud.google.com/support/cases/ to update your license for this feature.\n *\n * DELETE /themes/{theme_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param theme_id Id of theme\n * @param options one-time API call overrides\n *\n */\nexport const delete_theme = async (\n sdk: IAPIMethods,\n theme_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n theme_id = encodeParam(theme_id);\n return sdk.delete<string, IError>(`/themes/${theme_id}`, null, null, options);\n};\n\n//#endregion Theme: Manage Themes\n\n//#region User: Manage Users\n\n/**\n * ### Search email credentials\n *\n * Returns all credentials_email records that match the given search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /credentials_email/search -> ICredentialsEmailSearch[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchCredentialsEmail\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_credentials_email = async (\n sdk: IAPIMethods,\n request: IRequestSearchCredentialsEmail,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmailSearch[], IError>> => {\n return sdk.get<ICredentialsEmailSearch[], IError>(\n '/credentials_email/search',\n {\n fields: request.fields,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n email: request.email,\n emails: request.emails,\n filter_or: request.filter_or,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the current user; i.e. the user account currently calling the API.\n *\n * GET /user -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const me = async (\n sdk: IAPIMethods,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError>> => {\n return sdk.get<IUser, IError>('/user', { fields }, null, options);\n};\n\n/**\n * ### Get information about all users.\n *\n * GET /users -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllUsers\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_users = async (\n sdk: IAPIMethods,\n request: IRequestAllUsers,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n return sdk.get<IUser[], IError>(\n '/users',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n ids: request.ids,\n },\n null,\n options\n );\n};\n\n/**\n * ### Create a user with the specified information.\n *\n * POST /users -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteUser>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user = async (\n sdk: IAPIMethods,\n body?: Partial<IWriteUser>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError | IValidationError>> => {\n return sdk.post<IUser, IError | IValidationError>(\n '/users',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Search users\n *\n * Returns all<sup>*</sup> user records that match the given search criteria.\n *\n * If multiple search params are given and `filter_or` is FALSE or not specified,\n * search params are combined in a logical AND operation.\n * Only rows that match *all* search param criteria will be returned.\n *\n * If `filter_or` is TRUE, multiple search params are combined in a logical OR operation.\n * Results will include rows that match **any** of the search criteria.\n *\n * String search params use case-insensitive matching.\n * String search params can contain `%` and '_' as SQL LIKE pattern match wildcard expressions.\n * example=\"dan%\" will match \"danger\" and \"Danzig\" but not \"David\"\n * example=\"D_m%\" will match \"Damage\" and \"dump\"\n *\n * Integer search params can accept a single value or a comma separated list of values. The multiple\n * values will be combined under a logical OR operation - results will match at least one of\n * the given values.\n *\n * Most search params can accept \"IS NULL\" and \"NOT NULL\" as special expressions to match\n * or exclude (respectively) rows where the column is null.\n *\n * Boolean search params accept only \"true\" and \"false\" as values.\n *\n *\n * (<sup>*</sup>) Results are always filtered to the level of information the caller is permitted to view.\n * Looker admins can see all user details; normal users in an open system can see\n * names of other users but no details; normal users in a closed system can only see\n * names of other users who are members of the same group as the user.\n *\n * GET /users/search -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchUsers\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_users = async (\n sdk: IAPIMethods,\n request: IRequestSearchUsers,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n return sdk.get<IUser[], IError>(\n '/users/search',\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n first_name: request.first_name,\n last_name: request.last_name,\n verified_looker_employee: request.verified_looker_employee,\n embed_user: request.embed_user,\n email: request.email,\n is_disabled: request.is_disabled,\n filter_or: request.filter_or,\n content_metadata_id: request.content_metadata_id,\n group_id: request.group_id,\n },\n null,\n options\n );\n};\n\n/**\n * ### Search for user accounts by name\n *\n * Returns all user accounts where `first_name` OR `last_name` OR `email` field values match a pattern.\n * The pattern can contain `%` and `_` wildcards as in SQL LIKE expressions.\n *\n * Any additional search params will be combined into a logical AND expression.\n *\n * GET /users/search/names/{pattern} -> IUser[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestSearchUsersNames\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const search_users_names = async (\n sdk: IAPIMethods,\n request: IRequestSearchUsersNames,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser[], IError>> => {\n request.pattern = encodeParam(request.pattern);\n return sdk.get<IUser[], IError>(\n `/users/search/names/${request.pattern}`,\n {\n fields: request.fields,\n page: request.page,\n per_page: request.per_page,\n limit: request.limit,\n offset: request.offset,\n sorts: request.sorts,\n id: request.id,\n first_name: request.first_name,\n last_name: request.last_name,\n verified_looker_employee: request.verified_looker_employee,\n email: request.email,\n is_disabled: request.is_disabled,\n },\n null,\n options\n );\n};\n\n/**\n * ### Get information about the user with a specific id.\n *\n * If the caller is an admin or the caller is the user being specified, then full user information will\n * be returned. Otherwise, a minimal 'public' variant of the user information will be returned. This contains\n * The user name and avatar url, but no sensitive information.\n *\n * GET /users/{user_id} -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<IUser, IError>(`/users/${user_id}`, { fields }, null, options);\n};\n\n/**\n * ### Update information about the user with a specific id.\n *\n * PATCH /users/{user_id} -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<IWriteUser>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_user = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<IWriteUser>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.patch<IUser, IError | IValidationError>(\n `/users/${user_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete the user with a specific id.\n *\n * **DANGER** this will delete the user and all looks and other information owned by the user.\n *\n * DELETE /users/{user_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(`/users/${user_id}`, null, null, options);\n};\n\n/**\n * ### Get information about the user with a credential of given type with specific id.\n *\n * This is used to do things like find users by their embed external_user_id. Or, find the user with\n * a given api3 client_id, etc. The 'credential_type' matches the 'type' name of the various credential\n * types. It must be one of the values listed in the table below. The 'credential_id' is your unique Id\n * for the user and is specific to each type of credential.\n *\n * An example using the Ruby sdk might look like:\n *\n * `sdk.user_for_credential('embed', 'customer-4959425')`\n *\n * This table shows the supported 'Credential Type' strings. The right column is for reference; it shows\n * which field in the given credential type is actually searched when finding a user with the supplied\n * 'credential_id'.\n *\n * | Credential Types | Id Field Matched |\n * | ---------------- | ---------------- |\n * | email | email |\n * | google | google_user_id |\n * | saml | saml_user_id |\n * | oidc | oidc_user_id |\n * | ldap | ldap_id |\n * | api | token |\n * | api3 | client_id |\n * | embed | external_user_id |\n * | looker_openid | email |\n *\n * **NOTE**: The 'api' credential type was only used with the legacy Looker query API and is no longer supported. The credential type for API you are currently looking at is 'api3'.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/credential/{credential_type}/{credential_id} -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param credential_type Type name of credential\n * @param credential_id Id of credential\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_for_credential = async (\n sdk: IAPIMethods,\n credential_type: string,\n credential_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError>> => {\n credential_type = encodeParam(credential_type);\n credential_id = encodeParam(credential_id);\n return sdk.get<IUser, IError>(\n `/users/credential/${credential_type}/${credential_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Email/password login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_email -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_email = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsEmail, IError>(\n `/users/${user_id}/credentials_email`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Email/password login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_email -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<IWriteCredentialsEmail>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user_credentials_email = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<IWriteCredentialsEmail>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<ICredentialsEmail, IError | IValidationError>(\n `/users/${user_id}/credentials_email`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Email/password login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * PATCH /users/{user_id}/credentials_email -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<IWriteCredentialsEmail>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_user_credentials_email = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<IWriteCredentialsEmail>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.patch<ICredentialsEmail, IError | IValidationError>(\n `/users/${user_id}/credentials_email`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Email/password login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_email -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_email = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_email`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Two-factor login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_totp -> ICredentialsTotp\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_totp = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsTotp, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsTotp, IError>(\n `/users/${user_id}/credentials_totp`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Two-factor login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_totp -> ICredentialsTotp\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body WARNING: no writeable properties found for POST, PUT, or PATCH\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user_credentials_totp = async (\n sdk: IAPIMethods,\n user_id: string,\n body?: Partial<ICredentialsTotp>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsTotp, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<ICredentialsTotp, IError | IValidationError>(\n `/users/${user_id}/credentials_totp`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Two-factor login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_totp -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_totp = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_totp`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### LDAP login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_ldap -> ICredentialsLDAP\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_ldap = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsLDAP, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsLDAP, IError>(\n `/users/${user_id}/credentials_ldap`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### LDAP login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_ldap -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_ldap = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_ldap`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Google authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_google -> ICredentialsGoogle\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_google = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsGoogle, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsGoogle, IError>(\n `/users/${user_id}/credentials_google`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Google authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_google -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_google = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_google`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Saml authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_saml -> ICredentialsSaml\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_saml = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsSaml, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsSaml, IError>(\n `/users/${user_id}/credentials_saml`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Saml authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_saml -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_saml = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_saml`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### OpenID Connect (OIDC) authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_oidc -> ICredentialsOIDC\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_oidc = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsOIDC, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsOIDC, IError>(\n `/users/${user_id}/credentials_oidc`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### OpenID Connect (OIDC) authentication login information for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_oidc -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_oidc = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_oidc`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### API login information for the specified user. This is for the newer API keys that can be added for any user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_api3/{credentials_api3_id} -> ICredentialsApi3\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param credentials_api3_id Id of API Credential\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_api3 = async (\n sdk: IAPIMethods,\n user_id: string,\n credentials_api3_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsApi3, IError>> => {\n user_id = encodeParam(user_id);\n credentials_api3_id = encodeParam(credentials_api3_id);\n return sdk.get<ICredentialsApi3, IError>(\n `/users/${user_id}/credentials_api3/${credentials_api3_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### API login information for the specified user. This is for the newer API keys that can be added for any user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_api3/{credentials_api3_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param credentials_api3_id Id of API Credential\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_api3 = async (\n sdk: IAPIMethods,\n user_id: string,\n credentials_api3_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n credentials_api3_id = encodeParam(credentials_api3_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_api3/${credentials_api3_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### API login information for the specified user. This is for the newer API keys that can be added for any user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_api3 -> ICredentialsApi3[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_user_credentials_api3s = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsApi3[], IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsApi3[], IError>(\n `/users/${user_id}/credentials_api3`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### API login information for the specified user. This is for the newer API keys that can be added for any user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_api3 -> ICreateCredentialsApi3\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user_credentials_api3 = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICreateCredentialsApi3, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<ICreateCredentialsApi3, IError | IValidationError>(\n `/users/${user_id}/credentials_api3`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Embed login information for the specified user.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * GET /users/{user_id}/credentials_embed/{credentials_embed_id} -> ICredentialsEmbed\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param credentials_embed_id Id of Embedding Credential\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_embed = async (\n sdk: IAPIMethods,\n user_id: string,\n credentials_embed_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmbed, IError>> => {\n user_id = encodeParam(user_id);\n credentials_embed_id = encodeParam(credentials_embed_id);\n return sdk.get<ICredentialsEmbed, IError>(\n `/users/${user_id}/credentials_embed/${credentials_embed_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Embed login information for the specified user.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * DELETE /users/{user_id}/credentials_embed/{credentials_embed_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param credentials_embed_id Id of Embedding Credential\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_embed = async (\n sdk: IAPIMethods,\n user_id: string,\n credentials_embed_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n credentials_embed_id = encodeParam(credentials_embed_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_embed/${credentials_embed_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Embed login information for the specified user.\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * GET /users/{user_id}/credentials_embed -> ICredentialsEmbed[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_user_credentials_embeds = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmbed[], IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsEmbed[], IError>(\n `/users/${user_id}/credentials_embed`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Looker Openid login information for the specified user. Used by Looker Analysts.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/credentials_looker_openid -> ICredentialsLookerOpenid\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_credentials_looker_openid = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsLookerOpenid, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ICredentialsLookerOpenid, IError>(\n `/users/${user_id}/credentials_looker_openid`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Looker Openid login information for the specified user. Used by Looker Analysts.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/credentials_looker_openid -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_credentials_looker_openid = async (\n sdk: IAPIMethods,\n user_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/credentials_looker_openid`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Web login session for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/sessions/{session_id} -> ISession\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param session_id Id of Web Login Session\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_session = async (\n sdk: IAPIMethods,\n user_id: string,\n session_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISession, IError>> => {\n user_id = encodeParam(user_id);\n session_id = encodeParam(session_id);\n return sdk.get<ISession, IError>(\n `/users/${user_id}/sessions/${session_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Web login session for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * DELETE /users/{user_id}/sessions/{session_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param session_id Id of Web Login Session\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_session = async (\n sdk: IAPIMethods,\n user_id: string,\n session_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_id = encodeParam(user_id);\n session_id = encodeParam(session_id);\n return sdk.delete<string, IError>(\n `/users/${user_id}/sessions/${session_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Web login session for the specified user.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * GET /users/{user_id}/sessions -> ISession[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_user_sessions = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ISession[], IError>> => {\n user_id = encodeParam(user_id);\n return sdk.get<ISession[], IError>(\n `/users/${user_id}/sessions`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Create a password reset token.\n * This will create a cryptographically secure random password reset token for the user.\n * If the user already has a password reset token then this invalidates the old token and creates a new one.\n * The token is expressed as the 'password_reset_url' of the user's email/password credential object.\n * This takes an optional 'expires' param to indicate if the new token should be an expiring token.\n * Tokens that expire are typically used for self-service password resets for existing users.\n * Invitation emails for new users typically are not set to expire.\n * The expire period is always 60 minutes when expires is enabled.\n * This method can be called with an empty body.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_email/password_reset -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestCreateUserCredentialsEmailPasswordReset\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const create_user_credentials_email_password_reset = async (\n sdk: IAPIMethods,\n request: IRequestCreateUserCredentialsEmailPasswordReset,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError>> => {\n request.user_id = encodeParam(request.user_id);\n return sdk.post<ICredentialsEmail, IError>(\n `/users/${request.user_id}/credentials_email/password_reset`,\n { expires: request.expires, fields: request.fields },\n null,\n options\n );\n};\n\n/**\n * ### Get information about roles of a given user\n *\n * GET /users/{user_id}/roles -> IRole[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestUserRoles\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const user_roles = async (\n sdk: IAPIMethods,\n request: IRequestUserRoles,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole[], IError>> => {\n request.user_id = encodeParam(request.user_id);\n return sdk.get<IRole[], IError>(\n `/users/${request.user_id}/roles`,\n {\n fields: request.fields,\n direct_association_only: request.direct_association_only,\n },\n null,\n options\n );\n};\n\n/**\n * ### Set roles of the user with a specific id.\n *\n * PUT /users/{user_id}/roles -> IRole[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<string[]>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const set_user_roles = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<string[]>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IRole[], IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.put<IRole[], IError | IValidationError>(\n `/users/${user_id}/roles`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get user attribute values for a given user.\n *\n * Returns the values of specified user attributes (or all user attributes) for a certain user.\n *\n * A value for each user attribute is searched for in the following locations, in this order:\n *\n * 1. in the user's account information\n * 1. in groups that the user is a member of\n * 1. the default value of the user attribute\n *\n * If more than one group has a value defined for a user attribute, the group with the lowest rank wins.\n *\n * The response will only include user attributes for which values were found. Use `include_unset=true` to include\n * empty records for user attributes with no value.\n *\n * The value of all hidden user attributes will be blank.\n *\n * GET /users/{user_id}/attribute_values -> IUserAttributeWithValue[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestUserAttributeUserValues\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const user_attribute_user_values = async (\n sdk: IAPIMethods,\n request: IRequestUserAttributeUserValues,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttributeWithValue[], IError>> => {\n request.user_id = encodeParam(request.user_id);\n return sdk.get<IUserAttributeWithValue[], IError>(\n `/users/${request.user_id}/attribute_values`,\n {\n fields: request.fields,\n user_attribute_ids: request.user_attribute_ids,\n all_values: request.all_values,\n include_unset: request.include_unset,\n },\n null,\n options\n );\n};\n\n/**\n * ### Store a custom value for a user attribute in a user's account settings.\n *\n * Per-user user attribute values take precedence over group or default values.\n *\n * PATCH /users/{user_id}/attribute_values/{user_attribute_id} -> IUserAttributeWithValue\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param user_attribute_id Id of user attribute\n * @param body Partial<IWriteUserAttributeWithValue>\n * @param options one-time API call overrides\n *\n */\nexport const set_user_attribute_user_value = async (\n sdk: IAPIMethods,\n user_id: string,\n user_attribute_id: string,\n body: Partial<IWriteUserAttributeWithValue>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttributeWithValue, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.patch<IUserAttributeWithValue, IError | IValidationError>(\n `/users/${user_id}/attribute_values/${user_attribute_id}`,\n null,\n body,\n options\n );\n};\n\n/**\n * ### Delete a user attribute value from a user's account settings.\n *\n * After the user attribute value is deleted from the user's account settings, subsequent requests\n * for the user attribute value for this user will draw from the user's groups or the default\n * value of the user attribute. See [Get User Attribute Values](#!/User/user_attribute_user_values) for more\n * information about how user attribute values are resolved.\n *\n * DELETE /users/{user_id}/attribute_values/{user_attribute_id} -> void\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param user_attribute_id Id of user attribute\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_attribute_user_value = async (\n sdk: IAPIMethods,\n user_id: string,\n user_attribute_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<void, IError>> => {\n user_id = encodeParam(user_id);\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.delete<void, IError>(\n `/users/${user_id}/attribute_values/${user_attribute_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Send a password reset token.\n * This will send a password reset email to the user. If a password reset token does not already exist\n * for this user, it will create one and then send it.\n * If the user has not yet set up their account, it will send a setup email to the user.\n * The URL sent in the email is expressed as the 'password_reset_url' of the user's email/password credential object.\n * Password reset URLs will expire in 60 minutes.\n * This method can be called with an empty body.\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/credentials_email/send_password_reset -> ICredentialsEmail\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const send_user_credentials_email_password_reset = async (\n sdk: IAPIMethods,\n user_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<ICredentialsEmail, IError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<ICredentialsEmail, IError>(\n `/users/${user_id}/credentials_email/send_password_reset`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Change a disabled user's email addresses\n *\n * Allows the admin to change the email addresses for all the user's\n * associated credentials. Will overwrite all associated email addresses with\n * the value supplied in the 'email' body param.\n * The user's 'is_disabled' status must be true.\n * If the user has a credential email, they will receive a verification email and the user will be disabled until they verify the email\n *\n * Calls to this endpoint may be denied by [Looker (Google Cloud core)](https://cloud.google.com/looker/docs/r/looker-core/overview).\n *\n * POST /users/{user_id}/update_emails -> IUser\n *\n * @param sdk IAPIMethods implementation\n * @param user_id Id of user\n * @param body Partial<IUserEmailOnly>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const wipeout_user_emails = async (\n sdk: IAPIMethods,\n user_id: string,\n body: Partial<IUserEmailOnly>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUser, IError | IValidationError>> => {\n user_id = encodeParam(user_id);\n return sdk.post<IUser, IError | IValidationError>(\n `/users/${user_id}/update_emails`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * Create an embed user from an external user ID\n *\n * **NOTE**: Calls to this endpoint require [Embedding](https://cloud.google.com/looker/docs/r/looker-core-feature-embed) to be enabled. Usage of this endpoint is not authorized for Looker Core Standard and Looker Core Enterprise.\n *\n * POST /users/embed_user -> IUserPublic\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<ICreateEmbedUserRequest>\n * @param options one-time API call overrides\n *\n */\nexport const create_embed_user = async (\n sdk: IAPIMethods,\n body: Partial<ICreateEmbedUserRequest>,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserPublic, IError>> => {\n return sdk.post<IUserPublic, IError>(\n '/users/embed_user',\n null,\n body,\n options\n );\n};\n\n//#endregion User: Manage Users\n\n//#region UserAttribute: Manage User Attributes\n\n/**\n * ### Get information about all user attributes.\n *\n * GET /user_attributes -> IUserAttribute[]\n *\n * @param sdk IAPIMethods implementation\n * @param request composed interface \"IRequestAllUserAttributes\" for complex method parameters\n * @param options one-time API call overrides\n *\n */\nexport const all_user_attributes = async (\n sdk: IAPIMethods,\n request: IRequestAllUserAttributes,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttribute[], IError>> => {\n return sdk.get<IUserAttribute[], IError>(\n '/user_attributes',\n { fields: request.fields, sorts: request.sorts },\n null,\n options\n );\n};\n\n/**\n * ### Create a new user attribute\n *\n * Permission information for a user attribute is conveyed through the `can` and `user_can_edit` fields.\n * The `user_can_edit` field indicates whether an attribute is user-editable _anywhere_ in the application.\n * The `can` field gives more granular access information, with the `set_value` child field indicating whether\n * an attribute's value can be set by [Setting the User Attribute User Value](#!/User/set_user_attribute_user_value).\n *\n * Note: `name` and `label` fields must be unique across all user attributes in the Looker instance.\n * Attempting to create a new user attribute with a name or label that duplicates an existing\n * user attribute will fail with a 422 error.\n *\n * POST /user_attributes -> IUserAttribute\n *\n * @param sdk IAPIMethods implementation\n * @param body Partial<IWriteUserAttribute>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const create_user_attribute = async (\n sdk: IAPIMethods,\n body: Partial<IWriteUserAttribute>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttribute, IError | IValidationError>> => {\n return sdk.post<IUserAttribute, IError | IValidationError>(\n '/user_attributes',\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Get information about a user attribute.\n *\n * GET /user_attributes/{user_attribute_id} -> IUserAttribute\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const user_attribute = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttribute, IError>> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.get<IUserAttribute, IError>(\n `/user_attributes/${user_attribute_id}`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Update a user attribute definition.\n *\n * PATCH /user_attributes/{user_attribute_id} -> IUserAttribute\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param body Partial<IWriteUserAttribute>\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const update_user_attribute = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n body: Partial<IWriteUserAttribute>,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttribute, IError | IValidationError>> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.patch<IUserAttribute, IError | IValidationError>(\n `/user_attributes/${user_attribute_id}`,\n { fields },\n body,\n options\n );\n};\n\n/**\n * ### Delete a user attribute (admin only).\n *\n * DELETE /user_attributes/{user_attribute_id} -> string\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param options one-time API call overrides\n *\n */\nexport const delete_user_attribute = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<string, IError>> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.delete<string, IError>(\n `/user_attributes/${user_attribute_id}`,\n null,\n null,\n options\n );\n};\n\n/**\n * ### Returns all values of a user attribute defined by user groups, in precedence order.\n *\n * A user may be a member of multiple groups which define different values for a given user attribute.\n * The order of group-values in the response determines precedence for selecting which group-value applies\n * to a given user. For more information, see [Set User Attribute Group Values](#!/UserAttribute/set_user_attribute_group_values).\n *\n * Results will only include groups that the caller's user account has permission to see.\n *\n * GET /user_attributes/{user_attribute_id}/group_values -> IUserAttributeGroupValue[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param fields Requested fields.\n * @param options one-time API call overrides\n *\n */\nexport const all_user_attribute_group_values = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n fields?: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IUserAttributeGroupValue[], IError>> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.get<IUserAttributeGroupValue[], IError>(\n `/user_attributes/${user_attribute_id}/group_values`,\n { fields },\n null,\n options\n );\n};\n\n/**\n * ### Define values for a user attribute across a set of groups, in priority order.\n *\n * This function defines all values for a user attribute defined by user groups. This is a global setting, potentially affecting\n * all users in the system. This function replaces any existing group value definitions for the indicated user attribute.\n *\n * The value of a user attribute for a given user is determined by searching the following locations, in this order:\n *\n * 1. the user's account settings\n * 2. the groups that the user is a member of\n * 3. the default value of the user attribute, if any\n *\n * The user may be a member of multiple groups which define different values for that user attribute. The order of items in the group_values parameter\n * determines which group takes priority for that user. Lowest array index wins.\n *\n * An alternate method to indicate the selection precedence of group-values is to assign numbers to the 'rank' property of each\n * group-value object in the array. Lowest 'rank' value wins. If you use this technique, you must assign a\n * rank value to every group-value object in the array.\n *\n * To set a user attribute value for a single user, see [Set User Attribute User Value](#!/User/set_user_attribute_user_value).\n * To set a user attribute value for all members of a group, see [Set User Attribute Group Value](#!/Group/update_user_attribute_group_value).\n *\n * POST /user_attributes/{user_attribute_id}/group_values -> IUserAttributeGroupValue[]\n *\n * @param sdk IAPIMethods implementation\n * @param user_attribute_id Id of user attribute\n * @param body Partial<IUserAttributeGroupValue[]>\n * @param options one-time API call overrides\n *\n */\nexport const set_user_attribute_group_values = async (\n sdk: IAPIMethods,\n user_attribute_id: string,\n body: Partial<IUserAttributeGroupValue[]>,\n options?: Partial<ITransportSettings>\n): Promise<\n SDKResponse<IUserAttributeGroupValue[], IError | IValidationError>\n> => {\n user_attribute_id = encodeParam(user_attribute_id);\n return sdk.post<IUserAttributeGroupValue[], IError | IValidationError>(\n `/user_attributes/${user_attribute_id}/group_values`,\n null,\n body,\n options\n );\n};\n\n//#endregion UserAttribute: Manage User Attributes\n\n//#region Workspace: Manage Workspaces\n\n/**\n * ### Get All Workspaces\n *\n * Returns all workspaces available to the calling user.\n *\n * GET /workspaces -> IWorkspace[]\n *\n * @param sdk IAPIMethods implementation\n * @param options one-time API call overrides\n *\n */\nexport const all_workspaces = async (\n sdk: IAPIMethods,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IWorkspace[], IError>> => {\n return sdk.get<IWorkspace[], IError>('/workspaces', null, null, options);\n};\n\n/**\n * ### Get A Workspace\n *\n * Returns information about a workspace such as the git status and selected branches\n * of all projects available to the caller's user account.\n *\n * A workspace defines which versions of project files will be used to evaluate expressions\n * and operations that use model definitions - operations such as running queries or rendering dashboards.\n * Each project has its own git repository, and each project in a workspace may be configured to reference\n * particular branch or revision within their respective repositories.\n *\n * There are two predefined workspaces available: \"production\" and \"dev\".\n *\n * The production workspace is shared across all Looker users. Models in the production workspace are read-only.\n * Changing files in production is accomplished by modifying files in a git branch and using Pull Requests\n * to merge the changes from the dev branch into the production branch, and then telling\n * Looker to sync with production.\n *\n * The dev workspace is local to each Looker user. Changes made to project/model files in the dev workspace only affect\n * that user, and only when the dev workspace is selected as the active workspace for the API session.\n * (See set_session_workspace()).\n *\n * The dev workspace is NOT unique to an API session. Two applications accessing the Looker API using\n * the same user account will see the same files in the dev workspace. To avoid collisions between\n * API clients it's best to have each client login with API credentials for a different user account.\n *\n * Changes made to files in a dev workspace are persistent across API sessions. It's a good\n * idea to commit any changes you've made to the git repository, but not strictly required. Your modified files\n * reside in a special user-specific directory on the Looker server and will still be there when you login in again\n * later and use update_session(workspace_id: \"dev\") to select the dev workspace for the new API session.\n *\n * GET /workspaces/{workspace_id} -> IWorkspace\n *\n * @param sdk IAPIMethods implementation\n * @param workspace_id Id of the workspace\n * @param options one-time API call overrides\n *\n */\nexport const workspace = async (\n sdk: IAPIMethods,\n workspace_id: string,\n options?: Partial<ITransportSettings>\n): Promise<SDKResponse<IWorkspace, IError>> => {\n workspace_id = encodeParam(workspace_id);\n return sdk.get<IWorkspace, IError>(\n `/workspaces/${workspace_id}`,\n null,\n null,\n options\n );\n};\n\n//#endregion Workspace: Manage Workspaces\n"],"mappings":"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"}