tableauserverclient 0.34__tar.gz → 0.36__tar.gz

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.
Files changed (416) hide show
  1. {tableauserverclient-0.34 → tableauserverclient-0.36}/PKG-INFO +3 -3
  2. {tableauserverclient-0.34 → tableauserverclient-0.36}/pyproject.toml +11 -2
  3. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/create_extract_task.py +12 -7
  4. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/extracts.py +37 -9
  5. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/publish_workbook.py +32 -8
  6. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/refresh.py +25 -8
  7. tableauserverclient-0.36/setup.cfg +4 -0
  8. {tableauserverclient-0.34 → tableauserverclient-0.36}/setup.py +0 -9
  9. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/__init__.py +5 -1
  10. {tableauserverclient-0.34/tableauserverclient → tableauserverclient-0.36/tableauserverclient/bin}/_version.py +3 -3
  11. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/connection_credentials.py +17 -1
  12. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/connection_item.py +38 -0
  13. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/custom_view_item.py +49 -5
  14. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/flow_item.py +49 -4
  15. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/group_item.py +40 -0
  16. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/job_item.py +65 -0
  17. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/project_item.py +39 -1
  18. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/task_item.py +30 -0
  19. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/view_item.py +55 -3
  20. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/webhook_item.py +33 -0
  21. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/workbook_item.py +26 -1
  22. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/auth_endpoint.py +4 -2
  23. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/custom_views_endpoint.py +197 -12
  24. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/datasources_endpoint.py +14 -9
  25. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/flows_endpoint.py +314 -0
  26. tableauserverclient-0.36/tableauserverclient/server/endpoint/groups_endpoint.py +520 -0
  27. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/jobs_endpoint.py +109 -0
  28. tableauserverclient-0.36/tableauserverclient/server/endpoint/projects_endpoint.py +850 -0
  29. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/tasks_endpoint.py +78 -0
  30. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/views_endpoint.py +243 -2
  31. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/webhooks_endpoint.py +77 -0
  32. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/workbooks_endpoint.py +6 -4
  33. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/pager.py +24 -0
  34. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/request_factory.py +20 -1
  35. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/request_options.py +126 -2
  36. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/server.py +11 -1
  37. tableauserverclient-0.36/tableauserverclient/server/sort.py +21 -0
  38. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/PKG-INFO +3 -3
  39. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/SOURCES.txt +3 -3
  40. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/requires.txt +1 -1
  41. tableauserverclient-0.36/test/assets/project_populate_virtualconnection_default_permissions.xml +19 -0
  42. tableauserverclient-0.36/test/assets/project_update_virtualconnection_default_permissions.xml +17 -0
  43. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_auth.py +5 -0
  44. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_datasource.py +24 -0
  45. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_project.py +107 -0
  46. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_workbook.py +39 -0
  47. tableauserverclient-0.34/setup.cfg +0 -11
  48. tableauserverclient-0.34/tableauserverclient/server/endpoint/groups_endpoint.py +0 -206
  49. tableauserverclient-0.34/tableauserverclient/server/endpoint/projects_endpoint.py +0 -250
  50. tableauserverclient-0.34/tableauserverclient/server/sort.py +0 -7
  51. tableauserverclient-0.34/versioneer.py +0 -1845
  52. {tableauserverclient-0.34 → tableauserverclient-0.36}/CHANGELOG.md +0 -0
  53. {tableauserverclient-0.34 → tableauserverclient-0.36}/CONTRIBUTORS.md +0 -0
  54. {tableauserverclient-0.34 → tableauserverclient-0.36}/LICENSE +0 -0
  55. {tableauserverclient-0.34 → tableauserverclient-0.36}/LICENSE.versioneer +0 -0
  56. {tableauserverclient-0.34 → tableauserverclient-0.36}/MANIFEST.in +0 -0
  57. {tableauserverclient-0.34 → tableauserverclient-0.36}/README.md +0 -0
  58. {tableauserverclient-0.34 → tableauserverclient-0.36}/contributing.md +0 -0
  59. {tableauserverclient-0.34 → tableauserverclient-0.36}/docs/README.md +0 -0
  60. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/add_default_permission.py +0 -0
  61. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/create_group.py +0 -0
  62. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/create_project.py +0 -0
  63. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/create_schedules.py +0 -0
  64. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_datasource.py +0 -0
  65. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_favorites.py +0 -0
  66. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_site.py +0 -0
  67. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_webhooks.py +0 -0
  68. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/explore_workbook.py +0 -0
  69. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/export.py +0 -0
  70. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/filter_sort_groups.py +0 -0
  71. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/filter_sort_projects.py +0 -0
  72. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/getting_started/1_hello_server.py +0 -0
  73. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/getting_started/2_hello_site.py +0 -0
  74. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/getting_started/3_hello_universe.py +0 -0
  75. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/initialize_server.py +0 -0
  76. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/kill_all_jobs.py +0 -0
  77. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/list.py +0 -0
  78. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/login.py +0 -0
  79. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/metadata_query.py +0 -0
  80. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/move_workbook_projects.py +0 -0
  81. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/move_workbook_sites.py +0 -0
  82. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/name.txt +0 -0
  83. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/pagination_sample.py +0 -0
  84. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/publish_datasource.py +0 -0
  85. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/query_permissions.py +0 -0
  86. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/refresh_tasks.py +0 -0
  87. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/set_refresh_schedule.py +0 -0
  88. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/smoke_test.py +0 -0
  89. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/update_connection.py +0 -0
  90. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/update_datasource_data.py +0 -0
  91. {tableauserverclient-0.34 → tableauserverclient-0.36}/samples/update_workbook_data_freshness_policy.py +0 -0
  92. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/config.py +0 -0
  93. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/datetime_helpers.py +0 -0
  94. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/exponential_backoff.py +0 -0
  95. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/filesys_helpers.py +0 -0
  96. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/helpers/__init__.py +0 -0
  97. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/helpers/headers.py +0 -0
  98. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/helpers/logging.py +0 -0
  99. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/helpers/strings.py +0 -0
  100. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/__init__.py +0 -0
  101. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/column_item.py +0 -0
  102. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/data_acceleration_report_item.py +0 -0
  103. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/data_alert_item.py +0 -0
  104. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/data_freshness_policy_item.py +0 -0
  105. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/database_item.py +0 -0
  106. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/datasource_item.py +0 -0
  107. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/dqw_item.py +0 -0
  108. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/exceptions.py +0 -0
  109. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/favorites_item.py +0 -0
  110. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/fileupload_item.py +0 -0
  111. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/flow_run_item.py +0 -0
  112. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/groupset_item.py +0 -0
  113. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/interval_item.py +0 -0
  114. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/linked_tasks_item.py +0 -0
  115. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/metric_item.py +0 -0
  116. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/pagination_item.py +0 -0
  117. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/permissions_item.py +0 -0
  118. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/property_decorators.py +0 -0
  119. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/reference_item.py +0 -0
  120. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/revision_item.py +0 -0
  121. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/schedule_item.py +0 -0
  122. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/server_info_item.py +0 -0
  123. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/site_item.py +0 -0
  124. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/subscription_item.py +0 -0
  125. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/table_item.py +0 -0
  126. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/tableau_auth.py +0 -0
  127. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/tableau_types.py +0 -0
  128. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/tag_item.py +0 -0
  129. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/target.py +0 -0
  130. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/user_item.py +0 -0
  131. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/models/virtual_connection_item.py +0 -0
  132. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/namespace.py +0 -0
  133. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/py.typed +0 -0
  134. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/__init__.py +0 -0
  135. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/__init__.py +0 -0
  136. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/data_acceleration_report_endpoint.py +0 -0
  137. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/data_alert_endpoint.py +0 -0
  138. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/databases_endpoint.py +0 -0
  139. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/default_permissions_endpoint.py +0 -0
  140. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/dqw_endpoint.py +0 -0
  141. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/endpoint.py +0 -0
  142. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/exceptions.py +0 -0
  143. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/favorites_endpoint.py +0 -0
  144. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/fileuploads_endpoint.py +0 -0
  145. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/flow_runs_endpoint.py +0 -0
  146. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/flow_task_endpoint.py +0 -0
  147. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/groupsets_endpoint.py +0 -0
  148. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/linked_tasks_endpoint.py +0 -0
  149. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/metadata_endpoint.py +0 -0
  150. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/metrics_endpoint.py +0 -0
  151. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/permissions_endpoint.py +0 -0
  152. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/resource_tagger.py +0 -0
  153. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/schedules_endpoint.py +0 -0
  154. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/server_info_endpoint.py +0 -0
  155. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/sites_endpoint.py +0 -0
  156. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/subscriptions_endpoint.py +0 -0
  157. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/tables_endpoint.py +0 -0
  158. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/users_endpoint.py +0 -0
  159. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/endpoint/virtual_connections_endpoint.py +0 -0
  160. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/exceptions.py +0 -0
  161. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/filter.py +0 -0
  162. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient/server/query.py +0 -0
  163. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/dependency_links.txt +0 -0
  164. {tableauserverclient-0.34 → tableauserverclient-0.36}/tableauserverclient.egg-info/top_level.txt +0 -0
  165. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/__init__.py +0 -0
  166. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/_utils.py +0 -0
  167. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/Data/Tableau Samples/World Indicators.tde +0 -0
  168. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/Data/user_details.csv +0 -0
  169. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/Data/usernames.csv +0 -0
  170. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/RESTAPISample Image.png +0 -0
  171. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/Sample View Image.png +0 -0
  172. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/World Indicators.hyper +0 -0
  173. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/auth_sign_in.xml +0 -0
  174. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/auth_sign_in_error.xml +0 -0
  175. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/auth_sign_in_impersonate.xml +0 -0
  176. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/custom_view_download.json +0 -0
  177. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/custom_view_get.xml +0 -0
  178. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/custom_view_get_id.xml +0 -0
  179. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/custom_view_update.xml +0 -0
  180. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_acceleration_report.xml +0 -0
  181. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_alerts_add_user.xml +0 -0
  182. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_alerts_get.xml +0 -0
  183. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_alerts_get_by_id.xml +0 -0
  184. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/data_alerts_update.xml +0 -0
  185. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/database_get.xml +0 -0
  186. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/database_populate_permissions.xml +0 -0
  187. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/database_update.xml +0 -0
  188. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_add_tags.xml +0 -0
  189. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_connection_update.xml +0 -0
  190. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_data_update.xml +0 -0
  191. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_get.xml +0 -0
  192. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_get_by_id.xml +0 -0
  193. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_get_empty.xml +0 -0
  194. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_populate_connections.xml +0 -0
  195. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_populate_permissions.xml +0 -0
  196. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_publish.xml +0 -0
  197. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_publish_async.xml +0 -0
  198. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_refresh.xml +0 -0
  199. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_revision.xml +0 -0
  200. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/datasource_update.xml +0 -0
  201. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/dqw_by_content_type.xml +0 -0
  202. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_add_datasource.xml +0 -0
  203. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_add_project.xml +0 -0
  204. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_add_view.xml +0 -0
  205. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_add_workbook.xml +0 -0
  206. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/favorites_get.xml +0 -0
  207. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/fileupload_append.xml +0 -0
  208. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/fileupload_initialize.xml +0 -0
  209. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_get.xml +0 -0
  210. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_get_by_id.xml +0 -0
  211. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_populate_connections.xml +0 -0
  212. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_populate_permissions.xml +0 -0
  213. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_publish.xml +0 -0
  214. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_refresh.xml +0 -0
  215. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_runs_get.xml +0 -0
  216. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_runs_get_by_id.xml +0 -0
  217. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_runs_get_by_id_failed.xml +0 -0
  218. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_runs_get_by_id_inprogress.xml +0 -0
  219. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/flow_update.xml +0 -0
  220. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_add_user.xml +0 -0
  221. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_add_users.xml +0 -0
  222. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_create.xml +0 -0
  223. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_create_ad.xml +0 -0
  224. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_create_async.xml +0 -0
  225. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_get.xml +0 -0
  226. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_populate_users.xml +0 -0
  227. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_populate_users_empty.xml +0 -0
  228. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_update.xml +0 -0
  229. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_update_async.xml +0 -0
  230. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/group_users_added.xml +0 -0
  231. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/groupsets_create.xml +0 -0
  232. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/groupsets_get.xml +0 -0
  233. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/groupsets_get_by_id.xml +0 -0
  234. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/groupsets_update.xml +0 -0
  235. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get.xml +0 -0
  236. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get_by_id.xml +0 -0
  237. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get_by_id_failed.xml +0 -0
  238. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get_by_id_failed_workbook.xml +0 -0
  239. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/job_get_by_id_inprogress.xml +0 -0
  240. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/linked_tasks_get.xml +0 -0
  241. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/linked_tasks_run_now.xml +0 -0
  242. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_paged_1.json +0 -0
  243. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_paged_2.json +0 -0
  244. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_paged_3.json +0 -0
  245. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_query_error.json +0 -0
  246. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_query_expected_dict.dict +0 -0
  247. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metadata_query_success.json +0 -0
  248. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metrics_get.xml +0 -0
  249. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metrics_get_by_id.xml +0 -0
  250. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/metrics_update.xml +0 -0
  251. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/odata_connection.xml +0 -0
  252. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/populate_csv.csv +0 -0
  253. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/populate_pdf.pdf +0 -0
  254. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_content_permission.xml +0 -0
  255. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_create.xml +0 -0
  256. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_get.xml +0 -0
  257. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_populate_permissions.xml +0 -0
  258. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_populate_workbook_default_permissions.xml +0 -0
  259. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_update.xml +0 -0
  260. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/project_update_datasource_default_permissions.xml +0 -0
  261. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/queryset_slicing_page_1.xml +0 -0
  262. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/queryset_slicing_page_2.xml +0 -0
  263. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_filter_equals.xml +0 -0
  264. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_filter_name_in.xml +0 -0
  265. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_filter_tags_in.xml +0 -0
  266. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_page_number.xml +0 -0
  267. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_page_size.xml +0 -0
  268. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_pagination.xml +0 -0
  269. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/request_option_slicing_queryset.xml +0 -0
  270. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_add_datasource.xml +0 -0
  271. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_add_flow.xml +0 -0
  272. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_add_workbook.xml +0 -0
  273. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_add_workbook_with_warnings.xml +0 -0
  274. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_create_daily.xml +0 -0
  275. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_create_hourly.xml +0 -0
  276. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_create_monthly.xml +0 -0
  277. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_create_weekly.xml +0 -0
  278. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get.xml +0 -0
  279. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_by_id.xml +0 -0
  280. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_daily_id.xml +0 -0
  281. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_empty.xml +0 -0
  282. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_hourly_id.xml +0 -0
  283. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_monthly_id.xml +0 -0
  284. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_get_monthly_id_2.xml +0 -0
  285. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/schedule_update.xml +0 -0
  286. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/server_info_25.xml +0 -0
  287. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/server_info_404.xml +0 -0
  288. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/server_info_auth_info.xml +0 -0
  289. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/server_info_get.xml +0 -0
  290. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_create.xml +0 -0
  291. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_get.xml +0 -0
  292. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_get_by_id.xml +0 -0
  293. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_get_by_name.xml +0 -0
  294. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/site_update.xml +0 -0
  295. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/subscription_create.xml +0 -0
  296. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/subscription_get.xml +0 -0
  297. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/subscription_get_by_id.xml +0 -0
  298. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/table_get.xml +0 -0
  299. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/table_update.xml +0 -0
  300. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_create_extract_task.xml +0 -0
  301. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_create_flow_task.xml +0 -0
  302. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_no_workbook_or_datasource.xml +0 -0
  303. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_run_now_response.xml +0 -0
  304. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_dataacceleration_task.xml +0 -0
  305. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_datasource.xml +0 -0
  306. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_interval.xml +0 -0
  307. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_workbook.xml +0 -0
  308. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_with_workbook_and_datasource.xml +0 -0
  309. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/tasks_without_schedule.xml +0 -0
  310. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_add.xml +0 -0
  311. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_add_favorite.xml +0 -0
  312. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_get.xml +0 -0
  313. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_get_by_id.xml +0 -0
  314. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_get_empty.xml +0 -0
  315. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_populate_groups.xml +0 -0
  316. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_populate_workbooks.xml +0 -0
  317. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/user_update.xml +0 -0
  318. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_add_tags.xml +0 -0
  319. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_get.xml +0 -0
  320. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_get_id.xml +0 -0
  321. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_get_id_usage.xml +0 -0
  322. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_get_usage.xml +0 -0
  323. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_populate_permissions.xml +0 -0
  324. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/view_update_permissions.xml +0 -0
  325. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connection_add_permissions.xml +0 -0
  326. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connection_database_connection_update.xml +0 -0
  327. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connection_populate_connections.xml +0 -0
  328. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_download.xml +0 -0
  329. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_get.xml +0 -0
  330. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_publish.xml +0 -0
  331. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_revisions.xml +0 -0
  332. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/virtual_connections_update.xml +0 -0
  333. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/webhook_create.xml +0 -0
  334. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/webhook_create_request.xml +0 -0
  335. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/webhook_get.xml +0 -0
  336. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_add_tags.xml +0 -0
  337. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get.xml +0 -0
  338. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_by_id.xml +0 -0
  339. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_by_id_acceleration_status.xml +0 -0
  340. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_by_id_personal.xml +0 -0
  341. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_empty.xml +0 -0
  342. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_invalid_date.xml +0 -0
  343. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_page_1.xml +0 -0
  344. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_page_2.xml +0 -0
  345. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_get_page_3.xml +0 -0
  346. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_populate_connections.xml +0 -0
  347. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_populate_permissions.xml +0 -0
  348. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_populate_views.xml +0 -0
  349. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_populate_views_usage.xml +0 -0
  350. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_publish.xml +0 -0
  351. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_publish_async.xml +0 -0
  352. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_refresh.xml +0 -0
  353. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_revision.xml +0 -0
  354. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update.xml +0 -0
  355. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_acceleration_status.xml +0 -0
  356. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy.xml +0 -0
  357. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy2.xml +0 -0
  358. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy3.xml +0 -0
  359. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy4.xml +0 -0
  360. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy5.xml +0 -0
  361. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_data_freshness_policy6.xml +0 -0
  362. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_permissions.xml +0 -0
  363. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/assets/workbook_update_views_acceleration_status.xml +0 -0
  364. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/http/test_http_requests.py +0 -0
  365. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/models/_models.py +0 -0
  366. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/models/test_repr.py +0 -0
  367. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/request_factory/__init__.py +0 -0
  368. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/request_factory/test_datasource_requests.py +0 -0
  369. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/request_factory/test_workbook_requests.py +0 -0
  370. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_connection_.py +0 -0
  371. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_custom_view.py +0 -0
  372. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_data_acceleration_report.py +0 -0
  373. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_data_freshness_policy.py +0 -0
  374. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_dataalert.py +0 -0
  375. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_database.py +0 -0
  376. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_datasource_model.py +0 -0
  377. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_dqw.py +0 -0
  378. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_endpoint.py +0 -0
  379. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_exponential_backoff.py +0 -0
  380. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_favorites.py +0 -0
  381. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_filesys_helpers.py +0 -0
  382. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_fileuploads.py +0 -0
  383. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_filter.py +0 -0
  384. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_flow.py +0 -0
  385. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_flowruns.py +0 -0
  386. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_flowtask.py +0 -0
  387. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_group.py +0 -0
  388. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_group_model.py +0 -0
  389. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_groupsets.py +0 -0
  390. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_job.py +0 -0
  391. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_linked_tasks.py +0 -0
  392. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_metadata.py +0 -0
  393. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_metrics.py +0 -0
  394. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_pager.py +0 -0
  395. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_permissionsrule.py +0 -0
  396. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_project_model.py +0 -0
  397. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_regression_tests.py +0 -0
  398. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_request_option.py +0 -0
  399. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_requests.py +0 -0
  400. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_schedule.py +0 -0
  401. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_server_info.py +0 -0
  402. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_site.py +0 -0
  403. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_site_model.py +0 -0
  404. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_sort.py +0 -0
  405. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_subscription.py +0 -0
  406. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_table.py +0 -0
  407. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_tableauauth_model.py +0 -0
  408. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_tagging.py +0 -0
  409. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_task.py +0 -0
  410. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_user.py +0 -0
  411. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_user_model.py +0 -0
  412. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_view.py +0 -0
  413. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_view_acceleration.py +0 -0
  414. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_virtual_connection.py +0 -0
  415. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_webhook.py +0 -0
  416. {tableauserverclient-0.34 → tableauserverclient-0.36}/test/test_workbook_model.py +0 -0
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: tableauserverclient
3
- Version: 0.34
3
+ Version: 0.36
4
4
  Summary: A Python module for working with the Tableau Server REST API.
