files-com 1.6.79__tar.gz → 1.6.81__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.

Potentially problematic release.


This version of files-com might be problematic. Click here for more details.

Files changed (235) hide show
  1. {files_com-1.6.79/files_com.egg-info → files_com-1.6.81}/PKG-INFO +1 -1
  2. files_com-1.6.81/_VERSION +1 -0
  3. {files_com-1.6.79 → files_com-1.6.81/files_com.egg-info}/PKG-INFO +1 -1
  4. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/__init__.py +1 -1
  5. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/gpg_key.py +15 -1
  6. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/partner.py +17 -7
  7. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/permission.py +1 -0
  8. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/public_key.py +3 -0
  9. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/scim_log.py +22 -0
  10. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/user.py +20 -1
  11. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/user_lifecycle_rule.py +56 -23
  12. {files_com-1.6.79 → files_com-1.6.81}/pyproject.toml +1 -1
  13. {files_com-1.6.79 → files_com-1.6.81}/tests/test_scim_log.py +8 -0
  14. files_com-1.6.79/_VERSION +0 -1
  15. {files_com-1.6.79 → files_com-1.6.81}/LICENSE +0 -0
  16. {files_com-1.6.79 → files_com-1.6.81}/README.md +0 -0
  17. {files_com-1.6.79 → files_com-1.6.81}/files_com.egg-info/SOURCES.txt +0 -0
  18. {files_com-1.6.79 → files_com-1.6.81}/files_com.egg-info/dependency_links.txt +0 -0
  19. {files_com-1.6.79 → files_com-1.6.81}/files_com.egg-info/requires.txt +0 -0
  20. {files_com-1.6.79 → files_com-1.6.81}/files_com.egg-info/top_level.txt +0 -0
  21. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/api.py +0 -0
  22. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/api_client.py +0 -0
  23. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/error.py +0 -0
  24. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/list_obj.py +0 -0
  25. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/__init__.py +0 -0
  26. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/account_line_item.py +0 -0
  27. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/action.py +0 -0
  28. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/action_notification_export.py +0 -0
  29. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/action_notification_export_result.py +0 -0
  30. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/api_key.py +0 -0
  31. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/api_request_log.py +0 -0
  32. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/app.py +0 -0
  33. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/as2_incoming_message.py +0 -0
  34. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/as2_outgoing_message.py +0 -0
  35. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/as2_partner.py +0 -0
  36. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/as2_station.py +0 -0
  37. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/auto.py +0 -0
  38. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/automation.py +0 -0
  39. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/automation_log.py +0 -0
  40. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/automation_run.py +0 -0
  41. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/bandwidth_snapshot.py +0 -0
  42. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/behavior.py +0 -0
  43. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/bundle.py +0 -0
  44. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/bundle_action.py +0 -0
  45. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/bundle_download.py +0 -0
  46. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/bundle_notification.py +0 -0
  47. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/bundle_path.py +0 -0
  48. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/bundle_recipient.py +0 -0
  49. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/bundle_registration.py +0 -0
  50. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/child_site_management_policy.py +0 -0
  51. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/clickwrap.py +0 -0
  52. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/dns_record.py +0 -0
  53. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/email_incoming_message.py +0 -0
  54. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/email_log.py +0 -0
  55. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/errors.py +0 -0
  56. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/exavault_api_request_log.py +0 -0
  57. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/external_event.py +0 -0
  58. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/file.py +0 -0
  59. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/file_action.py +0 -0
  60. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/file_comment.py +0 -0
  61. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/file_comment_reaction.py +0 -0
  62. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/file_migration.py +0 -0
  63. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/file_migration_log.py +0 -0
  64. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/file_upload_part.py +0 -0
  65. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/folder.py +0 -0
  66. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/form_field.py +0 -0
  67. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/form_field_set.py +0 -0
  68. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/ftp_action_log.py +0 -0
  69. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/group.py +0 -0
  70. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/group_user.py +0 -0
  71. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/history.py +0 -0
  72. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/history_export.py +0 -0
  73. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/history_export_result.py +0 -0
  74. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/holiday_region.py +0 -0
  75. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/image.py +0 -0
  76. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/inbox_recipient.py +0 -0
  77. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/inbox_registration.py +0 -0
  78. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/inbox_upload.py +0 -0
  79. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/invoice.py +0 -0
  80. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/invoice_line_item.py +0 -0
  81. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/ip_address.py +0 -0
  82. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/lock.py +0 -0
  83. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/message.py +0 -0
  84. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/message_comment.py +0 -0
  85. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/message_comment_reaction.py +0 -0
  86. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/message_reaction.py +0 -0
  87. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/notification.py +0 -0
  88. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/outbound_connection_log.py +0 -0
  89. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/payment.py +0 -0
  90. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/payment_line_item.py +0 -0
  91. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/preview.py +0 -0
  92. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/priority.py +0 -0
  93. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/project.py +0 -0
  94. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/public_hosting_request_log.py +0 -0
  95. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/public_ip_address.py +0 -0
  96. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
  97. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/remote_mount_backend.py +0 -0
  98. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/remote_server.py +0 -0
  99. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/remote_server_configuration_file.py +0 -0
  100. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/request.py +0 -0
  101. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/restore.py +0 -0
  102. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/session.py +0 -0
  103. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/settings_change.py +0 -0
  104. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/sftp_action_log.py +0 -0
  105. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/sftp_host_key.py +0 -0
  106. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/share_group.py +0 -0
  107. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/share_group_member.py +0 -0
  108. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/siem_http_destination.py +0 -0
  109. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/site.py +0 -0
  110. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/snapshot.py +0 -0
  111. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/sso_strategy.py +0 -0
  112. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/status.py +0 -0
  113. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/style.py +0 -0
  114. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/sync.py +0 -0
  115. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/sync_log.py +0 -0
  116. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/sync_run.py +0 -0
  117. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/usage_by_top_level_dir.py +0 -0
  118. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/usage_daily_snapshot.py +0 -0
  119. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/usage_snapshot.py +0 -0
  120. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/user_cipher_use.py +0 -0
  121. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/user_request.py +0 -0
  122. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/user_sftp_client_use.py +0 -0
  123. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/web_dav_action_log.py +0 -0
  124. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/models/webhook_test.py +0 -0
  125. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/path_util.py +0 -0
  126. {files_com-1.6.79 → files_com-1.6.81}/files_sdk/util.py +0 -0
  127. {files_com-1.6.79 → files_com-1.6.81}/setup.cfg +0 -0
  128. {files_com-1.6.79 → files_com-1.6.81}/tests/test_account_line_item.py +0 -0
  129. {files_com-1.6.79 → files_com-1.6.81}/tests/test_action.py +0 -0
  130. {files_com-1.6.79 → files_com-1.6.81}/tests/test_action_notification_export.py +0 -0
  131. {files_com-1.6.79 → files_com-1.6.81}/tests/test_action_notification_export_result.py +0 -0
  132. {files_com-1.6.79 → files_com-1.6.81}/tests/test_api_errors.py +0 -0
  133. {files_com-1.6.79 → files_com-1.6.81}/tests/test_api_key.py +0 -0
  134. {files_com-1.6.79 → files_com-1.6.81}/tests/test_api_request_log.py +0 -0
  135. {files_com-1.6.79 → files_com-1.6.81}/tests/test_app.py +0 -0
  136. {files_com-1.6.79 → files_com-1.6.81}/tests/test_as2_incoming_message.py +0 -0
  137. {files_com-1.6.79 → files_com-1.6.81}/tests/test_as2_outgoing_message.py +0 -0
  138. {files_com-1.6.79 → files_com-1.6.81}/tests/test_as2_partner.py +0 -0
  139. {files_com-1.6.79 → files_com-1.6.81}/tests/test_as2_station.py +0 -0
  140. {files_com-1.6.79 → files_com-1.6.81}/tests/test_auto.py +0 -0
  141. {files_com-1.6.79 → files_com-1.6.81}/tests/test_automation.py +0 -0
  142. {files_com-1.6.79 → files_com-1.6.81}/tests/test_automation_log.py +0 -0
  143. {files_com-1.6.79 → files_com-1.6.81}/tests/test_automation_run.py +0 -0
  144. {files_com-1.6.79 → files_com-1.6.81}/tests/test_bandwidth_snapshot.py +0 -0
  145. {files_com-1.6.79 → files_com-1.6.81}/tests/test_behavior.py +0 -0
  146. {files_com-1.6.79 → files_com-1.6.81}/tests/test_bundle.py +0 -0
  147. {files_com-1.6.79 → files_com-1.6.81}/tests/test_bundle_action.py +0 -0
  148. {files_com-1.6.79 → files_com-1.6.81}/tests/test_bundle_download.py +0 -0
  149. {files_com-1.6.79 → files_com-1.6.81}/tests/test_bundle_notification.py +0 -0
  150. {files_com-1.6.79 → files_com-1.6.81}/tests/test_bundle_path.py +0 -0
  151. {files_com-1.6.79 → files_com-1.6.81}/tests/test_bundle_recipient.py +0 -0
  152. {files_com-1.6.79 → files_com-1.6.81}/tests/test_bundle_registration.py +0 -0
  153. {files_com-1.6.79 → files_com-1.6.81}/tests/test_child_site_management_policy.py +0 -0
  154. {files_com-1.6.79 → files_com-1.6.81}/tests/test_clickwrap.py +0 -0
  155. {files_com-1.6.79 → files_com-1.6.81}/tests/test_connection_adapter.py +0 -0
  156. {files_com-1.6.79 → files_com-1.6.81}/tests/test_dns_record.py +0 -0
  157. {files_com-1.6.79 → files_com-1.6.81}/tests/test_email_incoming_message.py +0 -0
  158. {files_com-1.6.79 → files_com-1.6.81}/tests/test_email_log.py +0 -0
  159. {files_com-1.6.79 → files_com-1.6.81}/tests/test_errors.py +0 -0
  160. {files_com-1.6.79 → files_com-1.6.81}/tests/test_exavault_api_request_log.py +0 -0
  161. {files_com-1.6.79 → files_com-1.6.81}/tests/test_external_event.py +0 -0
  162. {files_com-1.6.79 → files_com-1.6.81}/tests/test_file.py +0 -0
  163. {files_com-1.6.79 → files_com-1.6.81}/tests/test_file_action.py +0 -0
  164. {files_com-1.6.79 → files_com-1.6.81}/tests/test_file_comment.py +0 -0
  165. {files_com-1.6.79 → files_com-1.6.81}/tests/test_file_comment_reaction.py +0 -0
  166. {files_com-1.6.79 → files_com-1.6.81}/tests/test_file_migration.py +0 -0
  167. {files_com-1.6.79 → files_com-1.6.81}/tests/test_file_migration_log.py +0 -0
  168. {files_com-1.6.79 → files_com-1.6.81}/tests/test_file_upload_part.py +0 -0
  169. {files_com-1.6.79 → files_com-1.6.81}/tests/test_folder.py +0 -0
  170. {files_com-1.6.79 → files_com-1.6.81}/tests/test_form_field.py +0 -0
  171. {files_com-1.6.79 → files_com-1.6.81}/tests/test_form_field_set.py +0 -0
  172. {files_com-1.6.79 → files_com-1.6.81}/tests/test_ftp_action_log.py +0 -0
  173. {files_com-1.6.79 → files_com-1.6.81}/tests/test_gpg_key.py +0 -0
  174. {files_com-1.6.79 → files_com-1.6.81}/tests/test_group.py +0 -0
  175. {files_com-1.6.79 → files_com-1.6.81}/tests/test_group_user.py +0 -0
  176. {files_com-1.6.79 → files_com-1.6.81}/tests/test_history.py +0 -0
  177. {files_com-1.6.79 → files_com-1.6.81}/tests/test_history_export.py +0 -0
  178. {files_com-1.6.79 → files_com-1.6.81}/tests/test_history_export_result.py +0 -0
  179. {files_com-1.6.79 → files_com-1.6.81}/tests/test_holiday_region.py +0 -0
  180. {files_com-1.6.79 → files_com-1.6.81}/tests/test_image.py +0 -0
  181. {files_com-1.6.79 → files_com-1.6.81}/tests/test_inbox_recipient.py +0 -0
  182. {files_com-1.6.79 → files_com-1.6.81}/tests/test_inbox_registration.py +0 -0
  183. {files_com-1.6.79 → files_com-1.6.81}/tests/test_inbox_upload.py +0 -0
  184. {files_com-1.6.79 → files_com-1.6.81}/tests/test_invoice.py +0 -0
  185. {files_com-1.6.79 → files_com-1.6.81}/tests/test_invoice_line_item.py +0 -0
  186. {files_com-1.6.79 → files_com-1.6.81}/tests/test_ip_address.py +0 -0
  187. {files_com-1.6.79 → files_com-1.6.81}/tests/test_lock.py +0 -0
  188. {files_com-1.6.79 → files_com-1.6.81}/tests/test_message.py +0 -0
  189. {files_com-1.6.79 → files_com-1.6.81}/tests/test_message_comment.py +0 -0
  190. {files_com-1.6.79 → files_com-1.6.81}/tests/test_message_comment_reaction.py +0 -0
  191. {files_com-1.6.79 → files_com-1.6.81}/tests/test_message_reaction.py +0 -0
  192. {files_com-1.6.79 → files_com-1.6.81}/tests/test_notification.py +0 -0
  193. {files_com-1.6.79 → files_com-1.6.81}/tests/test_outbound_connection_log.py +0 -0
  194. {files_com-1.6.79 → files_com-1.6.81}/tests/test_partner.py +0 -0
  195. {files_com-1.6.79 → files_com-1.6.81}/tests/test_path_util.py +0 -0
  196. {files_com-1.6.79 → files_com-1.6.81}/tests/test_payment.py +0 -0
  197. {files_com-1.6.79 → files_com-1.6.81}/tests/test_payment_line_item.py +0 -0
  198. {files_com-1.6.79 → files_com-1.6.81}/tests/test_permission.py +0 -0
  199. {files_com-1.6.79 → files_com-1.6.81}/tests/test_preview.py +0 -0
  200. {files_com-1.6.79 → files_com-1.6.81}/tests/test_priority.py +0 -0
  201. {files_com-1.6.79 → files_com-1.6.81}/tests/test_project.py +0 -0
  202. {files_com-1.6.79 → files_com-1.6.81}/tests/test_public_hosting_request_log.py +0 -0
  203. {files_com-1.6.79 → files_com-1.6.81}/tests/test_public_ip_address.py +0 -0
  204. {files_com-1.6.79 → files_com-1.6.81}/tests/test_public_key.py +0 -0
  205. {files_com-1.6.79 → files_com-1.6.81}/tests/test_remote_bandwidth_snapshot.py +0 -0
  206. {files_com-1.6.79 → files_com-1.6.81}/tests/test_remote_mount_backend.py +0 -0
  207. {files_com-1.6.79 → files_com-1.6.81}/tests/test_remote_server.py +0 -0
  208. {files_com-1.6.79 → files_com-1.6.81}/tests/test_remote_server_configuration_file.py +0 -0
  209. {files_com-1.6.79 → files_com-1.6.81}/tests/test_request.py +0 -0
  210. {files_com-1.6.79 → files_com-1.6.81}/tests/test_restore.py +0 -0
  211. {files_com-1.6.79 → files_com-1.6.81}/tests/test_session.py +0 -0
  212. {files_com-1.6.79 → files_com-1.6.81}/tests/test_settings_change.py +0 -0
  213. {files_com-1.6.79 → files_com-1.6.81}/tests/test_sftp_action_log.py +0 -0
  214. {files_com-1.6.79 → files_com-1.6.81}/tests/test_sftp_host_key.py +0 -0
  215. {files_com-1.6.79 → files_com-1.6.81}/tests/test_share_group.py +0 -0
  216. {files_com-1.6.79 → files_com-1.6.81}/tests/test_share_group_member.py +0 -0
  217. {files_com-1.6.79 → files_com-1.6.81}/tests/test_siem_http_destination.py +0 -0
  218. {files_com-1.6.79 → files_com-1.6.81}/tests/test_site.py +0 -0
  219. {files_com-1.6.79 → files_com-1.6.81}/tests/test_snapshot.py +0 -0
  220. {files_com-1.6.79 → files_com-1.6.81}/tests/test_sso_strategy.py +0 -0
  221. {files_com-1.6.79 → files_com-1.6.81}/tests/test_status.py +0 -0
  222. {files_com-1.6.79 → files_com-1.6.81}/tests/test_style.py +0 -0
  223. {files_com-1.6.79 → files_com-1.6.81}/tests/test_sync.py +0 -0
  224. {files_com-1.6.79 → files_com-1.6.81}/tests/test_sync_log.py +0 -0
  225. {files_com-1.6.79 → files_com-1.6.81}/tests/test_sync_run.py +0 -0
  226. {files_com-1.6.79 → files_com-1.6.81}/tests/test_usage_by_top_level_dir.py +0 -0
  227. {files_com-1.6.79 → files_com-1.6.81}/tests/test_usage_daily_snapshot.py +0 -0
  228. {files_com-1.6.79 → files_com-1.6.81}/tests/test_usage_snapshot.py +0 -0
  229. {files_com-1.6.79 → files_com-1.6.81}/tests/test_user.py +0 -0
  230. {files_com-1.6.79 → files_com-1.6.81}/tests/test_user_cipher_use.py +0 -0
  231. {files_com-1.6.79 → files_com-1.6.81}/tests/test_user_lifecycle_rule.py +0 -0
  232. {files_com-1.6.79 → files_com-1.6.81}/tests/test_user_request.py +0 -0
  233. {files_com-1.6.79 → files_com-1.6.81}/tests/test_user_sftp_client_use.py +0 -0
  234. {files_com-1.6.79 → files_com-1.6.81}/tests/test_web_dav_action_log.py +0 -0
  235. {files_com-1.6.79 → files_com-1.6.81}/tests/test_webhook_test.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.79
