files-com 1.6.34__tar.gz → 1.6.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.

Potentially problematic release.


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

Files changed (230) hide show
  1. {files_com-1.6.34/files_com.egg-info → files_com-1.6.36}/PKG-INFO +1 -1
  2. files_com-1.6.36/_VERSION +1 -0
  3. {files_com-1.6.34 → files_com-1.6.36/files_com.egg-info}/PKG-INFO +1 -1
  4. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/__init__.py +1 -1
  5. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/automation.py +21 -0
  6. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/sync.py +43 -1
  7. files_com-1.6.36/files_sdk/models/user_cipher_use.py +90 -0
  8. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/user_lifecycle_rule.py +9 -29
  9. {files_com-1.6.34 → files_com-1.6.36}/pyproject.toml +1 -1
  10. {files_com-1.6.34 → files_com-1.6.36}/tests/test_user_lifecycle_rule.py +1 -12
  11. files_com-1.6.34/_VERSION +0 -1
  12. files_com-1.6.34/files_sdk/models/user_cipher_use.py +0 -68
  13. {files_com-1.6.34 → files_com-1.6.36}/LICENSE +0 -0
  14. {files_com-1.6.34 → files_com-1.6.36}/README.md +0 -0
  15. {files_com-1.6.34 → files_com-1.6.36}/files_com.egg-info/SOURCES.txt +0 -0
  16. {files_com-1.6.34 → files_com-1.6.36}/files_com.egg-info/dependency_links.txt +0 -0
  17. {files_com-1.6.34 → files_com-1.6.36}/files_com.egg-info/requires.txt +0 -0
  18. {files_com-1.6.34 → files_com-1.6.36}/files_com.egg-info/top_level.txt +0 -0
  19. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/api.py +0 -0
  20. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/api_client.py +0 -0
  21. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/error.py +0 -0
  22. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/list_obj.py +0 -0
  23. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/__init__.py +0 -0
  24. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/account_line_item.py +0 -0
  25. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/action.py +0 -0
  26. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/action_notification_export.py +0 -0
  27. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/action_notification_export_result.py +0 -0
  28. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/api_key.py +0 -0
  29. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/api_request_log.py +0 -0
  30. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/app.py +0 -0
  31. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/as2_incoming_message.py +0 -0
  32. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/as2_outgoing_message.py +0 -0
  33. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/as2_partner.py +0 -0
  34. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/as2_station.py +0 -0
  35. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/auto.py +0 -0
  36. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/automation_log.py +0 -0
  37. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/automation_run.py +0 -0
  38. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/bandwidth_snapshot.py +0 -0
  39. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/behavior.py +0 -0
  40. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/bundle.py +0 -0
  41. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/bundle_action.py +0 -0
  42. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/bundle_download.py +0 -0
  43. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/bundle_notification.py +0 -0
  44. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/bundle_path.py +0 -0
  45. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/bundle_recipient.py +0 -0
  46. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/bundle_registration.py +0 -0
  47. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/clickwrap.py +0 -0
  48. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/dns_record.py +0 -0
  49. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/email_incoming_message.py +0 -0
  50. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/email_log.py +0 -0
  51. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/errors.py +0 -0
  52. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/exavault_api_request_log.py +0 -0
  53. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/external_event.py +0 -0
  54. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/file.py +0 -0
  55. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/file_action.py +0 -0
  56. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/file_comment.py +0 -0
  57. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/file_comment_reaction.py +0 -0
  58. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/file_migration.py +0 -0
  59. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/file_migration_log.py +0 -0
  60. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/file_upload_part.py +0 -0
  61. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/folder.py +0 -0
  62. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/form_field.py +0 -0
  63. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/form_field_set.py +0 -0
  64. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/ftp_action_log.py +0 -0
  65. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/gpg_key.py +0 -0
  66. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/group.py +0 -0
  67. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/group_user.py +0 -0
  68. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/history.py +0 -0
  69. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/history_export.py +0 -0
  70. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/history_export_result.py +0 -0
  71. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/holiday_region.py +0 -0
  72. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/image.py +0 -0
  73. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/inbox_recipient.py +0 -0
  74. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/inbox_registration.py +0 -0
  75. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/inbox_upload.py +0 -0
  76. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/invoice.py +0 -0
  77. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/invoice_line_item.py +0 -0
  78. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/ip_address.py +0 -0
  79. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/lock.py +0 -0
  80. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/message.py +0 -0
  81. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/message_comment.py +0 -0
  82. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/message_comment_reaction.py +0 -0
  83. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/message_reaction.py +0 -0
  84. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/notification.py +0 -0
  85. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/outbound_connection_log.py +0 -0
  86. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/payment.py +0 -0
  87. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/payment_line_item.py +0 -0
  88. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/permission.py +0 -0
  89. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/preview.py +0 -0
  90. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/priority.py +0 -0
  91. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/project.py +0 -0
  92. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/public_hosting_request_log.py +0 -0
  93. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/public_ip_address.py +0 -0
  94. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/public_key.py +0 -0
  95. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/remote_bandwidth_snapshot.py +0 -0
  96. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/remote_mount_backend.py +0 -0
  97. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/remote_server.py +0 -0
  98. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/remote_server_configuration_file.py +0 -0
  99. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/request.py +0 -0
  100. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/restore.py +0 -0
  101. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/session.py +0 -0
  102. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/settings_change.py +0 -0
  103. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/sftp_action_log.py +0 -0
  104. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/sftp_host_key.py +0 -0
  105. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/share_group.py +0 -0
  106. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/share_group_member.py +0 -0
  107. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/siem_http_destination.py +0 -0
  108. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/site.py +0 -0
  109. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/snapshot.py +0 -0
  110. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/sso_strategy.py +0 -0
  111. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/status.py +0 -0
  112. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/style.py +0 -0
  113. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/sync_log.py +0 -0
  114. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/sync_run.py +0 -0
  115. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/usage_by_top_level_dir.py +0 -0
  116. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/usage_daily_snapshot.py +0 -0
  117. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/usage_snapshot.py +0 -0
  118. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/user.py +0 -0
  119. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/user_request.py +0 -0
  120. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/user_sftp_client_use.py +0 -0
  121. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/web_dav_action_log.py +0 -0
  122. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/models/webhook_test.py +0 -0
  123. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/path_util.py +0 -0
  124. {files_com-1.6.34 → files_com-1.6.36}/files_sdk/util.py +0 -0
  125. {files_com-1.6.34 → files_com-1.6.36}/setup.cfg +0 -0
  126. {files_com-1.6.34 → files_com-1.6.36}/tests/test_account_line_item.py +0 -0
  127. {files_com-1.6.34 → files_com-1.6.36}/tests/test_action.py +0 -0
  128. {files_com-1.6.34 → files_com-1.6.36}/tests/test_action_notification_export.py +0 -0
  129. {files_com-1.6.34 → files_com-1.6.36}/tests/test_action_notification_export_result.py +0 -0
  130. {files_com-1.6.34 → files_com-1.6.36}/tests/test_api_errors.py +0 -0
  131. {files_com-1.6.34 → files_com-1.6.36}/tests/test_api_key.py +0 -0
  132. {files_com-1.6.34 → files_com-1.6.36}/tests/test_api_request_log.py +0 -0
  133. {files_com-1.6.34 → files_com-1.6.36}/tests/test_app.py +0 -0
  134. {files_com-1.6.34 → files_com-1.6.36}/tests/test_as2_incoming_message.py +0 -0
  135. {files_com-1.6.34 → files_com-1.6.36}/tests/test_as2_outgoing_message.py +0 -0
  136. {files_com-1.6.34 → files_com-1.6.36}/tests/test_as2_partner.py +0 -0
  137. {files_com-1.6.34 → files_com-1.6.36}/tests/test_as2_station.py +0 -0
  138. {files_com-1.6.34 → files_com-1.6.36}/tests/test_auto.py +0 -0
  139. {files_com-1.6.34 → files_com-1.6.36}/tests/test_automation.py +0 -0
  140. {files_com-1.6.34 → files_com-1.6.36}/tests/test_automation_log.py +0 -0
  141. {files_com-1.6.34 → files_com-1.6.36}/tests/test_automation_run.py +0 -0
  142. {files_com-1.6.34 → files_com-1.6.36}/tests/test_bandwidth_snapshot.py +0 -0
  143. {files_com-1.6.34 → files_com-1.6.36}/tests/test_behavior.py +0 -0
  144. {files_com-1.6.34 → files_com-1.6.36}/tests/test_bundle.py +0 -0
  145. {files_com-1.6.34 → files_com-1.6.36}/tests/test_bundle_action.py +0 -0
  146. {files_com-1.6.34 → files_com-1.6.36}/tests/test_bundle_download.py +0 -0
  147. {files_com-1.6.34 → files_com-1.6.36}/tests/test_bundle_notification.py +0 -0
  148. {files_com-1.6.34 → files_com-1.6.36}/tests/test_bundle_path.py +0 -0
  149. {files_com-1.6.34 → files_com-1.6.36}/tests/test_bundle_recipient.py +0 -0
  150. {files_com-1.6.34 → files_com-1.6.36}/tests/test_bundle_registration.py +0 -0
  151. {files_com-1.6.34 → files_com-1.6.36}/tests/test_clickwrap.py +0 -0
  152. {files_com-1.6.34 → files_com-1.6.36}/tests/test_connection_adapter.py +0 -0
  153. {files_com-1.6.34 → files_com-1.6.36}/tests/test_dns_record.py +0 -0
  154. {files_com-1.6.34 → files_com-1.6.36}/tests/test_email_incoming_message.py +0 -0
  155. {files_com-1.6.34 → files_com-1.6.36}/tests/test_email_log.py +0 -0
  156. {files_com-1.6.34 → files_com-1.6.36}/tests/test_errors.py +0 -0
  157. {files_com-1.6.34 → files_com-1.6.36}/tests/test_exavault_api_request_log.py +0 -0
  158. {files_com-1.6.34 → files_com-1.6.36}/tests/test_external_event.py +0 -0
  159. {files_com-1.6.34 → files_com-1.6.36}/tests/test_file.py +0 -0
  160. {files_com-1.6.34 → files_com-1.6.36}/tests/test_file_action.py +0 -0
  161. {files_com-1.6.34 → files_com-1.6.36}/tests/test_file_comment.py +0 -0
  162. {files_com-1.6.34 → files_com-1.6.36}/tests/test_file_comment_reaction.py +0 -0
  163. {files_com-1.6.34 → files_com-1.6.36}/tests/test_file_migration.py +0 -0
  164. {files_com-1.6.34 → files_com-1.6.36}/tests/test_file_migration_log.py +0 -0
  165. {files_com-1.6.34 → files_com-1.6.36}/tests/test_file_upload_part.py +0 -0
  166. {files_com-1.6.34 → files_com-1.6.36}/tests/test_folder.py +0 -0
  167. {files_com-1.6.34 → files_com-1.6.36}/tests/test_form_field.py +0 -0
  168. {files_com-1.6.34 → files_com-1.6.36}/tests/test_form_field_set.py +0 -0
  169. {files_com-1.6.34 → files_com-1.6.36}/tests/test_ftp_action_log.py +0 -0
  170. {files_com-1.6.34 → files_com-1.6.36}/tests/test_gpg_key.py +0 -0
  171. {files_com-1.6.34 → files_com-1.6.36}/tests/test_group.py +0 -0
  172. {files_com-1.6.34 → files_com-1.6.36}/tests/test_group_user.py +0 -0
  173. {files_com-1.6.34 → files_com-1.6.36}/tests/test_history.py +0 -0
  174. {files_com-1.6.34 → files_com-1.6.36}/tests/test_history_export.py +0 -0
  175. {files_com-1.6.34 → files_com-1.6.36}/tests/test_history_export_result.py +0 -0
  176. {files_com-1.6.34 → files_com-1.6.36}/tests/test_holiday_region.py +0 -0
  177. {files_com-1.6.34 → files_com-1.6.36}/tests/test_image.py +0 -0
  178. {files_com-1.6.34 → files_com-1.6.36}/tests/test_inbox_recipient.py +0 -0
  179. {files_com-1.6.34 → files_com-1.6.36}/tests/test_inbox_registration.py +0 -0
  180. {files_com-1.6.34 → files_com-1.6.36}/tests/test_inbox_upload.py +0 -0
  181. {files_com-1.6.34 → files_com-1.6.36}/tests/test_invoice.py +0 -0
  182. {files_com-1.6.34 → files_com-1.6.36}/tests/test_invoice_line_item.py +0 -0
  183. {files_com-1.6.34 → files_com-1.6.36}/tests/test_ip_address.py +0 -0
  184. {files_com-1.6.34 → files_com-1.6.36}/tests/test_lock.py +0 -0
  185. {files_com-1.6.34 → files_com-1.6.36}/tests/test_message.py +0 -0
  186. {files_com-1.6.34 → files_com-1.6.36}/tests/test_message_comment.py +0 -0
  187. {files_com-1.6.34 → files_com-1.6.36}/tests/test_message_comment_reaction.py +0 -0
  188. {files_com-1.6.34 → files_com-1.6.36}/tests/test_message_reaction.py +0 -0
  189. {files_com-1.6.34 → files_com-1.6.36}/tests/test_notification.py +0 -0
  190. {files_com-1.6.34 → files_com-1.6.36}/tests/test_outbound_connection_log.py +0 -0
  191. {files_com-1.6.34 → files_com-1.6.36}/tests/test_path_util.py +0 -0
  192. {files_com-1.6.34 → files_com-1.6.36}/tests/test_payment.py +0 -0
  193. {files_com-1.6.34 → files_com-1.6.36}/tests/test_payment_line_item.py +0 -0
  194. {files_com-1.6.34 → files_com-1.6.36}/tests/test_permission.py +0 -0
  195. {files_com-1.6.34 → files_com-1.6.36}/tests/test_preview.py +0 -0
  196. {files_com-1.6.34 → files_com-1.6.36}/tests/test_priority.py +0 -0
  197. {files_com-1.6.34 → files_com-1.6.36}/tests/test_project.py +0 -0
  198. {files_com-1.6.34 → files_com-1.6.36}/tests/test_public_hosting_request_log.py +0 -0
  199. {files_com-1.6.34 → files_com-1.6.36}/tests/test_public_ip_address.py +0 -0
  200. {files_com-1.6.34 → files_com-1.6.36}/tests/test_public_key.py +0 -0
  201. {files_com-1.6.34 → files_com-1.6.36}/tests/test_remote_bandwidth_snapshot.py +0 -0
  202. {files_com-1.6.34 → files_com-1.6.36}/tests/test_remote_mount_backend.py +0 -0
  203. {files_com-1.6.34 → files_com-1.6.36}/tests/test_remote_server.py +0 -0
  204. {files_com-1.6.34 → files_com-1.6.36}/tests/test_remote_server_configuration_file.py +0 -0
  205. {files_com-1.6.34 → files_com-1.6.36}/tests/test_request.py +0 -0
  206. {files_com-1.6.34 → files_com-1.6.36}/tests/test_restore.py +0 -0
  207. {files_com-1.6.34 → files_com-1.6.36}/tests/test_session.py +0 -0
  208. {files_com-1.6.34 → files_com-1.6.36}/tests/test_settings_change.py +0 -0
  209. {files_com-1.6.34 → files_com-1.6.36}/tests/test_sftp_action_log.py +0 -0
  210. {files_com-1.6.34 → files_com-1.6.36}/tests/test_sftp_host_key.py +0 -0
  211. {files_com-1.6.34 → files_com-1.6.36}/tests/test_share_group.py +0 -0
  212. {files_com-1.6.34 → files_com-1.6.36}/tests/test_share_group_member.py +0 -0
  213. {files_com-1.6.34 → files_com-1.6.36}/tests/test_siem_http_destination.py +0 -0
  214. {files_com-1.6.34 → files_com-1.6.36}/tests/test_site.py +0 -0
  215. {files_com-1.6.34 → files_com-1.6.36}/tests/test_snapshot.py +0 -0
  216. {files_com-1.6.34 → files_com-1.6.36}/tests/test_sso_strategy.py +0 -0
  217. {files_com-1.6.34 → files_com-1.6.36}/tests/test_status.py +0 -0
  218. {files_com-1.6.34 → files_com-1.6.36}/tests/test_style.py +0 -0
  219. {files_com-1.6.34 → files_com-1.6.36}/tests/test_sync.py +0 -0
  220. {files_com-1.6.34 → files_com-1.6.36}/tests/test_sync_log.py +0 -0
  221. {files_com-1.6.34 → files_com-1.6.36}/tests/test_sync_run.py +0 -0
  222. {files_com-1.6.34 → files_com-1.6.36}/tests/test_usage_by_top_level_dir.py +0 -0
  223. {files_com-1.6.34 → files_com-1.6.36}/tests/test_usage_daily_snapshot.py +0 -0
  224. {files_com-1.6.34 → files_com-1.6.36}/tests/test_usage_snapshot.py +0 -0
  225. {files_com-1.6.34 → files_com-1.6.36}/tests/test_user.py +0 -0
  226. {files_com-1.6.34 → files_com-1.6.36}/tests/test_user_cipher_use.py +0 -0
  227. {files_com-1.6.34 → files_com-1.6.36}/tests/test_user_request.py +0 -0
  228. {files_com-1.6.34 → files_com-1.6.36}/tests/test_user_sftp_client_use.py +0 -0
  229. {files_com-1.6.34 → files_com-1.6.36}/tests/test_web_dav_action_log.py +0 -0
  230. {files_com-1.6.34 → files_com-1.6.36}/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.34