5
5
  Author-email: Tableau <github@tableau.com>
6
6
  License: The MIT License (MIT)
@@ -41,7 +41,7 @@ Requires-Dist: defusedxml>=0.7.1
41
41
  Requires-Dist: packaging>=23.1
42
42
  Requires-Dist: requests>=2.32
43
43
  Requires-Dist: urllib3<3,>=2.2.2
44
- Requires-Dist: typing_extensions>=4.0.1
44
+ Requires-Dist: typing_extensions>=4.0
45
45
  Provides-Extra: test
46
46
  Requires-Dist: black==24.8; extra == "test"
47
47
  Requires-Dist: build; extra == "test"
@@ -1,5 +1,5 @@
1
1
  [build-system]
2
- requires = ["setuptools>=68.0", "versioneer>=0.29", "wheel"]
2
+ requires = ["setuptools>=75.0", "versioneer[toml]==0.29", "wheel"]
3
3
  build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
@@ -16,7 +16,7 @@ dependencies = [
16
16
  'packaging>=23.1', # latest as at 7/31/23
17
17
  'requests>=2.32', # latest as at 7/31/23
18
18
  'urllib3>=2.2.2,<3',
19
- 'typing_extensions>=4.0.1',
19
+ 'typing_extensions>=4.0',
20
20
  ]
