files-com 1.6.121__py3-none-any.whl → 1.6.191__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.

Potentially problematic release.


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

Files changed (36) hide show
  1. README.md +1 -0
  2. _VERSION +1 -1
  3. {files_com-1.6.121.dist-info → files_com-1.6.191.dist-info}/METADATA +2 -1
  4. {files_com-1.6.121.dist-info → files_com-1.6.191.dist-info}/RECORD +36 -31
  5. files_sdk/__init__.py +11 -1
  6. files_sdk/error.py +15 -0
  7. files_sdk/models/__init__.py +5 -0
  8. files_sdk/models/agent_push_update.py +44 -0
  9. files_sdk/models/api_key.py +7 -21
  10. files_sdk/models/as2_incoming_message.py +3 -9
  11. files_sdk/models/as2_outgoing_message.py +3 -9
  12. files_sdk/models/as2_partner.py +7 -0
  13. files_sdk/models/as2_station.py +15 -4
  14. files_sdk/models/automation.py +10 -2
  15. files_sdk/models/automation_run.py +2 -1
  16. files_sdk/models/behavior.py +12 -14
  17. files_sdk/models/bundle.py +9 -1
  18. files_sdk/models/file.py +2 -2
  19. files_sdk/models/folder.py +2 -2
  20. files_sdk/models/gpg_key.py +51 -24
  21. files_sdk/models/group.py +10 -2
  22. files_sdk/models/inbound_s3_log.py +95 -0
  23. files_sdk/models/key_lifecycle_rule.py +243 -0
  24. files_sdk/models/partner.py +12 -1
  25. files_sdk/models/public_key.py +3 -2
  26. files_sdk/models/remote_server.py +141 -20
  27. files_sdk/models/remote_server_credential.py +855 -0
  28. files_sdk/models/restore.py +20 -0
  29. files_sdk/models/site.py +12 -12
  30. files_sdk/models/sync.py +14 -0
  31. files_sdk/models/sync_run.py +3 -2
  32. files_sdk/models/user.py +26 -2
  33. files_sdk/models/workspace.py +202 -0
  34. {files_com-1.6.121.dist-info → files_com-1.6.191.dist-info}/WHEEL +0 -0
  35. {files_com-1.6.121.dist-info → files_com-1.6.191.dist-info}/licenses/LICENSE +0 -0
  36. {files_com-1.6.121.dist-info → files_com-1.6.191.dist-info}/top_level.txt +0 -0