3
+ Version: 1.6.36
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.36
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: files_com
3
- Version: 1.6.34
3
+ Version: 1.6.36
4
4
  Summary: Python bindings for the Files.com API
5
5
  License: MIT
6
6
  Requires-Python: >=3.5
@@ -223,7 +223,7 @@ session_id = None
223
223
  source_ip = None
224
224
  base_url = "https://app.files.com"
225
225
  base_path = "api/rest/v1"
226
- version = "1.6.34"
226
+ version = "1.6.36"
227
227
 
228
228
  __version__ = version
229
229
 
@@ -103,6 +103,7 @@ class Automation:
103
103
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`. A list of days of the week to run this automation. 0 is Sunday, 1 is Monday, etc.
104
104
  # schedule_times_of_day - array(string) - If trigger is `custom_schedule`. A list of times of day to run this automation. 24-hour time format.
105
105
  # schedule_time_zone - string - If trigger is `custom_schedule`. Time zone for the schedule.
106
+ # holiday_region - string - If trigger is `custom_schedule`, the Automation will check if there is a formal, observed holiday for the region, and if so, it will not run.
106
107
  # always_overwrite_size_matching_files - boolean - Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer. If this flag is `true` we will overwrite the destination file always. Note that this may cause large amounts of wasted transfer usage. This setting has no effect unless `overwrite_files` is also set to `true`.
107
108
  # always_serialize_jobs - boolean - Ordinarily, we will allow automation runs to run in parallel for non-scheduled automations. If this flag is `true` we will force automation runs to be serialized (run one at a time, one after another). This can resolve some issues with race conditions on remote systems at the cost of some performance.
108
109
  # description - string - Description for the this Automation.
@@ -190,6 +191,12 @@ class Automation:
190
191
  raise InvalidParameterError(
191
192
  "Bad parameter: schedule_time_zone must be an str"
192
193
  )
194
+ if "holiday_region" in params and not isinstance(
195
+ params["holiday_region"], str
196
+ ):
197
+ raise InvalidParameterError(
198
+ "Bad parameter: holiday_region must be an str"
199
+ )
193
200
  if "description" in params and not isinstance(
194
201
  params["description"], str
195
202
  ):
@@ -370,6 +377,7 @@ def get(id, params=None, options=None):
370
377
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`. A list of days of the week to run this automation. 0 is Sunday, 1 is Monday, etc.
371
378
  # schedule_times_of_day - array(string) - If trigger is `custom_schedule`. A list of times of day to run this automation. 24-hour time format.