21
21
  requires-python = ">=3.9"
22
22
  classifiers = [
@@ -38,6 +38,7 @@ test = ["black==24.8", "build", "mypy==1.4", "pytest>=7.0", "pytest-cov", "pytes
38
38
  [tool.black]
39
39
  line-length = 120
40
40
  target-version = ['py39', 'py310', 'py311', 'py312', 'py313']
41
+ force-exclude = "tableauserverclient/bin/*"
41
42
 
42
43
  [tool.mypy]
43
44
  check_untyped_defs = false
@@ -50,7 +51,15 @@ show_error_codes = true
50
51
  ignore_missing_imports = true # defusedxml library has no types
51
52
  no_implicit_reexport = true
52
53
  implicit_optional = true
54
+ exclude = ['/bin/']
53
55
 
54
56
  [tool.pytest.ini_options]
55
57
  testpaths = ["test"]
56
58
  addopts = "--junitxml=./test.junit.xml"
59
+
60
+ [tool.versioneer]
61
+ VCS = "git"
62
+ style = "pep440-pre"
63
+ versionfile_source = "tableauserverclient/bin/_version.py"
64
+ versionfile_build = "tableauserverclient/bin/_version.py"
65
+ tag_prefix = "v"
@@ -29,7 +29,9 @@ def main():
29
29
  help="desired logging level (set to error by default)",
30
30
  )
31
31
  # Options specific to this sample:
32
- # This sample has no additional options, yet. If you add some, please add them here
32
+ parser.add_argument("resource_type", choices=["workbook", "datasource"])
33
+ parser.add_argument("resource_id")
34
+ parser.add_argument("--incremental", default=False)
33
35
 
34
36
  args = parser.parse_args()
35
37
 
@@ -45,6 +47,7 @@ def main():
45
47
  # Monthly Schedule
46
48
  # This schedule will run on the 15th of every month at 11:30PM
47
49
  monthly_interval = TSC.MonthlyInterval(start_time=time(23, 30), interval_value=15)
50
+ print(monthly_interval)
48
51
  monthly_schedule = TSC.ScheduleItem(
49
52
  None,
50
53
  None,
@@ -53,18 +56,20 @@ def main():
53
56
  monthly_interval,
54
57
  )
55
58
 
56
- # Default to using first workbook found in server
57
- all_workbook_items, pagination_item = server.workbooks.get()
58
- my_workbook: TSC.WorkbookItem = all_workbook_items[0]
59
+ my_workbook: TSC.WorkbookItem = server.workbooks.get_by_id(args.resource_id)
59
60
 
60
61
  target_item = TSC.Target(
61
62
  my_workbook.id, # the id of the workbook or datasource
62
63
  "workbook", # alternatively can be "datasource"
63
64
  )
64
65
 
65
- extract_item = TSC.TaskItem(
66
+ refresh_type = "FullRefresh"
67
+ if args.incremental:
68
+ refresh_type = "Incremental"
69
+
70
+ scheduled_extract_item = TSC.TaskItem(
66
71
  None,
67
- "FullRefresh",
72
+ refresh_type,
68
73
  None,
69
74
  None,
70
75
  None,
@@ -74,7 +79,7 @@ def main():
74
79
  )
75
80
 
76
81
  try:
77
- response = server.tasks.create(extract_item)
82
+ response = server.tasks.create(scheduled_extract_item)
78
83
  print(response)
79
84
  except Exception as e:
80
85
  print(e)
@@ -25,8 +25,11 @@ def main():
25
25
  help="desired logging level (set to error by default)",
26
26
  )
27
27
  # Options specific to this sample
28
- parser.add_argument("--delete")
29
- parser.add_argument("--create")
28
+ parser.add_argument("--create", action="store_true")
29
+ parser.add_argument("--delete", action="store_true")
30
+ parser.add_argument("--refresh", action="store_true")
31
+ parser.add_argument("--workbook", required=False)
32
+ parser.add_argument("--datasource", required=False)
30
33
  args = parser.parse_args()
31
34
 
32
35
  # Set logging level based on user input, or error by default
@@ -39,20 +42,45 @@ def main():
39
42
  server.add_http_options({"verify": False})
40
43
  server.use_server_version()
41
44
  with server.auth.sign_in(tableau_auth):
42
- # Gets all workbook items
43
- all_workbooks, pagination_item = server.workbooks.get()
44
- print(f"\nThere are {pagination_item.total_available} workbooks on site: ")
45
- print([workbook.name for workbook in all_workbooks])
46
45
 
47
- if all_workbooks:
48
- # Pick one workbook from the list
49
- wb = all_workbooks[3]
46
+ wb = None
47
+ ds = None
48
+ if args.workbook:
49
+ wb = server.workbooks.get_by_id(args.workbook)
50
+ if wb is None:
51
+ raise ValueError(f"Workbook not found for id {args.workbook}")
52
+ elif args.datasource:
53
+ ds = server.datasources.get_by_id(args.datasource)
54
+ if ds is None:
55
+ raise ValueError(f"Datasource not found for id {args.datasource}")
56
+ else:
57
+ # Gets all workbook items
58
+ all_workbooks, pagination_item = server.workbooks.get()
59
+ print(f"\nThere are {pagination_item.total_available} workbooks on site: ")
60
+ print([workbook.name for workbook in all_workbooks])
61
+
62
+ if all_workbooks:
63
+ # Pick one workbook from the list
64
+ wb = all_workbooks[3]
50
65
 
51
66
  if args.create:
52
67
  print("create extract on wb ", wb.name)
53
68
  extract_job = server.workbooks.create_extract(wb, includeAll=True)
54
69
  print(extract_job)
55
70
 
71
+ if args.refresh:
72
+ extract_job = None
73
+ if ds is not None:
74
+ print(f"refresh extract on datasource {ds.name}")
75
+ extract_job = server.datasources.refresh(ds, includeAll=True, incremental=True)
76
+ elif wb is not None:
77
+ print(f"refresh extract on workbook {wb.name}")
78
+ extract_job = server.workbooks.refresh(wb)
79
+ else:
80
+ print("no content item selected to refresh")
81
+
82
+ print(extract_job)
83
+
56
84
  if args.delete:
57
85
  print("delete extract on wb ", wb.name)
58
86
  jj = server.workbooks.delete_extract(wb)
@@ -36,9 +36,16 @@ def main():
36
36
  help="desired logging level (set to error by default)",
37
37
  )
