files.com 1.0.91

Sign up to get free protection for your applications and to get access to all the features.
Files changed (136) hide show
  1. checksums.yaml +7 -0
  2. data/CONTRIBUTORS +4 -0
  3. data/Gemfile +12 -0
  4. data/Gemfile.lock +82 -0
  5. data/LICENSE +21 -0
  6. data/README.md +119 -0
  7. data/Rakefile +12 -0
  8. data/SECURITY.md +24 -0
  9. data/_VERSION +1 -0
  10. data/bin/files +8 -0
  11. data/bin/files-console +16 -0
  12. data/docs/account_line_item.md +41 -0
  13. data/docs/action.md +37 -0
  14. data/docs/api_key.md +202 -0
  15. data/docs/app.md +57 -0
  16. data/docs/as2_key.md +133 -0
  17. data/docs/auto.md +11 -0
  18. data/docs/automation.md +190 -0
  19. data/docs/behavior.md +208 -0
  20. data/docs/bundle.md +252 -0
  21. data/docs/bundle_download.md +35 -0
  22. data/docs/clickwrap.md +143 -0
  23. data/docs/dns_record.md +35 -0
  24. data/docs/errors.md +17 -0
  25. data/docs/file.md +204 -0
  26. data/docs/file_action.md +126 -0
  27. data/docs/file_comment.md +116 -0
  28. data/docs/file_comment_reaction.md +62 -0
  29. data/docs/file_part_upload.md +37 -0
  30. data/docs/file_utils.md +4 -0
  31. data/docs/folder.md +90 -0
  32. data/docs/group.md +153 -0
  33. data/docs/group_user.md +124 -0
  34. data/docs/history.md +171 -0
  35. data/docs/history_export.md +174 -0
  36. data/docs/image.md +13 -0
  37. data/docs/invoice.md +72 -0
  38. data/docs/invoice_line_item.md +27 -0
  39. data/docs/ip_address.md +55 -0
  40. data/docs/lock.md +98 -0
  41. data/docs/message.md +147 -0
  42. data/docs/message_comment.md +132 -0
  43. data/docs/message_comment_reaction.md +94 -0
  44. data/docs/message_reaction.md +94 -0
  45. data/docs/notification.md +177 -0
  46. data/docs/payment.md +72 -0
  47. data/docs/payment_line_item.md +19 -0
  48. data/docs/permission.md +95 -0
  49. data/docs/preview.md +19 -0
  50. data/docs/project.md +121 -0
  51. data/docs/public_ip_address.md +13 -0
  52. data/docs/public_key.md +133 -0
  53. data/docs/remote_server.md +356 -0
  54. data/docs/request.md +100 -0
  55. data/docs/session.md +78 -0
  56. data/docs/site.md +448 -0
  57. data/docs/sso_strategy.md +114 -0
  58. data/docs/status.md +21 -0
  59. data/docs/style.md +93 -0
  60. data/docs/usage_daily_snapshot.md +45 -0
  61. data/docs/usage_snapshot.md +53 -0
  62. data/docs/user.md +535 -0
  63. data/docs/user_cipher_use.md +41 -0
  64. data/docs/user_request.md +93 -0
  65. data/files.com.gemspec +22 -0
  66. data/lib/files.com.rb +184 -0
  67. data/lib/files.com/api.rb +38 -0
  68. data/lib/files.com/api_client.rb +340 -0
  69. data/lib/files.com/errors.rb +41 -0
  70. data/lib/files.com/list.rb +95 -0
  71. data/lib/files.com/models/account_line_item.rb +82 -0
  72. data/lib/files.com/models/action.rb +77 -0
  73. data/lib/files.com/models/api_key.rb +270 -0
  74. data/lib/files.com/models/app.rb +101 -0
  75. data/lib/files.com/models/as2_key.rb +179 -0
  76. data/lib/files.com/models/auto.rb +17 -0
  77. data/lib/files.com/models/automation.rb +304 -0
  78. data/lib/files.com/models/behavior.rb +266 -0
  79. data/lib/files.com/models/bundle.rb +371 -0
  80. data/lib/files.com/models/bundle_download.rb +49 -0
  81. data/lib/files.com/models/clickwrap.rb +197 -0
  82. data/lib/files.com/models/dir.rb +3 -0
  83. data/lib/files.com/models/dns_record.rb +51 -0
  84. data/lib/files.com/models/errors.rb +22 -0
  85. data/lib/files.com/models/file.rb +968 -0
  86. data/lib/files.com/models/file_action.rb +126 -0
  87. data/lib/files.com/models/file_comment.rb +146 -0
  88. data/lib/files.com/models/file_comment_reaction.rb +100 -0
  89. data/lib/files.com/models/file_part_upload.rb +82 -0
  90. data/lib/files.com/models/file_utils.rb +118 -0
  91. data/lib/files.com/models/folder.rb +357 -0
  92. data/lib/files.com/models/group.rb +208 -0
  93. data/lib/files.com/models/group_user.rb +171 -0
  94. data/lib/files.com/models/history.rb +228 -0
  95. data/lib/files.com/models/history_export.rb +353 -0
  96. data/lib/files.com/models/image.rb +22 -0
  97. data/lib/files.com/models/invoice.rb +117 -0
  98. data/lib/files.com/models/invoice_line_item.rb +57 -0
  99. data/lib/files.com/models/ip_address.rb +66 -0
  100. data/lib/files.com/models/lock.rb +173 -0
  101. data/lib/files.com/models/message.rb +201 -0
  102. data/lib/files.com/models/message_comment.rb +165 -0
  103. data/lib/files.com/models/message_comment_reaction.rb +128 -0
  104. data/lib/files.com/models/message_reaction.rb +128 -0
  105. data/lib/files.com/models/notification.rb +263 -0
  106. data/lib/files.com/models/payment.rb +117 -0
  107. data/lib/files.com/models/payment_line_item.rb +37 -0
  108. data/lib/files.com/models/permission.rb +172 -0
  109. data/lib/files.com/models/preview.rb +37 -0
  110. data/lib/files.com/models/project.rb +140 -0
  111. data/lib/files.com/models/public_ip_address.rb +22 -0
  112. data/lib/files.com/models/public_key.rb +179 -0
  113. data/lib/files.com/models/remote_server.rb +680 -0
  114. data/lib/files.com/models/request.rb +179 -0
  115. data/lib/files.com/models/session.rb +247 -0
  116. data/lib/files.com/models/site.rb +733 -0
  117. data/lib/files.com/models/sso_strategy.rb +227 -0
  118. data/lib/files.com/models/status.rb +37 -0
  119. data/lib/files.com/models/style.rb +131 -0
  120. data/lib/files.com/models/usage_daily_snapshot.rb +66 -0
  121. data/lib/files.com/models/usage_snapshot.rb +96 -0
  122. data/lib/files.com/models/user.rb +876 -0
  123. data/lib/files.com/models/user_cipher_use.rb +63 -0
  124. data/lib/files.com/models/user_request.rb +127 -0
  125. data/lib/files.com/response.rb +25 -0
  126. data/lib/files.com/sizable_io.rb +32 -0
  127. data/lib/files.com/system_profiler.rb +56 -0
  128. data/lib/files.com/util.rb +106 -0
  129. data/lib/files.com/version.rb +5 -0
  130. data/spec/list_spec.rb +214 -0
  131. data/spec/models/file_spec.rb +68 -0
  132. data/spec/models/folder_spec.rb +40 -0
  133. data/spec/spec_helper.rb +36 -0
  134. data/test.sh +8 -0
  135. data/test/test.rb +75 -0
  136. metadata +235 -0