372
379
  # schedule_time_zone - string - If trigger is `custom_schedule`. Time zone for the schedule.
380
+ # holiday_region - string - If trigger is `custom_schedule`, the Automation will check if there is a formal, observed holiday for the region, and if so, it will not run.
373
381
  # always_overwrite_size_matching_files - boolean - Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer. If this flag is `true` we will overwrite the destination file always. Note that this may cause large amounts of wasted transfer usage. This setting has no effect unless `overwrite_files` is also set to `true`.
374
382
  # always_serialize_jobs - boolean - Ordinarily, we will allow automation runs to run in parallel for non-scheduled automations. If this flag is `true` we will force automation runs to be serialized (run one at a time, one after another). This can resolve some issues with race conditions on remote systems at the cost of some performance.
375
383
  # description - string - Description for the this Automation.
@@ -442,6 +450,12 @@ def create(params=None, options=None):
442
450
  raise InvalidParameterError(
443
451
  "Bad parameter: schedule_time_zone must be an str"
444
452
  )
453
+ if "holiday_region" in params and not isinstance(
454
+ params["holiday_region"], str
455
+ ):
456
+ raise InvalidParameterError(
457
+ "Bad parameter: holiday_region must be an str"
458
+ )
445
459
  if "always_overwrite_size_matching_files" in params and not isinstance(
446
460
  params["always_overwrite_size_matching_files"], bool
447
461
  ):