38
38
  # Options specific to this sample
39
+ group = parser.add_mutually_exclusive_group(required=False)
40
+ group.add_argument("--thumbnails-user-id", "-u", help="User ID to use for thumbnails")
41
+ group.add_argument("--thumbnails-group-id", "-g", help="Group ID to use for thumbnails")
42
+
43
+ parser.add_argument("--workbook-name", "-n", help="Name with which to publish the workbook")
39
44
  parser.add_argument("--file", "-f", help="local filepath of the workbook to publish")
40
45
  parser.add_argument("--as-job", "-a", help="Publishing asynchronously", action="store_true")
41
46
  parser.add_argument("--skip-connection-check", "-c", help="Skip live connection check", action="store_true")
47
+ parser.add_argument("--project", help="Project within which to publish the workbook")
48
+ parser.add_argument("--show-tabs", help="Publish workbooks with tabs displayed", action="store_true")
42
49
 
43
50
  args = parser.parse_args()
44
51
 
@@ -48,11 +55,22 @@ def main():
48
55
 
49
56
  # Step 1: Sign in to server.
50
57
  tableau_auth = TSC.PersonalAccessTokenAuth(args.token_name, args.token_value, site_id=args.site)
51
- server = TSC.Server(args.server, use_server_version=True)
58
+ server = TSC.Server(args.server, use_server_version=True, http_options={"verify": False})
52
59
  with server.auth.sign_in(tableau_auth):