3
+ Version: 1.6.81
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -0,0 +1 @@
1
+ 1.6.81
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.79
3
+ Version: 1.6.81
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -231,7 +231,7 @@ session_id = None
231
231
  source_ip = None
232
232
  base_url = "https://app.files.com"
233
233
  base_path = "api/rest/v1"
234
- version = "1.6.79"
234
+ version = "1.6.81"
235
235
 
236
236
  __version__ = version
237
237
 
@@ -13,7 +13,8 @@ class GpgKey:
13
13
  "id": None, # int64 - Your GPG key ID.
14
14
  "expires_at": None, # date-time - Your GPG key expiration date.
15
15
  "name": None, # string - Your GPG key name.
16
- "user_id": None, # int64 - GPG owner's user id
16
+ "partner_id": None, # int64 - Partner ID who owns this GPG Key, if applicable.
17
+ "user_id": None, # int64 - User ID who owns this GPG Key, if applicable.
17
18
  "public_key_md5": None, # string - MD5 hash of your GPG public key
18
19
  "private_key_md5": None, # string - MD5 hash of your GPG private key.
19
20
  "generated_public_key": None, # string - Your GPG public key
@@ -48,6 +49,7 @@ class GpgKey:
48
49
  }
49
50
 
50
51
  # Parameters:
52
+ # partner_id - int64 - Partner ID who owns this GPG Key, if applicable.
51
53
  # public_key - string - MD5 hash of your GPG public key
52
54
  # private_key - string - MD5 hash of your GPG private key.
53
55
  # private_key_password - string - Your GPG private key password. Only required for password protected keys.
@@ -64,6 +66,12 @@ class GpgKey:
64
66
  raise MissingParameterError("Parameter missing: id")
65
67
  if "id" in params and not isinstance(params["id"], int):
66
68
  raise InvalidParameterError("Bad parameter: id must be an int")
69
+ if "partner_id" in params and not isinstance(
70
+ params["partner_id"], int
71
+ ):
72
+ raise InvalidParameterError(
73
+ "Bad parameter: partner_id must be an int"
74
+ )
67
75
  if "public_key" in params and not isinstance(
68
76
  params["public_key"], str
69
77
  ):
@@ -174,6 +182,7 @@ def get(id, params=None, options=None):
174
182
 
175
183
  # Parameters:
176
184
  # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
185
+ # partner_id - int64 - Partner ID who owns this GPG Key, if applicable.
177
186
  # public_key - string - MD5 hash of your GPG public key
178
187
  # private_key - string - MD5 hash of your GPG private key.
179
188
  # private_key_password - string - Your GPG private key password. Only required for password protected keys.