@@ -574,6 +588,7 @@ def manual_run(id, params=None, options=None):
574
588
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`. A list of days of the week to run this automation. 0 is Sunday, 1 is Monday, etc.
575
589
  # schedule_times_of_day - array(string) - If trigger is `custom_schedule`. A list of times of day to run this automation. 24-hour time format.
576
590
  # schedule_time_zone - string - If trigger is `custom_schedule`. Time zone for the schedule.
591
+ # holiday_region - string - If trigger is `custom_schedule`, the Automation will check if there is a formal, observed holiday for the region, and if so, it will not run.
577
592
  # always_overwrite_size_matching_files - boolean - Ordinarily, files with identical size in the source and destination will be skipped from copy operations to prevent wasted transfer. If this flag is `true` we will overwrite the destination file always. Note that this may cause large amounts of wasted transfer usage. This setting has no effect unless `overwrite_files` is also set to `true`.
578
593
  # always_serialize_jobs - boolean - Ordinarily, we will allow automation runs to run in parallel for non-scheduled automations. If this flag is `true` we will force automation runs to be serialized (run one at a time, one after another). This can resolve some issues with race conditions on remote systems at the cost of some performance.
579
594
  # description - string - Description for the this Automation.
@@ -649,6 +664,12 @@ def update(id, params=None, options=None):
649
664
  raise InvalidParameterError(
650
665
  "Bad parameter: schedule_time_zone must be an str"
651
666
  )
667
+ if "holiday_region" in params and not isinstance(
668
+ params["holiday_region"], str
669
+ ):
670
+ raise InvalidParameterError(
671
+ "Bad parameter: holiday_region must be an str"
672
+ )
652
673
  if "always_overwrite_size_matching_files" in params and not isinstance(
653
674
  params["always_overwrite_size_matching_files"], bool
654
675
  ):
@@ -35,7 +35,7 @@ class Sync:
35
35
  "schedule_days_of_week": None, # array(int64) - If trigger is `custom_schedule`, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.
36
36
  "schedule_times_of_day": None, # array(string) - If trigger is `custom_schedule`, Custom schedule description for when the sync should be run. Times of day in HH:MM format.
37
37
  "schedule_time_zone": None, # string - If trigger is `custom_schedule`, Custom schedule Time Zone for when the sync should be run.
38
- "holiday_region": None, # string - If trigger is `custom_schedule`, the Automation will check if there is a formal, observed holiday for the region, and if so, it will not run.
38
+ "holiday_region": None, # string - If trigger is `custom_schedule`, the sync will check if there is a formal, observed holiday for the region, and if so, it will not run.
39
39
  }
40
40
 
41
41
  def __init__(self, attributes=None, options=None):
@@ -91,6 +91,8 @@ class Sync:
91
91
  # interval - string - If trigger is `daily`, this specifies how often to run this sync. One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`