@@ -0,0 +1,100 @@
1
+ # Request
2
+
3
+ ## Example Request Object
4
+
5
+ ```
6
+ {
7
+ "id": 1,
8
+ "path": "",
9
+ "source": "",
10
+ "destination": "",
11
+ "automation_id": "",
12
+ "user_display_name": ""
13
+ }
14
+ ```
15
+
16
+ * `id` (int64): Request ID
17
+ * `path` (string): Folder path This must be slash-delimited, but it must neither start nor end with a slash. Maximum of 5000 characters.
18
+ * `source` (string): Source filename, if applicable
19
+ * `destination` (string): Destination filename
20
+ * `automation_id` (string): ID of automation that created request
21
+ * `user_display_name` (string): User making the request (if applicable)
22
+ * `user_ids` (string): A list of user IDs to request the file from. If sent as a string, it should be comma-delimited.
23
+ * `group_ids` (string): A list of group IDs to request the file from. If sent as a string, it should be comma-delimited.
24
+
25
+
26
+ ---
27
+
28
+ ## List Requests
29
+
30
+ ```
31
+ Files::Request.list(path,
32
+ page: 1,
33
+ per_page: 1,
34
+ mine: true
35
+ )
36
+ ```
37
+
38
+ ### Parameters
39
+
40
+ * `page` (int64): Current page number.
41
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
42
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
43
+ * `cursor` (string): Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
44
+ * `sort_by` (object): If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `site_id`, `folder_id` or `destination`.
45
+ * `mine` (boolean): Only show requests of the current user? (Defaults to true if current user is not a site admin.)
46
+ * `path` (string): Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
47
+
48
+
49
+ ---
50
+
51
+ ## List Requests
52
+
53
+ ```
54
+ Files::Request.find_folder(path,
55
+ page: 1,
56
+ per_page: 1,
57
+ mine: true
58
+ )
59
+ ```
60
+
61
+ ### Parameters
62
+
63
+ * `page` (int64): Current page number.
64
+ * `per_page` (int64): Number of records to show per page. (Max: 10,000, 1,000 or less is recommended).
65
+ * `action` (string): Deprecated: If set to `count` returns a count of matching records rather than the records themselves.
66
+ * `cursor` (string): Send cursor to resume an existing list from the point at which you left off. Get a cursor from an existing list via the X-Files-Cursor-Next header.
67
+ * `sort_by` (object): If set, sort records by the specified field in either 'asc' or 'desc' direction (e.g. sort_by[last_login_at]=desc). Valid fields are `site_id`, `folder_id` or `destination`.
68
+ * `mine` (boolean): Only show requests of the current user? (Defaults to true if current user is not a site admin.)
69
+ * `path` (string): Required - Path to show requests for. If omitted, shows all paths. Send `/` to represent the root directory.
70
+
71
+
72
+ ---
73
+
74
+ ## Create Request
75
+
76
+ ```
77
+ Files::Request.create(path,
78
+ destination: "destination"
79
+ )
80
+ ```
81
+
82
+ ### Parameters
83
+
84
+ * `path` (string): Required - Folder path on which to request the file.
85
+ * `destination` (string): Required - Destination filename (without extension) to request.
86
+ * `user_ids` (string): A list of user IDs to request the file from. If sent as a string, it should be comma-delimited.
87
+ * `group_ids` (string): A list of group IDs to request the file from. If sent as a string, it should be comma-delimited.
88
+
89
+
90
+ ---
91
+
92
+ ## Delete Request
93
+
94
+ ```
95
+ Files::Request.delete(id)
96
+ ```
97
+
98
+ ### Parameters
99
+
100
+ * `id` (int64): Required - Request ID.
@@ -0,0 +1,78 @@
1
+ # Session
2
+
3
+ ## Example Session Object
4
+
5
+ ```
6
+ {
7
+ "id": "60525f92e859c4c3d74cb02fd176b1525901b525",
8
+ "language": "en",
9
+ "login_token": "@tok-randomcode",
10
+ "login_token_domain": "https://mysite.files.com",
11
+ "max_dir_listing_size": 1,
12
+ "multiple_regions": true,
13
+ "read_only": "en",
14
+ "root_path": "",
15
+ "site_id": 1,
16
+ "ssl_required": true,
17
+ "tls_disabled": true,
18
+ "two_factor_setup_needed": true,
19
+ "allowed_2fa_method_sms": true,
20
+ "allowed_2fa_method_totp": true,
21
+ "allowed_2fa_method_u2f": true,
22
+ "allowed_2fa_method_yubi": true,
23
+ "use_provided_modified_at": true,
24
+ "windows_mode_ftp": true
25
+ }
26
+ ```
27
+
28
+ * `id` (string): Session ID
29
+ * `language` (string): Session language
30
+ * `login_token` (string): Login token. If set, this token will allow your user to log in via browser at the domain in `login_token_domain`.
31
+ * `login_token_domain` (string): Domain to use with `login_token`.
32
+ * `max_dir_listing_size` (int64): Maximum number of files to retrieve per folder for a directory listing. This is based on the user's plan.
33
+ * `multiple_regions` (boolean): Can access multiple regions?
34
+ * `read_only` (boolean): Is this session read only?
35
+ * `root_path` (string): Initial root path to start the user's session in.
36
+ * `site_id` (int64): Site ID
37
+ * `ssl_required` (boolean): Is SSL required for this user? (If so, ensure all your communications with this user use SSL.)
38
+ * `tls_disabled` (boolean): Is strong TLS disabled for this user? (If this is set to true, the site administrator has signaled that it is ok to use less secure TLS versions for this user.)
39
+ * `two_factor_setup_needed` (boolean): If true, this user needs to add a Two Factor Authentication method before performing any further actions.
40
+ * `allowed_2fa_method_sms` (boolean): Sent only if 2FA setup is needed. Is SMS two factor authentication allowed?
41
+ * `allowed_2fa_method_totp` (boolean): Sent only if 2FA setup is needed. Is TOTP two factor authentication allowed?
42
+ * `allowed_2fa_method_u2f` (boolean): Sent only if 2FA setup is needed. Is U2F two factor authentication allowed?
43
+ * `allowed_2fa_method_yubi` (boolean): Sent only if 2FA setup is needed. Is Yubikey two factor authentication allowed?
44
+ * `use_provided_modified_at` (boolean): Allow the user to provide file/folder modified at dates? If false, the server will always use the current date/time.
45
+ * `windows_mode_ftp` (boolean): Does this user want to use Windows line-ending emulation? (CR vs CRLF)
46
+ * `username` (string): Username to sign in as
47
+ * `password` (string): Password for sign in
48
+ * `otp` (string): If this user has a 2FA device, provide its OTP or code here.
49
+ * `partial_session_id` (string): Identifier for a partially-completed login
50
+
51
+
52
+ ---
53
+
54
+ ## Create user session (log in)
55
+
56
+ ```
57
+ Files::Session.create(
58
+ username: "username",
59
+ password: "password",
60
+ otp: "123456"
61
+ )
62
+ ```
63
+
64
+ ### Parameters
65
+
66
+ * `username` (string): Username to sign in as
67
+ * `password` (string): Password for sign in
68
+ * `otp` (string): If this user has a 2FA device, provide its OTP or code here.
69
+ * `partial_session_id` (string): Identifier for a partially-completed login
70
+
71
+
72
+ ---
73
+
74
+ ## Delete user session (log out)
75
+
76
+ ```
77
+ Files::Session.delete
78
+ ```
@@ -0,0 +1,448 @@
1
+ # Site
2
+
3
+ ## Example Site Object
4
+
5
+ ```
6
+ {
7
+ "name": "My Site",
8
+ "allowed_2fa_method_sms": true,
9
+ "allowed_2fa_method_totp": true,
10
+ "allowed_2fa_method_u2f": true,
11
+ "allowed_2fa_method_yubi": true,
12
+ "admin_user_id": 1,
13
+ "allow_bundle_names": true,
14
+ "allowed_ips": "",
15
+ "ask_about_overwrites": true,
16
+ "bundle_expiration": 1,
17
+ "bundle_password_required": true,
18
+ "color2_left": "#0066a7",
19
+ "color2_link": "#d34f5d",
20
+ "color2_text": "#0066a7",
21
+ "color2_top": "#000000",
22
+ "color2_top_text": "#ffffff",
23
+ "created_at": "2000-01-01T01:00:00Z",
24
+ "currency": "USD",
25
+ "custom_namespace": true,
26
+ "days_to_retain_backups": 30,
27
+ "default_time_zone": "Pacific Time (US & Canada)",
28
+ "desktop_app": true,
29
+ "desktop_app_session_ip_pinning": true,
30
+ "desktop_app_session_lifetime": 1,
31
+ "disable_notifications": true,
32
+ "disable_password_reset": true,
33
+ "domain": "my-custom-domain.com",
34
+ "email": "john.doe@files.com",
35
+ "non_sso_groups_allowed": true,
36
+ "non_sso_users_allowed": true,
37
+ "folder_permissions_groups_only": true,
38
+ "hipaa": true,
39
+ "icon128": "",
40
+ "icon16": "",
41
+ "icon32": "",
42
+ "icon48": "",
43
+ "immutable_files_set_at": "2000-01-01T01:00:00Z",
44
+ "include_password_in_welcome_email": true,
45
+ "language": "en",
46
+ "ldap_base_dn": "",
47
+ "ldap_domain": "mysite.com",
48
+ "ldap_enabled": true,
49
+ "ldap_group_action": "disabled",
50
+ "ldap_group_exclusion": "",
51
+ "ldap_group_inclusion": "",
52
+ "ldap_host": "ldap.site.com",
53
+ "ldap_host_2": "ldap2.site.com",
54
+ "ldap_host_3": "ldap3.site.com",
55
+ "ldap_port": 1,
56
+ "ldap_secure": true,
57
+ "ldap_type": "open_ldap",
58
+ "ldap_user_action": "disabled",
59
+ "ldap_user_include_groups": "",
60
+ "ldap_username": "[ldap username]",
61
+ "ldap_username_field": "sAMAccountName",
62
+ "login_help_text": "Login page help text.",
63
+ "logo": "",
64
+ "max_prior_passwords": 1,
65
+ "next_billing_amount": "",
66
+ "next_billing_date": "Apr 20",
67
+ "office_integration_available": true,
68
+ "opt_out_global": true,
69
+ "overage_notified_at": "2000-01-01T01:00:00Z",
70
+ "overage_notify": true,
71
+ "overdue": true,
72
+ "password_min_length": 1,
73
+ "password_require_letter": true,
74
+ "password_require_mixed": true,
75
+ "password_require_number": true,
76
+ "password_require_special": true,
77
+ "password_require_unbreached": true,
78
+ "password_requirements_apply_to_bundles": true,
79
+ "password_validity_days": 1,
80
+ "phone": "555-555-5555",
81
+ "require_2fa": true,
82
+ "require_2fa_stop_time": "2000-01-01T01:00:00Z",
83
+ "require_2fa_user_type": "`site_admins`",
84
+ "session": "",
85
+ "session_pinned_by_ip": true,
86
+ "sftp_user_root_enabled": true,
87
+ "sharing_enabled": true,
88
+ "show_request_access_link": true,
89
+ "site_footer": "",
90
+ "site_header": "",
91
+ "smtp_address": "smtp.my-mail-server.com",
92
+ "smtp_authentication": "plain",
93
+ "smtp_from": "me@my-mail-server.com",
94
+ "smtp_port": 25,
95
+ "smtp_username": "mail",
96
+ "session_expiry": 6.0,
97
+ "ssl_required": true,
98
+ "subdomain": "mysite",
99
+ "switch_to_plan_date": "2000-01-01T01:00:00Z",
100
+ "tls_disabled": true,
101
+ "trial_days_left": 1,
102
+ "trial_until": "2000-01-01T01:00:00Z",
103
+ "updated_at": "2000-01-01T01:00:00Z",
104
+ "use_provided_modified_at": true,
105
+ "user": "",
106
+ "user_lockout": true,
107
+ "user_lockout_lock_period": 1,
108
+ "user_lockout_tries": 1,
109
+ "user_lockout_within": 6,
110
+ "user_requests_enabled": true,
111
+ "welcome_custom_text": "Welcome to my site!",
112
+ "welcome_email_cc": "",
113
+ "welcome_email_enabled": true,
114
+ "welcome_screen": "user_controlled",
115
+ "windows_mode_ftp": true,
116
+ "disable_users_from_inactivity_period_days": 1
117
+ }
118
+ ```
119
+
120
+ * `name` (string): Site name
121
+ * `allowed_2fa_method_sms` (boolean): Is SMS two factor authentication allowed?
122
+ * `allowed_2fa_method_totp` (boolean): Is TOTP two factor authentication allowed?
123
+ * `allowed_2fa_method_u2f` (boolean): Is U2F two factor authentication allowed?
124
+ * `allowed_2fa_method_yubi` (boolean): Is yubikey two factor authentication allowed?
125
+ * `admin_user_id` (int64): User ID for the main site administrator
126
+ * `allow_bundle_names` (boolean): Are manual Bundle names allowed?
127
+ * `allowed_ips` (string): List of allowed IP addresses
128
+ * `ask_about_overwrites` (boolean): If false, rename conflicting files instead of asking for overwrite confirmation. Only applies to web interface.
129
+ * `bundle_expiration` (int64): Site-wide Bundle expiration in days
130
+ * `bundle_password_required` (boolean): Do Bundles require password protection?
131
+ * `color2_left` (string): Page link and button color
132
+ * `color2_link` (string): Top bar link color
133
+ * `color2_text` (string): Page link and button color
134
+ * `color2_top` (string): Top bar background color
135
+ * `color2_top_text` (string): Top bar text color
136
+ * `created_at` (date-time): Time this site was created
137
+ * `currency` (string): Preferred currency
138
+ * `custom_namespace` (boolean): Is this site using a custom namespace for users?
139
+ * `days_to_retain_backups` (int64): Number of days to keep deleted files
140
+ * `default_time_zone` (string): Site default time zone
141
+ * `desktop_app` (boolean): Is the desktop app enabled?
142
+ * `desktop_app_session_ip_pinning` (boolean): Is desktop app session IP pinning enabled?
143
+ * `desktop_app_session_lifetime` (int64): Desktop app session lifetime (in hours)
144
+ * `disable_notifications` (boolean): Are notifications disabled?
145
+ * `disable_password_reset` (boolean): Is password reset disabled?
146
+ * `domain` (string): Custom domain
147
+ * `email` (email): Main email for this site
148
+ * `non_sso_groups_allowed` (boolean): If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.
149
+ * `non_sso_users_allowed` (boolean): If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.
150
+ * `folder_permissions_groups_only` (boolean): If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user.
151
+ * `hipaa` (boolean): Is there a signed HIPAA BAA between Files.com and this site?
152
+ * `icon128`: Branded icon 128x128
153
+ * `icon16`: Branded icon 16x16
154
+ * `icon32`: Branded icon 32x32
155
+ * `icon48`: Branded icon 48x48
156
+ * `immutable_files_set_at` (date-time): Can files be modified?
157
+ * `include_password_in_welcome_email` (boolean): Include password in emails to new users?
158
+ * `language` (string): Site default language
159
+ * `ldap_base_dn` (string): Base DN for looking up users in LDAP server
160
+ * `ldap_domain` (string): Domain name that will be appended to usernames
161
+ * `ldap_enabled` (boolean): Main LDAP setting: is LDAP enabled?
162
+ * `ldap_group_action` (string): Should we sync groups from LDAP server?
163
+ * `ldap_group_exclusion` (string): Comma or newline separated list of group names (with optional wildcards) to exclude when syncing.
164
+ * `ldap_group_inclusion` (string): Comma or newline separated list of group names (with optional wildcards) to include when syncing.
165
+ * `ldap_host` (string): LDAP host
166
+ * `ldap_host_2` (string): LDAP backup host
167
+ * `ldap_host_3` (string): LDAP backup host
168
+ * `ldap_port` (int64): LDAP port
169
+ * `ldap_secure` (boolean): Use secure LDAP?
170
+ * `ldap_type` (string): LDAP type
171
+ * `ldap_user_action` (string): Should we sync users from LDAP server?
172
+ * `ldap_user_include_groups` (string): Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced.
173
+ * `ldap_username` (string): Username for signing in to LDAP server.
174
+ * `ldap_username_field` (string): LDAP username field
175
+ * `login_help_text` (string): Login help text
176
+ * `logo`: Branded logo
177
+ * `max_prior_passwords` (int64): Number of prior passwords to disallow
178
+ * `next_billing_amount` (double): Next billing amount
179
+ * `next_billing_date` (string): Next billing date
180
+ * `office_integration_available` (boolean): Allow users to use Office for the web?
181
+ * `opt_out_global` (boolean): Use servers in the USA only?
182
+ * `overage_notified_at` (date-time): Last time the site was notified about an overage
183
+ * `overage_notify` (boolean): Notify site email of overages?
184
+ * `overdue` (boolean): Is this site's billing overdue?
185
+ * `password_min_length` (int64): Shortest password length for users
186
+ * `password_require_letter` (boolean): Require a letter in passwords?
187
+ * `password_require_mixed` (boolean): Require lower and upper case letters in passwords?
188
+ * `password_require_number` (boolean): Require a number in passwords?
189
+ * `password_require_special` (boolean): Require special characters in password?
190
+ * `password_require_unbreached` (boolean): Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)
191
+ * `password_requirements_apply_to_bundles` (boolean): Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?
192
+ * `password_validity_days` (int64): Number of days password is valid
193
+ * `phone` (string): Site phone number
194
+ * `require_2fa` (boolean): Require two-factor authentication for all users?
195
+ * `require_2fa_stop_time` (date-time): If set, requirement for two-factor authentication has been scheduled to end on this date-time.
196
+ * `require_2fa_user_type` (string): What type of user is required to use two-factor authentication (when require_2fa is set to `true` for this site)?
197
+ * `session`: Current session
198
+ * `session_pinned_by_ip` (boolean): Are sessions locked to the same IP? (i.e. do users need to log in again if they change IPs?)
199
+ * `sftp_user_root_enabled` (boolean): Use user FTP roots also for SFTP?
200
+ * `sharing_enabled` (boolean): Allow bundle creation
201
+ * `show_request_access_link` (boolean): Show request access link for users without access? Currently unused.
202
+ * `site_footer` (string): Custom site footer text
203
+ * `site_header` (string): Custom site header text
204
+ * `smtp_address` (string): SMTP server hostname or IP
205
+ * `smtp_authentication` (string): SMTP server authentication type
206
+ * `smtp_from` (string): From address to use when mailing through custom SMTP
207
+ * `smtp_port` (int64): SMTP server port
208
+ * `smtp_username` (string): SMTP server username
209
+ * `session_expiry` (double): Session expiry in hours
210
+ * `ssl_required` (boolean): Is SSL required? Disabling this is insecure.
211
+ * `subdomain` (string): Site subdomain
212
+ * `switch_to_plan_date` (date-time): If switching plans, when does the new plan take effect?
213
+ * `tls_disabled` (boolean): Is TLS disabled(site setting)?
214
+ * `trial_days_left` (int64): Number of days left in trial
215
+ * `trial_until` (date-time): When does this Site trial expire?
216
+ * `updated_at` (date-time): Last time this Site was updated
217
+ * `use_provided_modified_at` (boolean): Allow uploaders to set `provided_modified_at` for uploaded files?
218
+ * `user`: User of current session
219
+ * `user_lockout` (boolean): Will users be locked out after incorrect login attempts?
220
+ * `user_lockout_lock_period` (int64): How many hours to lock user out for failed password?
221
+ * `user_lockout_tries` (int64): Number of login tries within `user_lockout_within` hours before users are locked out
222
+ * `user_lockout_within` (int64): Number of hours for user lockout window
223
+ * `user_requests_enabled` (boolean): Enable User Requests feature
224
+ * `welcome_custom_text` (string): Custom text send in user welcome email
225
+ * `welcome_email_cc` (email): Include this email in welcome emails if enabled
226
+ * `welcome_email_enabled` (boolean): Will the welcome email be sent to new users?
227
+ * `welcome_screen` (string): Does the welcome screen appear?
228
+ * `windows_mode_ftp` (boolean): Does FTP user Windows emulation mode?
229
+ * `disable_users_from_inactivity_period_days` (int64): If greater than zero, users will unable to login if they do not show activity within this number of days.
230
+
231
+
232
+ ---
233
+
234
+ ## Show site settings
235
+
236
+ ```
237
+ Files::Site.get
238
+ ```
239
+
240
+
241
+ ---
242
+
243
+ ## Get the most recent usage snapshot (usage data for billing purposes) for a Site
244
+
245
+ ```
246
+ Files::Site.get_usage
247
+ ```
248
+
249
+
250
+ ---
251
+
252
+ ## Update site settings
253
+
254
+ ```
255
+ Files::Site.update(
256
+ name: "My Site",
257
+ subdomain: "mysite",
258
+ domain: "my-custom-domain.com",
259
+ email: "john.doe@files.com",
260
+ allow_bundle_names: true,
261
+ bundle_expiration: 1,
262
+ overage_notify: true,
263
+ welcome_email_enabled: true,
264
+ ask_about_overwrites: true,
265
+ show_request_access_link: true,
266
+ welcome_custom_text: "Welcome to my site!",
267
+ language: "en",
268
+ windows_mode_ftp: true,
269
+ default_time_zone: "Pacific Time (US & Canada)",
270
+ desktop_app: true,
271
+ desktop_app_session_ip_pinning: true,
272
+ desktop_app_session_lifetime: 1,
273
+ folder_permissions_groups_only: true,
274
+ welcome_screen: "user_controlled",
275
+ office_integration_available: true,
276
+ session_expiry: 1.0,
277
+ ssl_required: true,
278
+ tls_disabled: true,
279
+ user_lockout: true,
280
+ user_lockout_tries: 1,
281
+ user_lockout_within: 1,
282
+ user_lockout_lock_period: 1,
283
+ include_password_in_welcome_email: true,
284
+ days_to_retain_backups: 1,
285
+ max_prior_passwords: 1,
286
+ password_validity_days: 1,
287
+ password_min_length: 1,
288
+ password_require_letter: true,
289
+ password_require_mixed: true,
290
+ password_require_special: true,
291
+ password_require_number: true,
292
+ password_require_unbreached: true,
293
+ sftp_user_root_enabled: true,
294
+ disable_password_reset: true,
295
+ immutable_files: true,
296
+ session_pinned_by_ip: true,
297
+ bundle_password_required: true,
298
+ password_requirements_apply_to_bundles: true,
299
+ opt_out_global: true,
300
+ use_provided_modified_at: true,
301
+ custom_namespace: true,
302
+ disable_users_from_inactivity_period_days: 1,
303
+ non_sso_groups_allowed: true,
304
+ non_sso_users_allowed: true,
305
+ sharing_enabled: true,
306
+ user_requests_enabled: true,
307
+ allowed_2fa_method_sms: true,
308
+ allowed_2fa_method_u2f: true,
309
+ allowed_2fa_method_totp: true,
310
+ allowed_2fa_method_yubi: true,
311
+ require_2fa: true,
312
+ require_2fa_user_type: "`site_admins`",
313
+ color2_top: "#000000",
314
+ color2_left: "#0066a7",
315
+ color2_link: "#d34f5d",
316
+ color2_text: "#0066a7",
317
+ color2_top_text: "#ffffff",
318
+ login_help_text: "Login page help text.",
319
+ smtp_address: "smtp.my-mail-server.com",
320
+ smtp_authentication: "plain",
321
+ smtp_from: "me@my-mail-server.com",
322
+ smtp_username: "mail",
323
+ smtp_port: 1,
324
+ ldap_enabled: true,
325
+ ldap_type: "open_ldap",
326
+ ldap_host: "ldap.site.com",
327
+ ldap_host_2: "ldap2.site.com",
328
+ ldap_host_3: "ldap3.site.com",
329
+ ldap_port: 1,
330
+ ldap_secure: true,
331
+ ldap_username: "[ldap username]",
332
+ ldap_username_field: "sAMAccountName",
333
+ ldap_domain: "mysite.com",
334
+ ldap_user_action: "disabled",
335
+ ldap_group_action: "disabled",
336
+ icon16_delete: true,
337
+ icon32_delete: true,
338
+ icon48_delete: true,
339
+ icon128_delete: true,
340
+ logo_delete: true,
341
+ disable_2fa_with_delay: true
342
+ )
343
+ ```
344
+
345
+ ### Parameters
346
+
347
+ * `name` (string): Site name
348
+ * `subdomain` (string): Site subdomain
349
+ * `domain` (string): Custom domain
350
+ * `email` (string): Main email for this site
351
+ * `allow_bundle_names` (boolean): Are manual Bundle names allowed?
352
+ * `bundle_expiration` (int64): Site-wide Bundle expiration in days
353
+ * `overage_notify` (boolean): Notify site email of overages?
354
+ * `welcome_email_enabled` (boolean): Will the welcome email be sent to new users?
355
+ * `ask_about_overwrites` (boolean): If false, rename conflicting files instead of asking for overwrite confirmation. Only applies to web interface.
356
+ * `show_request_access_link` (boolean): Show request access link for users without access? Currently unused.
357
+ * `welcome_email_cc` (string): Include this email in welcome emails if enabled
358
+ * `welcome_custom_text` (string): Custom text send in user welcome email
359
+ * `language` (string): Site default language
360
+ * `windows_mode_ftp` (boolean): Does FTP user Windows emulation mode?
361
+ * `default_time_zone` (string): Site default time zone
362
+ * `desktop_app` (boolean): Is the desktop app enabled?
363
+ * `desktop_app_session_ip_pinning` (boolean): Is desktop app session IP pinning enabled?
364
+ * `desktop_app_session_lifetime` (int64): Desktop app session lifetime (in hours)
365
+ * `folder_permissions_groups_only` (boolean): If true, permissions for this site must be bound to a group (not a user). Otherwise, permissions must be bound to a user.
366
+ * `welcome_screen` (string): Does the welcome screen appear?
367
+ * `office_integration_available` (boolean): Allow users to use Office for the web?
368
+ * `session_expiry` (double): Session expiry in hours
369
+ * `ssl_required` (boolean): Is SSL required? Disabling this is insecure.
370
+ * `tls_disabled` (boolean): Is TLS disabled(site setting)?
371
+ * `user_lockout` (boolean): Will users be locked out after incorrect login attempts?
372
+ * `user_lockout_tries` (int64): Number of login tries within `user_lockout_within` hours before users are locked out
373
+ * `user_lockout_within` (int64): Number of hours for user lockout window
374
+ * `user_lockout_lock_period` (int64): How many hours to lock user out for failed password?
375
+ * `include_password_in_welcome_email` (boolean): Include password in emails to new users?
376
+ * `allowed_ips` (string): List of allowed IP addresses
377
+ * `days_to_retain_backups` (int64): Number of days to keep deleted files
378
+ * `max_prior_passwords` (int64): Number of prior passwords to disallow
379
+ * `password_validity_days` (int64): Number of days password is valid
380
+ * `password_min_length` (int64): Shortest password length for users
381
+ * `password_require_letter` (boolean): Require a letter in passwords?
382
+ * `password_require_mixed` (boolean): Require lower and upper case letters in passwords?
383
+ * `password_require_special` (boolean): Require special characters in password?
384
+ * `password_require_number` (boolean): Require a number in passwords?
385
+ * `password_require_unbreached` (boolean): Require passwords that have not been previously breached? (see https://haveibeenpwned.com/)
386
+ * `sftp_user_root_enabled` (boolean): Use user FTP roots also for SFTP?
387
+ * `disable_password_reset` (boolean): Is password reset disabled?
388
+ * `immutable_files` (boolean): Are files protected from modification?
389
+ * `session_pinned_by_ip` (boolean): Are sessions locked to the same IP? (i.e. do users need to log in again if they change IPs?)
390
+ * `bundle_password_required` (boolean): Do Bundles require password protection?
391
+ * `password_requirements_apply_to_bundles` (boolean): Require bundles' passwords, and passwords for other items (inboxes, public shares, etc.) to conform to the same requirements as users' passwords?
392
+ * `opt_out_global` (boolean): Use servers in the USA only?
393
+ * `use_provided_modified_at` (boolean): Allow uploaders to set `provided_modified_at` for uploaded files?
394
+ * `custom_namespace` (boolean): Is this site using a custom namespace for users?
395
+ * `disable_users_from_inactivity_period_days` (int64): If greater than zero, users will unable to login if they do not show activity within this number of days.
396
+ * `non_sso_groups_allowed` (boolean): If true, groups can be manually created / modified / deleted by Site Admins. Otherwise, groups can only be managed via your SSO provider.
397
+ * `non_sso_users_allowed` (boolean): If true, users can be manually created / modified / deleted by Site Admins. Otherwise, users can only be managed via your SSO provider.
398
+ * `sharing_enabled` (boolean): Allow bundle creation
399
+ * `user_requests_enabled` (boolean): Enable User Requests feature
400
+ * `allowed_2fa_method_sms` (boolean): Is SMS two factor authentication allowed?
401
+ * `allowed_2fa_method_u2f` (boolean): Is U2F two factor authentication allowed?
402
+ * `allowed_2fa_method_totp` (boolean): Is TOTP two factor authentication allowed?
403
+ * `allowed_2fa_method_yubi` (boolean): Is yubikey two factor authentication allowed?
404
+ * `require_2fa` (boolean): Require two-factor authentication for all users?
405
+ * `require_2fa_user_type` (string): What type of user is required to use two-factor authentication (when require_2fa is set to `true` for this site)?
406
+ * `color2_top` (string): Top bar background color
407
+ * `color2_left` (string): Page link and button color
408
+ * `color2_link` (string): Top bar link color
409
+ * `color2_text` (string): Page link and button color
410
+ * `color2_top_text` (string): Top bar text color
411
+ * `site_header` (string): Custom site header text
412
+ * `site_footer` (string): Custom site footer text
413
+ * `login_help_text` (string): Login help text
414
+ * `smtp_address` (string): SMTP server hostname or IP
415
+ * `smtp_authentication` (string): SMTP server authentication type
416
+ * `smtp_from` (string): From address to use when mailing through custom SMTP
417
+ * `smtp_username` (string): SMTP server username
418
+ * `smtp_port` (int64): SMTP server port
419
+ * `ldap_enabled` (boolean): Main LDAP setting: is LDAP enabled?
420
+ * `ldap_type` (string): LDAP type
421
+ * `ldap_host` (string): LDAP host
422
+ * `ldap_host_2` (string): LDAP backup host
423
+ * `ldap_host_3` (string): LDAP backup host
424
+ * `ldap_port` (int64): LDAP port
425
+ * `ldap_secure` (boolean): Use secure LDAP?
426
+ * `ldap_username` (string): Username for signing in to LDAP server.
427
+ * `ldap_username_field` (string): LDAP username field
428
+ * `ldap_domain` (string): Domain name that will be appended to usernames
429
+ * `ldap_user_action` (string): Should we sync users from LDAP server?
430
+ * `ldap_group_action` (string): Should we sync groups from LDAP server?
431
+ * `ldap_user_include_groups` (string): Comma or newline separated list of group names (with optional wildcards) - if provided, only users in these groups will be added or synced.
432
+ * `ldap_group_exclusion` (string): Comma or newline separated list of group names (with optional wildcards) to exclude when syncing.
433
+ * `ldap_group_inclusion` (string): Comma or newline separated list of group names (with optional wildcards) to include when syncing.
434
+ * `ldap_base_dn` (string): Base DN for looking up users in LDAP server
435
+ * `icon16_file` (file):
436
+ * `icon16_delete` (boolean): If true, will delete the file stored in icon16
437
+ * `icon32_file` (file):
438
+ * `icon32_delete` (boolean): If true, will delete the file stored in icon32
439
+ * `icon48_file` (file):
440
+ * `icon48_delete` (boolean): If true, will delete the file stored in icon48
441
+ * `icon128_file` (file):
442
+ * `icon128_delete` (boolean): If true, will delete the file stored in icon128
443
+ * `logo_file` (file):
444
+ * `logo_delete` (boolean): If true, will delete the file stored in logo
445
+ * `disable_2fa_with_delay` (boolean): If set to true, we will begin the process of disabling 2FA on this site.
446
+ * `ldap_password_change` (string): New LDAP password.
447
+ * `ldap_password_change_confirmation` (string): Confirm new LDAP password.
448
+ * `smtp_password` (string): Password for SMTP server.