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.
- README.md +81 -18
- _VERSION +1 -1
- {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/METADATA +82 -19
- {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/RECORD +49 -46
- files_sdk/__init__.py +9 -1
- files_sdk/error.py +113 -23
- files_sdk/models/__init__.py +5 -0
- files_sdk/models/api_key.py +10 -0
- files_sdk/models/api_request_log.py +6 -6
- files_sdk/models/automation.py +48 -5
- files_sdk/models/automation_log.py +6 -6
- files_sdk/models/behavior.py +2 -2
- files_sdk/models/bundle_action.py +5 -1
- files_sdk/models/bundle_registration.py +1 -1
- files_sdk/models/child_site_management_policy.py +278 -0
- files_sdk/models/email_log.py +5 -12
- files_sdk/models/exavault_api_request_log.py +6 -6
- files_sdk/models/file.py +8 -0
- files_sdk/models/file_migration_log.py +5 -12
- files_sdk/models/folder.py +11 -1
- files_sdk/models/ftp_action_log.py +6 -6
- files_sdk/models/gpg_key.py +29 -9
- files_sdk/models/history_export.py +4 -4
- files_sdk/models/history_export_result.py +2 -2
- files_sdk/models/inbox_registration.py +1 -1
- files_sdk/models/invoice_line_item.py +5 -0
- files_sdk/models/outbound_connection_log.py +6 -6
- files_sdk/models/partner.py +296 -0
- files_sdk/models/permission.py +10 -2
- files_sdk/models/public_hosting_request_log.py +6 -6
- files_sdk/models/public_key.py +7 -3
- files_sdk/models/remote_mount_backend.py +1 -0
- files_sdk/models/remote_server.py +65 -91
- files_sdk/models/remote_server_configuration_file.py +1 -0
- files_sdk/models/scim_log.py +88 -0
- files_sdk/models/sftp_action_log.py +6 -6
- files_sdk/models/siem_http_destination.py +98 -19
- files_sdk/models/site.py +37 -12
- files_sdk/models/sso_strategy.py +2 -1
- files_sdk/models/sync.py +74 -10
- files_sdk/models/sync_log.py +7 -13
- files_sdk/models/sync_run.py +31 -17
- files_sdk/models/user.py +79 -2
- files_sdk/models/user_cipher_use.py +24 -1
- files_sdk/models/user_lifecycle_rule.py +81 -40
- files_sdk/models/web_dav_action_log.py +6 -6
- {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/WHEEL +0 -0
- {files_com-1.6.32.dist-info → files_com-1.6.137.dist-info}/licenses/LICENSE +0 -0
- {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
|
|
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
|
|
24
|
-
"azure_oauth_client_credentials_client_id": None, # string - Applicable only for destination
|
|
25
|
-
"azure_oauth_client_credentials_client_secret_masked": None, # string - Applicable only for destination
|
|
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
|
|
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
|
|
101
|
-
# azure_oauth_client_credentials_client_id - string - Applicable only for destination
|
|
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
|
|
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
|
|
324
|
-
# azure_oauth_client_credentials_client_id - string - Applicable only for destination
|
|
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
|
|
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
|
|
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
|
|
544
|
-
# azure_oauth_client_credentials_client_id - string - Applicable only for destination
|
|
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
|
|
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
|
|
760
|
-
# azure_oauth_client_credentials_client_id - string - Applicable only for destination
|
|
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
|
):
|
files_sdk/models/sso_strategy.py
CHANGED
|
@@ -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
|
|
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
|
-
|
|
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
|
-
|
|
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
|
):
|