92
92
  # trigger - string - Trigger type: daily, custom_schedule, or manual
93
93
  # trigger_file - string - Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If trigger_file is set, a zero-byte file will be sent at the end of the sync.
94
+ # holiday_region - string - If trigger is `custom_schedule`, the sync will check if there is a formal, observed holiday for the region, and if so, it will not run.
95
+ # sync_interval_minutes - int64 - Frequency in minutes between syncs. If set, this value must be greater than or equal to the `remote_sync_interval` value for the site's plan. If left blank, the plan's `remote_sync_interval` will be used. This setting is only used if `trigger` is empty.
94
96
  # recurring_day - int64 - If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
95
97
  # schedule_time_zone - string - If trigger is `custom_schedule`, Custom schedule Time Zone for when the sync should be run.
96
98
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.
@@ -149,6 +151,18 @@ class Sync:
149
151
  raise InvalidParameterError(
150
152
  "Bad parameter: trigger_file must be an str"
151
153
  )
154
+ if "holiday_region" in params and not isinstance(
155
+ params["holiday_region"], str
156
+ ):
157
+ raise InvalidParameterError(
158
+ "Bad parameter: holiday_region must be an str"
159
+ )
160
+ if "sync_interval_minutes" in params and not isinstance(
161
+ params["sync_interval_minutes"], int
162
+ ):
163
+ raise InvalidParameterError(
164
+ "Bad parameter: sync_interval_minutes must be an int"
165
+ )
152
166
  if "recurring_day" in params and not isinstance(
153
167
  params["recurring_day"], int
154
168
  ):
@@ -269,6 +283,8 @@ def get(id, params=None, options=None):
269
283
  # interval - string - If trigger is `daily`, this specifies how often to run this sync. One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`
270
284
  # trigger - string - Trigger type: daily, custom_schedule, or manual
271
285
  # trigger_file - string - Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If trigger_file is set, a zero-byte file will be sent at the end of the sync.
286
+ # holiday_region - string - If trigger is `custom_schedule`, the sync will check if there is a formal, observed holiday for the region, and if so, it will not run.
287
+ # sync_interval_minutes - int64 - Frequency in minutes between syncs. If set, this value must be greater than or equal to the `remote_sync_interval` value for the site's plan. If left blank, the plan's `remote_sync_interval` will be used. This setting is only used if `trigger` is empty.
272
288
  # recurring_day - int64 - If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
273
289
  # schedule_time_zone - string - If trigger is `custom_schedule`, Custom schedule Time Zone for when the sync should be run.
