files-com 1.6.32__py3-none-any.whl → 1.6.137__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (49) hide show
  1. README.md +81 -18
  2. _VERSION +1 -1
  3. {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/METADATA +82 -19
  4. {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/RECORD +49 -46
  5. files_sdk/__init__.py +9 -1
  6. files_sdk/error.py +113 -23
  7. files_sdk/models/__init__.py +5 -0
  8. files_sdk/models/api_key.py +10 -0
  9. files_sdk/models/api_request_log.py +6 -6
  10. files_sdk/models/automation.py +48 -5
  11. files_sdk/models/automation_log.py +6 -6
  12. files_sdk/models/behavior.py +2 -2
  13. files_sdk/models/bundle_action.py +5 -1
  14. files_sdk/models/bundle_registration.py +1 -1
  15. files_sdk/models/child_site_management_policy.py +278 -0
  16. files_sdk/models/email_log.py +5 -12
  17. files_sdk/models/exavault_api_request_log.py +6 -6
  18. files_sdk/models/file.py +8 -0
  19. files_sdk/models/file_migration_log.py +5 -12
  20. files_sdk/models/folder.py +11 -1
  21. files_sdk/models/ftp_action_log.py +6 -6
  22. files_sdk/models/gpg_key.py +29 -9
  23. files_sdk/models/history_export.py +4 -4
  24. files_sdk/models/history_export_result.py +2 -2
  25. files_sdk/models/inbox_registration.py +1 -1
  26. files_sdk/models/invoice_line_item.py +5 -0
  27. files_sdk/models/outbound_connection_log.py +6 -6
  28. files_sdk/models/partner.py +296 -0
  29. files_sdk/models/permission.py +10 -2
  30. files_sdk/models/public_hosting_request_log.py +6 -6
  31. files_sdk/models/public_key.py +7 -3
  32. files_sdk/models/remote_mount_backend.py +1 -0
  33. files_sdk/models/remote_server.py +65 -91
  34. files_sdk/models/remote_server_configuration_file.py +1 -0
  35. files_sdk/models/scim_log.py +88 -0
  36. files_sdk/models/sftp_action_log.py +6 -6
  37. files_sdk/models/siem_http_destination.py +98 -19
  38. files_sdk/models/site.py +37 -12
  39. files_sdk/models/sso_strategy.py +2 -1
  40. files_sdk/models/sync.py +74 -10
  41. files_sdk/models/sync_log.py +7 -13
  42. files_sdk/models/sync_run.py +31 -17
  43. files_sdk/models/user.py +79 -2
  44. files_sdk/models/user_cipher_use.py +24 -1
  45. files_sdk/models/user_lifecycle_rule.py +81 -40
  46. files_sdk/models/web_dav_action_log.py +6 -6
  47. {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/WHEEL +0 -0
  48. {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/licenses/LICENSE +0 -0
  49. {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/top_level.txt +0 -0
@@ -14,15 +14,18 @@ class SiemHttpDestination:
14
14
  "name": None, # string - Name for this Destination
15
15
  "destination_type": None, # string - Destination Type
16
16
  "destination_url": None, # string - Destination Url
17
+ "file_destination_path": None, # string - Applicable only for destination type: file. Destination folder path on Files.com.
18
+ "file_format": None, # string - Applicable only for destination type: file. Generated file format.
19
+ "file_interval_minutes": None, # int64 - Applicable only for destination type: file. Interval, in minutes, between file deliveries.
17
20
  "additional_headers": None, # object - Additional HTTP Headers included in calls to the destination URL
18
21
  "sending_active": None, # boolean - Whether this SIEM HTTP Destination is currently being sent to or not
19
22
  "generic_payload_type": None, # string - Applicable only for destination type: generic. Indicates the type of HTTP body. Can be json_newline or json_array. json_newline is multiple log entries as JSON separated by newlines. json_array is a single JSON array containing multiple log entries as JSON.
20
23
  "splunk_token_masked": None, # string - Applicable only for destination type: splunk. Authentication token provided by Splunk.
21
- "azure_dcr_immutable_id": None, # string - Applicable only for destination type: azure. Immutable ID of the Data Collection Rule.
24
+ "azure_dcr_immutable_id": None, # string - Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule.
22
25
  "azure_stream_name": None, # string - Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table.
23
- "azure_oauth_client_credentials_tenant_id": None, # string - Applicable only for destination type: azure. Client Credentials OAuth Tenant ID.
24
- "azure_oauth_client_credentials_client_id": None, # string - Applicable only for destination type: azure. Client Credentials OAuth Client ID.
25
- "azure_oauth_client_credentials_client_secret_masked": None, # string - Applicable only for destination type: azure. Client Credentials OAuth Client Secret.
26
+ "azure_oauth_client_credentials_tenant_id": None, # string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID.
27
+ "azure_oauth_client_credentials_client_id": None, # string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID.
28
+ "azure_oauth_client_credentials_client_secret_masked": None, # string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client Secret.
26
29
  "qradar_username": None, # string - Applicable only for destination type: qradar. Basic auth username provided by QRadar.
27
30
  "qradar_password_masked": None, # string - Applicable only for destination type: qradar. Basic auth password provided by QRadar.
28
31
  "solar_winds_token_masked": None, # string - Applicable only for destination type: solar_winds. Authentication token provided by Solar Winds.
@@ -94,11 +97,14 @@ class SiemHttpDestination:
94
97
  # additional_headers - object - Additional HTTP Headers included in calls to the destination URL
95
98
  # sending_active - boolean - Whether this SIEM HTTP Destination is currently being sent to or not
96
99
  # generic_payload_type - string - Applicable only for destination type: generic. Indicates the type of HTTP body. Can be json_newline or json_array. json_newline is multiple log entries as JSON separated by newlines. json_array is a single JSON array containing multiple log entries as JSON.
100
+ # file_destination_path - string - Applicable only for destination type: file. Destination folder path on Files.com.
101
+ # file_format - string - Applicable only for destination type: file. Generated file format.
102
+ # file_interval_minutes - int64 - Applicable only for destination type: file. Interval, in minutes, between file deliveries. Valid values are 5, 10, 15, 20, 30, 60, 90, 180, 240, 360.
97
103
  # splunk_token - string - Applicable only for destination type: splunk. Authentication token provided by Splunk.
98
- # azure_dcr_immutable_id - string - Applicable only for destination type: azure. Immutable ID of the Data Collection Rule.
104
+ # azure_dcr_immutable_id - string - Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule.
99
105
  # azure_stream_name - string - Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table.
100
- # azure_oauth_client_credentials_tenant_id - string - Applicable only for destination type: azure. Client Credentials OAuth Tenant ID.
101
- # azure_oauth_client_credentials_client_id - string - Applicable only for destination type: azure. Client Credentials OAuth Client ID.
106
+ # azure_oauth_client_credentials_tenant_id - string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID.
107
+ # azure_oauth_client_credentials_client_id - string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID.
102
108
  # azure_oauth_client_credentials_client_secret - string - Applicable only for destination type: azure. Client Credentials OAuth Client Secret.
103
109
  # qradar_username - string - Applicable only for destination type: qradar. Basic auth username provided by QRadar.
104
110
  # qradar_password - string - Applicable only for destination type: qradar. Basic auth password provided by QRadar.
@@ -138,6 +144,24 @@ class SiemHttpDestination:
138
144
  raise InvalidParameterError(
139
145
  "Bad parameter: generic_payload_type must be an str"
140
146
  )
147
+ if "file_destination_path" in params and not isinstance(
148
+ params["file_destination_path"], str
149
+ ):
150
+ raise InvalidParameterError(
151
+ "Bad parameter: file_destination_path must be an str"
152
+ )
153
+ if "file_format" in params and not isinstance(
154
+ params["file_format"], str
155
+ ):
156
+ raise InvalidParameterError(
157
+ "Bad parameter: file_format must be an str"
158
+ )
159
+ if "file_interval_minutes" in params and not isinstance(
160
+ params["file_interval_minutes"], int
161
+ ):
162
+ raise InvalidParameterError(
163
+ "Bad parameter: file_interval_minutes must be an int"
164
+ )
141
165
  if "splunk_token" in params and not isinstance(
142
166
  params["splunk_token"], str
143
167
  ):
@@ -317,11 +341,14 @@ def get(id, params=None, options=None):
317
341
  # additional_headers - object - Additional HTTP Headers included in calls to the destination URL
318
342
  # sending_active - boolean - Whether this SIEM HTTP Destination is currently being sent to or not
319
343
  # generic_payload_type - string - Applicable only for destination type: generic. Indicates the type of HTTP body. Can be json_newline or json_array. json_newline is multiple log entries as JSON separated by newlines. json_array is a single JSON array containing multiple log entries as JSON.
344
+ # file_destination_path - string - Applicable only for destination type: file. Destination folder path on Files.com.
345
+ # file_format - string - Applicable only for destination type: file. Generated file format.
346
+ # file_interval_minutes - int64 - Applicable only for destination type: file. Interval, in minutes, between file deliveries. Valid values are 5, 10, 15, 20, 30, 60, 90, 180, 240, 360.
320
347
  # splunk_token - string - Applicable only for destination type: splunk. Authentication token provided by Splunk.
321
- # azure_dcr_immutable_id - string - Applicable only for destination type: azure. Immutable ID of the Data Collection Rule.
348
+ # azure_dcr_immutable_id - string - Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule.
322
349
  # azure_stream_name - string - Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table.
323
- # azure_oauth_client_credentials_tenant_id - string - Applicable only for destination type: azure. Client Credentials OAuth Tenant ID.
324
- # azure_oauth_client_credentials_client_id - string - Applicable only for destination type: azure. Client Credentials OAuth Client ID.
350
+ # azure_oauth_client_credentials_tenant_id - string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID.
351
+ # azure_oauth_client_credentials_client_id - string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID.
325
352
  # azure_oauth_client_credentials_client_secret - string - Applicable only for destination type: azure. Client Credentials OAuth Client Secret.
326
353
  # qradar_username - string - Applicable only for destination type: qradar. Basic auth username provided by QRadar.
327
354
  # qradar_password - string - Applicable only for destination type: qradar. Basic auth password provided by QRadar.
@@ -340,7 +367,7 @@ def get(id, params=None, options=None):
340
367
  # exavault_api_request_send_enabled - boolean - Whether or not sending is enabled for exavault_api_request logs.
341
368
  # settings_change_send_enabled - boolean - Whether or not sending is enabled for settings_change logs.
342
369
  # destination_type (required) - string - Destination Type
343
- # destination_url (required) - string - Destination Url
370
+ # destination_url - string - Destination Url
344
371
  def create(params=None, options=None):
345
372
  if not isinstance(params, dict):
346
373
  params = {}
@@ -366,6 +393,22 @@ def create(params=None, options=None):
366
393
  raise InvalidParameterError(
367
394
  "Bad parameter: generic_payload_type must be an str"
368
395
  )
396
+ if "file_destination_path" in params and not isinstance(
397
+ params["file_destination_path"], str
398
+ ):
399
+ raise InvalidParameterError(
400
+ "Bad parameter: file_destination_path must be an str"
401
+ )
402
+ if "file_format" in params and not isinstance(params["file_format"], str):
403
+ raise InvalidParameterError(
404
+ "Bad parameter: file_format must be an str"
405
+ )
406
+ if "file_interval_minutes" in params and not isinstance(
407
+ params["file_interval_minutes"], int
408
+ ):
409
+ raise InvalidParameterError(
410
+ "Bad parameter: file_interval_minutes must be an int"
411
+ )
369
412
  if "splunk_token" in params and not isinstance(
370
413
  params["splunk_token"], str
371
414
  ):
@@ -521,8 +564,6 @@ def create(params=None, options=None):
521
564
  )
522
565
  if "destination_type" not in params:
523
566
  raise MissingParameterError("Parameter missing: destination_type")
524
- if "destination_url" not in params:
525
- raise MissingParameterError("Parameter missing: destination_url")
526
567
  response, options = Api.send_request(
527
568
  "POST", "/siem_http_destinations", params, options
528
569
  )
@@ -537,11 +578,14 @@ def create(params=None, options=None):
537
578
  # additional_headers - object - Additional HTTP Headers included in calls to the destination URL
538
579
  # sending_active - boolean - Whether this SIEM HTTP Destination is currently being sent to or not
539
580
  # generic_payload_type - string - Applicable only for destination type: generic. Indicates the type of HTTP body. Can be json_newline or json_array. json_newline is multiple log entries as JSON separated by newlines. json_array is a single JSON array containing multiple log entries as JSON.
581
+ # file_destination_path - string - Applicable only for destination type: file. Destination folder path on Files.com.
582
+ # file_format - string - Applicable only for destination type: file. Generated file format.
583
+ # file_interval_minutes - int64 - Applicable only for destination type: file. Interval, in minutes, between file deliveries. Valid values are 5, 10, 15, 20, 30, 60, 90, 180, 240, 360.
540
584
  # splunk_token - string - Applicable only for destination type: splunk. Authentication token provided by Splunk.
541
- # azure_dcr_immutable_id - string - Applicable only for destination type: azure. Immutable ID of the Data Collection Rule.
585
+ # azure_dcr_immutable_id - string - Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule.
542
586
  # azure_stream_name - string - Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table.
543
- # azure_oauth_client_credentials_tenant_id - string - Applicable only for destination type: azure. Client Credentials OAuth Tenant ID.
544
- # azure_oauth_client_credentials_client_id - string - Applicable only for destination type: azure. Client Credentials OAuth Client ID.
587
+ # azure_oauth_client_credentials_tenant_id - string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID.
588
+ # azure_oauth_client_credentials_client_id - string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID.
545
589
  # azure_oauth_client_credentials_client_secret - string - Applicable only for destination type: azure. Client Credentials OAuth Client Secret.
546
590
  # qradar_username - string - Applicable only for destination type: qradar. Basic auth username provided by QRadar.
547
591
  # qradar_password - string - Applicable only for destination type: qradar. Basic auth password provided by QRadar.
@@ -602,6 +646,22 @@ def send_test_entry(params=None, options=None):
602
646
  raise InvalidParameterError(
603
647
  "Bad parameter: generic_payload_type must be an str"
604
648
  )
649
+ if "file_destination_path" in params and not isinstance(
650
+ params["file_destination_path"], str
651
+ ):
652
+ raise InvalidParameterError(
653
+ "Bad parameter: file_destination_path must be an str"
654
+ )
655
+ if "file_format" in params and not isinstance(params["file_format"], str):
656
+ raise InvalidParameterError(
657
+ "Bad parameter: file_format must be an str"
658
+ )
659
+ if "file_interval_minutes" in params and not isinstance(
660
+ params["file_interval_minutes"], int
661
+ ):
662
+ raise InvalidParameterError(
663
+ "Bad parameter: file_interval_minutes must be an int"
664
+ )
605
665
  if "splunk_token" in params and not isinstance(
606
666
  params["splunk_token"], str
607
667
  ):
@@ -753,11 +813,14 @@ def send_test_entry(params=None, options=None):
753
813
  # additional_headers - object - Additional HTTP Headers included in calls to the destination URL
754
814
  # sending_active - boolean - Whether this SIEM HTTP Destination is currently being sent to or not
755
815
  # generic_payload_type - string - Applicable only for destination type: generic. Indicates the type of HTTP body. Can be json_newline or json_array. json_newline is multiple log entries as JSON separated by newlines. json_array is a single JSON array containing multiple log entries as JSON.
816
+ # file_destination_path - string - Applicable only for destination type: file. Destination folder path on Files.com.
817
+ # file_format - string - Applicable only for destination type: file. Generated file format.
818
+ # file_interval_minutes - int64 - Applicable only for destination type: file. Interval, in minutes, between file deliveries. Valid values are 5, 10, 15, 20, 30, 60, 90, 180, 240, 360.
756
819
  # splunk_token - string - Applicable only for destination type: splunk. Authentication token provided by Splunk.
757
- # azure_dcr_immutable_id - string - Applicable only for destination type: azure. Immutable ID of the Data Collection Rule.
820
+ # azure_dcr_immutable_id - string - Applicable only for destination types: azure, azure_legacy. Immutable ID of the Data Collection Rule.
758
821
  # azure_stream_name - string - Applicable only for destination type: azure. Name of the stream in the DCR that represents the destination table.
759
- # azure_oauth_client_credentials_tenant_id - string - Applicable only for destination type: azure. Client Credentials OAuth Tenant ID.
760
- # azure_oauth_client_credentials_client_id - string - Applicable only for destination type: azure. Client Credentials OAuth Client ID.
822
+ # azure_oauth_client_credentials_tenant_id - string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Tenant ID.
823
+ # azure_oauth_client_credentials_client_id - string - Applicable only for destination types: azure, azure_legacy. Client Credentials OAuth Client ID.
761
824
  # azure_oauth_client_credentials_client_secret - string - Applicable only for destination type: azure. Client Credentials OAuth Client Secret.
762
825
  # qradar_username - string - Applicable only for destination type: qradar. Basic auth username provided by QRadar.
763
826
  # qradar_password - string - Applicable only for destination type: qradar. Basic auth password provided by QRadar.
@@ -805,6 +868,22 @@ def update(id, params=None, options=None):
805
868
  raise InvalidParameterError(
806
869
  "Bad parameter: generic_payload_type must be an str"
807
870
  )
871
+ if "file_destination_path" in params and not isinstance(
872
+ params["file_destination_path"], str
873
+ ):
874
+ raise InvalidParameterError(
875
+ "Bad parameter: file_destination_path must be an str"
876
+ )
877
+ if "file_format" in params and not isinstance(params["file_format"], str):
878
+ raise InvalidParameterError(
879
+ "Bad parameter: file_format must be an str"
880
+ )
881
+ if "file_interval_minutes" in params and not isinstance(
882
+ params["file_interval_minutes"], int
883
+ ):
884
+ raise InvalidParameterError(
885
+ "Bad parameter: file_interval_minutes must be an int"
886
+ )
808
887
  if "splunk_token" in params and not isinstance(
809
888
  params["splunk_token"], str
810
889
  ):
files_sdk/models/site.py CHANGED
@@ -26,6 +26,7 @@ class Site:
26
26
  "allowed_countries": None, # string - Comma separated list of allowed Country codes
27
27
  "allowed_ips": None, # string - List of allowed IP addresses
28
28
  "always_mkdir_parents": None, # boolean - Create parent directories if they do not exist during uploads? This is primarily used to work around broken upload clients that assume servers will perform this step.
29
+ "as2_message_retention_days": None, # int64 - Number of days to retain AS2 messages (incoming and outgoing).
29
30
  "ask_about_overwrites": None, # boolean - If false, rename conflicting files instead of asking for overwrite confirmation. Only applies to web interface.
30
31
  "bundle_activity_notifications": None, # string - Do Bundle owners receive activity notifications?
31
32
  "bundle_expiration": None, # int64 - Site-wide Bundle expiration in days
@@ -109,6 +110,7 @@ class Site:
109
110
  "logo": None, # Image - Branded logo
110
111
  "login_page_background_image": None, # Image - Branded login page background
111
112
  "max_prior_passwords": None, # int64 - Number of prior passwords to disallow
113
+ "managed_site_settings": None, # object - List of site settings managed by the parent site
112
114
  "motd_text": None, # string - A message to show users when they connect via FTP or SFTP.
113
115
  "motd_use_for_ftp": None, # boolean - Show message to users connecting via FTP
114
116
  "motd_use_for_sftp": None, # boolean - Show message to users connecting via SFTP
@@ -146,8 +148,10 @@ class Site:
146
148
  "sharing_enabled": None, # boolean - Allow bundle creation
147
149
  "show_user_notifications_log_in_link": None, # boolean - Show log in link in user notifications?
148
150
  "show_request_access_link": None, # boolean - Show request access link for users without access? Currently unused.
149
- "site_footer": None, # string - Custom site footer text
150
- "site_header": None, # string - Custom site header text
151
+ "site_footer": None, # string - Custom site footer text for authenticated pages
152
+ "site_header": None, # string - Custom site header text for authenticated pages
153
+ "site_public_footer": None, # string - Custom site footer text for public pages
154
+ "site_public_header": None, # string - Custom site header text for public pages
151
155
  "smtp_address": None, # string - SMTP server hostname or IP
152
156
  "smtp_authentication": None, # string - SMTP server authentication type
153
157
  "smtp_from": None, # string - From address to use when mailing through custom SMTP
@@ -159,7 +163,6 @@ class Site:
159
163
  "ssl_required": None, # boolean - Is SSL required? Disabling this is insecure.
160
164
  "subdomain": None, # string - Site subdomain
161
165
  "switch_to_plan_date": None, # date-time - If switching plans, when does the new plan take effect?
162
- "tls_disabled": None, # boolean - DO NOT ENABLE. This setting allows TLSv1.0 and TLSv1.1 to be used on your site. We intend to remove this capability entirely in early 2024. If set, the `sftp_insecure_ciphers` flag will be automatically set to true.
163
166
  "trial_days_left": None, # int64 - Number of days left in trial
164
167
  "trial_until": None, # date-time - When does this Site trial expire?
165
168
  "use_dedicated_ips_for_smtp": None, # boolean - If using custom SMTP, should we use dedicated IPs to deliver emails?
@@ -174,6 +177,7 @@ class Site:
174
177
  "users_can_create_api_keys": None, # boolean - Allow users to create their own API keys?
175
178
  "users_can_create_ssh_keys": None, # boolean - Allow users to create their own SSH keys?
176
179
  "welcome_custom_text": None, # string - Custom text send in user welcome email
180
+ "email_footer_custom_text": None, # string - Custom footer text for system-generated emails. Supports standard strftime date/time patterns like %Y (4-digit year), %m (month), %d (day).
177
181
  "welcome_email_cc": None, # email - Include this email in welcome emails if enabled
178
182
  "welcome_email_subject": None, # string - Include this email subject in welcome emails if enabled
179
183
  "welcome_email_enabled": None, # boolean - Will the welcome email be sent to new users?
@@ -264,9 +268,9 @@ def get_usage(params=None, options=None):
264
268
  # calculate_file_checksums_sha256 - boolean - Calculate SHA256 checksums for files?
265
269
  # legacy_checksums_mode - boolean - Use legacy checksums mode?
266
270
  # migrate_remote_server_sync_to_sync - boolean - If true, we will migrate all remote server syncs to the new Sync model.
271
+ # as2_message_retention_days - int64 - Number of days to retain AS2 messages (incoming and outgoing).
267
272
  # session_expiry - double - Session expiry in hours
268
273
  # ssl_required - boolean - Is SSL required? Disabling this is insecure.
269
- # tls_disabled - boolean - DO NOT ENABLE. This setting allows TLSv1.0 and TLSv1.1 to be used on your site. We intend to remove this capability entirely in early 2024. If set, the `sftp_insecure_ciphers` flag will be automatically set to true.
270
274
  # sftp_insecure_ciphers - boolean - If true, we will allow weak and known insecure ciphers to be used for SFTP connections. Enabling this setting severely weakens the security of your site and it is not recommend, except as a last resort for compatibility.
271
275
  # sftp_insecure_diffie_hellman - boolean - If true, we will allow weak Diffie Hellman parameters to be used within ciphers for SFTP that are otherwise on our secure list. This has the effect of making the cipher weaker than our normal threshold for security, but is required to support certain legacy or broken SSH and MFT clients. Enabling this weakens security, but not nearly as much as enabling the full `sftp_insecure_ciphers` option.
272
276
  # disable_files_certificate_generation - boolean - If set, Files.com will not set the CAA records required to generate future SSL certificates for this domain.
@@ -340,10 +344,13 @@ def get_usage(params=None, options=None):
340
344
  # color2_link - string - Top bar link color
341
345
  # color2_text - string - Page link and button color
342
346
  # color2_top_text - string - Top bar text color
343
- # site_header - string - Custom site header text
344
- # site_footer - string - Custom site footer text
347
+ # site_header - string - Custom site header text for authenticated pages
348
+ # site_footer - string - Custom site footer text for authenticated pages
349
+ # site_public_header - string - Custom site header text for public pages
350
+ # site_public_footer - string - Custom site footer text for public pages
345
351
  # login_help_text - string - Login help text
346
352
  # use_dedicated_ips_for_smtp - boolean - If using custom SMTP, should we use dedicated IPs to deliver emails?
353
+ # email_footer_custom_text - string - Custom footer text for system-generated emails. Supports standard strftime date/time patterns like %Y (4-digit year), %m (month), %d (day).
347
354
  # smtp_address - string - SMTP server hostname or IP
348
355
  # smtp_authentication - string - SMTP server authentication type
349
356
  # smtp_from - string - From address to use when mailing through custom SMTP
@@ -620,6 +627,12 @@ def update(params=None, options=None):
620
627
  raise InvalidParameterError(
621
628
  "Bad parameter: migrate_remote_server_sync_to_sync must be an bool"
622
629
  )
630
+ if "as2_message_retention_days" in params and not isinstance(
631
+ params["as2_message_retention_days"], int
632
+ ):
633
+ raise InvalidParameterError(
634
+ "Bad parameter: as2_message_retention_days must be an int"
635
+ )
623
636
  if "session_expiry" in params and not isinstance(
624
637
  params["session_expiry"], float
625
638
  ):
@@ -632,12 +645,6 @@ def update(params=None, options=None):
632
645
  raise InvalidParameterError(
633
646
  "Bad parameter: ssl_required must be an bool"
634
647
  )
635
- if "tls_disabled" in params and not isinstance(
636
- params["tls_disabled"], bool
637
- ):
638
- raise InvalidParameterError(
639
- "Bad parameter: tls_disabled must be an bool"
640
- )
641
648
  if "sftp_insecure_ciphers" in params and not isinstance(
642
649
  params["sftp_insecure_ciphers"], bool
643
650
  ):
@@ -1078,6 +1085,18 @@ def update(params=None, options=None):
1078
1085
  raise InvalidParameterError(
1079
1086
  "Bad parameter: site_footer must be an str"
1080
1087
  )
1088
+ if "site_public_header" in params and not isinstance(
1089
+ params["site_public_header"], str
1090
+ ):
1091
+ raise InvalidParameterError(
1092
+ "Bad parameter: site_public_header must be an str"
1093
+ )
1094
+ if "site_public_footer" in params and not isinstance(
1095
+ params["site_public_footer"], str
1096
+ ):
1097
+ raise InvalidParameterError(
1098
+ "Bad parameter: site_public_footer must be an str"
1099
+ )
1081
1100
  if "login_help_text" in params and not isinstance(
1082
1101
  params["login_help_text"], str
1083
1102
  ):
@@ -1090,6 +1109,12 @@ def update(params=None, options=None):
1090
1109
  raise InvalidParameterError(
1091
1110
  "Bad parameter: use_dedicated_ips_for_smtp must be an bool"
1092
1111
  )
1112
+ if "email_footer_custom_text" in params and not isinstance(
1113
+ params["email_footer_custom_text"], str
1114
+ ):
1115
+ raise InvalidParameterError(
1116
+ "Bad parameter: email_footer_custom_text must be an str"
1117
+ )
1093
1118
  if "smtp_address" in params and not isinstance(
1094
1119
  params["smtp_address"], str
1095
1120
  ):
@@ -26,7 +26,7 @@ class SsoStrategy:
26
26
  "scim_username": None, # string - SCIM username.
27
27
  "scim_oauth_access_token": None, # string - SCIM OAuth Access Token.
28
28
  "scim_oauth_access_token_expires_at": None, # string - SCIM OAuth Access Token Expiration Time.
29
- "subdomain": None, # string - Subdomain
29
+ "subdomain": None, # string - Subdomain or domain name for your auth provider. Example: `https://[subdomain].okta.com/`
30
30
  "provision_users": None, # boolean - Auto-provision users?
31
31
  "provision_groups": None, # boolean - Auto-provision group membership based on group memberships on the SSO side?
32
32
  "deprovision_users": None, # boolean - Auto-deprovision users?
@@ -47,6 +47,7 @@ class SsoStrategy:
47
47
  "provision_time_zone": None, # string - Default time zone for auto provisioned users.
48
48
  "provision_company": None, # string - Default company for auto provisioned users.
49
49
  "provision_require_2fa": None, # string - 2FA required setting for auto provisioned users.
50
+ "provision_filesystem_layout": None, # string - File System layout to use for auto provisioned users.
50
51
  "provider_identifier": None, # string - URL-friendly, unique identifier for Azure SAML configuration
51
52
  "ldap_base_dn": None, # string - Base DN for looking up users in LDAP server
52
53
  "ldap_domain": None, # string - Domain name that will be appended to LDAP usernames
files_sdk/models/sync.py CHANGED
@@ -35,7 +35,8 @@ 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
+ "latest_sync_run": None, # SyncRun - The latest run of this sync
39
40
  }
40
41
 
41
42
  def __init__(self, attributes=None, options=None):
@@ -57,6 +58,26 @@ class Sync:
57
58
  if getattr(self, k, None) is not None
58
59
  }
59
60
 
61
+ # Dry Run Sync
62
+ def dry_run(self, params=None):
63
+ if not isinstance(params, dict):
64
+ params = {}
65
+
66
+ if hasattr(self, "id") and self.id:
67
+ params["id"] = self.id
68
+ else:
69
+ raise MissingParameterError("Current object doesn't have a id")
70
+ if "id" not in params:
71
+ raise MissingParameterError("Parameter missing: id")
72
+ if "id" in params and not isinstance(params["id"], int):
73
+ raise InvalidParameterError("Bad parameter: id must be an int")
74
+ Api.send_request(
75
+ "POST",
76
+ "/syncs/{id}/dry_run".format(id=params["id"]),
77
+ params,
78
+ self.options,
79
+ )
80
+
60
81
  # Manually Run Sync
61
82
  def manual_run(self, params=None):
62
83
  if not isinstance(params, dict):
@@ -84,13 +105,14 @@ class Sync:
84
105
  # dest_path - string - Absolute destination path
85
106
  # src_remote_server_id - int64 - Remote server ID for the source
86
107
  # dest_remote_server_id - int64 - Remote server ID for the destination
87
- # two_way - boolean - Is this a two-way sync?
88
108
  # keep_after_copy - boolean - Keep files after copying?
89
109
  # delete_empty_folders - boolean - Delete empty folders after sync?
90
110
  # disabled - boolean - Is this sync disabled?
91
111
  # 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
112
  # trigger - string - Trigger type: daily, custom_schedule, or manual
93
113
  # 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.
114
+ # 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.
115
+ # 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
116
  # 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
117
  # schedule_time_zone - string - If trigger is `custom_schedule`, Custom schedule Time Zone for when the sync should be run.
96
118
  # 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 +171,18 @@ class Sync:
149
171
  raise InvalidParameterError(
150
172
  "Bad parameter: trigger_file must be an str"
151
173
  )
174
+ if "holiday_region" in params and not isinstance(
175
+ params["holiday_region"], str
176
+ ):
177
+ raise InvalidParameterError(
178
+ "Bad parameter: holiday_region must be an str"
179
+ )
180
+ if "sync_interval_minutes" in params and not isinstance(
181
+ params["sync_interval_minutes"], int
182
+ ):
183
+ raise InvalidParameterError(
184
+ "Bad parameter: sync_interval_minutes must be an int"
185
+ )
152
186
  if "recurring_day" in params and not isinstance(
153
187
  params["recurring_day"], int
154
188
  ):
@@ -262,13 +296,14 @@ def get(id, params=None, options=None):
262
296
  # dest_path - string - Absolute destination path
263
297
  # src_remote_server_id - int64 - Remote server ID for the source
264
298
  # dest_remote_server_id - int64 - Remote server ID for the destination
265
- # two_way - boolean - Is this a two-way sync?
266
299
  # keep_after_copy - boolean - Keep files after copying?
267
300
  # delete_empty_folders - boolean - Delete empty folders after sync?
268
301
  # disabled - boolean - Is this sync disabled?
269
302
  # 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
303
  # trigger - string - Trigger type: daily, custom_schedule, or manual
271
304
  # 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.
305
+ # 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.
306
+ # 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
307
  # 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
308
  # schedule_time_zone - string - If trigger is `custom_schedule`, Custom schedule Time Zone for when the sync should be run.
274
309
  # 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.
@@ -300,8 +335,6 @@ def create(params=None, options=None):
300
335
  raise InvalidParameterError(
301
336
  "Bad parameter: dest_remote_server_id must be an int"
302
337
  )
303
- if "two_way" in params and not isinstance(params["two_way"], bool):
304
- raise InvalidParameterError("Bad parameter: two_way must be an bool")
305
338
  if "keep_after_copy" in params and not isinstance(
306
339
  params["keep_after_copy"], bool
307
340
  ):
@@ -326,6 +359,18 @@ def create(params=None, options=None):
326
359
  raise InvalidParameterError(
327
360
  "Bad parameter: trigger_file must be an str"
328
361
  )
362
+ if "holiday_region" in params and not isinstance(
363
+ params["holiday_region"], str
364
+ ):
365
+ raise InvalidParameterError(
366
+ "Bad parameter: holiday_region must be an str"
367
+ )
368
+ if "sync_interval_minutes" in params and not isinstance(
369
+ params["sync_interval_minutes"], int
370
+ ):
371
+ raise InvalidParameterError(
372
+ "Bad parameter: sync_interval_minutes must be an int"
373
+ )
329
374
  if "recurring_day" in params and not isinstance(
330
375
  params["recurring_day"], int
331
376
  ):
@@ -354,12 +399,20 @@ def create(params=None, options=None):
354
399
  return Sync(response.data, options)
355
400
 
356
401
 
357
- def create_migrate_to(params=None, options=None):
402
+ # Dry Run Sync
403
+ def dry_run(id, params=None, options=None):
358
404
  if not isinstance(params, dict):
359
405
  params = {}
360
406
  if not isinstance(options, dict):
361
407
  options = {}
362
- Api.send_request("POST", "/syncs/migrate_to_syncs", params, options)
408
+ params["id"] = id
409
+ if "id" in params and not isinstance(params["id"], int):
410
+ raise InvalidParameterError("Bad parameter: id must be an int")
411
+ if "id" not in params:
412
+ raise MissingParameterError("Parameter missing: id")
413
+ Api.send_request(
414
+ "POST", "/syncs/{id}/dry_run".format(id=params["id"]), params, options
415
+ )
363
416
 
364
417
 
365
418
  # Manually Run Sync
@@ -388,13 +441,14 @@ def manual_run(id, params=None, options=None):
388
441
  # dest_path - string - Absolute destination path
389
442
  # src_remote_server_id - int64 - Remote server ID for the source
390
443
  # dest_remote_server_id - int64 - Remote server ID for the destination
391
- # two_way - boolean - Is this a two-way sync?
392
444
  # keep_after_copy - boolean - Keep files after copying?
393
445
  # delete_empty_folders - boolean - Delete empty folders after sync?
394
446
  # disabled - boolean - Is this sync disabled?
395
447
  # 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
448
  # trigger - string - Trigger type: daily, custom_schedule, or manual
397
449
  # 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.
450
+ # 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.
451
+ # 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
452
  # 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
453
  # schedule_time_zone - string - If trigger is `custom_schedule`, Custom schedule Time Zone for when the sync should be run.
400
454
  # 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.
@@ -429,8 +483,6 @@ def update(id, params=None, options=None):
429
483
  raise InvalidParameterError(
430
484
  "Bad parameter: dest_remote_server_id must be an int"
431
485
  )
432
- if "two_way" in params and not isinstance(params["two_way"], bool):
433
- raise InvalidParameterError("Bad parameter: two_way must be an bool")
434
486
  if "keep_after_copy" in params and not isinstance(
435
487
  params["keep_after_copy"], bool
436
488
  ):
@@ -455,6 +507,18 @@ def update(id, params=None, options=None):
455
507
  raise InvalidParameterError(
456
508
  "Bad parameter: trigger_file must be an str"
457
509
  )
510
+ if "holiday_region" in params and not isinstance(
511
+ params["holiday_region"], str
512
+ ):
513
+ raise InvalidParameterError(
514
+ "Bad parameter: holiday_region must be an str"
515
+ )
516
+ if "sync_interval_minutes" in params and not isinstance(
517
+ params["sync_interval_minutes"], int
518
+ ):
519
+ raise InvalidParameterError(
520
+ "Bad parameter: sync_interval_minutes must be an int"
521
+ )
458
522
  if "recurring_day" in params and not isinstance(
459
523
  params["recurring_day"], int
460
524
  ):