visier-platform-sdk 22222222.99200.21494__py3-none-any.whl

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.

Potentially problematic release.


This version of visier-platform-sdk might be problematic. Click here for more details.

Files changed (692) hide show
  1. visier_platform_sdk/__init__.py +1404 -0
  2. visier_platform_sdk/api/__init__.py +43 -0
  3. visier_platform_sdk/api/basic_authentication_api.py +625 -0
  4. visier_platform_sdk/api/benchmarks_api.py +936 -0
  5. visier_platform_sdk/api/concepts_v2_api.py +2307 -0
  6. visier_platform_sdk/api/consolidated_analytics_api.py +3265 -0
  7. visier_platform_sdk/api/data_and_job_handling_api.py +8380 -0
  8. visier_platform_sdk/api/data_intake_api.py +1866 -0
  9. visier_platform_sdk/api/data_model_api.py +13164 -0
  10. visier_platform_sdk/api/data_query_api.py +1226 -0
  11. visier_platform_sdk/api/data_upload_api.py +343 -0
  12. visier_platform_sdk/api/data_version_export_api.py +1724 -0
  13. visier_platform_sdk/api/dimensions_api.py +3050 -0
  14. visier_platform_sdk/api/dimensions_v2_api.py +2344 -0
  15. visier_platform_sdk/api/direct_data_intake_api.py +3039 -0
  16. visier_platform_sdk/api/email_domains_api.py +843 -0
  17. visier_platform_sdk/api/encryption_keys_api.py +835 -0
  18. visier_platform_sdk/api/jobs_library_api.py +1168 -0
  19. visier_platform_sdk/api/network_subnets_api.py +1170 -0
  20. visier_platform_sdk/api/o_auth2_api.py +1036 -0
  21. visier_platform_sdk/api/object_configuration_api.py +1752 -0
  22. visier_platform_sdk/api/permissions_api.py +4295 -0
  23. visier_platform_sdk/api/pgp_keys_api.py +1161 -0
  24. visier_platform_sdk/api/planning_data_load_api.py +740 -0
  25. visier_platform_sdk/api/production_versions_api.py +944 -0
  26. visier_platform_sdk/api/profiles_api.py +2873 -0
  27. visier_platform_sdk/api/projects_api.py +2128 -0
  28. visier_platform_sdk/api/release_version_configuration_api.py +835 -0
  29. visier_platform_sdk/api/reporting_api.py +1757 -0
  30. visier_platform_sdk/api/search_api.py +356 -0
  31. visier_platform_sdk/api/skills_library_api.py +2632 -0
  32. visier_platform_sdk/api/source_files_download_api.py +335 -0
  33. visier_platform_sdk/api/sources_api.py +652 -0
  34. visier_platform_sdk/api/system_status_api.py +570 -0
  35. visier_platform_sdk/api/tenants_v1_api.py +2836 -0
  36. visier_platform_sdk/api/tenants_v2_api.py +1595 -0
  37. visier_platform_sdk/api/user_groups_v2_api.py +2332 -0
  38. visier_platform_sdk/api/users_v1_api.py +6157 -0
  39. visier_platform_sdk/api/users_v2_api.py +973 -0
  40. visier_platform_sdk/api/vee_api.py +1161 -0
  41. visier_platform_sdk/api/webhooks_api.py +2281 -0
  42. visier_platform_sdk/api_client.py +811 -0
  43. visier_platform_sdk/api_response.py +21 -0
  44. visier_platform_sdk/configuration.py +808 -0
  45. visier_platform_sdk/exceptions.py +217 -0
  46. visier_platform_sdk/models/__init__.py +657 -0
  47. visier_platform_sdk/models/accessible_tenant_profile_assignment_request_dto.py +102 -0
  48. visier_platform_sdk/models/accessible_tenant_profile_assignment_response_dto.py +128 -0
  49. visier_platform_sdk/models/accessible_tenant_profile_revoke_request_dto.py +98 -0
  50. visier_platform_sdk/models/accessible_tenant_profile_revoke_response_dto.py +125 -0
  51. visier_platform_sdk/models/additional_capabilities_dto.py +88 -0
  52. visier_platform_sdk/models/admin_capability_config_dto.py +90 -0
  53. visier_platform_sdk/models/adp_auth_params_dto.py +88 -0
  54. visier_platform_sdk/models/aggregation_query_dto.py +128 -0
  55. visier_platform_sdk/models/aggregation_query_execution_dto.py +98 -0
  56. visier_platform_sdk/models/aggregation_query_source_dto.py +96 -0
  57. visier_platform_sdk/models/aggregation_query_source_metric_dto.py +94 -0
  58. visier_platform_sdk/models/aggregation_query_source_metrics_dto.py +96 -0
  59. visier_platform_sdk/models/aggregation_type_option_dto.py +96 -0
  60. visier_platform_sdk/models/aggregation_type_parameter_dto.py +102 -0
  61. visier_platform_sdk/models/aggregation_type_parameter_value_dto.py +90 -0
  62. visier_platform_sdk/models/all_permissions_assigned_for_local_tenant_dto.py +96 -0
  63. visier_platform_sdk/models/all_profile_assigned_for_accessible_tenant_dto.py +96 -0
  64. visier_platform_sdk/models/all_profile_assigned_for_local_tenant_dto.py +96 -0
  65. visier_platform_sdk/models/all_tenants_status_apidto.py +100 -0
  66. visier_platform_sdk/models/all_user_groups_assigned_for_local_tenant_dto.py +96 -0
  67. visier_platform_sdk/models/all_users_get_api_response_dto.py +100 -0
  68. visier_platform_sdk/models/analytic_object_definition_dto.py +102 -0
  69. visier_platform_sdk/models/analytic_object_dto.py +132 -0
  70. visier_platform_sdk/models/analytic_object_filter_dto.py +94 -0
  71. visier_platform_sdk/models/analytic_object_filter_list_dto.py +96 -0
  72. visier_platform_sdk/models/analytic_object_names_dto.py +88 -0
  73. visier_platform_sdk/models/analytic_object_reference_dto.py +88 -0
  74. visier_platform_sdk/models/analytic_object_reference_list_dto.py +96 -0
  75. visier_platform_sdk/models/analytic_object_request_dto.py +96 -0
  76. visier_platform_sdk/models/analytic_object_with_context_dto.py +98 -0
  77. visier_platform_sdk/models/analytic_objects_dto.py +96 -0
  78. visier_platform_sdk/models/any.py +101 -0
  79. visier_platform_sdk/models/api_error.py +92 -0
  80. visier_platform_sdk/models/assign_connector_credential_request.py +96 -0
  81. visier_platform_sdk/models/assign_connector_credentials_by_tenant_response_dto.py +112 -0
  82. visier_platform_sdk/models/assign_connector_credentials_response_dto.py +96 -0
  83. visier_platform_sdk/models/assign_connector_with_credentials_response_dto.py +98 -0
  84. visier_platform_sdk/models/assign_revoke_permission_by_permission_dto.py +102 -0
  85. visier_platform_sdk/models/assign_revoke_permission_by_tenant_dto.py +114 -0
  86. visier_platform_sdk/models/assign_revoke_permission_by_user_dto.py +92 -0
  87. visier_platform_sdk/models/assign_revoke_permission_request_dto.py +90 -0
  88. visier_platform_sdk/models/assign_revoke_permissions_request_dto.py +102 -0
  89. visier_platform_sdk/models/assign_revoke_permissions_response_dto.py +96 -0
  90. visier_platform_sdk/models/assigned_credential_info_response_dto.py +92 -0
  91. visier_platform_sdk/models/bamboo_auth_params_dto.py +90 -0
  92. visier_platform_sdk/models/basic_information_dto.py +102 -0
  93. visier_platform_sdk/models/basic_s3_auth_params_dto.py +96 -0
  94. visier_platform_sdk/models/batch_tenant_provision_apidto.py +96 -0
  95. visier_platform_sdk/models/benchmark_info.py +92 -0
  96. visier_platform_sdk/models/benchmark_value.py +108 -0
  97. visier_platform_sdk/models/big_query_auth_params_dto.py +104 -0
  98. visier_platform_sdk/models/big_query_service_account_params_dto.py +90 -0
  99. visier_platform_sdk/models/bulk_change_response_dto.py +106 -0
  100. visier_platform_sdk/models/bulk_data_access_set_response_dto.py +106 -0
  101. visier_platform_sdk/models/business_location_dto.py +90 -0
  102. visier_platform_sdk/models/calculated_property_type_dto.py +90 -0
  103. visier_platform_sdk/models/calculated_selection_concept_dto.py +104 -0
  104. visier_platform_sdk/models/calculation_concept_configuration_dto.py +96 -0
  105. visier_platform_sdk/models/calculation_concept_configuration_map_dto.py +96 -0
  106. visier_platform_sdk/models/calculation_concept_dto.py +96 -0
  107. visier_platform_sdk/models/calculation_concept_list_dto.py +96 -0
  108. visier_platform_sdk/models/cancel_job_batch_from_job_id_dto.py +88 -0
  109. visier_platform_sdk/models/capabilities_dto.py +92 -0
  110. visier_platform_sdk/models/capability_dto.py +92 -0
  111. visier_platform_sdk/models/capability_group_dto.py +146 -0
  112. visier_platform_sdk/models/cell_distribution_bin_dto.py +90 -0
  113. visier_platform_sdk/models/cell_distribution_options_dto.py +88 -0
  114. visier_platform_sdk/models/cell_dto.py +102 -0
  115. visier_platform_sdk/models/cell_set_axis_dto.py +102 -0
  116. visier_platform_sdk/models/cell_set_axis_position_dto.py +92 -0
  117. visier_platform_sdk/models/cell_set_dto.py +114 -0
  118. visier_platform_sdk/models/cell_set_or_error_dto.py +98 -0
  119. visier_platform_sdk/models/clone_files_into_source_parameters_dto.py +96 -0
  120. visier_platform_sdk/models/cohort_filter_dto.py +100 -0
  121. visier_platform_sdk/models/commit_and_publish_operation_response_dto.py +92 -0
  122. visier_platform_sdk/models/commit_dto.py +92 -0
  123. visier_platform_sdk/models/concept_configuration_result_dto.py +92 -0
  124. visier_platform_sdk/models/concept_definition_dto.py +108 -0
  125. visier_platform_sdk/models/concept_delete_request_dto.py +96 -0
  126. visier_platform_sdk/models/concept_delete_with_context_dto.py +98 -0
  127. visier_platform_sdk/models/concept_request_dto.py +96 -0
  128. visier_platform_sdk/models/concept_response_dto.py +96 -0
  129. visier_platform_sdk/models/concept_type_details_dto.py +104 -0
  130. visier_platform_sdk/models/concept_with_context_dto.py +98 -0
  131. visier_platform_sdk/models/connector.py +98 -0
  132. visier_platform_sdk/models/connector_info_response_dto.py +92 -0
  133. visier_platform_sdk/models/connector_setting_request_dto.py +90 -0
  134. visier_platform_sdk/models/connector_setting_response_dto.py +92 -0
  135. visier_platform_sdk/models/connector_settings_response_dto.py +102 -0
  136. visier_platform_sdk/models/consolidated_analytics_api_excluded_source_list_dto.py +88 -0
  137. visier_platform_sdk/models/consolidated_analytics_api_source_tenant_list_dto.py +88 -0
  138. visier_platform_sdk/models/consolidated_analytics_api_tenant_create_request_dto.py +88 -0
  139. visier_platform_sdk/models/consolidated_analytics_api_tenant_list_response_dto.py +88 -0
  140. visier_platform_sdk/models/consolidated_analytics_api_tenant_with_details.py +92 -0
  141. visier_platform_sdk/models/consolidated_analytics_api_tenant_with_details_list_response_dto.py +96 -0
  142. visier_platform_sdk/models/consolidated_analytics_job_request_dto.py +88 -0
  143. visier_platform_sdk/models/content_package_dto.py +92 -0
  144. visier_platform_sdk/models/copy_s3_auth_params_dto.py +88 -0
  145. visier_platform_sdk/models/create_data_access_set_request_dto.py +96 -0
  146. visier_platform_sdk/models/credential_creation_api_response_dto.py +102 -0
  147. visier_platform_sdk/models/currencies_dto.py +96 -0
  148. visier_platform_sdk/models/currency_dto.py +94 -0
  149. visier_platform_sdk/models/currency_rate_dto.py +96 -0
  150. visier_platform_sdk/models/currency_rates_dto.py +96 -0
  151. visier_platform_sdk/models/custom_property_dto.py +90 -0
  152. visier_platform_sdk/models/custom_tenant_property_dto.py +90 -0
  153. visier_platform_sdk/models/data_access_set_dto.py +104 -0
  154. visier_platform_sdk/models/data_access_set_error_dto.py +90 -0
  155. visier_platform_sdk/models/data_access_set_failure_dto.py +96 -0
  156. visier_platform_sdk/models/data_access_set_success_dto.py +90 -0
  157. visier_platform_sdk/models/data_categories_response_dto.py +96 -0
  158. visier_platform_sdk/models/data_category_response_dto.py +92 -0
  159. visier_platform_sdk/models/data_load_request.py +92 -0
  160. visier_platform_sdk/models/data_load_request_model.py +90 -0
  161. visier_platform_sdk/models/data_load_response.py +88 -0
  162. visier_platform_sdk/models/data_model_analytic_object_dto.py +130 -0
  163. visier_platform_sdk/models/data_provider_auth_information_dto.py +104 -0
  164. visier_platform_sdk/models/data_provider_auth_params_dto.py +344 -0
  165. visier_platform_sdk/models/data_provider_basic_information_dto.py +90 -0
  166. visier_platform_sdk/models/data_provider_basic_metadata_dto.py +88 -0
  167. visier_platform_sdk/models/data_security_profile_dto.py +134 -0
  168. visier_platform_sdk/models/data_transfer_result_detail.py +94 -0
  169. visier_platform_sdk/models/data_version_and_date_dto.py +90 -0
  170. visier_platform_sdk/models/data_version_export_column_dto.py +94 -0
  171. visier_platform_sdk/models/data_version_export_data_version_summary_dto.py +92 -0
  172. visier_platform_sdk/models/data_version_export_data_versions_dto.py +96 -0
  173. visier_platform_sdk/models/data_version_export_dto.py +108 -0
  174. visier_platform_sdk/models/data_version_export_file_dto.py +106 -0
  175. visier_platform_sdk/models/data_version_export_job_status_dto.py +94 -0
  176. visier_platform_sdk/models/data_version_export_part_file_dto.py +90 -0
  177. visier_platform_sdk/models/data_version_export_schedule_job_request_dto.py +90 -0
  178. visier_platform_sdk/models/data_version_export_schedule_job_response_dto.py +88 -0
  179. visier_platform_sdk/models/data_version_export_table_dto.py +101 -0
  180. visier_platform_sdk/models/data_version_exports_dto.py +96 -0
  181. visier_platform_sdk/models/data_version_object.py +92 -0
  182. visier_platform_sdk/models/databricks_auth_params_dto.py +94 -0
  183. visier_platform_sdk/models/date_range_dto.py +90 -0
  184. visier_platform_sdk/models/dayforce_v2_auth_params_dto.py +96 -0
  185. visier_platform_sdk/models/delete_permissions_request_dto.py +88 -0
  186. visier_platform_sdk/models/delete_user_group_v2_request.py +88 -0
  187. visier_platform_sdk/models/dependent_dto.py +92 -0
  188. visier_platform_sdk/models/description_entry.py +90 -0
  189. visier_platform_sdk/models/designer_dimension_filter_dto.py +100 -0
  190. visier_platform_sdk/models/designer_selection_concept_dto.py +96 -0
  191. visier_platform_sdk/models/dimension_change_definition_dto.py +94 -0
  192. visier_platform_sdk/models/dimension_change_definitions_by_tenant_dto.py +100 -0
  193. visier_platform_sdk/models/dimension_delete_request_dto.py +96 -0
  194. visier_platform_sdk/models/dimension_delete_with_context_dto.py +98 -0
  195. visier_platform_sdk/models/dimension_details_dto.py +98 -0
  196. visier_platform_sdk/models/dimension_dto.py +120 -0
  197. visier_platform_sdk/models/dimension_filter_dto.py +100 -0
  198. visier_platform_sdk/models/dimension_filter_list_dto.py +96 -0
  199. visier_platform_sdk/models/dimension_mapping_validation_dto.py +102 -0
  200. visier_platform_sdk/models/dimension_mapping_validation_execution_dto.py +90 -0
  201. visier_platform_sdk/models/dimension_member.py +139 -0
  202. visier_platform_sdk/models/dimension_member_dto.py +88 -0
  203. visier_platform_sdk/models/dimension_member_reference_dto.py +90 -0
  204. visier_platform_sdk/models/dimension_reference_dto.py +90 -0
  205. visier_platform_sdk/models/dimension_request_dto.py +96 -0
  206. visier_platform_sdk/models/dimension_response_dto.py +96 -0
  207. visier_platform_sdk/models/dimension_with_context_dto.py +98 -0
  208. visier_platform_sdk/models/dimensions_auth_params_dto.py +98 -0
  209. visier_platform_sdk/models/dimensions_change_definitions_dto.py +96 -0
  210. visier_platform_sdk/models/dimensions_dto.py +96 -0
  211. visier_platform_sdk/models/direct_data_job_config_dto.py +100 -0
  212. visier_platform_sdk/models/direct_data_job_status_response_dto.py +96 -0
  213. visier_platform_sdk/models/direct_data_list_transactions_response_dto.py +96 -0
  214. visier_platform_sdk/models/direct_data_load_config_dto.py +92 -0
  215. visier_platform_sdk/models/direct_data_schema_dto.py +96 -0
  216. visier_platform_sdk/models/direct_data_schema_field_dto.py +96 -0
  217. visier_platform_sdk/models/direct_data_transaction_dto.py +96 -0
  218. visier_platform_sdk/models/direct_data_transaction_start_response_dto.py +88 -0
  219. visier_platform_sdk/models/direct_data_upload_file_response_dto.py +92 -0
  220. visier_platform_sdk/models/disable_dv_model.py +96 -0
  221. visier_platform_sdk/models/disable_dv_request.py +92 -0
  222. visier_platform_sdk/models/disable_dv_response.py +100 -0
  223. visier_platform_sdk/models/dispatching_job_status_response.py +94 -0
  224. visier_platform_sdk/models/document_search_link_dto.py +90 -0
  225. visier_platform_sdk/models/download_source_files_dto.py +102 -0
  226. visier_platform_sdk/models/download_source_files_response_dto.py +90 -0
  227. visier_platform_sdk/models/dv_export_status.py +96 -0
  228. visier_platform_sdk/models/dynamic_dimension_filter_dto.py +112 -0
  229. visier_platform_sdk/models/dynamic_property_mapping_dto.py +106 -0
  230. visier_platform_sdk/models/element_ids_dto.py +88 -0
  231. visier_platform_sdk/models/email_domains_dto.py +90 -0
  232. visier_platform_sdk/models/error_dto.py +92 -0
  233. visier_platform_sdk/models/exclude_data_uploads_request.py +96 -0
  234. visier_platform_sdk/models/excluded_sources_body.py +88 -0
  235. visier_platform_sdk/models/execution_context_dto.py +90 -0
  236. visier_platform_sdk/models/export_production_versions_api_operation_parameters_dto.py +92 -0
  237. visier_platform_sdk/models/extract_data_and_load_dto.py +150 -0
  238. visier_platform_sdk/models/extracted_skill.py +94 -0
  239. visier_platform_sdk/models/extraction_job.py +94 -0
  240. visier_platform_sdk/models/extraction_job_and_status_response.py +104 -0
  241. visier_platform_sdk/models/extractor_credential_apidto.py +96 -0
  242. visier_platform_sdk/models/extractor_credentials_apidto.py +100 -0
  243. visier_platform_sdk/models/extractor_setting_apidto.py +100 -0
  244. visier_platform_sdk/models/extractor_setting_key_value_apidto.py +90 -0
  245. visier_platform_sdk/models/extractor_settings_apidto.py +96 -0
  246. visier_platform_sdk/models/failed_accessible_tenant_profile_assignment_dto.py +98 -0
  247. visier_platform_sdk/models/failed_change_dto.py +100 -0
  248. visier_platform_sdk/models/failed_local_tenant_profile_assignment_dto.py +94 -0
  249. visier_platform_sdk/models/failed_local_tenant_profile_revoke_dto.py +90 -0
  250. visier_platform_sdk/models/fusion_auth_params_dto.py +92 -0
  251. visier_platform_sdk/models/generate_impersonation_token_request.py +88 -0
  252. visier_platform_sdk/models/generate_key_request_dto.py +92 -0
  253. visier_platform_sdk/models/get_capabilities_api_response_dto.py +96 -0
  254. visier_platform_sdk/models/get_content_packages_api_response_dto.py +96 -0
  255. visier_platform_sdk/models/get_data_access_sets_api_response_dto.py +96 -0
  256. visier_platform_sdk/models/get_data_security_objects_api_response_dto.py +96 -0
  257. visier_platform_sdk/models/get_permissions_api_response_dto.py +96 -0
  258. visier_platform_sdk/models/get_plan_list_response_dto.py +98 -0
  259. visier_platform_sdk/models/get_production_versions_api_response_dto.py +96 -0
  260. visier_platform_sdk/models/get_projects_api_response_dto.py +123 -0
  261. visier_platform_sdk/models/gong_auth_params_dto.py +90 -0
  262. visier_platform_sdk/models/google_sheets_auth_params_dto.py +94 -0
  263. visier_platform_sdk/models/google_workspace_auth_params_dto.py +96 -0
  264. visier_platform_sdk/models/greenhouse_auth_params_dto.py +88 -0
  265. visier_platform_sdk/models/hierarchy.py +92 -0
  266. visier_platform_sdk/models/hierarchy_property_dto.py +90 -0
  267. visier_platform_sdk/models/home_analysis_by_user_group_dto.py +90 -0
  268. visier_platform_sdk/models/icims_auth_params_dto.py +108 -0
  269. visier_platform_sdk/models/import_definition_apidto.py +92 -0
  270. visier_platform_sdk/models/import_definitions_apidto.py +100 -0
  271. visier_platform_sdk/models/include_data_uploads_request.py +96 -0
  272. visier_platform_sdk/models/inherited_access_config_dto.py +100 -0
  273. visier_platform_sdk/models/inherited_reference_member_filter_config_dto.py +90 -0
  274. visier_platform_sdk/models/internal_query_execution_options_dto.py +100 -0
  275. visier_platform_sdk/models/internal_s3_auth_params_dto.py +90 -0
  276. visier_platform_sdk/models/jdbc_auth_params_dto.py +92 -0
  277. visier_platform_sdk/models/jira_auth_params_dto.py +96 -0
  278. visier_platform_sdk/models/jira_connect_params_dto.py +92 -0
  279. visier_platform_sdk/models/job.py +121 -0
  280. visier_platform_sdk/models/job_cancellation_result_dto.py +110 -0
  281. visier_platform_sdk/models/job_cancellation_results_dto.py +96 -0
  282. visier_platform_sdk/models/job_entry.py +92 -0
  283. visier_platform_sdk/models/job_feedback_input.py +92 -0
  284. visier_platform_sdk/models/job_id_response.py +88 -0
  285. visier_platform_sdk/models/job_search_failure_output.py +94 -0
  286. visier_platform_sdk/models/job_search_input.py +88 -0
  287. visier_platform_sdk/models/job_search_output.py +106 -0
  288. visier_platform_sdk/models/job_standardization_input.py +98 -0
  289. visier_platform_sdk/models/job_standardization_input_skills.py +90 -0
  290. visier_platform_sdk/models/job_status_list_response.py +100 -0
  291. visier_platform_sdk/models/job_status_with_start_time.py +96 -0
  292. visier_platform_sdk/models/key_group_filter_dto.py +96 -0
  293. visier_platform_sdk/models/key_group_filter_item_dto.py +100 -0
  294. visier_platform_sdk/models/key_name.py +88 -0
  295. visier_platform_sdk/models/key_pair_delete_response_dto.py +88 -0
  296. visier_platform_sdk/models/key_pair_generate_request_dto.py +88 -0
  297. visier_platform_sdk/models/last_login_dto.py +88 -0
  298. visier_platform_sdk/models/level_dto.py +92 -0
  299. visier_platform_sdk/models/level_list_dto.py +96 -0
  300. visier_platform_sdk/models/leveled_details_dto.py +102 -0
  301. visier_platform_sdk/models/lever_auth_params_dto.py +88 -0
  302. visier_platform_sdk/models/lineage_dto.py +100 -0
  303. visier_platform_sdk/models/list_query_execution_dto.py +144 -0
  304. visier_platform_sdk/models/list_query_execution_options_dto.py +158 -0
  305. visier_platform_sdk/models/list_query_source_dto.py +94 -0
  306. visier_platform_sdk/models/list_response.py +101 -0
  307. visier_platform_sdk/models/local_tenant_profile_assignment_request_dto.py +92 -0
  308. visier_platform_sdk/models/local_tenant_profile_assignment_response_dto.py +118 -0
  309. visier_platform_sdk/models/local_tenant_profile_revoke_request_dto.py +88 -0
  310. visier_platform_sdk/models/local_tenant_profile_revoke_response_dto.py +106 -0
  311. visier_platform_sdk/models/location_search_failure_output.py +96 -0
  312. visier_platform_sdk/models/location_search_input.py +98 -0
  313. visier_platform_sdk/models/location_search_input1.py +92 -0
  314. visier_platform_sdk/models/location_search_output.py +106 -0
  315. visier_platform_sdk/models/location_search_successful_output.py +98 -0
  316. visier_platform_sdk/models/mask_message.py +88 -0
  317. visier_platform_sdk/models/medallia_auth_params_dto.py +94 -0
  318. visier_platform_sdk/models/member_dto.py +106 -0
  319. visier_platform_sdk/models/member_filter_config_dto.py +96 -0
  320. visier_platform_sdk/models/member_filter_dto.py +98 -0
  321. visier_platform_sdk/models/member_parameter_definition_dto.py +102 -0
  322. visier_platform_sdk/models/member_parameter_value_dto.py +98 -0
  323. visier_platform_sdk/models/member_selection_concept_dto.py +102 -0
  324. visier_platform_sdk/models/member_selection_dto.py +90 -0
  325. visier_platform_sdk/models/member_selection_list_dto.py +96 -0
  326. visier_platform_sdk/models/member_values_dto.py +105 -0
  327. visier_platform_sdk/models/members_dto.py +96 -0
  328. visier_platform_sdk/models/metric_definition_dto.py +114 -0
  329. visier_platform_sdk/models/metric_dto.py +122 -0
  330. visier_platform_sdk/models/metric_type_details_dto.py +92 -0
  331. visier_platform_sdk/models/metric_validation_summary_dto.py +92 -0
  332. visier_platform_sdk/models/metrics_dto.py +96 -0
  333. visier_platform_sdk/models/microsoft365_auth_params_dto.py +94 -0
  334. visier_platform_sdk/models/module_settings_dto.py +92 -0
  335. visier_platform_sdk/models/multiple_tenant_data_versions_details_dto.py +98 -0
  336. visier_platform_sdk/models/multiple_tenant_data_versions_list_dto.py +100 -0
  337. visier_platform_sdk/models/my_sql_auth_params_dto.py +98 -0
  338. visier_platform_sdk/models/namely_auth_params_dto.py +88 -0
  339. visier_platform_sdk/models/network_subnets_message_request.py +90 -0
  340. visier_platform_sdk/models/network_subnets_message_response.py +88 -0
  341. visier_platform_sdk/models/numeric_parameter_definition_dto.py +98 -0
  342. visier_platform_sdk/models/numeric_parameter_value_dto.py +90 -0
  343. visier_platform_sdk/models/o_auth2_user_info_dto.py +117 -0
  344. visier_platform_sdk/models/o_auth2_user_subnet_info_dto.py +100 -0
  345. visier_platform_sdk/models/o_auth2_user_tenant_detail_dto.py +96 -0
  346. visier_platform_sdk/models/o_auth2_user_tenant_details_dto.py +96 -0
  347. visier_platform_sdk/models/o_auth2_user_tenant_properties_dto.py +88 -0
  348. visier_platform_sdk/models/object_change_failure_dto.py +98 -0
  349. visier_platform_sdk/models/object_change_success_dto.py +94 -0
  350. visier_platform_sdk/models/object_id_dto.py +90 -0
  351. visier_platform_sdk/models/object_reference_dto.py +110 -0
  352. visier_platform_sdk/models/objects_bulk_change_response_dto.py +106 -0
  353. visier_platform_sdk/models/oracle_db_auth_params_dto.py +96 -0
  354. visier_platform_sdk/models/output_entry.py +98 -0
  355. visier_platform_sdk/models/output_entry1.py +98 -0
  356. visier_platform_sdk/models/output_entry1_matches_inner.py +94 -0
  357. visier_platform_sdk/models/pair_dto.py +90 -0
  358. visier_platform_sdk/models/parameter_definition_dto.py +110 -0
  359. visier_platform_sdk/models/parent_child_details_dto.py +108 -0
  360. visier_platform_sdk/models/permission_assigned_by_tenant_dto.py +98 -0
  361. visier_platform_sdk/models/permission_assigned_for_local_tenant_dto.py +92 -0
  362. visier_platform_sdk/models/permission_assigned_user_dto.py +92 -0
  363. visier_platform_sdk/models/permission_assigned_users_dto.py +100 -0
  364. visier_platform_sdk/models/permission_bulk_operation_response_dto.py +106 -0
  365. visier_platform_sdk/models/permission_dto.py +114 -0
  366. visier_platform_sdk/models/permission_error_dto.py +90 -0
  367. visier_platform_sdk/models/permission_failure_dto.py +96 -0
  368. visier_platform_sdk/models/permission_response_dto.py +90 -0
  369. visier_platform_sdk/models/permission_success_dto.py +90 -0
  370. visier_platform_sdk/models/permissions_list_dto.py +96 -0
  371. visier_platform_sdk/models/permissions_to_user_group_for_tenant_dto.py +102 -0
  372. visier_platform_sdk/models/permissions_to_user_group_request_dto.py +90 -0
  373. visier_platform_sdk/models/permissions_to_user_groups_request_dto.py +96 -0
  374. visier_platform_sdk/models/perspective_configuration_dto.py +100 -0
  375. visier_platform_sdk/models/perspective_node_dto.py +100 -0
  376. visier_platform_sdk/models/plan_data_load_change_dto.py +94 -0
  377. visier_platform_sdk/models/plan_data_load_change_list_dto.py +98 -0
  378. visier_platform_sdk/models/plan_data_load_error_dto.py +92 -0
  379. visier_platform_sdk/models/plan_data_upload_response_dto.py +110 -0
  380. visier_platform_sdk/models/plan_info_dto.py +106 -0
  381. visier_platform_sdk/models/plan_item_dto.py +102 -0
  382. visier_platform_sdk/models/plan_parameter_definition_dto.py +94 -0
  383. visier_platform_sdk/models/plan_parameter_value_dto.py +94 -0
  384. visier_platform_sdk/models/plan_row_data_load_response_dto.py +114 -0
  385. visier_platform_sdk/models/plan_schema_dto.py +126 -0
  386. visier_platform_sdk/models/plan_segment_level_dto.py +96 -0
  387. visier_platform_sdk/models/plan_segment_level_member_dto.py +94 -0
  388. visier_platform_sdk/models/plan_segment_level_member_list_dto.py +100 -0
  389. visier_platform_sdk/models/plan_time_period_dto.py +90 -0
  390. visier_platform_sdk/models/plan_with_schema_dto.py +108 -0
  391. visier_platform_sdk/models/planning_concept_filter_context_dto.py +88 -0
  392. visier_platform_sdk/models/planning_hierarchy_filter_context_dto.py +92 -0
  393. visier_platform_sdk/models/planning_model_dto.py +92 -0
  394. visier_platform_sdk/models/planning_models_dto.py +96 -0
  395. visier_platform_sdk/models/planning_plan_context_dto.py +98 -0
  396. visier_platform_sdk/models/planning_plan_dto.py +123 -0
  397. visier_platform_sdk/models/planning_plans_dto.py +96 -0
  398. visier_platform_sdk/models/population_configuration_dto.py +115 -0
  399. visier_platform_sdk/models/prediction_dto.py +124 -0
  400. visier_platform_sdk/models/predictions_dto.py +96 -0
  401. visier_platform_sdk/models/process_concept_definition_dto.py +128 -0
  402. visier_platform_sdk/models/process_concept_member_dto.py +90 -0
  403. visier_platform_sdk/models/process_concept_member_list_dto.py +96 -0
  404. visier_platform_sdk/models/process_concept_metric_definition_dto.py +92 -0
  405. visier_platform_sdk/models/process_concept_metric_list_dto.py +96 -0
  406. visier_platform_sdk/models/process_concept_outcome_dto.py +114 -0
  407. visier_platform_sdk/models/process_concept_outcome_list_dto.py +96 -0
  408. visier_platform_sdk/models/process_concept_property_list_dto.py +96 -0
  409. visier_platform_sdk/models/process_concept_property_type_dto.py +92 -0
  410. visier_platform_sdk/models/process_concept_stage_dto.py +102 -0
  411. visier_platform_sdk/models/process_concept_stage_list_dto.py +96 -0
  412. visier_platform_sdk/models/processing_job.py +96 -0
  413. visier_platform_sdk/models/processing_job_and_status_response.py +104 -0
  414. visier_platform_sdk/models/processing_job_request_dto.py +96 -0
  415. visier_platform_sdk/models/processing_job_status_response.py +104 -0
  416. visier_platform_sdk/models/product_release_dto.py +94 -0
  417. visier_platform_sdk/models/product_releases_dto.py +96 -0
  418. visier_platform_sdk/models/product_version_dto.py +92 -0
  419. visier_platform_sdk/models/product_versions_dto.py +96 -0
  420. visier_platform_sdk/models/product_versions_update_failure_tenant_response_dto.py +94 -0
  421. visier_platform_sdk/models/product_versions_update_response_dto.py +106 -0
  422. visier_platform_sdk/models/product_versions_update_successful_tenant_response_dto.py +92 -0
  423. visier_platform_sdk/models/production_version_api_operation_request_dto.py +98 -0
  424. visier_platform_sdk/models/production_version_api_operation_response_dto.py +92 -0
  425. visier_platform_sdk/models/production_versions_api_operation_request_dto.py +104 -0
  426. visier_platform_sdk/models/production_versions_api_operation_response_dto.py +88 -0
  427. visier_platform_sdk/models/profile_assigned_for_accessible_tenant_dto.py +98 -0
  428. visier_platform_sdk/models/profile_assigned_for_local_tenant_dto.py +110 -0
  429. visier_platform_sdk/models/profile_get_api_response_dto.py +102 -0
  430. visier_platform_sdk/models/profiles_get_api_response_dto.py +96 -0
  431. visier_platform_sdk/models/project_commits_api_response_dto.py +96 -0
  432. visier_platform_sdk/models/project_dto.py +111 -0
  433. visier_platform_sdk/models/project_operation_request_dto.py +98 -0
  434. visier_platform_sdk/models/project_operation_response_dto.py +92 -0
  435. visier_platform_sdk/models/properties_change_definitions_dto.py +96 -0
  436. visier_platform_sdk/models/properties_delete_definitions_dto.py +100 -0
  437. visier_platform_sdk/models/properties_dto.py +96 -0
  438. visier_platform_sdk/models/property_access_config_dto.py +116 -0
  439. visier_platform_sdk/models/property_bulk_delete_response_dto.py +106 -0
  440. visier_platform_sdk/models/property_change_definition_dto.py +112 -0
  441. visier_platform_sdk/models/property_change_definitions_by_tenant_dto.py +100 -0
  442. visier_platform_sdk/models/property_column_dto.py +94 -0
  443. visier_platform_sdk/models/property_definition_dto.py +102 -0
  444. visier_platform_sdk/models/property_delete_definitions_by_tenant_dto.py +92 -0
  445. visier_platform_sdk/models/property_delete_failure_dto.py +117 -0
  446. visier_platform_sdk/models/property_delete_success_dto.py +113 -0
  447. visier_platform_sdk/models/property_dependency_dto.py +90 -0
  448. visier_platform_sdk/models/property_dependency_list_dto.py +96 -0
  449. visier_platform_sdk/models/property_dto.py +118 -0
  450. visier_platform_sdk/models/property_reference_dto.py +90 -0
  451. visier_platform_sdk/models/property_set_config_dto.py +102 -0
  452. visier_platform_sdk/models/property_type_details_dto.py +104 -0
  453. visier_platform_sdk/models/property_type_dto.py +98 -0
  454. visier_platform_sdk/models/public_key_dto.py +96 -0
  455. visier_platform_sdk/models/public_keys_dto.py +96 -0
  456. visier_platform_sdk/models/push_data_cancel_response.py +102 -0
  457. visier_platform_sdk/models/push_data_column_definition_dto.py +98 -0
  458. visier_platform_sdk/models/push_data_complete_request.py +90 -0
  459. visier_platform_sdk/models/push_data_complete_response.py +104 -0
  460. visier_platform_sdk/models/push_data_response.py +104 -0
  461. visier_platform_sdk/models/push_data_source_definition_dto.py +106 -0
  462. visier_platform_sdk/models/push_data_source_definitions_dto.py +96 -0
  463. visier_platform_sdk/models/put_project_commits_request.py +88 -0
  464. visier_platform_sdk/models/qualifying_path_dto.py +88 -0
  465. visier_platform_sdk/models/qualtrics_auth_params_dto.py +90 -0
  466. visier_platform_sdk/models/query_axis_dto.py +141 -0
  467. visier_platform_sdk/models/query_axis_options_dto.py +100 -0
  468. visier_platform_sdk/models/query_dimension_data_member_selection_dto.py +92 -0
  469. visier_platform_sdk/models/query_dimension_leaf_selection_dto.py +92 -0
  470. visier_platform_sdk/models/query_dimension_level_property_dto.py +108 -0
  471. visier_platform_sdk/models/query_dimension_level_selection_dto.py +96 -0
  472. visier_platform_sdk/models/query_dimension_member_selection_dto.py +102 -0
  473. visier_platform_sdk/models/query_execution_error_details_dto.py +94 -0
  474. visier_platform_sdk/models/query_execution_error_dto.py +100 -0
  475. visier_platform_sdk/models/query_execution_errors_dto.py +100 -0
  476. visier_platform_sdk/models/query_execution_options_dto.py +192 -0
  477. visier_platform_sdk/models/query_filter_dto.py +106 -0
  478. visier_platform_sdk/models/query_member_map_property_dto.py +94 -0
  479. visier_platform_sdk/models/query_member_map_selection_dto.py +104 -0
  480. visier_platform_sdk/models/query_numeric_ranges_dto.py +100 -0
  481. visier_platform_sdk/models/query_parameter_value_dto.py +110 -0
  482. visier_platform_sdk/models/query_property_dto.py +120 -0
  483. visier_platform_sdk/models/query_time_interval_dto.py +134 -0
  484. visier_platform_sdk/models/query_time_intervals_dto.py +150 -0
  485. visier_platform_sdk/models/question_categories_api_response_dto.py +96 -0
  486. visier_platform_sdk/models/question_category_api_response_dto.py +90 -0
  487. visier_platform_sdk/models/receiving_job.py +92 -0
  488. visier_platform_sdk/models/receiving_job_and_status_response.py +104 -0
  489. visier_platform_sdk/models/receiving_job_status_response.py +104 -0
  490. visier_platform_sdk/models/redshift_auth_params_dto.py +100 -0
  491. visier_platform_sdk/models/reduced_error_dto.py +88 -0
  492. visier_platform_sdk/models/reduced_tenant_code_error_dto.py +96 -0
  493. visier_platform_sdk/models/reduced_user_id_error_dto.py +94 -0
  494. visier_platform_sdk/models/related_analytic_object_dto.py +90 -0
  495. visier_platform_sdk/models/report_create_request_dto.py +90 -0
  496. visier_platform_sdk/models/report_delete_success_dto.py +88 -0
  497. visier_platform_sdk/models/report_dto.py +115 -0
  498. visier_platform_sdk/models/report_list_response_dto.py +96 -0
  499. visier_platform_sdk/models/result.py +96 -0
  500. visier_platform_sdk/models/role_modules_config_dto.py +88 -0
  501. visier_platform_sdk/models/salary_benchmark_input.py +100 -0
  502. visier_platform_sdk/models/salary_benchmarks_batch_processing_failure_output.py +96 -0
  503. visier_platform_sdk/models/salary_benchmarks_batch_processing_outputs.py +106 -0
  504. visier_platform_sdk/models/salary_benchmarks_batch_processing_successful_output.py +110 -0
  505. visier_platform_sdk/models/salesforce_auth_params_dto.py +90 -0
  506. visier_platform_sdk/models/salesforce_v2_auth_params_dto.py +94 -0
  507. visier_platform_sdk/models/sample_question_api_response_dto.py +100 -0
  508. visier_platform_sdk/models/sample_questions_api_response_dto.py +96 -0
  509. visier_platform_sdk/models/scenario_info_dto.py +92 -0
  510. visier_platform_sdk/models/scenario_or_snapshot_dto.py +90 -0
  511. visier_platform_sdk/models/securable_dimension_dto.py +102 -0
  512. visier_platform_sdk/models/securable_property_dto.py +96 -0
  513. visier_platform_sdk/models/security_assignment_response_dto.py +96 -0
  514. visier_platform_sdk/models/selection_concept_configuration_dto.py +96 -0
  515. visier_platform_sdk/models/selection_concept_configuration_map_dto.py +96 -0
  516. visier_platform_sdk/models/selection_concept_dto.py +106 -0
  517. visier_platform_sdk/models/selection_concept_list_dto.py +96 -0
  518. visier_platform_sdk/models/selection_concept_reference_dto.py +90 -0
  519. visier_platform_sdk/models/selection_concepts_dto.py +96 -0
  520. visier_platform_sdk/models/service_now_auth_params_dto.py +92 -0
  521. visier_platform_sdk/models/service_now_v2_auth_params_dto.py +96 -0
  522. visier_platform_sdk/models/servicing_capability_proto_enum_access_lookup_dto.py +96 -0
  523. visier_platform_sdk/models/servicing_direct_data_upload_file_response_dto.py +92 -0
  524. visier_platform_sdk/models/set_connector_setting_request_dto.py +98 -0
  525. visier_platform_sdk/models/set_connector_setting_response_dto.py +112 -0
  526. visier_platform_sdk/models/set_connector_settings_request_dto.py +96 -0
  527. visier_platform_sdk/models/set_connector_settings_response_dto.py +96 -0
  528. visier_platform_sdk/models/shareable_data_access_set.py +88 -0
  529. visier_platform_sdk/models/simple_document_header_search_response_dto.py +96 -0
  530. visier_platform_sdk/models/simple_document_header_search_result_dto.py +98 -0
  531. visier_platform_sdk/models/simple_property_type_dto.py +88 -0
  532. visier_platform_sdk/models/simple_user_dto.py +90 -0
  533. visier_platform_sdk/models/skill.py +106 -0
  534. visier_platform_sdk/models/skill_category.py +102 -0
  535. visier_platform_sdk/models/skill_category_entry.py +92 -0
  536. visier_platform_sdk/models/skill_entry.py +92 -0
  537. visier_platform_sdk/models/skill_extraction_input.py +93 -0
  538. visier_platform_sdk/models/skill_group.py +104 -0
  539. visier_platform_sdk/models/skill_group_entry.py +92 -0
  540. visier_platform_sdk/models/skill_match_input.py +91 -0
  541. visier_platform_sdk/models/slack_auth_params_dto.py +92 -0
  542. visier_platform_sdk/models/snapshot_query_execution_dto.py +144 -0
  543. visier_platform_sdk/models/snapshot_query_execution_options_dto.py +134 -0
  544. visier_platform_sdk/models/snowflake_auth_params_dto.py +100 -0
  545. visier_platform_sdk/models/sort_option_dto.py +100 -0
  546. visier_platform_sdk/models/source.py +98 -0
  547. visier_platform_sdk/models/source_import_result_summary_dto.py +94 -0
  548. visier_platform_sdk/models/sources_api_operation_request_dto.py +104 -0
  549. visier_platform_sdk/models/sources_api_put_response_dto.py +92 -0
  550. visier_platform_sdk/models/sql_like200_response.py +138 -0
  551. visier_platform_sdk/models/sql_like_query_execution_dto.py +94 -0
  552. visier_platform_sdk/models/sql_server_auth_params_dto.py +96 -0
  553. visier_platform_sdk/models/start_extraction_response.py +88 -0
  554. visier_platform_sdk/models/start_transfer_response.py +88 -0
  555. visier_platform_sdk/models/static_dimension_filter_dto.py +112 -0
  556. visier_platform_sdk/models/status.py +96 -0
  557. visier_platform_sdk/models/subject_missing_access_dto.py +102 -0
  558. visier_platform_sdk/models/success_factors_auth_params_dto.py +100 -0
  559. visier_platform_sdk/models/success_factors_o_auth_params_dto.py +92 -0
  560. visier_platform_sdk/models/successful_accessible_tenant_profile_assignment_dto.py +92 -0
  561. visier_platform_sdk/models/successful_change_dto.py +98 -0
  562. visier_platform_sdk/models/successful_local_tenant_profile_assignment_dto.py +88 -0
  563. visier_platform_sdk/models/synonym_list_dto.py +88 -0
  564. visier_platform_sdk/models/system_status_dto.py +88 -0
  565. visier_platform_sdk/models/table_response_dto.py +90 -0
  566. visier_platform_sdk/models/tag_map_element_dto.py +90 -0
  567. visier_platform_sdk/models/tag_reference_dto.py +88 -0
  568. visier_platform_sdk/models/tag_reference_list_dto.py +96 -0
  569. visier_platform_sdk/models/tags_dto.py +88 -0
  570. visier_platform_sdk/models/target_project_for_tenant_dto.py +90 -0
  571. visier_platform_sdk/models/target_project_for_tenants_list_dto.py +96 -0
  572. visier_platform_sdk/models/target_tenant_code_dto.py +90 -0
  573. visier_platform_sdk/models/tenant.py +100 -0
  574. visier_platform_sdk/models/tenant_and_credential.py +90 -0
  575. visier_platform_sdk/models/tenant_assignments_dto.py +114 -0
  576. visier_platform_sdk/models/tenant_code_body.py +88 -0
  577. visier_platform_sdk/models/tenant_code_error_dto.py +96 -0
  578. visier_platform_sdk/models/tenant_connector_settings_request_dto.py +98 -0
  579. visier_platform_sdk/models/tenant_data_upload_status_response_dto.py +98 -0
  580. visier_platform_sdk/models/tenant_data_upload_update_status_response_dto.py +94 -0
  581. visier_platform_sdk/models/tenant_data_uploads_list_response_dto.py +100 -0
  582. visier_platform_sdk/models/tenant_data_uploads_response_dto.py +98 -0
  583. visier_platform_sdk/models/tenant_data_uploads_update_response_dto.py +100 -0
  584. visier_platform_sdk/models/tenant_detail_apidto.py +130 -0
  585. visier_platform_sdk/models/tenant_details_traits_dto.py +112 -0
  586. visier_platform_sdk/models/tenant_encryption_key_details_dto.py +96 -0
  587. visier_platform_sdk/models/tenant_encryption_key_dto.py +94 -0
  588. visier_platform_sdk/models/tenant_management_api_get_response_dto.py +156 -0
  589. visier_platform_sdk/models/tenant_management_api_list_response_dto.py +100 -0
  590. visier_platform_sdk/models/tenant_management_api_update_request_dto.py +156 -0
  591. visier_platform_sdk/models/tenant_management_api_update_response_dto.py +136 -0
  592. visier_platform_sdk/models/tenant_module_dto.py +96 -0
  593. visier_platform_sdk/models/tenant_preview_entries_summary_dto.py +102 -0
  594. visier_platform_sdk/models/tenant_preview_entries_summary_list_dto.py +100 -0
  595. visier_platform_sdk/models/tenant_provision_apidto.py +110 -0
  596. visier_platform_sdk/models/tenant_status_apidto.py +94 -0
  597. visier_platform_sdk/models/time_shift_dto.py +112 -0
  598. visier_platform_sdk/models/token_response.py +96 -0
  599. visier_platform_sdk/models/ultimate_auth_params_dto.py +96 -0
  600. visier_platform_sdk/models/update_tenant_model.py +98 -0
  601. visier_platform_sdk/models/upload_to_exclude.py +102 -0
  602. visier_platform_sdk/models/upload_to_include.py +102 -0
  603. visier_platform_sdk/models/user_creation_api_request_dto.py +96 -0
  604. visier_platform_sdk/models/user_creation_api_response_dto.py +98 -0
  605. visier_platform_sdk/models/user_get_api_response_dto.py +122 -0
  606. visier_platform_sdk/models/user_group_assigned_for_local_tenant_dto.py +90 -0
  607. visier_platform_sdk/models/user_group_assignment_dto.py +88 -0
  608. visier_platform_sdk/models/user_group_change_definition_dto.py +108 -0
  609. visier_platform_sdk/models/user_group_change_dimension_filter_dto.py +104 -0
  610. visier_platform_sdk/models/user_group_change_failure_dto.py +96 -0
  611. visier_platform_sdk/models/user_group_change_filter_dto.py +100 -0
  612. visier_platform_sdk/models/user_group_change_member_selection_dto.py +90 -0
  613. visier_platform_sdk/models/user_group_change_response_dto.py +106 -0
  614. visier_platform_sdk/models/user_group_change_success_dto.py +94 -0
  615. visier_platform_sdk/models/user_group_change_users_dto.py +105 -0
  616. visier_platform_sdk/models/user_group_delete_dto.py +92 -0
  617. visier_platform_sdk/models/user_group_delete_failure_dto.py +96 -0
  618. visier_platform_sdk/models/user_group_delete_response_dto.py +106 -0
  619. visier_platform_sdk/models/user_group_delete_success_dto.py +92 -0
  620. visier_platform_sdk/models/user_group_filters_dto.py +96 -0
  621. visier_platform_sdk/models/user_group_get_api_response_dto.py +100 -0
  622. visier_platform_sdk/models/user_group_single_delete_response_dto.py +98 -0
  623. visier_platform_sdk/models/user_groups_change_dto.py +96 -0
  624. visier_platform_sdk/models/user_groups_delete_request_dto.py +96 -0
  625. visier_platform_sdk/models/user_groups_get_api_response_dto.py +100 -0
  626. visier_platform_sdk/models/user_groups_users_dto.py +100 -0
  627. visier_platform_sdk/models/user_groups_users_for_tenant_dto.py +98 -0
  628. visier_platform_sdk/models/user_id_error_dto.py +94 -0
  629. visier_platform_sdk/models/user_property_dto.py +88 -0
  630. visier_platform_sdk/models/user_security_assignments_dto.py +100 -0
  631. visier_platform_sdk/models/user_update_api_request_dto.py +96 -0
  632. visier_platform_sdk/models/users_api_error_message_dto.py +90 -0
  633. visier_platform_sdk/models/users_api_failure_dto.py +98 -0
  634. visier_platform_sdk/models/users_api_response_dto.py +106 -0
  635. visier_platform_sdk/models/users_api_success_dto.py +98 -0
  636. visier_platform_sdk/models/users_creation_api_request_dto.py +96 -0
  637. visier_platform_sdk/models/users_delete_api_request_dto.py +88 -0
  638. visier_platform_sdk/models/users_to_user_group_request_dto.py +90 -0
  639. visier_platform_sdk/models/users_to_user_groups_request_dto.py +102 -0
  640. visier_platform_sdk/models/users_update_api_request_dto.py +96 -0
  641. visier_platform_sdk/models/users_update_api_user_dto.py +98 -0
  642. visier_platform_sdk/models/v2_calculated_property_type_dto.py +92 -0
  643. visier_platform_sdk/models/v2_dimension_dto.py +118 -0
  644. visier_platform_sdk/models/v2_level_dto.py +102 -0
  645. visier_platform_sdk/models/v2_simple_property_type_dto.py +90 -0
  646. visier_platform_sdk/models/validity_range_dto.py +90 -0
  647. visier_platform_sdk/models/vee_clarification_dto.py +98 -0
  648. visier_platform_sdk/models/vee_conversation_dto.py +92 -0
  649. visier_platform_sdk/models/vee_conversation_state_dto.py +88 -0
  650. visier_platform_sdk/models/vee_corrections_dto.py +109 -0
  651. visier_platform_sdk/models/vee_data_dto.py +90 -0
  652. visier_platform_sdk/models/vee_feedback_dto.py +96 -0
  653. visier_platform_sdk/models/vee_options_dto.py +110 -0
  654. visier_platform_sdk/models/vee_question_change_definition_dto.py +100 -0
  655. visier_platform_sdk/models/vee_question_change_definitions_by_tenant_dto.py +100 -0
  656. visier_platform_sdk/models/vee_question_change_failure_dto.py +106 -0
  657. visier_platform_sdk/models/vee_question_change_success_dto.py +104 -0
  658. visier_platform_sdk/models/vee_question_delete_definitions_by_tenant_dto.py +92 -0
  659. visier_platform_sdk/models/vee_question_dto.py +102 -0
  660. visier_platform_sdk/models/vee_questions_bulk_change_response_dto.py +106 -0
  661. visier_platform_sdk/models/vee_questions_change_definitions_dto.py +96 -0
  662. visier_platform_sdk/models/vee_questions_delete_definitions_dto.py +96 -0
  663. visier_platform_sdk/models/vee_response_dto.py +132 -0
  664. visier_platform_sdk/models/vee_response_schema_dto.py +107 -0
  665. visier_platform_sdk/models/vee_response_schema_reference_dto.py +90 -0
  666. visier_platform_sdk/models/vee_sample_question_dto.py +94 -0
  667. visier_platform_sdk/models/vee_sample_question_library_dto.py +96 -0
  668. visier_platform_sdk/models/vee_status_code_dto.py +100 -0
  669. visier_platform_sdk/models/vee_status_dto.py +88 -0
  670. visier_platform_sdk/models/vee_visual_dto.py +92 -0
  671. visier_platform_sdk/models/vee_visual_options_dto.py +90 -0
  672. visier_platform_sdk/models/version_information_dto.py +102 -0
  673. visier_platform_sdk/models/webhook_basic_auth_credential_dto.py +90 -0
  674. visier_platform_sdk/models/webhook_credentials_dto.py +94 -0
  675. visier_platform_sdk/models/webhook_details_dto.py +104 -0
  676. visier_platform_sdk/models/webhook_dto.py +96 -0
  677. visier_platform_sdk/models/webhook_event_type_dto.py +88 -0
  678. visier_platform_sdk/models/webhook_message_response_dto.py +94 -0
  679. visier_platform_sdk/models/webhook_request_dto.py +98 -0
  680. visier_platform_sdk/models/webhooks_dto.py +96 -0
  681. visier_platform_sdk/models/willow_auth_params_dto.py +90 -0
  682. visier_platform_sdk/models/workday_auth_params_dto.py +118 -0
  683. visier_platform_sdk/models/workday_o_auth_params_dto.py +92 -0
  684. visier_platform_sdk/models/workday_raas_auth_params_dto.py +96 -0
  685. visier_platform_sdk/models/workday_refresh_token_params_dto.py +92 -0
  686. visier_platform_sdk/models/zoom_auth_params_dto.py +92 -0
  687. visier_platform_sdk/py.typed +0 -0
  688. visier_platform_sdk/rest.py +259 -0
  689. visier_platform_sdk-22222222.99200.21494.dist-info/METADATA +28 -0
  690. visier_platform_sdk-22222222.99200.21494.dist-info/RECORD +692 -0
  691. visier_platform_sdk-22222222.99200.21494.dist-info/WHEEL +5 -0
  692. visier_platform_sdk-22222222.99200.21494.dist-info/top_level.txt +1 -0