274
290
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.
@@ -326,6 +342,18 @@ def create(params=None, options=None):
326
342
  raise InvalidParameterError(
327
343
  "Bad parameter: trigger_file must be an str"
328
344
  )
345
+ if "holiday_region" in params and not isinstance(
346
+ params["holiday_region"], str
347
+ ):
348
+ raise InvalidParameterError(
349
+ "Bad parameter: holiday_region must be an str"
350
+ )
351
+ if "sync_interval_minutes" in params and not isinstance(
352
+ params["sync_interval_minutes"], int
353
+ ):
354
+ raise InvalidParameterError(
355
+ "Bad parameter: sync_interval_minutes must be an int"
356
+ )
329
357
  if "recurring_day" in params and not isinstance(
330
358
  params["recurring_day"], int
331
359
  ):
@@ -395,6 +423,8 @@ def manual_run(id, params=None, options=None):
395
423
  # interval - string - If trigger is `daily`, this specifies how often to run this sync. One of: `day`, `week`, `week_end`, `month`, `month_end`, `quarter`, `quarter_end`, `year`, `year_end`
396
424
  # trigger - string - Trigger type: daily, custom_schedule, or manual
397
425
  # trigger_file - string - Some MFT services request an empty file (known as a trigger file) to signal the sync is complete and they can begin further processing. If trigger_file is set, a zero-byte file will be sent at the end of the sync.
426
+ # holiday_region - string - If trigger is `custom_schedule`, the sync will check if there is a formal, observed holiday for the region, and if so, it will not run.
427
+ # sync_interval_minutes - int64 - Frequency in minutes between syncs. If set, this value must be greater than or equal to the `remote_sync_interval` value for the site's plan. If left blank, the plan's `remote_sync_interval` will be used. This setting is only used if `trigger` is empty.
398
428
  # recurring_day - int64 - If trigger type is `daily`, this specifies a day number to run in one of the supported intervals: `week`, `month`, `quarter`, `year`.
399
429
  # schedule_time_zone - string - If trigger is `custom_schedule`, Custom schedule Time Zone for when the sync should be run.
400
430
  # schedule_days_of_week - array(int64) - If trigger is `custom_schedule`, Custom schedule description for when the sync should be run. 0-based days of the week. 0 is Sunday, 1 is Monday, etc.
@@ -455,6 +485,18 @@ def update(id, params=None, options=None):
455
485
  raise InvalidParameterError(
456
486
  "Bad parameter: trigger_file must be an str"
457
487
  )
488
+ if "holiday_region" in params and not isinstance(
489
+ params["holiday_region"], str
490
+ ):
491
+ raise InvalidParameterError(
492
+ "Bad parameter: holiday_region must be an str"
493
+ )
494
+ if "sync_interval_minutes" in params and not isinstance(
495
+ params["sync_interval_minutes"], int
496
+ ):
497
+ raise InvalidParameterError(
498
+ "Bad parameter: sync_interval_minutes must be an int"
499
+ )
458
500
  if "recurring_day" in params and not isinstance(
459
501
  params["recurring_day"], int
460
502
  ):
@@ -0,0 +1,90 @@
1
+ import builtins # noqa: F401
2
+ from files_sdk.api import Api # noqa: F401
3
+ from files_sdk.list_obj import ListObj
4
+ from files_sdk.error import ( # noqa: F401
5
+ InvalidParameterError,
6
+ MissingParameterError,
7
+ NotImplementedError,
8
+ )
9
+
10
+
11
+ class UserCipherUse:
12
+ default_attributes = {
13
+ "id": None, # int64 - UserCipherUse ID
14
+ "protocol_cipher": None, # string - The protocol and cipher employed
15
+ "created_at": None, # date-time - The earliest recorded use of this combination of interface and protocol and cipher (for this user)
16
+ "insecure": None, # boolean - Is this cipher considered insecure?
17
+ "interface": None, # string - The interface accessed
18
+ "updated_at": None, # date-time - The most recent use of this combination of interface and protocol and cipher (for this user)
19
+ "user_id": None, # int64 - ID of the user who performed this access
20
+ }
21
+
22
+ def __init__(self, attributes=None, options=None):
23
+ if not isinstance(attributes, dict):
24
+ attributes = {}
25
+ if not isinstance(options, dict):
26
+ options = {}
27
+ self.set_attributes(attributes)
28
+ self.options = options
29
+
30
+ def set_attributes(self, attributes):
31
+ for (
32
+ attribute,
33
+ default_value,
34
+ ) in UserCipherUse.default_attributes.items():
35
+ setattr(self, attribute, attributes.get(attribute, default_value))
36
+
37
+ def get_attributes(self):
38
+ return {
39
+ k: getattr(self, k, None)
40
+ for k in UserCipherUse.default_attributes
41
+ if getattr(self, k, None) is not None
42
+ }
43
+
44
+
45
+ # Parameters:
46
+ # user_id - int64 - User ID. If provided, will return uses for this user.
47
+ # 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.
48
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
49
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `updated_at`.
50
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `insecure` and `updated_at`. Valid field combinations are `[ insecure, updated_at ]`.
51
+ # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `updated_at`.
52
+ # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `updated_at`.
53
+ # filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `updated_at`.
54
+ # filter_lteq - object - If set, return records where the specified field is less than or equal the supplied value. Valid fields are `updated_at`.
55
+ def list(params=None, options=None):
56
+ if not isinstance(params, dict):
57
+ params = {}
58
+ if not isinstance(options, dict):
59
+ options = {}
60
+ if "user_id" in params and not isinstance(params["user_id"], int):
61
+ raise InvalidParameterError("Bad parameter: user_id must be an int")
62
+ if "cursor" in params and not isinstance(params["cursor"], str):
63
+ raise InvalidParameterError("Bad parameter: cursor must be an str")
64
+ if "per_page" in params and not isinstance(params["per_page"], int):
65
+ raise InvalidParameterError("Bad parameter: per_page must be an int")
66
+ if "sort_by" in params and not isinstance(params["sort_by"], dict):
67
+ raise InvalidParameterError("Bad parameter: sort_by must be an dict")
68
+ if "filter" in params and not isinstance(params["filter"], dict):
69
+ raise InvalidParameterError("Bad parameter: filter must be an dict")
70
+ if "filter_gt" in params and not isinstance(params["filter_gt"], dict):
71
+ raise InvalidParameterError("Bad parameter: filter_gt must be an dict")
72
+ if "filter_gteq" in params and not isinstance(params["filter_gteq"], dict):
73
+ raise InvalidParameterError(
74
+ "Bad parameter: filter_gteq must be an dict"
75
+ )
76
+ if "filter_lt" in params and not isinstance(params["filter_lt"], dict):
77
+ raise InvalidParameterError("Bad parameter: filter_lt must be an dict")
78
+ if "filter_lteq" in params and not isinstance(params["filter_lteq"], dict):
79
+ raise InvalidParameterError(
80
+ "Bad parameter: filter_lteq must be an dict"
81
+ )
82
+ return ListObj(UserCipherUse, "GET", "/user_cipher_uses", params, options)
83
+
84
+
85
+ def all(params=None, options=None):
86
+ list(params, options)
87
+
88
+
89
+ def new(*args, **kwargs):
90
+ return UserCipherUse(*args, **kwargs)
@@ -43,9 +43,9 @@ class UserLifecycleRule:
43
43
  }