@@ -189,6 +198,8 @@ def create(params=None, options=None):
189
198
  options = {}
190
199
  if "user_id" in params and not isinstance(params["user_id"], int):
191
200
  raise InvalidParameterError("Bad parameter: user_id must be an int")
201
+ if "partner_id" in params and not isinstance(params["partner_id"], int):
202
+ raise InvalidParameterError("Bad parameter: partner_id must be an int")
192
203
  if "public_key" in params and not isinstance(params["public_key"], str):
193
204
  raise InvalidParameterError("Bad parameter: public_key must be an str")
194
205
  if "private_key" in params and not isinstance(params["private_key"], str):
@@ -234,6 +245,7 @@ def create(params=None, options=None):
234
245
 
235
246
 
236
247
  # Parameters:
248
+ # partner_id - int64 - Partner ID who owns this GPG Key, if applicable.
237
249
  # public_key - string - MD5 hash of your GPG public key
238
250
  # private_key - string - MD5 hash of your GPG private key.
239
251
  # private_key_password - string - Your GPG private key password. Only required for password protected keys.
@@ -246,6 +258,8 @@ def update(id, params=None, options=None):
246
258
  params["id"] = id
247
259
  if "id" in params and not isinstance(params["id"], int):
248
260
  raise InvalidParameterError("Bad parameter: id must be an int")
261
+ if "partner_id" in params and not isinstance(params["partner_id"], int):
262
+ raise InvalidParameterError("Bad parameter: partner_id must be an int")
249
263
  if "public_key" in params and not isinstance(params["public_key"], str):
250
264
  raise InvalidParameterError("Bad parameter: public_key must be an str")
251
265
  if "private_key" in params and not isinstance(params["private_key"], str):
@@ -17,6 +17,7 @@ class Partner:
17
17
  "name": None, # string - The name of the Partner.
18
18
  "notes": None, # string - Notes about this Partner.
19
19
  "root_folder": None, # string - The root folder path for this Partner.
20
+ "tags": None, # string - Comma-separated list of Tags for this Partner. Tags are used for other features, such as UserLifecycleRules, which can target specific tags. Tags must only contain lowercase letters, numbers, and hyphens.
20
21
  }
21
22
 
22
23
  def __init__(self, attributes=None, options=None):
@@ -39,12 +40,13 @@ class Partner:
39
40
  }
40
41
 
41
42
  # Parameters:
43
+ # name - string - The name of the Partner.
42
44
  # allow_bypassing_2fa_policies - boolean - Allow users created under this Partner to bypass Two-Factor Authentication policies.
43
45
  # allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
44
46
  # allow_user_creation - boolean - Allow Partner Admins to create users.
45
- # name - string - The name of the Partner.
46
47
  # notes - string - Notes about this Partner.
47
48
  # root_folder - string - The root folder path for this Partner.
49
+ # tags - string - Comma-separated list of Tags for this Partner. Tags are used for other features, such as UserLifecycleRules, which can target specific tags. Tags must only contain lowercase letters, numbers, and hyphens.
48
50
  def update(self, params=None):
49
51
  if not isinstance(params, dict):
50
52
  params = {}
@@ -67,6 +69,8 @@ class Partner:
67
69
  raise InvalidParameterError(
68
70
  "Bad parameter: root_folder must be an str"
69
71
  )