@@ -0,0 +1,808 @@
1
+ # coding: utf-8
2
+
3
+ """
4
+ API Reference
5
+
6
+ Detailed API reference documentation for Visier APIs. Includes all endpoints, headers, path parameters, query parameters, request body schema, response schema, JSON request samples, and JSON response samples.
7
+
8
+ The version of the OpenAPI document: 22222222.99200.21494
9
+ Contact: alpine@visier.com
10
+ Generated by OpenAPI Generator (https://openapi-generator.tech)
11
+
12
+ Do not edit the class manually.
13
+ """ # noqa: E501
14
+
15
+
16
+ import copy
17
+ import http.client as httplib
18
+ import logging
19
+ from logging import FileHandler
20
+ import multiprocessing
21
+ import os
22
+ import secrets
23
+ import sys
24
+ import threading
25
+ import time
26
+ import webbrowser
27
+ from http import HTTPStatus
28
+ from logging import FileHandler
29
+ from typing import Any, ClassVar, Dict, List, Literal, Optional, TypedDict, Union
30
+ from typing_extensions import NotRequired, Self
31
+
32
+ from queue import Queue, Empty
33
+ from typing import Optional
34
+ from urllib.parse import urljoin, quote, urlparse, urlencode
35
+ from wsgiref.simple_server import make_server
36
+
37
+ import urllib3
38
+ from flask import Flask, request
39
+ from pydantic import BaseModel
40
+
41
+ VISIER_USERNAME='VISIER_USERNAME'
42
+ VISIER_PASSWORD='VISIER_PASSWORD'
43
+ VISIER_APIKEY='VISIER_APIKEY'
44
+ VISIER_HOST='VISIER_HOST'
45
+ VISIER_VANITY='VISIER_VANITY'
46
+ VISIER_CLIENT_ID='VISIER_CLIENT_ID'
47
+ VISIER_CLIENT_SECRET='VISIER_CLIENT_SECRET'
48
+ VISIER_REDIRECT_URI='VISIER_REDIRECT_URI'
49
+ VISIER_TARGET_TENANT_ID='VISIER_TARGET_TENANT_ID'
50
+ VISIER_OAUTH_CALLBACK_URL='VISIER_OAUTH_CALLBACK_URL'
51
+
52
+ JSON_SCHEMA_VALIDATION_KEYWORDS = {
53
+ 'multipleOf', 'maximum', 'exclusiveMaximum',
54
+ 'minimum', 'exclusiveMinimum', 'maxLength',
55
+ 'minLength', 'pattern', 'maxItems', 'minItems'
56
+ }
57
+
58
+ class Configuration:
59
+ """This class contains various settings of the API client.
60
+
61
+ :param host: Base url.
62
+ :param api_key: API key is necessary for all types of authentication.
63
+ :param username: Username for HTTP basic authentication.
64
+ :param password: Password for HTTP basic authentication.
65
+ :param client_id: Client ID for OAuth2 authentication.
66
+ :param client_secret: Client secret for OAuth2 authentication.
67
+ :param redirect_uri: Redirect URI for OAuth2 authentication.
68
+ :param vanity: Vanity name for Visier.
69
+ :param scope: Scope for OAuth2 authentication.
70
+ :param asid_token: ASID token for Visier.
71
+ :param access_token: Access token.
72
+ :param refresh_token: Refresh token.
73
+ :param token_expiration_secs: Token expiration time in seconds.
74
+ :param server_index: Index to servers configuration.
75
+ :param server_variables: Mapping with string values to replace variables in
76
+ templated server configuration. The validation of enums is performed for
77
+ variables with defined enum values before.
78
+ :param server_operation_index: Mapping from operation ID to an index to server
79
+ configuration.
80
+ :param server_operation_variables: Mapping from operation ID to a mapping with
81
+ string values to replace variables in templated server configuration.
82
+ The validation of enums is performed for variables with defined enum
83
+ values before.
84
+ :param ignore_operation_servers: Boolean to ignore operation servers.
85
+ :param ssl_ca_cert: Path to a file of concatenated CA certificates in PEM format.
86
+ :param retries: Number of retries for API requests.
87
+ :param debug: Boolean to enable or disable debug mode.
88
+ """
89
+
90
+ _default = None
91
+
92
+ def __init__(self,
93
+ host=None,
94
+ api_key=None,
95
+ username=None,
96
+ password=None,
97
+ client_id=None,
98
+ client_secret=None,
99
+ redirect_uri=None,
100
+ vanity=None,
101
+ scope=None,
102
+ asid_token=None,
103
+ access_token=None,
104
+ refresh_token=None,
105
+ token_expiration_secs=3600,
106
+ server_index=None,
107
+ server_variables=None,
108
+ server_operation_index=None,
109
+ server_operation_variables=None,
110
+ ignore_operation_servers=False,
111
+ ssl_ca_cert=None,
112
+ retries=None,
113
+ ca_cert_data: Optional[Union[str, bytes]] = None,
114
+ *,
115
+ debug: Optional[bool] = None
116
+ ) -> None:
117
+ """Constructor
118
+ """
119
+ self._base_path = "http://localhost" if host is None else host
120
+ """Default Base url
121
+ """
122
+ # Authentication Settings
123
+ self.api_key = api_key
124
+ """API key is necessary for all types of authentication."""
125
+ self.refresh_config = default_refresh_config
126
+ """function hook to refresh config (e.g. asid_token, access_token, refresh_token)
127
+ """
128
+ self.username = username
129
+ """Username for HTTP basic authentication
130
+ """
131
+ self.password = password
132
+ """Password for HTTP basic authentication
133
+ """
134
+ self.client_id = client_id
135
+ """Client ID for OAuth2 authentication
136
+ """
137
+ self.client_secret = client_secret
138
+ """Client Secret for OAuth2 authentication
139
+ """
140
+ self.redirect_uri = redirect_uri
141
+ """Redirect URI for OAuth2 authentication
142
+ """
143
+ self.vanity = vanity
144
+ """Vanity name for Visier
145
+ """
146
+ self.scope = scope if scope else 'read'
147
+ """Scope for OAuth2 authentication
148
+ """
149
+ self.asid_token = asid_token
150
+ """ASID token for Visier
151
+ """
152
+ self.access_token = access_token
153
+ """Access token
154
+ """
155
+ self.refresh_token = refresh_token
156
+ """Refresh token
157
+ """
158
+ self.token_expiration_secs = token_expiration_secs
159
+ """Token expiration time in seconds
160
+ """
161
+ self._token_acquired_at = None
162
+ """The time when the token was acquired last time
163
+ """
164
+ self.server_index = 0 if server_index is None and host is None else server_index
165
+ self.server_operation_index = server_operation_index or {}
166
+ """Default server index
167
+ """
168
+ self.server_variables = server_variables or {}
169
+ self.server_operation_variables = server_operation_variables or {}
170
+ """Default server variables
171
+ """
172
+ self.ignore_operation_servers = ignore_operation_servers
173
+ """Ignore operation servers
174
+ """
175
+ self.temp_folder_path = None
176
+ """Temp file folder for downloading files
177
+ """
178
+
179
+
180
+ self.logger = {}
181
+ """Logging Settings
182
+ """
183
+ self.logger["package_logger"] = logging.getLogger("visier_platform_sdk")
184
+ self.logger["urllib3_logger"] = logging.getLogger("urllib3")
185
+ self.logger_format = '%(asctime)s %(levelname)s %(message)s'
186
+ """Log format
187
+ """
188
+ self.logger_stream_handler = None
189
+ """Log stream handler
190
+ """
191
+ self.logger_file_handler: Optional[FileHandler] = None
192
+ """Log file handler
193
+ """
194
+ self.logger_file = None
195
+ """Debug file location
196
+ """
197
+ if debug is not None:
198
+ self.debug = debug
199
+ else:
200
+ self.__debug = False
201
+ """Debug switch
202
+ """
203
+
204
+ self.verify_ssl = True
205
+ """SSL/TLS verification
206
+ Set this to false to skip verifying SSL certificate when calling API
207
+ from https server.
208
+ """
209
+ self.ssl_ca_cert = ssl_ca_cert
210
+ """Set this to customize the certificate file to verify the peer.
211
+ """
212
+ self.ca_cert_data = ca_cert_data
213
+ """Set this to verify the peer using PEM (str) or DER (bytes)
214
+ certificate data.
215
+ """
216
+ self.cert_file = None
217
+ """client certificate file
218
+ """
219
+ self.key_file = None
220
+ """client key file
221
+ """
222
+ self.assert_hostname = None
223
+ """Set this to True/False to enable/disable SSL hostname verification.
224
+ """
225
+ self.tls_server_name = None
226
+ """SSL/TLS Server Name Indication (SNI)
227
+ Set this to the SNI value expected by the server.
228
+ """
229
+
230
+ self.connection_pool_maxsize = multiprocessing.cpu_count() * 5
231
+ """urllib3 connection pool's maximum number of connections saved
232
+ per pool. urllib3 uses 1 connection as default value, but this is
233
+ not the best value when you are making a lot of possibly parallel
234
+ requests to the same host, which is often the case here.
235
+ cpu_count * 5 is used as default value to increase performance.
236
+ """
237
+
238
+ self.proxy: Optional[str] = None
239
+ """Proxy URL
240
+ """
241
+ self.proxy_headers = None
242
+ """Proxy headers
243
+ """
244
+ self.safe_chars_for_path_param = ''
245
+ """Safe chars for path_param
246
+ """
247
+ self.retries = retries
248
+ """Adding retries to override urllib3 default value 3
249
+ """
250
+ # Enable client side validation
251
+ self.client_side_validation = True
252
+
253
+ self.socket_options = None
254
+ """Options to pass down to the underlying urllib3 socket
255
+ """
256
+
257
+ self.datetime_format = "%Y-%m-%dT%H:%M:%S.%f%z"
258
+ """datetime format
259
+ """
260
+
261
+ self.date_format = "%Y-%m-%d"
262
+ """date format
263
+ """
264
+
265
+ def __deepcopy__(self, memo):
266
+ cls = self.__class__
267
+ result = cls.__new__(cls)
268
+ memo[id(self)] = result
269
+ for k, v in self.__dict__.items():
270
+ if k not in ('logger', 'logger_file_handler'):
271
+ setattr(result, k, copy.deepcopy(v, memo))
272
+ # shallow copy of loggers
273
+ result.logger = copy.copy(self.logger)
274
+ # use setters to configure loggers
275
+ result.logger_file = self.logger_file
276
+ result.debug = self.debug
277
+ return result
278
+
279
+ def __setattr__(self, name: str, value: Any) -> None:
280
+ object.__setattr__(self, name, value)
281
+
282
+ @classmethod
283
+ def set_default(cls, default: Optional[Self]) -> None:
284
+ """Set default instance of configuration.
285
+
286
+ It stores default configuration, which can be
287
+ returned by get_default_copy method.
288
+
289
+ :param default: object of Configuration
290
+ """
291
+ cls._default = default
292
+
293
+ @classmethod
294
+ def get_default(cls):
295
+ """Return the _default configuration.
296
+ If it is not set, it will be created using from_env method.
297
+
298
+ :return: The configuration object.
299
+ """
300
+ if cls._default is None:
301
+ cls._default = Configuration.from_env()
302
+ return cls._default
303
+
304
+ @staticmethod
305
+ def from_dict(config_dict):
306
+ """Construct a new Configuration object from a dict.
307
+
308
+ :param config_dict: A dictionary of parameters to construct a Configuration object.
309
+ :return: The configuration object.
310
+ """
311
+
312
+ return Configuration(
313
+ host=config_dict.get(VISIER_HOST),
314
+ api_key=config_dict.get(VISIER_APIKEY),
315
+ username=config_dict.get(VISIER_USERNAME),
316
+ password=config_dict.get(VISIER_PASSWORD),
317
+ client_id=config_dict.get(VISIER_CLIENT_ID),
318
+ client_secret=config_dict.get(VISIER_CLIENT_SECRET),
319
+ redirect_uri=config_dict.get(VISIER_REDIRECT_URI),
320
+ vanity=config_dict.get(VISIER_VANITY)
321
+ )
322
+
323
+ @staticmethod
324
+ def from_env():
325
+ """Construct a new Configuration object from environment variables.
326
+
327
+ :return: The configuration object.
328
+ """
329
+ return Configuration(
330
+ host=os.getenv(VISIER_HOST),
331
+ api_key=os.getenv(VISIER_APIKEY),
332
+ username=os.getenv(VISIER_USERNAME),
333
+ password=os.getenv(VISIER_PASSWORD),
334
+ client_id=os.getenv(VISIER_CLIENT_ID),
335
+ client_secret=os.getenv(VISIER_CLIENT_SECRET),
336
+ redirect_uri=os.getenv(VISIER_REDIRECT_URI),
337
+ vanity=os.getenv(VISIER_VANITY)
338
+ )
339
+
340
+ @property
341
+ def logger_file(self) -> Optional[str]:
342
+ """The logger file.
343
+
344
+ If the logger_file is None, then add stream handler and remove file
345
+ handler. Otherwise, add file handler and remove stream handler.
346
+
347
+ :param value: The logger_file path.
348
+ :type: str
349
+ """
350
+ return self.__logger_file
351
+
352
+ @logger_file.setter
353
+ def logger_file(self, value: Optional[str]) -> None:
354
+ """The logger file.
355
+
356
+ If the logger_file is None, then add stream handler and remove file
357
+ handler. Otherwise, add file handler and remove stream handler.
358
+
359
+ :param value: The logger_file path.
360
+ :type: str
361
+ """
362
+ self.__logger_file = value
363
+ if self.__logger_file:
364
+ # If set logging file,
365
+ # then add file handler and remove stream handler.
366
+ self.logger_file_handler = logging.FileHandler(self.__logger_file)
367
+ self.logger_file_handler.setFormatter(self.logger_formatter)
368
+ for _, logger in self.logger.items():
369
+ logger.addHandler(self.logger_file_handler)
370
+
371
+ @property
372
+ def debug(self) -> bool:
373
+ """Debug status
374
+
375
+ :param value: The debug status, True or False.
376
+ :type: bool
377
+ """
378
+ return self.__debug
379
+
380
+ @debug.setter
381
+ def debug(self, value: bool) -> None:
382
+ """Debug status
383
+
384
+ :param value: The debug status, True or False.
385
+ :type: bool
386
+ """
387
+ self.__debug = value
388
+ if self.__debug:
389
+ # if debug status is True, turn on debug logging
390
+ for _, logger in self.logger.items():
391
+ logger.setLevel(logging.DEBUG)
392
+ # turn on httplib debug
393
+ httplib.HTTPConnection.debuglevel = 1
394
+ else:
395
+ # if debug status is False, turn off debug logging,
396
+ # setting log level to default `logging.WARNING`
397
+ for _, logger in self.logger.items():
398
+ logger.setLevel(logging.WARNING)
399
+ # turn off httplib debug
400
+ httplib.HTTPConnection.debuglevel = 0
401
+
402
+ @property
403
+ def logger_format(self) -> str:
404
+ """The logger format.
405
+
406
+ The logger_formatter will be updated when sets logger_format.
407
+
408
+ :param value: The format string.
409
+ :type: str
410
+ """
411
+ return self.__logger_format
412
+
413
+ @logger_format.setter
414
+ def logger_format(self, value: str) -> None:
415
+ """The logger format.
416
+
417
+ The logger_formatter will be updated when sets logger_format.
418
+
419
+ :param value: The format string.
420
+ :type: str
421
+ """
422
+ self.__logger_format = value
423
+ self.logger_formatter = logging.Formatter(self.__logger_format)
424
+
425
+ def get_basic_auth_token(self):
426
+ """Gets HTTP basic authentication header (string).
427
+
428
+ :return: The token for basic HTTP authentication.
429
+ """
430
+ username = ""
431
+ if self.username is not None:
432
+ username = self.username
433
+ password = ""
434
+ if self.password is not None:
435
+ password = self.password
436
+ return urllib3.util.make_headers(
437
+ basic_auth=username + ':' + password
438
+ ).get('authorization')
439
+
440
+ def auth_settings(self):
441
+ """Gets Auth Settings dict for api client.
442
+
443
+ :return: The Auth Settings information dict.
444
+ """
445
+
446
+ if self.refresh_config:
447
+ self.refresh_config(self, False)
448
+
449
+ # Necessary apiKey for all auth types
450
+ auth = {'ApiKeyAuth': {
451
+ 'type': 'api_key',
452
+ 'in': 'header',
453
+ 'key': 'apikey',
454
+ 'value': self.api_key
455
+ }}
456
+
457
+ if self.asid_token:
458
+ auth['CookieAuth'] = {
459
+ 'type': 'api_key',
460
+ 'in': 'cookie',
461
+ 'key': 'VisierASIDToken',
462
+ 'value': f'VisierASIDToken={self.asid_token}'
463
+ }
464
+
465
+ if self.access_token:
466
+ auth['OAuth2Auth'] = {
467
+ 'type': 'bearer',
468
+ 'in': 'header',
469
+ 'key': 'Authorization',
470
+ 'value': 'Bearer ' + self.access_token
471
+ }
472
+ return auth
473
+
474
+ def to_debug_report(self):
475
+ """Gets the essential information for debugging.
476
+
477
+ :return: The report for debugging.
478
+ """
479
+ return "Python SDK Debug Report:\n"\
480
+ "OS: {env}\n"\
481
+ "Python Version: {pyversion}\n"\
482
+ "Version of the API: 22222222.99200.21494\n"\
483
+ "SDK Package Version: 22222222.99200.21494".\
484
+ format(env=sys.platform, pyversion=sys.version)
485
+
486
+ def get_host_settings(self):
487
+ """Gets an array of host settings
488
+
489
+ :return: An array of host settings
490
+ """
491
+ return [
492
+ {
493
+ 'url': "",
494
+ 'description': "No description provided",
495
+ }
496
+ ]
497
+
498
+ def get_host_from_settings(self, index, variables=None, servers=None):
499
+ """Gets host URL based on the index and variables
500
+ :param index: array index of the host settings
501
+ :param variables: hash of variable and the corresponding value
502
+ :param servers: an array of host settings or None
503
+ :return: URL based on host settings
504
+ """
505
+ if index is None:
506
+ return self._base_path
507
+
508
+ variables = {} if variables is None else variables
509
+ servers = self.get_host_settings() if servers is None else servers
510
+
511
+ try:
512
+ server = servers[index]
513
+ except IndexError:
514
+ raise ValueError(
515
+ "Invalid index {0} when selecting the host settings. "
516
+ "Must be less than {1}".format(index, len(servers)))
517
+
518
+ url = server['url']
519
+
520
+ # go through variables and replace placeholders
521
+ for variable_name, variable in server.get('variables', {}).items():
522
+ used_value = variables.get(
523
+ variable_name, variable['default_value'])
524
+
525
+ if 'enum_values' in variable \
526
+ and used_value not in variable['enum_values']:
527
+ raise ValueError(
528
+ "The variable `{0}` in the host URL has invalid value "
529
+ "{1}. Must be {2}.".format(
530
+ variable_name, variables[variable_name],
531
+ variable['enum_values']))
532
+
533
+ url = url.replace("{" + variable_name + "}", used_value)
534
+
535
+ return url
536
+
537
+ @property
538
+ def host(self) -> str:
539
+ """Return generated host."""
540
+ return self.get_host_from_settings(self.server_index, variables=self.server_variables)
541
+
542
+ @host.setter
543
+ def host(self, value: str) -> None:
544
+ """Fix base path."""
545
+ self._base_path = value
546
+ self.server_index = None
547
+
548
+ @property
549
+ def access_token(self):
550
+ return self._access_token
551
+
552
+ @access_token.setter
553
+ def access_token(self, value):
554
+ self._access_token = value
555
+ self._token_acquired_at = time.time()
556
+
557
+ @property
558
+ def asid_token(self):
559
+ return self._asid_token
560
+
561
+ @asid_token.setter
562
+ def asid_token(self, value):
563
+ self._asid_token = value
564
+ self._token_acquired_at = time.time()
565
+
566
+ def is_token_expired(self):
567
+ # Not using token expiration logic
568
+ if self.token_expiration_secs is None:
569
+ return False
570
+
571
+ # Token has not been acquired yet
572
+ if not self._token_acquired_at:
573
+ return True
574
+
575
+ return time.time() - self._token_acquired_at > self.token_expiration_secs
576
+
577
+ # Additional logic to handle authentication
578
+ ########################################################################################################################
579
+ ACCESS_TOKEN = 'access_token'
580
+ API_KEY = "apikey"
581
+ AUTHORIZATION_CODE = "authorization_code"
582
+ CLIENT_ID = "client_id"
583
+ CODE = "code"
584
+ CODE_CHALLENGE = "code_challenge"
585
+ CODE_CHALLENGE_METHOD = "code_challenge_method"
586
+ CODE_VERIFIER = "code_verifier"
587
+ GRANT_TYPE = "grant_type"
588
+ PASSWORD = "password"
589
+ REDIRECT_URI = "redirect_uri"
590
+ REFRESH_TOKEN = "refresh_token"
591
+ RESPONSE_TYPE = "response_type"
592
+ SCOPE = "scope"
593
+ USERNAME = "username"
594
+
595
+ # Disable werkzeug logging for the callback server
596
+ logging.getLogger('werkzeug').disabled = True
597
+
598
+ class CallbackServer:
599
+ """Callback server that listens for the OAuth2 authorization code"""
600
+
601
+ def __init__(self, provided_url: str) -> None:
602
+ parsed_uri = urlparse(provided_url)
603
+ self.host = parsed_uri.hostname or "localhost"
604
+ self.port = parsed_uri.port or 5000
605
+ self.path = parsed_uri.path or "/oauth2/callback"
606
+
607
+ self.server = None
608
+ self.flask_thread = None
609
+ self.app = Flask(__name__)
610
+ self.app.route(self.path, methods=["GET"])(self.callback)
611
+ self.queue = Queue()
612
+
613
+ def callback(self):
614
+ """The handler for the OAuth2 callback providing the auth code"""
615
+ code = request.args.get(CODE)
616
+ self.queue.put(code)
617
+ return "<p>You can now close this window</p>"
618
+
619
+ def start(self):
620
+ """Starts the callback server"""
621
+ self.server = make_server(self.host, self.port, self.app)
622
+ self.flask_thread = threading.Thread(target=self.server.serve_forever)
623
+ self.flask_thread.start()
624
+
625
+ def stop(self):
626
+ """Stops the callback server"""
627
+ if self.server:
628
+ self.server.shutdown()
629
+ self.flask_thread.join()
630
+ self.server = None
631
+ self.flask_thread = None
632
+
633
+ def __enter__(self):
634
+ self.start()
635
+ return self
636
+
637
+ def __exit__(self, ex_type, ex_value, trace_back):
638
+ self.stop()
639
+
640
+
641
+ class TokenRequestDTO(BaseModel):
642
+ grant_type: str
643
+ client_id: str
644
+ scope: str
645
+ username: str = None
646
+ password: str = None
647
+ code: str = None
648
+ code_verifier: str = None
649
+ redirect_uri: str = None
650
+ refresh_token: str = None
651
+
652
+
653
+ class TokenResponseDTO(BaseModel):
654
+ access_token: str
655
+ refresh_token: str
656
+ id_token: str
657
+ token_type: str
658
+ expires_in: int
659
+
660
+
661
+ http = urllib3.PoolManager()
662
+
663
+
664
+ def _post_request(url: str, data: dict, additional_headers: dict = None, auth=None):
665
+ headers = {
666
+ 'Accept': 'application/jsonlines, application/json',
667
+ 'User-Agent': 'OpenAPI-python',
668
+ 'Content-Type': 'application/x-www-form-urlencoded'
669
+ }
670
+ if additional_headers:
671
+ headers.update(additional_headers)
672
+
673
+ if auth:
674
+ username, password = auth
675
+ auth_header = base64.b64encode(f"{username}:{password}".encode('utf-8')).decode('ascii')
676
+ headers['Authorization'] = f'Basic {auth_header}'
677
+
678
+ response = http.request(
679
+ 'POST',
680
+ url,
681
+ body=urlencode(data),
682
+ headers=headers,
683
+ retries=False
684
+ )
685
+ if response.status != HTTPStatus.OK:
686
+ raise ApiException.from_response(
687
+ http_resp=response,
688
+ body=None,
689
+ data=None
690
+ )
691
+
692
+ return response
693
+
694
+
695
+ def _connect_asid(config):
696
+ url = urljoin(config.host, '/v1/admin/visierSecureToken')
697
+ data = {
698
+ USERNAME: config.username,
699
+ PASSWORD: config.password
700
+ }
701
+ if config.vanity:
702
+ data["vanityName"] = config.vanity
703
+ response = _post_request(url=url, data=data)
704
+ config.asid_token = response.data.decode(('utf-8'))
705
+
706
+
707
+ def _update_access_token(config, token_request: TokenRequestDTO):
708
+ url = config.host + "/v1/auth/oauth2/token"
709
+ body = token_request.dict()
710
+ if config.redirect_uri:
711
+ body[REDIRECT_URI] = config.redirect_uri
712
+ auth = (config.client_id, quote(config.client_secret, safe=''))
713
+ headers = {
714
+ API_KEY: config.api_key,
715
+ }
716
+
717
+ response = _post_request(url=url, data=body, additional_headers=headers, auth=auth)
718
+ tokenResponse = TokenResponseDTO(**response.json())
719
+ config.access_token = tokenResponse.access_token
720
+ config.refresh_token = tokenResponse.refresh_token
721
+ config.token_expiration_secs = tokenResponse.expires_in
722
+
723
+
724
+ def _refresh_token(config):
725
+ token_request = TokenRequestDTO(
726
+ grant_type=REFRESH_TOKEN,
727
+ client_id=config.client_id,
728
+ scope=config.scope,
729
+ refresh_token=config.refresh_token
730
+ )
731
+ _update_access_token(config, token_request)
732
+
733
+
734
+ def _connect_oauth_password(config):
735
+ token_request = TokenRequestDTO(
736
+ grant_type=PASSWORD,
737
+ client_id=config.client_id,
738
+ scope=config.scope,
739
+ username=config.username,
740
+ password=config.password
741
+ )
742
+ _update_access_token(config, token_request)
743
+
744
+
745
+ def _connect_oauth_code(config):
746
+ """Connect to Visier using (three-legged) OAuth2."""
747
+ code_verifier = secrets.token_urlsafe(64)
748
+ code_challenge_digest = hashlib.sha256(code_verifier.encode()).digest()
749
+ code_challenge = base64.urlsafe_b64encode(code_challenge_digest).decode().rstrip("=")
750
+
751
+ url_prefix = config.host + "/v1/auth/oauth2"
752
+ svr = CallbackServer(config.redirect_uri)
753
+ query_args = {
754
+ API_KEY: config.api_key,
755
+ RESPONSE_TYPE: CODE,
756
+ CLIENT_ID: config.client_id,
757
+ CODE_CHALLENGE_METHOD: "S256",
758
+ CODE_CHALLENGE: code_challenge
759
+ }
760
+ if config.redirect_uri:
761
+ query_args[REDIRECT_URI] = config.redirect_uri
762
+
763
+ browser_url = f'{url_prefix}/authorize?{urlencode(query_args)}'
764
+ webbrowser.open(browser_url)
765
+ try:
766
+ svr.start()
767
+ code = svr.queue.get(block=True, timeout=120)
768
+ token_request = TokenRequestDTO(
769
+ grant_type=AUTHORIZATION_CODE,
770
+ client_id=config.client_id,
771
+ scope=config.scope,
772
+ code=code,
773
+ code_verifier=code_verifier
774
+ )
775
+ _update_access_token(config, token_request)
776
+ except Empty as empty:
777
+ raise ApiException("Timed out waiting for OAuth2 auth code") from empty
778
+ finally:
779
+ svr.stop()
780
+
781
+
782
+ def _connect_oauth(config):
783
+ if config.refresh_token:
784
+ _refresh_token(config)
785
+ elif config.username and config.password:
786
+ _connect_oauth_password(config)
787
+ else:
788
+ _connect_oauth_code(config)
789
+
790
+
791
+ def _need_to_connect(config):
792
+ if config.client_id and config.client_secret:
793
+ return not config.access_token or config.is_token_expired()
794
+
795
+ if config.username and config.password:
796
+ return not config.asid_token or config.is_token_expired()
797
+
798
+ raise ValueError("No valid authentication method found")
799
+
800
+
801
+ def default_refresh_config(config, force_refresh: bool = False):
802
+ if not force_refresh and not _need_to_connect(config):
803
+ return
804
+
805
+ if config.client_id and config.client_secret:
806
+ _connect_oauth(config)
807
+ elif config.username and config.password:
808
+ _connect_asid(config)