53
- # Step 2: Get all the projects on server, then look for the default one.
54
- all_projects, pagination_item = server.projects.get()
55
- default_project = next((project for project in all_projects if project.is_default()), None)
60
+ # Step2: Retrieve the project id, if a project name was passed
61
+ if args.project is not None:
62
+ req_options = TSC.RequestOptions()
63
+ req_options.filter.add(
64
+ TSC.Filter(TSC.RequestOptions.Field.Name, TSC.RequestOptions.Operator.Equals, args.project)
65
+ )
66
+ projects = list(TSC.Pager(server.projects, req_options))
67
+ if len(projects) > 1:
68
+ raise ValueError("The project name is not unique")
69
+ project_id = projects[0].id
70
+ else:
71
+ # Get all the projects on server, then look for the default one.
72
+ all_projects, pagination_item = server.projects.get()
73
+ project_id = next((project for project in all_projects if project.is_default()), None).id
56
74
 
57
75
  connection1 = ConnectionItem()
58
76
  connection1.server_address = "mssql.test.com"
@@ -67,10 +85,16 @@ def main():
67
85
  all_connections.append(connection1)
68
86
  all_connections.append(connection2)
69
87
 
70
- # Step 3: If default project is found, form a new workbook item and publish.
88
+ # Step 3: Form a new workbook item and publish.
71
89
  overwrite_true = TSC.Server.PublishMode.Overwrite