72
+ if "tags" in params and not isinstance(params["tags"], str):
73
+ raise InvalidParameterError("Bad parameter: tags must be an str")
70
74
  response, _options = Api.send_request(
71
75
  "PATCH",
72
76
  "/partners/{id}".format(id=params["id"]),
@@ -153,17 +157,20 @@ def get(id, params=None, options=None):
153
157
 
154
158
 
155
159
  # Parameters:
160
+ # name - string - The name of the Partner.
156
161
  # allow_bypassing_2fa_policies - boolean - Allow users created under this Partner to bypass Two-Factor Authentication policies.
157
162
  # allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
158
163
  # allow_user_creation - boolean - Allow Partner Admins to create users.
159
- # name - string - The name of the Partner.
160
164
  # notes - string - Notes about this Partner.
161
165
  # root_folder - string - The root folder path for this Partner.
166
+ # tags - string - Comma-separated list of Tags for this Partner. Tags are used for other features, such as UserLifecycleRules, which can target specific tags. Tags must only contain lowercase letters, numbers, and hyphens.
162
167
  def create(params=None, options=None):
163
168
  if not isinstance(params, dict):
164
169
  params = {}
165
170
  if not isinstance(options, dict):
166
171
  options = {}
172
+ if "name" in params and not isinstance(params["name"], str):
173
+ raise InvalidParameterError("Bad parameter: name must be an str")
167
174
  if "allow_bypassing_2fa_policies" in params and not isinstance(
168
175
  params["allow_bypassing_2fa_policies"], bool
169
176
  ):
@@ -182,25 +189,26 @@ def create(params=None, options=None):
182
189
  raise InvalidParameterError(
183
190
  "Bad parameter: allow_user_creation must be an bool"
184
191
  )
185
- if "name" in params and not isinstance(params["name"], str):
186
- raise InvalidParameterError("Bad parameter: name must be an str")
187
192
  if "notes" in params and not isinstance(params["notes"], str):
188
193
  raise InvalidParameterError("Bad parameter: notes must be an str")
189
194
  if "root_folder" in params and not isinstance(params["root_folder"], str):
190
195
  raise InvalidParameterError(
191
196
  "Bad parameter: root_folder must be an str"
192
197
  )
198
+ if "tags" in params and not isinstance(params["tags"], str):
199
+ raise InvalidParameterError("Bad parameter: tags must be an str")
193
200
  response, options = Api.send_request("POST", "/partners", params, options)
194
201
  return Partner(response.data, options)
195
202
 
196
203
 
197
204
  # Parameters:
205
+ # name - string - The name of the Partner.
198
206
  # allow_bypassing_2fa_policies - boolean - Allow users created under this Partner to bypass Two-Factor Authentication policies.
199
207
  # allow_credential_changes - boolean - Allow Partner Admins to change or reset credentials for users belonging to this Partner.
200
208
  # allow_user_creation - boolean - Allow Partner Admins to create users.
201
- # name - string - The name of the Partner.
202
209
  # notes - string - Notes about this Partner.
203
210
  # root_folder - string - The root folder path for this Partner.
211
+ # tags - string - Comma-separated list of Tags for this Partner. Tags are used for other features, such as UserLifecycleRules, which can target specific tags. Tags must only contain lowercase letters, numbers, and hyphens.
204
212
  def update(id, params=None, options=None):
205
213
  if not isinstance(params, dict):
206
214
  params = {}
@@ -209,6 +217,8 @@ def update(id, params=None, options=None):
209
217
  params["id"] = id
210
218
  if "id" in params and not isinstance(params["id"], int):
211
219
  raise InvalidParameterError("Bad parameter: id must be an int")
220
+ if "name" in params and not isinstance(params["name"], str):
221
+ raise InvalidParameterError("Bad parameter: name must be an str")
212
222
  if "allow_bypassing_2fa_policies" in params and not isinstance(
213
223
  params["allow_bypassing_2fa_policies"], bool
214
224
  ):
@@ -227,14 +237,14 @@ def update(id, params=None, options=None):
227
237
  raise InvalidParameterError(
228
238
  "Bad parameter: allow_user_creation must be an bool"
229
239
  )
230
- if "name" in params and not isinstance(params["name"], str):
231
- raise InvalidParameterError("Bad parameter: name must be an str")
232
240
  if "notes" in params and not isinstance(params["notes"], str):
233
241
  raise InvalidParameterError("Bad parameter: notes must be an str")
234
242
  if "root_folder" in params and not isinstance(params["root_folder"], str):
235
243
  raise InvalidParameterError(
236
244
  "Bad parameter: root_folder must be an str"
237
245
  )
246
+ if "tags" in params and not isinstance(params["tags"], str):
247
+ raise InvalidParameterError("Bad parameter: tags must be an str")
238
248
  if "id" not in params:
239
249
  raise MissingParameterError("Parameter missing: id")
240
250
  response, options = Api.send_request(
@@ -17,6 +17,7 @@ class Permission:
17
17
  "group_id": None, # int64 - Group ID
18
18
  "group_name": None, # string - Group name (if applicable)
19
19
  "partner_id": None, # int64 - Partner ID (if applicable)
20
+ "partner_name": None, # string - Partner name (if applicable)
20
21
  "permission": None, # string - Permission type. See the table referenced in the documentation for an explanation of each permission.
21
22
  "recursive": None, # boolean - Recursive: does this permission apply to subfolders?
22
23
  "site_id": None, # int64 - Site ID
@@ -110,6 +110,7 @@ class PublicKey:
110
110
  # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
111
111
  # cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
112
112
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
113
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `title`, `created_at` or `user_id`.
113
114
  # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`.
114
115
  # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`.
115
116
  # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`.
@@ -126,6 +127,8 @@ def list(params=None, options=None):
126
127
  raise InvalidParameterError("Bad parameter: cursor must be an str")
127
128
  if "per_page" in params and not isinstance(params["per_page"], int):
128
129
  raise InvalidParameterError("Bad parameter: per_page must be an int")
130
+ if "sort_by" in params and not isinstance(params["sort_by"], dict):
131
+ raise InvalidParameterError("Bad parameter: sort_by must be an dict")
129
132
  if "filter" in params and not isinstance(params["filter"], dict):
130
133
  raise InvalidParameterError("Bad parameter: filter must be an dict")
131
134
  if "filter_gt" in params and not isinstance(params["filter_gt"], dict):
@@ -62,5 +62,27 @@ def all(params=None, options=None):
62
62
  list(params, options)
63
63
 
64
64
 
65
+ # Parameters:
66
+ # id (required) - int64 - Scim Log ID.
67
+ def find(id, params=None, options=None):
68
+ if not isinstance(params, dict):
69
+ params = {}
70
+ if not isinstance(options, dict):
71
+ options = {}
72
+ params["id"] = id
73
+ if "id" in params and not isinstance(params["id"], int):
74
+ raise InvalidParameterError("Bad parameter: id must be an int")
75
+ if "id" not in params:
76
+ raise MissingParameterError("Parameter missing: id")
77
+ response, options = Api.send_request(
78
+ "GET", "/scim_logs/{id}".format(id=params["id"]), params, options
79
+ )
80
+ return ScimLog(response.data, options)
81
+
82
+
83
+ def get(id, params=None, options=None):
84
+ find(id, params, options)
85
+
86
+
65
87
  def new(*args, **kwargs):
66
88
  return ScimLog(*args, **kwargs)
@@ -72,6 +72,7 @@ class User:
72
72
  "sso_strategy_id": None, # int64 - SSO (Single Sign On) strategy ID for the user, if applicable.
73
73
  "subscribe_to_newsletter": None, # boolean - Is the user subscribed to the newsletter?
74
74
  "externally_managed": None, # boolean - Is this user managed by a SsoStrategy?
75
+ "tags": None, # string - Comma-separated list of Tags for this user. Tags are used for other features, such as UserLifecycleRules, which can target specific tags. Tags must only contain lowercase letters, numbers, and hyphens.
75
76
  "time_zone": None, # string - User time zone
76
77
  "type_of_2fa": None, # string - Type(s) of 2FA methods in use, for programmatic use. Will be either `sms`, `totp`, `webauthn`, `yubi`, `email`, or multiple values sorted alphabetically and joined by an underscore. Does not specify whether user has more than one of a given method.
77
78
  "type_of_2fa_for_display": None, # string - Type(s) of 2FA methods in use, formatted for displaying in the UI. Unlike `type_of_2fa`, this value will make clear when a user has more than 1 of the same type of method.
@@ -90,6 +91,7 @@ class User:
90
91
  "password_confirmation": None, # string - Optional, but if provided, we will ensure that it matches the value sent in `password`.
91
92
  "announcements_read": None, # boolean - Signifies that the user has read all the announcements in the UI.
92
93
  "clear_2fa": None, # boolean - If true when changing authentication_method from `password` to `sso`, remove all two-factor methods. Ignored in all other cases.
94
+ "convert_to_partner_user": None, # boolean - If true, convert this user to a partner user by assigning the partner_id provided.
93
95
  }
94
96
 
95
97
  def __init__(self, attributes=None, options=None):
@@ -218,11 +220,13 @@ class User:
218
220
  # sso_strategy_id - int64 - SSO (Single Sign On) strategy ID for the user, if applicable.
219
221
  # subscribe_to_newsletter - boolean - Is the user subscribed to the newsletter?
220
222
  # require_2fa - string - 2FA required setting
223
+ # tags - string - Comma-separated list of Tags for this user. Tags are used for other features, such as UserLifecycleRules, which can target specific tags. Tags must only contain lowercase letters, numbers, and hyphens.
221
224
  # time_zone - string - User time zone
222
225
  # user_root - string - Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set). Note that this is not used for API, Desktop, or Web interface.
223
226
  # user_home - string - Home folder for FTP/SFTP. Note that this is not used for API, Desktop, or Web interface.
224
227
  # username - string - User's username
225
228
  # clear_2fa - boolean - If true when changing authentication_method from `password` to `sso`, remove all two-factor methods. Ignored in all other cases.
229
+ # convert_to_partner_user - boolean - If true, convert this user to a partner user by assigning the partner_id provided.
226
230
  def update(self, params=None):
227
231
  if not isinstance(params, dict):
228
232
  params = {}
@@ -363,6 +367,8 @@ class User:
363
367
  raise InvalidParameterError(
364
368
  "Bad parameter: require_2fa must be an str"
365
369
  )
370
+ if "tags" in params and not isinstance(params["tags"], str):
371
+ raise InvalidParameterError("Bad parameter: tags must be an str")
366
372
  if "time_zone" in params and not isinstance(params["time_zone"], str):
367
373
  raise InvalidParameterError(
368
374
  "Bad parameter: time_zone must be an str"
@@ -432,7 +438,7 @@ class User:
432
438
  # cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
433
439
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
434
440
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `site_id`, `authenticate_until`, `email`, `last_desktop_login_at`, `last_login_at`, `name`, `company`, `password_validity_days`, `ssl_required`, `username`, `site_admin` or `disabled`.
435
- # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `username`, `name`, `email`, `company`, `site_admin`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until`, `not_site_admin` or `disabled`. Valid field combinations are `[ site_admin, username ]`, `[ not_site_admin, username ]` or `[ company, name ]`.
441
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `username`, `name`, `email`, `company`, `site_admin`, `password_validity_days`, `ssl_required`, `last_login_at`, `authenticate_until`, `not_site_admin`, `disabled` or `partner_id`. Valid field combinations are `[ site_admin, username ]`, `[ not_site_admin, username ]` or `[ company, name ]`.
436
442
  # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.
437
443
  # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `password_validity_days`, `last_login_at` or `authenticate_until`.
438
444
  # filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `username`, `name`, `email` or `company`. Valid field combinations are `[ company, name ]`.
@@ -558,6 +564,7 @@ def get(id, params=None, options=None):
558
564
  # sso_strategy_id - int64 - SSO (Single Sign On) strategy ID for the user, if applicable.
559
565
  # subscribe_to_newsletter - boolean - Is the user subscribed to the newsletter?
560
566
  # require_2fa - string - 2FA required setting
567
+ # tags - string - Comma-separated list of Tags for this user. Tags are used for other features, such as UserLifecycleRules, which can target specific tags. Tags must only contain lowercase letters, numbers, and hyphens.
561
568
  # time_zone - string - User time zone
562
569
  # user_root - string - Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set). Note that this is not used for API, Desktop, or Web interface.
563
570
  # user_home - string - Home folder for FTP/SFTP. Note that this is not used for API, Desktop, or Web interface.
@@ -789,6 +796,8 @@ def create(params=None, options=None):
789
796
  raise InvalidParameterError(
790
797
  "Bad parameter: require_2fa must be an str"
791
798
  )
799
+ if "tags" in params and not isinstance(params["tags"], str):
800
+ raise InvalidParameterError("Bad parameter: tags must be an str")
792
801
  if "time_zone" in params and not isinstance(params["time_zone"], str):
793
802
  raise InvalidParameterError("Bad parameter: time_zone must be an str")
794
803
  if "user_root" in params and not isinstance(params["user_root"], str):
@@ -904,11 +913,13 @@ def user_2fa_reset(id, params=None, options=None):
904
913
  # sso_strategy_id - int64 - SSO (Single Sign On) strategy ID for the user, if applicable.
905
914
  # subscribe_to_newsletter - boolean - Is the user subscribed to the newsletter?
906
915
  # require_2fa - string - 2FA required setting
916
+ # tags - string - Comma-separated list of Tags for this user. Tags are used for other features, such as UserLifecycleRules, which can target specific tags. Tags must only contain lowercase letters, numbers, and hyphens.
907
917
  # time_zone - string - User time zone
908
918
  # user_root - string - Root folder for FTP (and optionally SFTP if the appropriate site-wide setting is set). Note that this is not used for API, Desktop, or Web interface.
909
919
  # user_home - string - Home folder for FTP/SFTP. Note that this is not used for API, Desktop, or Web interface.
910
920
  # username - string - User's username
911
921
  # clear_2fa - boolean - If true when changing authentication_method from `password` to `sso`, remove all two-factor methods. Ignored in all other cases.
922
+ # convert_to_partner_user - boolean - If true, convert this user to a partner user by assigning the partner_id provided.
912
923
  def update(id, params=None, options=None):
913
924
  if not isinstance(params, dict):
914
925
  params = {}
@@ -1139,6 +1150,8 @@ def update(id, params=None, options=None):
1139
1150
  raise InvalidParameterError(
1140
1151
  "Bad parameter: require_2fa must be an str"
1141
1152
  )
1153
+ if "tags" in params and not isinstance(params["tags"], str):
1154
+ raise InvalidParameterError("Bad parameter: tags must be an str")
1142
1155
  if "time_zone" in params and not isinstance(params["time_zone"], str):
1143
1156
  raise InvalidParameterError("Bad parameter: time_zone must be an str")
1144
1157
  if "user_root" in params and not isinstance(params["user_root"], str):
@@ -1149,6 +1162,12 @@ def update(id, params=None, options=None):
1149
1162
  raise InvalidParameterError("Bad parameter: username must be an str")
1150
1163
  if "clear_2fa" in params and not isinstance(params["clear_2fa"], bool):
1151
1164
  raise InvalidParameterError("Bad parameter: clear_2fa must be an bool")
1165
+ if "convert_to_partner_user" in params and not isinstance(
1166
+ params["convert_to_partner_user"], bool
1167
+ ):
1168
+ raise InvalidParameterError(
1169
+ "Bad parameter: convert_to_partner_user must be an bool"
1170
+ )
1152
1171
  if "id" not in params:
1153
1172
  raise MissingParameterError("Parameter missing: id")
1154
1173
  response, options = Api.send_request(
@@ -11,15 +11,17 @@ from files_sdk.error import ( # noqa: F401
11
11
  class UserLifecycleRule:
12
12
  default_attributes = {
13
13
  "id": None, # int64 - User Lifecycle Rule ID
14
- "authentication_method": None, # string - User authentication method for the rule
14
+ "authentication_method": None, # string - User authentication method for which the rule will apply.
15
15
  "group_ids": None, # array(int64) - Array of Group IDs to which the rule applies. If empty or not set, the rule applies to all users.
16
- "inactivity_days": None, # int64 - Number of days of inactivity before the rule applies
17
- "include_folder_admins": None, # boolean - Include folder admins in the rule
18
- "include_site_admins": None, # boolean - Include site admins in the rule
19
16
  "action": None, # string - Action to take on inactive users (disable or delete)
20
- "user_state": None, # string - State of the users to apply the rule to (inactive or disabled)
17
+ "inactivity_days": None, # int64 - Number of days of inactivity before the rule applies
18
+ "include_folder_admins": None, # boolean - If true, the rule will apply to folder admins.
19
+ "include_site_admins": None, # boolean - If true, the rule will apply to site admins.
21
20
  "name": None, # string - User Lifecycle Rule name
21
+ "partner_tag": None, # string - If provided, only users belonging to Partners with this tag at the Partner level will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.
22
22
  "site_id": None, # int64 - Site ID
23
+ "user_state": None, # string - State of the users to apply the rule to (inactive or disabled)
24
+ "user_tag": None, # string - If provided, only users with this tag will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.
23
25
  }
24
26
 
25
27
  def __init__(self, attributes=None, options=None):
@@ -46,13 +48,15 @@ class UserLifecycleRule:
46
48
 
47
49
  # Parameters:
48
50
  # action - string - Action to take on inactive users (disable or delete)
49
- # authentication_method - string - User authentication method for the rule
51
+ # authentication_method - string - User authentication method for which the rule will apply.
50
52
  # group_ids - array(int64) - Array of Group IDs to which the rule applies. If empty or not set, the rule applies to all users.
51
53
  # inactivity_days - int64 - Number of days of inactivity before the rule applies
52
- # include_site_admins - boolean - Include site admins in the rule
53
- # include_folder_admins - boolean - Include folder admins in the rule
54
- # user_state - string - State of the users to apply the rule to (inactive or disabled)
54
+ # include_site_admins - boolean - If true, the rule will apply to site admins.
55
+ # include_folder_admins - boolean - If true, the rule will apply to folder admins.
55
56
  # name - string - User Lifecycle Rule name
57
+ # partner_tag - string - If provided, only users belonging to Partners with this tag at the Partner level will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.
58
+ # user_state - string - State of the users to apply the rule to (inactive or disabled)
59
+ # user_tag - string - If provided, only users with this tag will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.
56
60
  def update(self, params=None):
57
61
  if not isinstance(params, dict):
58
62
  params = {}
@@ -85,14 +89,24 @@ class UserLifecycleRule:
85
89
  raise InvalidParameterError(
86
90
  "Bad parameter: inactivity_days must be an int"
87
91
  )
92
+ if "name" in params and not isinstance(params["name"], str):
93
+ raise InvalidParameterError("Bad parameter: name must be an str")
94
+ if "partner_tag" in params and not isinstance(
95
+ params["partner_tag"], str
96
+ ):
97
+ raise InvalidParameterError(
98
+ "Bad parameter: partner_tag must be an str"
99
+ )
88
100
  if "user_state" in params and not isinstance(
89
101
  params["user_state"], str
90
102
  ):
91
103
  raise InvalidParameterError(
92
104
  "Bad parameter: user_state must be an str"
93
105
  )
94
- if "name" in params and not isinstance(params["name"], str):
95
- raise InvalidParameterError("Bad parameter: name must be an str")
106
+ if "user_tag" in params and not isinstance(params["user_tag"], str):
107
+ raise InvalidParameterError(
108
+ "Bad parameter: user_tag must be an str"
109
+ )
96
110
  response, _options = Api.send_request(
97
111
  "PATCH",
98
112
  "/user_lifecycle_rules/{id}".format(id=params["id"]),
@@ -137,6 +151,7 @@ class UserLifecycleRule:
137
151
  # Parameters:
138
152
  # cursor - string - Used for pagination. When a list request has more records available, cursors are provided in the response headers `X-Files-Cursor-Next` and `X-Files-Cursor-Prev`. Send one of those cursor value here to resume an existing list from the next available record. Note: many of our SDKs have iterator methods that will automatically handle cursor-based pagination.
139
153
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
154
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `site_id`.
140
155
  def list(params=None, options=None):
141
156
  if not isinstance(params, dict):
142
157
  params = {}
@@ -146,6 +161,8 @@ def list(params=None, options=None):
146
161
  raise InvalidParameterError("Bad parameter: cursor must be an str")
147
162
  if "per_page" in params and not isinstance(params["per_page"], int):
148
163
  raise InvalidParameterError("Bad parameter: per_page must be an int")
164
+ if "sort_by" in params and not isinstance(params["sort_by"], dict):
165
+ raise InvalidParameterError("Bad parameter: sort_by must be an dict")
149
166
  return ListObj(
150
167
  UserLifecycleRule, "GET", "/user_lifecycle_rules", params, options
151
168
  )
@@ -182,13 +199,15 @@ def get(id, params=None, options=None):
182
199
 
183
200
  # Parameters:
184
201
  # action - string - Action to take on inactive users (disable or delete)
185
- # authentication_method - string - User authentication method for the rule
202
+ # authentication_method - string - User authentication method for which the rule will apply.
186
203
  # group_ids - array(int64) - Array of Group IDs to which the rule applies. If empty or not set, the rule applies to all users.
187
204
  # inactivity_days - int64 - Number of days of inactivity before the rule applies
188
- # include_site_admins - boolean - Include site admins in the rule
189
- # include_folder_admins - boolean - Include folder admins in the rule
190
- # user_state - string - State of the users to apply the rule to (inactive or disabled)
205
+ # include_site_admins - boolean - If true, the rule will apply to site admins.
206
+ # include_folder_admins - boolean - If true, the rule will apply to folder admins.
191
207
  # name - string - User Lifecycle Rule name
208
+ # partner_tag - string - If provided, only users belonging to Partners with this tag at the Partner level will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.
209
+ # user_state - string - State of the users to apply the rule to (inactive or disabled)
210
+ # user_tag - string - If provided, only users with this tag will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.
192
211
  def create(params=None, options=None):
193
212
  if not isinstance(params, dict):
194
213
  params = {}
@@ -224,10 +243,16 @@ def create(params=None, options=None):
224
243
  raise InvalidParameterError(
225
244
  "Bad parameter: include_folder_admins must be an bool"
226
245
  )
227
- if "user_state" in params and not isinstance(params["user_state"], str):
228
- raise InvalidParameterError("Bad parameter: user_state must be an str")
229
246
  if "name" in params and not isinstance(params["name"], str):
230
247
  raise InvalidParameterError("Bad parameter: name must be an str")
248
+ if "partner_tag" in params and not isinstance(params["partner_tag"], str):
249
+ raise InvalidParameterError(
250
+ "Bad parameter: partner_tag must be an str"
251
+ )
252
+ if "user_state" in params and not isinstance(params["user_state"], str):
253
+ raise InvalidParameterError("Bad parameter: user_state must be an str")
254
+ if "user_tag" in params and not isinstance(params["user_tag"], str):
255
+ raise InvalidParameterError("Bad parameter: user_tag must be an str")
231
256
  response, options = Api.send_request(
232
257
  "POST", "/user_lifecycle_rules", params, options
233
258
  )
@@ -236,13 +261,15 @@ def create(params=None, options=None):
236
261
 
237
262
  # Parameters:
238
263
  # action - string - Action to take on inactive users (disable or delete)
239
- # authentication_method - string - User authentication method for the rule
264
+ # authentication_method - string - User authentication method for which the rule will apply.
240
265
  # group_ids - array(int64) - Array of Group IDs to which the rule applies. If empty or not set, the rule applies to all users.
241
266
  # inactivity_days - int64 - Number of days of inactivity before the rule applies
242
- # include_site_admins - boolean - Include site admins in the rule
243
- # include_folder_admins - boolean - Include folder admins in the rule
244
- # user_state - string - State of the users to apply the rule to (inactive or disabled)
267
+ # include_site_admins - boolean - If true, the rule will apply to site admins.
268
+ # include_folder_admins - boolean - If true, the rule will apply to folder admins.
245
269
  # name - string - User Lifecycle Rule name
270
+ # partner_tag - string - If provided, only users belonging to Partners with this tag at the Partner level will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.
271
+ # user_state - string - State of the users to apply the rule to (inactive or disabled)
272
+ # user_tag - string - If provided, only users with this tag will be affected by the rule. Tags must only contain lowercase letters, numbers, and hyphens.
246
273
  def update(id, params=None, options=None):
247
274
  if not isinstance(params, dict):
248
275
  params = {}
@@ -281,10 +308,16 @@ def update(id, params=None, options=None):
281
308
  raise InvalidParameterError(
282
309
  "Bad parameter: include_folder_admins must be an bool"
283
310
  )
284
- if "user_state" in params and not isinstance(params["user_state"], str):
285
- raise InvalidParameterError("Bad parameter: user_state must be an str")
286
311
  if "name" in params and not isinstance(params["name"], str):
287
312
  raise InvalidParameterError("Bad parameter: name must be an str")
313
+ if "partner_tag" in params and not isinstance(params["partner_tag"], str):
314
+ raise InvalidParameterError(
315
+ "Bad parameter: partner_tag must be an str"
316
+ )
317
+ if "user_state" in params and not isinstance(params["user_state"], str):
318
+ raise InvalidParameterError("Bad parameter: user_state must be an str")
319
+ if "user_tag" in params and not isinstance(params["user_tag"], str):
320
+ raise InvalidParameterError("Bad parameter: user_tag must be an str")
288
321
  if "id" not in params:
289
322
  raise MissingParameterError("Parameter missing: id")
290
323
  response, options = Api.send_request(
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "files_com"
7
- version = "1.6.79"
7
+ version = "1.6.81"
8
8
  description = "Python bindings for the Files.com API"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -14,5 +14,13 @@ class ScimLogTest(TestBase):
14
14
  def test_list(self):
15
15
  resp = scim_log.list()
16
16
 
17
+ @unittest.skipUnless(TestBase.mock_server_path_exists("GET", "/scim_logs/{id}"), "Mock path does not exist")
18
+ def test_find(self):
19
+ id = 12345
20
+ params = {
21
+ "id" : 12345,
22
+ }
23
+ scim_log.find(id, params)
24
+
17
25
  if __name__ == '__main__':
18
26
  unittest.main()
files_com-1.6.79/_VERSION DELETED
@@ -1 +0,0 @@
1
- 1.6.79
File without changes
File without changes
File without changes