@@ -11,6 +11,7 @@ from files_sdk.error import ( # noqa: F401
11
11
  class Automation:
12
12
  default_attributes = {
13
13
  "id": None, # int64 - Automation ID
14
+ "workspace_id": None, # int64 - Workspace ID
14
15
  "always_serialize_jobs": None, # 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.
15
16
  "always_overwrite_size_matching_files": None, # 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`.
16
17
  "automation": None, # string - Automation type
@@ -312,8 +313,8 @@ class Automation:
312
313
  # Parameters:
313
314
  # 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.
314
315
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
315
- # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `automation`, `disabled`, `last_modified_at` or `name`.
316
- # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled`, `last_modified_at` or `automation`. Valid field combinations are `[ disabled, last_modified_at ]`, `[ automation, disabled ]`, `[ automation, last_modified_at ]` or `[ automation, disabled, last_modified_at ]`.
316
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id`, `name`, `automation`, `last_modified_at` or `disabled`.
317
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `disabled`, `last_modified_at`, `workspace_id` or `automation`. Valid field combinations are `[ disabled, last_modified_at ]`, `[ workspace_id, disabled ]`, `[ disabled, automation ]`, `[ workspace_id, last_modified_at ]`, `[ automation, last_modified_at ]`, `[ workspace_id, automation ]`, `[ workspace_id, disabled, last_modified_at ]`, `[ disabled, automation, last_modified_at ]`, `[ workspace_id, disabled, automation ]`, `[ workspace_id, automation, last_modified_at ]` or `[ workspace_id, disabled, automation, last_modified_at ]`.
317
318
  # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `last_modified_at`.
318
319
  # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `last_modified_at`.
319
320
  # filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `last_modified_at`.
@@ -406,6 +407,7 @@ def get(id, params=None, options=None):
406
407
  # value - object - A Hash of attributes specific to the automation type.
407
408
  # 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`.
408
409
  # automation (required) - string - Automation type
410
+ # workspace_id - int64 - Workspace ID
409
411
  def create(params=None, options=None):
410
412
  if not isinstance(params, dict):
411
413
  params = {}
@@ -563,6 +565,12 @@ def create(params=None, options=None):
563
565
  )
564
566
  if "automation" in params and not isinstance(params["automation"], str):
565
567
  raise InvalidParameterError("Bad parameter: automation must be an str")
568
+ if "workspace_id" in params and not isinstance(
569
+ params["workspace_id"], int
570
+ ):
571
+ raise InvalidParameterError(
572
+ "Bad parameter: workspace_id must be an int"
573
+ )
566
574
  if "automation" not in params:
567
575
  raise MissingParameterError("Parameter missing: automation")
568
576
  response, options = Api.send_request(
@@ -12,6 +12,7 @@ class AutomationRun:
12
12
  default_attributes = {
13
13
  "id": None, # int64 - ID.
14
14
  "automation_id": None, # int64 - ID of the associated Automation.
15
+ "workspace_id": None, # int64 - Workspace ID.
15
16
  "completed_at": None, # date-time - Automation run completion/failure date/time.
16
17
  "created_at": None, # date-time - Automation run start date/time.
17
18
  "retry_at": None, # date-time - If set, this automation will be retried at this date/time due to `failure` or `partial_failure`.
@@ -53,7 +54,7 @@ class AutomationRun:
53
54
  # 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.
54
55
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
55
56
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `automation_id`, `created_at` or `status`.
56
- # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `status` and `automation_id`. Valid field combinations are `[ automation_id, status ]`.
57
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `status`, `workspace_id` or `automation_id`. Valid field combinations are `[ workspace_id, status ]`, `[ automation_id, status ]`, `[ workspace_id, automation_id ]` or `[ workspace_id, automation_id, status ]`.
57
58
  # automation_id (required) - int64 - ID of the associated Automation.
58
59
  def list(params=None, options=None):
59
60
  if not isinstance(params, dict):
@@ -43,7 +43,7 @@ class Behavior:
43
43
  }
44
44
 
45
45
  # Parameters:
46
- # value - string - This field stores a hash of data specific to the type of behavior. See The Behavior Types section for example values for each type of behavior.
46
+ # value - object - This field stores a hash of data specific to the type of behavior. See The Behavior Types section for example values for each type of behavior.
47
47
  # attachment_file - file - Certain behaviors may require a file, for instance, the `watermark` behavior requires a watermark image. Attach that file here.
48
48
  # disable_parent_folder_behavior - boolean - If `true`, the parent folder's behavior will be disabled for this folder and its children. This is the main mechanism for canceling out a `recursive` behavior higher in the folder tree.
49
49
  # recursive - boolean - If `true`, behavior is treated as recursive, meaning that it impacts child folders as well.
@@ -62,8 +62,6 @@ class Behavior:
62
62
  raise MissingParameterError("Parameter missing: id")
63
63
  if "id" in params and not isinstance(params["id"], int):
64
64
  raise InvalidParameterError("Bad parameter: id must be an int")
65
- if "value" in params and not isinstance(params["value"], str):
66
- raise InvalidParameterError("Bad parameter: value must be an str")
67
65
  if "name" in params and not isinstance(params["name"], str):
68
66
  raise InvalidParameterError("Bad parameter: name must be an str")
69
67
  if "description" in params and not isinstance(
@@ -117,7 +115,7 @@ class Behavior:
117
115
  # 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.
118
116
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
119
117
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `behavior`.
120
- # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `impacts_ui` and `behavior`. Valid field combinations are `[ impacts_ui, behavior ]`.
118
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `clickwrap_id`, `form_field_set_id`, `impacts_ui`, `remote_server_id` or `behavior`. Valid field combinations are `[ impacts_ui, behavior ]`.
121
119
  def list(params=None, options=None):
122
120
  if not isinstance(params, dict):
123
121
  params = {}
@@ -201,7 +199,7 @@ def list_for(path, params=None, options=None):
201
199
 
202
200
 
203
201
  # Parameters:
204
- # value - string - This field stores a hash of data specific to the type of behavior. See The Behavior Types section for example values for each type of behavior.
202
+ # value - object - This field stores a hash of data specific to the type of behavior. See The Behavior Types section for example values for each type of behavior.
205
203
  # attachment_file - file - Certain behaviors may require a file, for instance, the `watermark` behavior requires a watermark image. Attach that file here.
206
204
  # disable_parent_folder_behavior - boolean - If `true`, the parent folder's behavior will be disabled for this folder and its children. This is the main mechanism for canceling out a `recursive` behavior higher in the folder tree.
207
205
  # recursive - boolean - If `true`, behavior is treated as recursive, meaning that it impacts child folders as well.
@@ -214,8 +212,8 @@ def create(params=None, options=None):
214
212
  params = {}
215
213
  if not isinstance(options, dict):
216
214
  options = {}
217
- if "value" in params and not isinstance(params["value"], str):
218
- raise InvalidParameterError("Bad parameter: value must be an str")
215
+ if "value" in params and not isinstance(params["value"], dict):
216
+ raise InvalidParameterError("Bad parameter: value must be an dict")
219
217
  if "disable_parent_folder_behavior" in params and not isinstance(
220
218
  params["disable_parent_folder_behavior"], bool
221
219
  ):
@@ -272,7 +270,7 @@ def webhook_test(params=None, options=None):
272
270
 
273
271
 
274
272
  # Parameters:
275
- # value - string - This field stores a hash of data specific to the type of behavior. See The Behavior Types section for example values for each type of behavior.
273
+ # value - object - This field stores a hash of data specific to the type of behavior. See The Behavior Types section for example values for each type of behavior.
276
274
  # attachment_file - file - Certain behaviors may require a file, for instance, the `watermark` behavior requires a watermark image. Attach that file here.
277
275
  # disable_parent_folder_behavior - boolean - If `true`, the parent folder's behavior will be disabled for this folder and its children. This is the main mechanism for canceling out a `recursive` behavior higher in the folder tree.
278
276
  # recursive - boolean - If `true`, behavior is treated as recursive, meaning that it impacts child folders as well.
@@ -285,12 +283,12 @@ def update(id, params=None, options=None):
285
283
  if not isinstance(options, dict):
286
284
  options = {}
287
285
  params["id"] = id
288
- if "id" in params and not isinstance(params["id"], (str, int, dict)):
286
+ if "id" in params and not isinstance(params["id"], (dict, str, int)):
289
287
  raise InvalidParameterError(
290
- "Bad parameter: id must be one of str, int, dict"
288
+ "Bad parameter: id must be one of dict, str, int"
291
289
  )
292
- if "value" in params and not isinstance(params["value"], str):
293
- raise InvalidParameterError("Bad parameter: value must be an str")
290
+ if "value" in params and not isinstance(params["value"], dict):
291
+ raise InvalidParameterError("Bad parameter: value must be an dict")
294
292
  if "disable_parent_folder_behavior" in params and not isinstance(
295
293
  params["disable_parent_folder_behavior"], bool
296
294
  ):
@@ -306,10 +304,10 @@ def update(id, params=None, options=None):
306
304
  "Bad parameter: description must be an str"
307
305
  )
308
306
  if "attachment_delete" in params and not isinstance(
309
- params["attachment_delete"], (str, int, dict)
307
+ params["attachment_delete"], (dict, str, int)
310
308
  ):
311
309
  raise InvalidParameterError(
312
- "Bad parameter: attachment_delete must be one of str, int, dict"
310
+ "Bad parameter: attachment_delete must be one of dict, str, int"
313
311
  )
314
312
  if "id" not in params:
315
313
  raise MissingParameterError("Parameter missing: id")
@@ -136,6 +136,7 @@ class Bundle:
136
136
  # start_access_on_date - string - Date when share will start to be accessible. If `nil` access granted right after create.
137
137
  # skip_email - boolean - BundleRegistrations can be saved without providing email?
138
138
  # skip_name - boolean - BundleRegistrations can be saved without providing name?
139
+ # user_id - int64 - The owning user id. Only site admins can set this.
139
140
  # watermark_attachment_delete - boolean - If true, will delete the file stored in watermark_attachment
140
141
  # watermark_attachment_file - file - Preview watermark image applied to all bundle items.
141
142
  def update(self, params=None):
@@ -218,6 +219,10 @@ class Bundle:
218
219
  raise InvalidParameterError(
219
220
  "Bad parameter: start_access_on_date must be an str"
220
221
  )
222
+ if "user_id" in params and not isinstance(params["user_id"], int):
223
+ raise InvalidParameterError(
224
+ "Bad parameter: user_id must be an int"
225
+ )
221
226
  response, _options = Api.send_request(
222
227
  "PATCH",
223
228
  "/bundles/{id}".format(id=params["id"]),
@@ -264,7 +269,7 @@ class Bundle:
264
269
  # 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.
265
270
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
266
271
  # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `expires_at`.
267
- # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`, `expires_at`, `code` or `user_id`. Valid field combinations are `[ user_id, created_at ]` and `[ user_id, expires_at ]`.
272
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `created_at`, `expires_at`, `code` or `user_id`. Valid field combinations are `[ user_id, expires_at ]`.
268
273
  # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at` and `expires_at`.
269
274
  # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at` and `expires_at`.
270
275
  # filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `code`.
@@ -531,6 +536,7 @@ def share(id, params=None, options=None):
531
536
  # start_access_on_date - string - Date when share will start to be accessible. If `nil` access granted right after create.
532
537
  # skip_email - boolean - BundleRegistrations can be saved without providing email?
533
538
  # skip_name - boolean - BundleRegistrations can be saved without providing name?
539
+ # user_id - int64 - The owning user id. Only site admins can set this.
534
540
  # watermark_attachment_delete - boolean - If true, will delete the file stored in watermark_attachment
535
541
  # watermark_attachment_file - file - Preview watermark image applied to all bundle items.
536
542
  def update(id, params=None, options=None):
@@ -641,6 +647,8 @@ def update(id, params=None, options=None):
641
647
  )
642
648
  if "skip_name" in params and not isinstance(params["skip_name"], bool):
643
649
  raise InvalidParameterError("Bad parameter: skip_name must be an bool")
650
+ if "user_id" in params and not isinstance(params["user_id"], int):
651
+ raise InvalidParameterError("Bad parameter: user_id must be an int")
644
652
  if "watermark_attachment_delete" in params and not isinstance(
645
653
  params["watermark_attachment_delete"], bool
646
654
  ):
files_sdk/models/file.py CHANGED
@@ -23,7 +23,7 @@ class File:
23
23
  "created_by_bundle_registration_id": None, # int64 - ID of the Bundle Registration that created the file/folder
24
24
  "created_by_inbox_id": None, # int64 - ID of the Inbox that created the file/folder
25
25
  "created_by_remote_server_id": None, # int64 - ID of the Remote Server that created the file/folder
26
- "created_by_remote_server_sync_id": None, # int64 - ID of the Remote Server Sync that created the file/folder
26
+ "created_by_sync_id": None, # int64 - ID of the Sync that created the file/folder
27
27
  "custom_metadata": None, # object - Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value.
28
28
  "display_name": None, # string - File/Folder display name
29
29
  "type": None, # string - Type: `directory` or `file`.
@@ -34,7 +34,7 @@ class File:
34
34
  "last_modified_by_automation_id": None, # int64 - ID of the Automation that last modified the file/folder
35
35
  "last_modified_by_bundle_registration_id": None, # int64 - ID of the Bundle Registration that last modified the file/folder
36
36
  "last_modified_by_remote_server_id": None, # int64 - ID of the Remote Server that last modified the file/folder
37
- "last_modified_by_remote_server_sync_id": None, # int64 - ID of the Remote Server Sync that last modified the file/folder
37
+ "last_modified_by_sync_id": None, # int64 - ID of the Sync that last modified the file/folder
38
38
  "mtime": None, # date-time - File last modified date/time, according to the server. This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.
39
39
  "provided_mtime": None, # date-time - File last modified date/time, according to the client who set it. Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times. This allows Desktop<->Cloud syncing to preserve modified at times.
40
40
  "crc32": None, # string - File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.
@@ -19,7 +19,7 @@ class Folder:
19
19
  "created_by_bundle_registration_id": None, # int64 - ID of the Bundle Registration that created the file/folder
20
20
  "created_by_inbox_id": None, # int64 - ID of the Inbox that created the file/folder
21
21
  "created_by_remote_server_id": None, # int64 - ID of the Remote Server that created the file/folder
22
- "created_by_remote_server_sync_id": None, # int64 - ID of the Remote Server Sync that created the file/folder
22
+ "created_by_sync_id": None, # int64 - ID of the Sync that created the file/folder
23
23
  "custom_metadata": None, # object - Custom metadata map of keys and values. Limited to 32 keys, 256 characters per key and 1024 characters per value.
24
24
  "display_name": None, # string - File/Folder display name
25
25
  "type": None, # string - Type: `directory` or `file`.
@@ -30,7 +30,7 @@ class Folder:
30
30
  "last_modified_by_automation_id": None, # int64 - ID of the Automation that last modified the file/folder
31
31
  "last_modified_by_bundle_registration_id": None, # int64 - ID of the Bundle Registration that last modified the file/folder
32
32
  "last_modified_by_remote_server_id": None, # int64 - ID of the Remote Server that last modified the file/folder
33
- "last_modified_by_remote_server_sync_id": None, # int64 - ID of the Remote Server Sync that last modified the file/folder
33
+ "last_modified_by_sync_id": None, # int64 - ID of the Sync that last modified the file/folder
34
34
  "mtime": None, # date-time - File last modified date/time, according to the server. This is the timestamp of the last Files.com operation of the file, regardless of what modified timestamp was sent.
35
35
  "provided_mtime": None, # date-time - File last modified date/time, according to the client who set it. Files.com allows desktop, FTP, SFTP, and WebDAV clients to set modified at times. This allows Desktop<->Cloud syncing to preserve modified at times.
36
36
  "crc32": None, # string - File CRC32 checksum. This is sometimes delayed, so if you get a blank response, wait and try again.
@@ -10,20 +10,21 @@ from files_sdk.error import ( # noqa: F401
10
10
 
11
11
  class GpgKey:
12
12
  default_attributes = {
13
- "id": None, # int64 - Your GPG key ID.
14
- "expires_at": None, # date-time - Your GPG key expiration date.
15
- "name": None, # string - Your GPG key name.
13
+ "id": None, # int64 - GPG key ID.
14
+ "workspace_id": None, # int64 - Workspace ID (0 for default workspace).
15
+ "expires_at": None, # date-time - GPG key expiration date.
16
+ "name": None, # string - GPG key name.
16
17
  "partner_id": None, # int64 - Partner ID who owns this GPG Key, if applicable.
17
18
  "partner_name": None, # string - Name of the Partner who owns this GPG Key, if applicable.
18
19
  "user_id": None, # int64 - User ID who owns this GPG Key, if applicable.
19
- "public_key_md5": None, # string - MD5 hash of your GPG public key
20
- "private_key_md5": None, # string - MD5 hash of your GPG private key.
21
- "generated_public_key": None, # string - Your GPG public key
22
- "generated_private_key": None, # string - Your GPG private key.
23
- "private_key_password_md5": None, # string - Your GPG private key password. Only required for password protected keys.
24
- "public_key": None, # string - MD5 hash of your GPG public key
25
- "private_key": None, # string - MD5 hash of your GPG private key.
26
- "private_key_password": None, # string - Your GPG private key password. Only required for password protected keys.
20
+ "public_key_md5": None, # string - MD5 hash of the GPG public key
21
+ "private_key_md5": None, # string - MD5 hash of the GPG private key.
22
+ "generated_public_key": None, # string - GPG public key
23
+ "generated_private_key": None, # string - GPG private key.
24
+ "private_key_password_md5": None, # string - GPG private key password. Only required for password protected keys.
25
+ "public_key": None, # string - The GPG public key
26
+ "private_key": None, # string - The GPG private key
27
+ "private_key_password": None, # string - The GPG private key password
27
28
  "generate_expires_at": None, # string - Expiration date of the key. Used for the generation of the key. Will be ignored if `generate_keypair` is false.
28
29
  "generate_keypair": None, # boolean - If true, generate a new GPG key pair. Can not be used with `public_key`/`private_key`
29
30
  "generate_full_name": None, # string - Full name of the key owner. Used for the generation of the key. Will be ignored if `generate_keypair` is false.
@@ -51,10 +52,10 @@ class GpgKey:
51
52
 
52
53
  # Parameters:
53
54
  # partner_id - int64 - Partner ID who owns this GPG Key, if applicable.
54
- # public_key - string - MD5 hash of your GPG public key
55
- # private_key - string - MD5 hash of your GPG private key.
56
- # private_key_password - string - Your GPG private key password. Only required for password protected keys.
57
- # name - string - Your GPG key name.
55
+ # public_key - string - The GPG public key
56
+ # private_key - string - The GPG private key
57
+ # private_key_password - string - The GPG private key password
58
+ # name - string - GPG key name.
58
59
  def update(self, params=None):
59
60
  if not isinstance(params, dict):
60
61
  params = {}
@@ -138,7 +139,12 @@ class GpgKey:
138
139
  # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
139
140
  # 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.
140
141
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
141
- # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `name` and `expires_at`.
142
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `workspace_id`, `name` or `expires_at`.
143
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `workspace_id`, `partner_id` or `expires_at`. Valid field combinations are `[ workspace_id, expires_at ]`.
144
+ # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `expires_at`.
145
+ # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `expires_at`.
146
+ # filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `expires_at`.
147
+ # filter_lteq - object - If set, return records where the specified field is less than or equal the supplied value. Valid fields are `expires_at`.
142
148
  def list(params=None, options=None):
143
149
  if not isinstance(params, dict):
144
150
  params = {}
@@ -152,6 +158,20 @@ def list(params=None, options=None):
152
158
  raise InvalidParameterError("Bad parameter: per_page must be an int")
153
159
  if "sort_by" in params and not isinstance(params["sort_by"], dict):
154
160
  raise InvalidParameterError("Bad parameter: sort_by must be an dict")
161
+ if "filter" in params and not isinstance(params["filter"], dict):
162
+ raise InvalidParameterError("Bad parameter: filter must be an dict")
163
+ if "filter_gt" in params and not isinstance(params["filter_gt"], dict):
164
+ raise InvalidParameterError("Bad parameter: filter_gt must be an dict")
165
+ if "filter_gteq" in params and not isinstance(params["filter_gteq"], dict):
166
+ raise InvalidParameterError(
167
+ "Bad parameter: filter_gteq must be an dict"
168
+ )
169
+ if "filter_lt" in params and not isinstance(params["filter_lt"], dict):
170
+ raise InvalidParameterError("Bad parameter: filter_lt must be an dict")
171
+ if "filter_lteq" in params and not isinstance(params["filter_lteq"], dict):
172
+ raise InvalidParameterError(
173
+ "Bad parameter: filter_lteq must be an dict"
174
+ )
155
175
  return ListObj(GpgKey, "GET", "/gpg_keys", params, options)
156
176
 
157
177
 
@@ -184,10 +204,11 @@ def get(id, params=None, options=None):
184
204
  # Parameters:
185
205
  # user_id - int64 - User ID. Provide a value of `0` to operate the current session's user.
186
206
  # partner_id - int64 - Partner ID who owns this GPG Key, if applicable.
187
- # public_key - string - MD5 hash of your GPG public key
188
- # private_key - string - MD5 hash of your GPG private key.
189
- # private_key_password - string - Your GPG private key password. Only required for password protected keys.
190
- # name (required) - string - Your GPG key name.
207
+ # public_key - string - The GPG public key
208
+ # private_key - string - The GPG private key
209
+ # private_key_password - string - The GPG private key password
210
+ # name (required) - string - GPG key name.
211
+ # workspace_id - int64 - Workspace ID (0 for default workspace).
191
212
  # generate_expires_at - string - Expiration date of the key. Used for the generation of the key. Will be ignored if `generate_keypair` is false.
192
213
  # generate_keypair - boolean - If true, generate a new GPG key pair. Can not be used with `public_key`/`private_key`
193
214
  # generate_full_name - string - Full name of the key owner. Used for the generation of the key. Will be ignored if `generate_keypair` is false.
@@ -215,6 +236,12 @@ def create(params=None, options=None):
215
236
  )
216
237
  if "name" in params and not isinstance(params["name"], str):
217
238
  raise InvalidParameterError("Bad parameter: name must be an str")
239
+ if "workspace_id" in params and not isinstance(
240
+ params["workspace_id"], int
241
+ ):
242
+ raise InvalidParameterError(
243
+ "Bad parameter: workspace_id must be an int"
244
+ )
218
245
  if "generate_expires_at" in params and not isinstance(
219
246
  params["generate_expires_at"], str
220
247
  ):
@@ -247,10 +274,10 @@ def create(params=None, options=None):
247
274
 
248
275
  # Parameters:
249
276
  # partner_id - int64 - Partner ID who owns this GPG Key, if applicable.
250
- # public_key - string - MD5 hash of your GPG public key
251
- # private_key - string - MD5 hash of your GPG private key.
252
- # private_key_password - string - Your GPG private key password. Only required for password protected keys.
253
- # name - string - Your GPG key name.
277
+ # public_key - string - The GPG public key
278
+ # private_key - string - The GPG private key
279
+ # private_key_password - string - The GPG private key password
280
+ # name - string - GPG key name.
254
281
  def update(id, params=None, options=None):
255
282
  if not isinstance(params, dict):
256
283
  params = {}
files_sdk/models/group.py CHANGED
@@ -22,6 +22,7 @@ class Group:
22
22
  "dav_permission": None, # boolean - If true, users in this group can use WebDAV to login. This will override a false value of `dav_permission` on the user level.
23
23
  "restapi_permission": None, # boolean - If true, users in this group can use the REST API to login. This will override a false value of `restapi_permission` on the user level.
24
24
  "site_id": None, # int64 - Site ID
25
+ "workspace_id": None, # int64 - Workspace ID
25
26
  }
26
27
 
27
28
  def __init__(self, attributes=None, options=None):
@@ -127,8 +128,8 @@ class Group:
127
128
  # Parameters:
128
129
  # 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.
129
130
  # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
130
- # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `site_id` and `name`.
131
- # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `name`.
131
+ # sort_by - object - If set, sort records by the specified field in either `asc` or `desc` direction. Valid fields are `site_id`, `workspace_id` or `name`.
132
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `name` and `workspace_id`. Valid field combinations are `[ workspace_id, name ]`.
132
133
  # filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `name`.
133
134
  # ids - string - Comma-separated list of group ids to include in results.
134
135
  # include_parent_site_groups - boolean - Include groups from the parent site.
@@ -198,6 +199,7 @@ def get(id, params=None, options=None):
198
199
  # restapi_permission - boolean - If true, users in this group can use the REST API to login. This will override a false value of `restapi_permission` on the user level.
199
200
  # allowed_ips - string - A list of allowed IPs if applicable. Newline delimited
200
201
  # name (required) - string - Group name.
202
+ # workspace_id - int64 - Workspace ID
201
203
  def create(params=None, options=None):
202
204
  if not isinstance(params, dict):
203
205
  params = {}
@@ -239,6 +241,12 @@ def create(params=None, options=None):
239
241
  )
240
242
  if "name" in params and not isinstance(params["name"], str):
241
243
  raise InvalidParameterError("Bad parameter: name must be an str")
244
+ if "workspace_id" in params and not isinstance(
245
+ params["workspace_id"], int
246
+ ):
247
+ raise InvalidParameterError(
248
+ "Bad parameter: workspace_id must be an int"
249
+ )
242
250
  if "name" not in params:
243
251
  raise MissingParameterError("Parameter missing: name")
244
252
  response, options = Api.send_request("POST", "/groups", params, options)
@@ -0,0 +1,95 @@
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 InboundS3Log:
12
+ default_attributes = {
13
+ "path": None, # string - Request Path. This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
14
+ "client_ip": None, # string - Client IP
15
+ "operation": None, # string - S3 Operation Type
16
+ "status": None, # string - HTTP Status Code
17
+ "aws_access_key": None, # string - AWS Access Key ID
18
+ "error_message": None, # string - Error message, if applicable
19
+ "error_type": None, # string - Error type, if applicable
20
+ "duration_ms": None, # int64 - Duration (in milliseconds)
21
+ "request_id": None, # string - Request ID
22
+ "user_agent": None, # string - User Agent
23
+ "created_at": None, # date-time - Start Time of Request
24
+ }
25
+
26
+ def __init__(self, attributes=None, options=None):
27
+ if not isinstance(attributes, dict):
28
+ attributes = {}
29
+ if not isinstance(options, dict):
30
+ options = {}
31
+ self.set_attributes(attributes)
32
+ self.options = options
33
+
34
+ def set_attributes(self, attributes):
35
+ for (
36
+ attribute,
37
+ default_value,
38
+ ) in InboundS3Log.default_attributes.items():
39
+ setattr(self, attribute, attributes.get(attribute, default_value))
40
+
41
+ def get_attributes(self):
42
+ return {
43
+ k: getattr(self, k, None)
44
+ for k in InboundS3Log.default_attributes
45
+ if getattr(self, k, None) is not None
46
+ }
47
+
48
+
49
+ # Parameters:
50
+ # 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.
51
+ # per_page - int64 - Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
52
+ # filter - object - If set, return records where the specified field is equal to the supplied value. Valid fields are `operation`, `status`, `path`, `client_ip` or `created_at`. Valid field combinations are `[ operation ]`, `[ status ]`, `[ path ]`, `[ client_ip ]`, `[ created_at ]`, `[ operation, status ]`, `[ operation, path ]`, `[ operation, client_ip ]`, `[ operation, created_at ]`, `[ status, path ]`, `[ status, client_ip ]`, `[ status, created_at ]`, `[ path, client_ip ]`, `[ path, created_at ]`, `[ client_ip, created_at ]`, `[ operation, status, path ]`, `[ operation, status, client_ip ]`, `[ operation, status, created_at ]`, `[ operation, path, client_ip ]`, `[ operation, path, created_at ]`, `[ operation, client_ip, created_at ]`, `[ status, path, client_ip ]`, `[ status, path, created_at ]`, `[ status, client_ip, created_at ]`, `[ path, client_ip, created_at ]`, `[ operation, status, path, client_ip ]`, `[ operation, status, path, created_at ]`, `[ operation, status, client_ip, created_at ]`, `[ operation, path, client_ip, created_at ]` or `[ status, path, client_ip, created_at ]`.
53
+ # filter_gt - object - If set, return records where the specified field is greater than the supplied value. Valid fields are `created_at`. Valid field combinations are `[ operation ]`, `[ status ]`, `[ path ]`, `[ client_ip ]`, `[ created_at ]`, `[ operation, status ]`, `[ operation, path ]`, `[ operation, client_ip ]`, `[ operation, created_at ]`, `[ status, path ]`, `[ status, client_ip ]`, `[ status, created_at ]`, `[ path, client_ip ]`, `[ path, created_at ]`, `[ client_ip, created_at ]`, `[ operation, status, path ]`, `[ operation, status, client_ip ]`, `[ operation, status, created_at ]`, `[ operation, path, client_ip ]`, `[ operation, path, created_at ]`, `[ operation, client_ip, created_at ]`, `[ status, path, client_ip ]`, `[ status, path, created_at ]`, `[ status, client_ip, created_at ]`, `[ path, client_ip, created_at ]`, `[ operation, status, path, client_ip ]`, `[ operation, status, path, created_at ]`, `[ operation, status, client_ip, created_at ]`, `[ operation, path, client_ip, created_at ]` or `[ status, path, client_ip, created_at ]`.
54
+ # filter_gteq - object - If set, return records where the specified field is greater than or equal the supplied value. Valid fields are `created_at`. Valid field combinations are `[ operation ]`, `[ status ]`, `[ path ]`, `[ client_ip ]`, `[ created_at ]`, `[ operation, status ]`, `[ operation, path ]`, `[ operation, client_ip ]`, `[ operation, created_at ]`, `[ status, path ]`, `[ status, client_ip ]`, `[ status, created_at ]`, `[ path, client_ip ]`, `[ path, created_at ]`, `[ client_ip, created_at ]`, `[ operation, status, path ]`, `[ operation, status, client_ip ]`, `[ operation, status, created_at ]`, `[ operation, path, client_ip ]`, `[ operation, path, created_at ]`, `[ operation, client_ip, created_at ]`, `[ status, path, client_ip ]`, `[ status, path, created_at ]`, `[ status, client_ip, created_at ]`, `[ path, client_ip, created_at ]`, `[ operation, status, path, client_ip ]`, `[ operation, status, path, created_at ]`, `[ operation, status, client_ip, created_at ]`, `[ operation, path, client_ip, created_at ]` or `[ status, path, client_ip, created_at ]`.
55
+ # filter_prefix - object - If set, return records where the specified field is prefixed by the supplied value. Valid fields are `operation`, `status`, `path` or `client_ip`. Valid field combinations are `[ operation ]`, `[ status ]`, `[ path ]`, `[ client_ip ]`, `[ created_at ]`, `[ operation, status ]`, `[ operation, path ]`, `[ operation, client_ip ]`, `[ operation, created_at ]`, `[ status, path ]`, `[ status, client_ip ]`, `[ status, created_at ]`, `[ path, client_ip ]`, `[ path, created_at ]`, `[ client_ip, created_at ]`, `[ operation, status, path ]`, `[ operation, status, client_ip ]`, `[ operation, status, created_at ]`, `[ operation, path, client_ip ]`, `[ operation, path, created_at ]`, `[ operation, client_ip, created_at ]`, `[ status, path, client_ip ]`, `[ status, path, created_at ]`, `[ status, client_ip, created_at ]`, `[ path, client_ip, created_at ]`, `[ operation, status, path, client_ip ]`, `[ operation, status, path, created_at ]`, `[ operation, status, client_ip, created_at ]`, `[ operation, path, client_ip, created_at ]` or `[ status, path, client_ip, created_at ]`.
56
+ # filter_lt - object - If set, return records where the specified field is less than the supplied value. Valid fields are `created_at`. Valid field combinations are `[ operation ]`, `[ status ]`, `[ path ]`, `[ client_ip ]`, `[ created_at ]`, `[ operation, status ]`, `[ operation, path ]`, `[ operation, client_ip ]`, `[ operation, created_at ]`, `[ status, path ]`, `[ status, client_ip ]`, `[ status, created_at ]`, `[ path, client_ip ]`, `[ path, created_at ]`, `[ client_ip, created_at ]`, `[ operation, status, path ]`, `[ operation, status, client_ip ]`, `[ operation, status, created_at ]`, `[ operation, path, client_ip ]`, `[ operation, path, created_at ]`, `[ operation, client_ip, created_at ]`, `[ status, path, client_ip ]`, `[ status, path, created_at ]`, `[ status, client_ip, created_at ]`, `[ path, client_ip, created_at ]`, `[ operation, status, path, client_ip ]`, `[ operation, status, path, created_at ]`, `[ operation, status, client_ip, created_at ]`, `[ operation, path, client_ip, created_at ]` or `[ status, path, client_ip, created_at ]`.
57
+ # filter_lteq - object - If set, return records where the specified field is less than or equal the supplied value. Valid fields are `created_at`. Valid field combinations are `[ operation ]`, `[ status ]`, `[ path ]`, `[ client_ip ]`, `[ created_at ]`, `[ operation, status ]`, `[ operation, path ]`, `[ operation, client_ip ]`, `[ operation, created_at ]`, `[ status, path ]`, `[ status, client_ip ]`, `[ status, created_at ]`, `[ path, client_ip ]`, `[ path, created_at ]`, `[ client_ip, created_at ]`, `[ operation, status, path ]`, `[ operation, status, client_ip ]`, `[ operation, status, created_at ]`, `[ operation, path, client_ip ]`, `[ operation, path, created_at ]`, `[ operation, client_ip, created_at ]`, `[ status, path, client_ip ]`, `[ status, path, created_at ]`, `[ status, client_ip, created_at ]`, `[ path, client_ip, created_at ]`, `[ operation, status, path, client_ip ]`, `[ operation, status, path, created_at ]`, `[ operation, status, client_ip, created_at ]`, `[ operation, path, client_ip, created_at ]` or `[ status, path, client_ip, created_at ]`.
58
+ def list(params=None, options=None):
59
+ if not isinstance(params, dict):
60
+ params = {}
61
+ if not isinstance(options, dict):
62
+ options = {}
63
+ if "cursor" in params and not isinstance(params["cursor"], str):
64
+ raise InvalidParameterError("Bad parameter: cursor must be an str")
65
+ if "per_page" in params and not isinstance(params["per_page"], int):
66
+ raise InvalidParameterError("Bad parameter: per_page must be an int")
67
+ if "filter" in params and not isinstance(params["filter"], dict):
68
+ raise InvalidParameterError("Bad parameter: filter must be an dict")
69
+ if "filter_gt" in params and not isinstance(params["filter_gt"], dict):
70
+ raise InvalidParameterError("Bad parameter: filter_gt must be an dict")
71
+ if "filter_gteq" in params and not isinstance(params["filter_gteq"], dict):
72
+ raise InvalidParameterError(
73
+ "Bad parameter: filter_gteq must be an dict"
74
+ )
75
+ if "filter_prefix" in params and not isinstance(
76
+ params["filter_prefix"], dict
77
+ ):
78
+ raise InvalidParameterError(
79
+ "Bad parameter: filter_prefix must be an dict"
80
+ )
81
+ if "filter_lt" in params and not isinstance(params["filter_lt"], dict):
82
+ raise InvalidParameterError("Bad parameter: filter_lt must be an dict")
83
+ if "filter_lteq" in params and not isinstance(params["filter_lteq"], dict):
84
+ raise InvalidParameterError(
85
+ "Bad parameter: filter_lteq must be an dict"
86
+ )
87
+ return ListObj(InboundS3Log, "GET", "/inbound_s3_logs", params, options)
88
+
89
+
90
+ def all(params=None, options=None):
91
+ list(params, options)
92
+
93
+
94
+ def new(*args, **kwargs):
95
+ return InboundS3Log(*args, **kwargs)