72
- if default_project is not None:
73
- new_workbook = TSC.WorkbookItem(default_project.id)
90
+ if project_id is not None:
91
+ new_workbook = TSC.WorkbookItem(
92
+ project_id=project_id,
93
+ name=args.workbook_name,
94
+ show_tabs=args.show_tabs,
95
+ thumbnails_user_id=args.thumbnails_user_id,
96
+ thumbnails_group_id=args.thumbnails_group_id,
97
+ )
74
98
  if args.as_job:
75
99
  new_job = server.workbooks.publish(
76
100
  new_workbook,
@@ -92,7 +116,7 @@ def main():
92
116
  )
93
117
  print(f"Workbook published. ID: {new_workbook.id}")
94
118
  else:
95
- error = "The default project could not be found."
119
+ error = "The destination project could not be found."
96
120
  raise LookupError(error)
97
121
 
98
122
 
@@ -27,6 +27,8 @@ def main():
27
27
  # Options specific to this sample
28
28
  parser.add_argument("resource_type", choices=["workbook", "datasource"])
29
29
  parser.add_argument("resource_id")
30
+ parser.add_argument("--incremental")
31
+ parser.add_argument("--synchronous")
30
32
 
31
33
  args = parser.parse_args()
32
34
 
@@ -34,27 +36,42 @@ def main():
34
36
  logging_level = getattr(logging, args.logging_level.upper())
35
37
  logging.basicConfig(level=logging_level)
36
38
 
39
+ refresh_type = "FullRefresh"
40
+ incremental = False
41
+ if args.incremental:
42
+ refresh_type = "Incremental"
43
+ incremental = True
44
+
37
45
  tableau_auth = TSC.PersonalAccessTokenAuth(args.token_name, args.token_value, site_id=args.site)
38
- server = TSC.Server(args.server, use_server_version=True)
46
+ server = TSC.Server(args.server, use_server_version=True, http_options={"verify": False})
39
47
  with server.auth.sign_in(tableau_auth):
40
48
  if args.resource_type == "workbook":
41
49
  # Get the workbook by its Id to make sure it exists
42
50
  resource = server.workbooks.get_by_id(args.resource_id)
51
+ print(resource)
43
52
 
44
53
  # trigger the refresh, you'll get a job id back which can be used to poll for when the refresh is done
45
- job = server.workbooks.refresh(args.resource_id)
54
+ job = server.workbooks.refresh(args.resource_id, incremental=incremental)
46
55
  else:
47
56
  # Get the datasource by its Id to make sure it exists
48
57
  resource = server.datasources.get_by_id(args.resource_id)
58
+ print(resource)
59
+
60
+ # server.datasources.create_extract(resource)
49
61
 
50
62
  # trigger the refresh, you'll get a job id back which can be used to poll for when the refresh is done
51
- job = server.datasources.refresh(resource)
63
+ job = server.datasources.refresh(resource, incremental=incremental) # by default runs as a sync task,
52
64
 