44
44
 
45
45
  # Parameters:
46
- # action (required) - string - Action to take on inactive users (disable or delete)
47
- # authentication_method (required) - string - User authentication method for the rule
48
- # inactivity_days (required) - int64 - Number of days of inactivity before the rule applies
46
+ # action - string - Action to take on inactive users (disable or delete)
47
+ # authentication_method - string - User authentication method for the rule
48
+ # inactivity_days - int64 - Number of days of inactivity before the rule applies
49
49
  # include_site_admins - boolean - Include site admins in the rule
50
50
  # include_folder_admins - boolean - Include folder admins in the rule
51
51
  # user_state - string - State of the users to apply the rule to (inactive or disabled)
@@ -59,14 +59,6 @@ class UserLifecycleRule:
59
59
  raise MissingParameterError("Current object doesn't have a id")
60
60
  if "id" not in params:
61
61
  raise MissingParameterError("Parameter missing: id")
62
- if "action" not in params:
63
- raise MissingParameterError("Parameter missing: action")
64
- if "authentication_method" not in params:
65
- raise MissingParameterError(
66
- "Parameter missing: authentication_method"
67
- )
68
- if "inactivity_days" not in params:
69
- raise MissingParameterError("Parameter missing: inactivity_days")
70
62
  if "id" in params and not isinstance(params["id"], int):
71
63
  raise InvalidParameterError("Bad parameter: id must be an int")
72
64
  if "action" in params and not isinstance(params["action"], str):
@@ -177,9 +169,9 @@ def get(id, params=None, options=None):
177
169
 
178
170
 
179
171
  # Parameters:
180
- # action (required) - string - Action to take on inactive users (disable or delete)
181
- # authentication_method (required) - string - User authentication method for the rule
182
- # inactivity_days (required) - int64 - Number of days of inactivity before the rule applies
172
+ # action - string - Action to take on inactive users (disable or delete)
173
+ # authentication_method - string - User authentication method for the rule
174
+ # inactivity_days - int64 - Number of days of inactivity before the rule applies
183
175
  # include_site_admins - boolean - Include site admins in the rule
184
176
  # include_folder_admins - boolean - Include folder admins in the rule
185
177
  # user_state - string - State of the users to apply the rule to (inactive or disabled)
@@ -216,12 +208,6 @@ def create(params=None, options=None):
216
208
  )
217
209
  if "user_state" in params and not isinstance(params["user_state"], str):
218
210
  raise InvalidParameterError("Bad parameter: user_state must be an str")
219
- if "action" not in params:
220
- raise MissingParameterError("Parameter missing: action")
221
- if "authentication_method" not in params:
222
- raise MissingParameterError("Parameter missing: authentication_method")
223
- if "inactivity_days" not in params:
224
- raise MissingParameterError("Parameter missing: inactivity_days")
225
211
  response, options = Api.send_request(
226
212
  "POST", "/user_lifecycle_rules", params, options
227
213
  )
@@ -229,9 +215,9 @@ def create(params=None, options=None):
229
215
 
230
216
 
231
217
  # Parameters:
232
- # action (required) - string - Action to take on inactive users (disable or delete)
233
- # authentication_method (required) - string - User authentication method for the rule
234
- # inactivity_days (required) - int64 - Number of days of inactivity before the rule applies
218
+ # action - string - Action to take on inactive users (disable or delete)
219
+ # authentication_method - string - User authentication method for the rule
220
+ # inactivity_days - int64 - Number of days of inactivity before the rule applies
235
221
  # include_site_admins - boolean - Include site admins in the rule
236
222
  # include_folder_admins - boolean - Include folder admins in the rule
237
223
  # user_state - string - State of the users to apply the rule to (inactive or disabled)
@@ -273,12 +259,6 @@ def update(id, params=None, options=None):
273
259
  raise InvalidParameterError("Bad parameter: user_state must be an str")
274
260
  if "id" not in params:
275
261
  raise MissingParameterError("Parameter missing: id")
276
- if "action" not in params:
277
- raise MissingParameterError("Parameter missing: action")
278
- if "authentication_method" not in params:
279
- raise MissingParameterError("Parameter missing: authentication_method")
280
- if "inactivity_days" not in params:
281
- raise MissingParameterError("Parameter missing: inactivity_days")
282
262
  response, options = Api.send_request(
283
263
  "PATCH",
284
264
  "/user_lifecycle_rules/{id}".format(id=params["id"]),
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "files_com"
7
- version = "1.6.34"
7
+ version = "1.6.36"
8
8
  description = "Python bindings for the Files.com API"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -12,9 +12,6 @@ class UserLifecycleRuleTest(TestBase):
12
12
  def test_update(self):
13
13
  params = {
14
14
  "id" : 12345,
15
- "action" : "foo",
16
- "authentication_method" : "foo",
17
- "inactivity_days" : 12345,
18
15
  }
19
16
  user_lifecycle_rule = UserLifecycleRule(params)
20
17
  user_lifecycle_rule.update(params)
@@ -46,21 +43,13 @@ class UserLifecycleRuleTest(TestBase):
46
43
 
47
44
  @unittest.skipUnless(TestBase.mock_server_path_exists("POST", "/user_lifecycle_rules"), "Mock path does not exist")
48
45
  def test_create(self):
49
- params = {
50
- "action" : "foo",
51
- "authentication_method" : "foo",
52
- "inactivity_days" : 12345,
53
- }
54
- user_lifecycle_rule.create(params)
46
+ resp = user_lifecycle_rule.create()
55
47
 
56
48
  @unittest.skipUnless(TestBase.mock_server_path_exists("PATCH", "/user_lifecycle_rules/{id}"), "Mock path does not exist")
57
49
  def test_update(self):
58
50
  id = 12345
59
51
  params = {
60
52
  "id" : 12345,
61
- "action" : "foo",
62
- "authentication_method" : "foo",
63
- "inactivity_days" : 12345,
64
53
  }
65
54
  user_lifecycle_rule.update(id, params)
66
55
 
files_com-1.6.34/_VERSION DELETED
@@ -1 +0,0 @@
1
- 1.6.34
@@ -1,68 +0,0 @@
1
- import builtins # noqa: F401
2
- from files_sdk.api import Api # noqa: F401
3
- from files_sdk.list_obj import ListObj
4
- from files_sdk.error import ( # noqa: F401
5
- InvalidParameterError,
6
- MissingParameterError,
7
- NotImplementedError,
8
- )
9
-
10
-
11
- class UserCipherUse:
12
- default_attributes = {
13
- "id": None, # int64 - UserCipherUse ID
14
- "protocol_cipher": None, # string - The protocol and cipher employed
15
- "created_at": None, # date-time - The earliest recorded use of this combination of interface and protocol and cipher (for this user)
16
- "insecure": None, # boolean - Is this cipher considered insecure?
17
- "interface": None, # string - The interface accessed
18
- "updated_at": None, # date-time - The most recent use of this combination of interface and protocol and cipher (for this user)
19
- "user_id": None, # int64 - ID of the user who performed this access
20
- }
21
-
22
- def __init__(self, attributes=None, options=None):
23
- if not isinstance(attributes, dict):
24
- attributes = {}
25
- if not isinstance(options, dict):
26
- options = {}
27
- self.set_attributes(attributes)
28
- self.options = options
29
-
30
- def set_attributes(self, attributes):
31
- for (
32
- attribute,
33
- default_value,
34
- ) in UserCipherUse.default_attributes.items():
35
- setattr(self, attribute, attributes.get(attribute, default_value))
36
-
37
- def get_attributes(self):
38
- return {
39
- k: getattr(self, k, None)
40
- for k in UserCipherUse.default_attributes
41
- if getattr(self, k, None) is not None
42
- }
43
-
44
-
45
- # Parameters:
46
- # user_id - int64 - User ID. If provided, will return uses for this user.
47
- # 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.
48
- # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
49
- def list(params=None, options=None):
50
- if not isinstance(params, dict):
51
- params = {}
52
- if not isinstance(options, dict):
53
- options = {}
54
- if "user_id" in params and not isinstance(params["user_id"], int):
55
- raise InvalidParameterError("Bad parameter: user_id must be an int")
56
- if "cursor" in params and not isinstance(params["cursor"], str):
57
- raise InvalidParameterError("Bad parameter: cursor must be an str")
58
- if "per_page" in params and not isinstance(params["per_page"], int):
59
- raise InvalidParameterError("Bad parameter: per_page must be an int")
60
- return ListObj(UserCipherUse, "GET", "/user_cipher_uses", params, options)
61
-
62
-
63
- def all(params=None, options=None):
64
- list(params, options)
65
-
66
-
67
- def new(*args, **kwargs):
68
- return UserCipherUse(*args, **kwargs)
File without changes
File without changes
File without changes