53
- print(f"Update job posted (ID: {job.id})")
54
- print("Waiting for job...")
55
- # `wait_for_job` will throw if the job isn't executed successfully
56
- job = server.jobs.wait_for_job(job)
57
- print("Job finished succesfully")
65
+ print(f"{refresh_type} job posted (ID: {job.id})")
66
+ if args.synchronous:
67
+ # equivalent to tabcmd --synchnronous: wait for the job to complete
68
+ try:
69
+ # `wait_for_job` will throw if the job isn't executed successfully
70
+ print("Waiting for job...")
71
+ server.jobs.wait_for_job(job)
72
+ print("Job finished succesfully")
73
+ except Exception as e:
74
+ print(f"Job failed! {e}")
58
75
 
59
76
 
60
77
  if __name__ == "__main__":
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -1,15 +1,6 @@
1
1
  import versioneer
2
2
  from setuptools import setup
3
3
 
4
- """
5
- once versioneer 0.25 gets released, we can move this from setup.cfg to pyproject.toml
6
- [tool.versioneer]
7
- VCS = "git"
8
- style = "pep440-pre"
9
- versionfile_source = "tableauserverclient/_version.py"
10
- versionfile_build = "tableauserverclient/_version.py"
11
- tag_prefix = "v"
12
- """
13
4
  setup(
14
5
  version=versioneer.get_version(),
15
6
  cmdclass=versioneer.get_cmdclass(),
@@ -1,4 +1,4 @@
1
- from tableauserverclient._version import get_versions
1
+ from tableauserverclient.bin._version import get_versions
2
2
  from tableauserverclient.namespace import NEW_NAMESPACE as DEFAULT_NAMESPACE
3
3
  from tableauserverclient.models import (
4
4
  BackgroundJobItem,
@@ -133,3 +133,7 @@ __all__ = [
133
133
  "WeeklyInterval",
134
134
  "WorkbookItem",
135
135
  ]
136
+
137
+ from .bin import _version
138
+
139
+ __version__ = _version.get_versions()["version"]
@@ -8,11 +8,11 @@ import json
8
8
 
9
9
  version_json = '''
10
10
  {
11
- "date": "2024-10-25T16:34:58-0700",
11
+ "date": "2025-01-10T10:20:30-0800",
12
12
  "dirty": false,
13
13
  "error": null,
14
- "full-revisionid": "1d98fdad189ebed130fb904e8fa5dca2207f9011",
15
- "version": "0.34"
14
+ "full-revisionid": "42cecfe268d494284ca74b49aa4e9bfb6cfa197a",
15
+ "version": "0.36"
16
16
  }
17
17
  ''' # END VERSION_JSON
18
18
 
@@ -2,11 +2,27 @@ from .property_decorators import property_is_boolean
2
2
 
3
3
 
4
4
  class ConnectionCredentials:
5
- """Connection Credentials for Workbooks and Datasources publish request.
5
+ """
6
+ Connection Credentials for Workbooks and Datasources publish request.
6
7
 
7
8
  Consider removing this object and other variables holding secrets
8
9
  as soon as possible after use to avoid them hanging around in memory.
9
10
 
11
+ Parameters
12
+ ----------
13
+ name: str
14
+ The username for the connection.
15
+
16
+ password: str
17
+ The password used for the connection.
18
+
19
+ embed: bool, default True
20
+ Determines whether to embed the password (True) for the workbook or data source connection or not (False).
21
+
22
+ oauth: bool, default False
23
+ Determines whether to use OAuth for the connection (True) or not (False).
24
+ For more information see: https://help.tableau.com/current/server/en-us/protected_auth.htm
25
+
10
26
  """
11
27
 
12
28
  def __init__(self, name, password, embed=True, oauth=False):
@@ -9,6 +9,44 @@ from tableauserverclient.helpers.logging import logger
9
9
 
10
10
 
11
11
  class ConnectionItem:
12
+ """
13
+ Corresponds to workbook and data source connections.
14
+
15
+ Attributes
16
+ ----------
17
+ datasource_id: str
18
+ The identifier of the data source.
19
+
20
+ datasource_name: str
21
+ The name of the data source.
22
+
23
+ id: str
24
+ The identifier of the connection.
25
+
26
+ connection_type: str
27
+ The type of connection.
28
+
29
+ username: str
30
+ The username for the connection. (see ConnectionCredentials)
31
+
32
+ password: str
33
+ The password used for the connection. (see ConnectionCredentials)
34
+
35
+ embed_password: bool
36
+ Determines whether to embed the password (True) for the workbook or data source connection or not (False). (see ConnectionCredentials)
37
+
38
+ server_address: str
39
+ The server address for the connection.
40
+
41
+ server_port: str
42
+ The port used for the connection.
43
+
44
+ connection_credentials: ConnectionCredentials
45
+ The Connection Credentials object containing authentication details for
46
+ the connection. Replaces username/password/embed_password when
47
+ publishing a flow, document or workbook file in the request body.
48
+ """
49
+
12
50
  def __init__(self):
13
51
  self._datasource_id: Optional[str] = None
14
52
  self._datasource_name: Optional[str] = None
@@ -5,14 +5,58 @@ from defusedxml.ElementTree import fromstring, tostring
5
5
  from typing import Callable, Optional
6
6
  from collections.abc import Iterator
7
7
 
8
- from .exceptions import UnpopulatedPropertyError
9
- from .user_item import UserItem
10
- from .view_item import ViewItem
11
- from .workbook_item import WorkbookItem
12
- from ..datetime_helpers import parse_datetime
8
+ from tableauserverclient.models.exceptions import UnpopulatedPropertyError
9
+ from tableauserverclient.models.user_item import UserItem
10
+ from tableauserverclient.models.view_item import ViewItem
11
+ from tableauserverclient.models.workbook_item import WorkbookItem
12
+ from tableauserverclient.datetime_helpers import parse_datetime
13
13
 
14
14
 
15
15
  class CustomViewItem:
16
+ """
17
+ Represents a Custom View item on Tableau Server.
18
+
19
+ Parameters
20
+ ----------
21
+ id : Optional[str]
22
+ The ID of the Custom View item.
23
+
24
+ name : Optional[str]
25
+ The name of the Custom View item.
26
+
27
+ Attributes
28
+ ----------
29
+ content_url : Optional[str]
30
+ The content URL of the Custom View item.
31
+
32
+ created_at : Optional[datetime]
33
+ The date and time the Custom View item was created.
34
+
35
+ image: bytes
36
+ The image of the Custom View item. Must be populated first.
37
+
38
+ pdf: bytes
39
+ The PDF of the Custom View item. Must be populated first.
40
+
41
+ csv: Iterator[bytes]
42
+ The CSV of the Custom View item. Must be populated first.
43
+
44
+ shared : Optional[bool]
45
+ Whether the Custom View item is shared.
46
+
47
+ updated_at : Optional[datetime]
48
+ The date and time the Custom View item was last updated.
49
+
50
+ owner : Optional[UserItem]
51
+ The id of the owner of the Custom View item.
52
+
53
+ workbook : Optional[WorkbookItem]
54
+ The id of the workbook the Custom View item belongs to.
55
+
56
+ view : Optional[ViewItem]
57
+ The id of the view the Custom View item belongs to.
58
+ """
59
+
16
60
  def __init__(self, id: Optional[str] = None, name: Optional[str] = None) -> None:
17
61
  self._content_url: Optional[str] = None # ?
18
62
  self._created_at: Optional["datetime"] = None
@@ -1,7 +1,7 @@
1
1
  import copy
2
2
  import datetime
3
3
  import xml.etree.ElementTree as ET
4
- from typing import Optional
4
+ from typing import Iterable, Optional
5
5
 
6
6
  from defusedxml.ElementTree import fromstring
7
7
 
@@ -15,6 +15,51 @@ from tableauserverclient.models.tag_item import TagItem
15
15
 
16
16
 
17
17
  class FlowItem:
18
+ """
19
+ Represents a Tableau Flow item.
20
+
21
+ Parameters
22
+ ----------
23
+ project_id: str
24
+ The ID of the project that the flow belongs to.
25
+
26
+ name: Optional[str]
27
+ The name of the flow.
28
+
29
+ Attributes
30
+ ----------
31
+ connections: Iterable[ConnectionItem]
32
+ The connections associated with the flow. This property is not populated
33
+ by default and must be populated by calling the `populate_connections`
34
+ method.
35
+
36
+ created_at: Optional[datetime.datetime]
37
+ The date and time when the flow was created.
38
+
39
+ description: Optional[str]
40
+ The description of the flow.
41
+
42
+ dqws: Iterable[DQWItem]
43
+ The data quality warnings associated with the flow. This property is not
44
+ populated by default and must be populated by calling the `populate_dqws`
45
+ method.
46
+
47
+ id: Optional[str]
48
+ The ID of the flow.
49
+
50
+ name: Optional[str]
51
+ The name of the flow.
52
+
53
+ owner_id: Optional[str]
54
+ The ID of the user who owns the flow.
55
+
56
+ project_name: Optional[str]
57
+ The name of the project that the flow belongs to.
58
+
59
+ tags: set[str]
60
+ The tags associated with the flow.
61
+ """
62
+
18
63
  def __repr__(self):
19
64
  return "<Flow {} '{}' ({}) Project={} createdAt={}".format(
20
65
  self._id, self.name, self.description, self.project_id, self.created_at
@@ -33,9 +78,9 @@ class FlowItem:
33
78
  self.tags: set[str] = set()
34
79
  self.description: Optional[str] = None
35
80
 
36
- self._connections: Optional[ConnectionItem] = None
37
- self._permissions: Optional[Permission] = None
38
- self._data_quality_warnings: Optional[DQWItem] = None
81
+ self._connections: Optional[Iterable[ConnectionItem]] = None
82
+ self._permissions: Optional[Iterable[Permission]] = None
83
+ self._data_quality_warnings: Optional[Iterable[DQWItem]] = None
39
84
 
40
85
  @property
41
86
  def connections(self):
@@ -12,6 +12,46 @@ if TYPE_CHECKING:
12
12
 
13
13
 
14
14
  class GroupItem:
15
+ """
16
+ The GroupItem class contains the attributes for the group resources on
17
+ Tableau Server. The GroupItem class defines the information you can request
18
+ or query from Tableau Server. The class members correspond to the attributes
19
+ of a server request or response payload.
20
+
21
+ Parameters
22
+ ----------
23
+ name: str
24
+ The name of the group.
25
+
26
+ domain_name: str
27
+ The name of the Active Directory domain ("local" if local authentication is used).
28
+
29
+ Properties
30
+ ----------
31
+ users: Pager[UserItem]
32
+ The users in the group. Must be populated with a call to `populate_users()`.
33
+
34
+ id: str
35
+ The unique identifier for the group.
36
+
37
+ minimum_site_role: str
38
+ The minimum site role for users in the group. Use the `UserItem.Roles` enum.
39
+ Users in the group cannot have their site role set lower than this value.
40
+
41
+ license_mode: str
42
+ The mode defining when to apply licenses for group members. When the
43
+ mode is onLogin, a license is granted for each group member when they
44
+ login to a site. When the mode is onSync, a license is granted for group
45
+ members each time the domain is synced.
46
+
47
+ Examples
48
+ --------
49
+ >>> # Create a new group item
50
+ >>> newgroup = TSC.GroupItem('My Group')
51
+
52
+
53
+ """
54
+
15
55
  tag_name: str = "group"
16
56
 
17
57
  class LicenseMode: