comet_backup_ruby_sdk 1.13.0 → 2.0.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/Gemfile +2 -4
  4. data/Gemfile.lock +1 -1
  5. data/LICENSE +0 -0
  6. data/README.md +3 -2
  7. data/Rakefile +2 -4
  8. data/comet_backup_ruby_sdk.gemspec +1 -1
  9. data/lib/comet/api_response_error.rb +2 -4
  10. data/lib/comet/comet_server.rb +60 -17
  11. data/lib/comet/definitions.rb +50 -7
  12. data/lib/comet/models/add_bucket_response_message.rb +2 -4
  13. data/lib/comet/models/admin_account_properties_response.rb +2 -4
  14. data/lib/comet/models/admin_email_options.rb +2 -4
  15. data/lib/comet/models/admin_resource_response.rb +2 -4
  16. data/lib/comet/models/admin_security_options.rb +2 -4
  17. data/lib/comet/models/admin_u2fregistration.rb +2 -4
  18. data/lib/comet/models/admin_user_permissions.rb +2 -4
  19. data/lib/comet/models/admin_web_authn_registration.rb +2 -4
  20. data/lib/comet/models/allowed_admin_user.rb +2 -4
  21. data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +91 -0
  22. data/lib/comet/models/authentication_role_options.rb +139 -0
  23. data/lib/comet/models/available_download.rb +2 -4
  24. data/lib/comet/models/azure_destination_location.rb +2 -4
  25. data/lib/comet/models/b2destination_location.rb +2 -4
  26. data/lib/comet/models/b2storage_extra_info.rb +2 -4
  27. data/lib/comet/models/b2transaction_totals.rb +2 -4
  28. data/lib/comet/models/b2virtual_storage_role_settings.rb +2 -4
  29. data/lib/comet/models/backup_job_advanced_options.rb +2 -4
  30. data/lib/comet/models/backup_job_detail.rb +2 -4
  31. data/lib/comet/models/backup_job_progress.rb +2 -4
  32. data/lib/comet/models/backup_rule_config.rb +2 -4
  33. data/lib/comet/models/backup_rule_event_triggers.rb +2 -4
  34. data/lib/comet/models/branding_options.rb +11 -4
  35. data/lib/comet/models/branding_properties.rb +11 -4
  36. data/lib/comet/models/browse_disk_drives_response.rb +2 -4
  37. data/lib/comet/models/browse_edbresponse.rb +2 -4
  38. data/lib/comet/models/browse_hvresponse.rb +2 -4
  39. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +2 -4
  40. data/lib/comet/models/browse_office_365objects_response.rb +2 -4
  41. data/lib/comet/models/browse_sqlserver_response.rb +2 -4
  42. data/lib/comet/models/browse_vssresponse.rb +2 -4
  43. data/lib/comet/models/bucket_properties.rb +2 -4
  44. data/lib/comet/models/bucket_usage_info.rb +2 -4
  45. data/lib/comet/models/comet_apiresponse_message.rb +2 -4
  46. data/lib/comet/models/comet_destination_location.rb +2 -4
  47. data/lib/comet/models/constellation_check_report.rb +2 -4
  48. data/lib/comet/models/constellation_role_options.rb +91 -0
  49. data/lib/comet/models/constellation_stats.rb +2 -4
  50. data/lib/comet/models/constellation_status_apiresponse.rb +2 -4
  51. data/lib/comet/models/content_measurement.rb +2 -4
  52. data/lib/comet/models/content_measurement_component.rb +2 -4
  53. data/lib/comet/models/create_group_policy_response.rb +2 -4
  54. data/lib/comet/models/custom_remote_bucket_settings.rb +2 -4
  55. data/lib/comet/models/days_of_week_config.rb +2 -4
  56. data/lib/comet/models/default_email_report_policy.rb +2 -4
  57. data/lib/comet/models/default_source_with_osrestriction.rb +2 -4
  58. data/lib/comet/models/destination_config.rb +2 -4
  59. data/lib/comet/models/destination_location.rb +2 -4
  60. data/lib/comet/models/destination_statistics.rb +2 -4
  61. data/lib/comet/models/device_config.rb +2 -4
  62. data/lib/comet/models/disk_drive.rb +2 -4
  63. data/lib/comet/models/dispatcher_admin_sources_response.rb +2 -4
  64. data/lib/comet/models/dispatcher_stored_objects_response.rb +2 -4
  65. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +2 -4
  66. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +2 -4
  67. data/lib/comet/models/edbfile_info.rb +2 -4
  68. data/lib/comet/models/email_options.rb +2 -4
  69. data/lib/comet/models/email_report_config.rb +2 -4
  70. data/lib/comet/models/email_report_generated_preview.rb +2 -4
  71. data/lib/comet/models/external_authentication_source.rb +184 -0
  72. data/lib/comet/models/external_ldapauthentication_source_server.rb +97 -0
  73. data/lib/comet/models/external_ldapauthentication_source_settings.rb +23 -10
  74. data/lib/comet/models/extra_file_exclusion.rb +2 -4
  75. data/lib/comet/models/ftpdestination_location.rb +2 -4
  76. data/lib/comet/models/get_group_policy_response.rb +2 -4
  77. data/lib/comet/models/get_profile_and_hash_response_message.rb +2 -4
  78. data/lib/comet/models/get_profile_hash_response_message.rb +2 -4
  79. data/lib/comet/models/group_policy.rb +2 -4
  80. data/lib/comet/models/hour_sched_config.rb +2 -4
  81. data/lib/comet/models/httpconnector_options.rb +139 -0
  82. data/lib/comet/models/hyper_vmachine_info.rb +2 -4
  83. data/lib/comet/models/install_creds.rb +2 -4
  84. data/lib/comet/models/install_token.rb +2 -4
  85. data/lib/comet/models/install_token_response.rb +2 -4
  86. data/lib/comet/models/job_entry.rb +2 -4
  87. data/lib/comet/models/license_options.rb +84 -0
  88. data/lib/comet/models/live_user_connection.rb +2 -4
  89. data/lib/comet/models/local_destination_location.rb +2 -4
  90. data/lib/comet/models/local_storage_directory.rb +73 -0
  91. data/lib/comet/models/mac_oscode_sign_properties.rb +2 -4
  92. data/lib/comet/models/mongo_dbconnection.rb +2 -4
  93. data/lib/comet/models/mssqlconnection.rb +2 -4
  94. data/lib/comet/models/my_sqlconnection.rb +2 -4
  95. data/lib/comet/models/new_bucket_detail.rb +2 -4
  96. data/lib/comet/models/news_entry.rb +2 -4
  97. data/lib/comet/models/office_365connection.rb +2 -4
  98. data/lib/comet/models/office_365credential.rb +2 -4
  99. data/lib/comet/models/office_365custom_setting.rb +2 -4
  100. data/lib/comet/models/office_365custom_setting_v2.rb +2 -4
  101. data/lib/comet/models/office_365mixed_virtual_account.rb +2 -4
  102. data/lib/comet/models/office_365object_info.rb +2 -4
  103. data/lib/comet/models/organization.rb +5 -7
  104. data/lib/comet/models/organization_response.rb +2 -4
  105. data/lib/comet/models/osinfo.rb +2 -4
  106. data/lib/comet/models/partition.rb +2 -4
  107. data/lib/comet/models/private_branding_properties.rb +11 -4
  108. data/lib/comet/models/protected_item_engine_type_policy.rb +2 -4
  109. data/lib/comet/models/public_branding_properties.rb +2 -4
  110. data/lib/comet/models/ratelimit_options.rb +81 -0
  111. data/lib/comet/models/ratelimit_rule.rb +82 -0
  112. data/lib/comet/models/register_office_application_begin_response.rb +2 -4
  113. data/lib/comet/models/register_office_application_check_response.rb +2 -4
  114. data/lib/comet/models/remote_server_address.rb +23 -4
  115. data/lib/comet/models/remote_storage_option.rb +23 -4
  116. data/lib/comet/models/replica_server.rb +187 -0
  117. data/lib/comet/models/replicator_state_apiresponse.rb +2 -4
  118. data/lib/comet/models/request_storage_vault_response_message.rb +2 -4
  119. data/lib/comet/models/restore_job_advanced_options.rb +2 -4
  120. data/lib/comet/models/retention_policy.rb +2 -4
  121. data/lib/comet/models/retention_range.rb +2 -4
  122. data/lib/comet/models/s3destination_location.rb +2 -4
  123. data/lib/comet/models/s3generic_virtual_storage_role.rb +109 -0
  124. data/lib/comet/models/schedule_config.rb +13 -4
  125. data/lib/comet/models/search_clause.rb +2 -4
  126. data/lib/comet/models/self_backup_options.rb +79 -0
  127. data/lib/comet/models/self_backup_statistics.rb +2 -4
  128. data/lib/comet/models/self_backup_target.rb +137 -0
  129. data/lib/comet/models/server_config_options.rb +253 -0
  130. data/lib/comet/models/server_config_options_branding_fragment.rb +2 -4
  131. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +2 -4
  132. data/lib/comet/models/server_meta_branding_properties.rb +2 -4
  133. data/lib/comet/models/server_meta_version_info.rb +2 -4
  134. data/lib/comet/models/session_key_regenerated_response.rb +2 -4
  135. data/lib/comet/models/session_options.rb +73 -0
  136. data/lib/comet/models/sftpdestination_location.rb +2 -4
  137. data/lib/comet/models/size_measurement.rb +2 -4
  138. data/lib/comet/models/software_build_role_options.rb +2 -4
  139. data/lib/comet/models/software_update_news_response.rb +2 -4
  140. data/lib/comet/models/source_basic_info.rb +2 -4
  141. data/lib/comet/models/source_config.rb +2 -4
  142. data/lib/comet/models/source_include_pattern.rb +2 -4
  143. data/lib/comet/models/source_statistics.rb +2 -4
  144. data/lib/comet/models/spanned_destination_location.rb +2 -4
  145. data/lib/comet/models/spanned_storage_extra_info.rb +2 -4
  146. data/lib/comet/models/sshconnection.rb +2 -4
  147. data/lib/comet/models/stat_result.rb +2 -4
  148. data/lib/comet/models/storage_free_space_info.rb +2 -4
  149. data/lib/comet/models/storage_role_options.rb +110 -0
  150. data/lib/comet/models/storage_vault_provider_policy.rb +2 -4
  151. data/lib/comet/models/stored_object.rb +2 -4
  152. data/lib/comet/models/streamable_event.rb +2 -4
  153. data/lib/comet/models/swift_destination_location.rb +2 -4
  154. data/lib/comet/models/test_response.rb +2 -4
  155. data/lib/comet/models/totp_regenerated_response.rb +2 -4
  156. data/lib/comet/models/u2fregister_request.rb +2 -4
  157. data/lib/comet/models/u2fregistered_key.rb +2 -4
  158. data/lib/comet/models/u2fregistration_challenge_response.rb +2 -4
  159. data/lib/comet/models/u2fsign_request.rb +2 -4
  160. data/lib/comet/models/u2fsign_response.rb +2 -4
  161. data/lib/comet/models/uninstall_config.rb +2 -4
  162. data/lib/comet/models/update_campaign_device_status.rb +2 -4
  163. data/lib/comet/models/update_campaign_options.rb +2 -4
  164. data/lib/comet/models/update_campaign_properties.rb +2 -4
  165. data/lib/comet/models/update_campaign_status.rb +2 -4
  166. data/lib/comet/models/update_campaign_status_device_entry.rb +2 -4
  167. data/lib/comet/models/user_custom_email_settings.rb +2 -4
  168. data/lib/comet/models/user_on_server.rb +2 -4
  169. data/lib/comet/models/user_policy.rb +2 -4
  170. data/lib/comet/models/user_profile_config.rb +2 -4
  171. data/lib/comet/models/user_profile_fragment.rb +2 -4
  172. data/lib/comet/models/vault_snapshot.rb +2 -4
  173. data/lib/comet/models/vmdksnapshot_view_options.rb +2 -4
  174. data/lib/comet/models/vsscomponent.rb +2 -4
  175. data/lib/comet/models/vsswriter_info.rb +2 -4
  176. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +2 -4
  177. data/lib/comet/models/web_authn_authenticator_selection.rb +2 -4
  178. data/lib/comet/models/web_authn_credential.rb +2 -4
  179. data/lib/comet/models/web_authn_credential_assertion.rb +2 -4
  180. data/lib/comet/models/web_authn_credential_descriptor.rb +2 -4
  181. data/lib/comet/models/web_authn_credential_entity.rb +2 -4
  182. data/lib/comet/models/web_authn_credential_parameter.rb +2 -4
  183. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +2 -4
  184. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +2 -4
  185. data/lib/comet/models/web_authn_registration_challenge_response.rb +2 -4
  186. data/lib/comet/models/web_authn_relying_party_entity.rb +2 -4
  187. data/lib/comet/models/web_authn_sign_request.rb +2 -4
  188. data/lib/comet/models/web_authn_sign_response.rb +2 -4
  189. data/lib/comet/models/web_authn_user_entity.rb +2 -4
  190. data/lib/comet/models/web_interface_branding_properties.rb +2 -4
  191. data/lib/comet/models/webhook_option.rb +2 -4
  192. data/lib/comet/models/win_smbauth.rb +2 -4
  193. data/lib/comet/models/windows_code_sign_properties.rb +2 -4
  194. data/lib/comet_backup_ruby_sdk.rb +19 -4
  195. metadata +19 -2
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: fd41ef7f0ce9f54555af78b82719b073f2bdedb8a1fac79da00fcfff58a82aae
4
- data.tar.gz: aca0a1786bd48d8ed2f61a080c02fda37ac8d6b2bffc75421c3a37ea51c993a3
3
+ metadata.gz: 32e7a6800c1e43d0b3f33497694693dd69a090317a03ecee5a4ab8dcdbf3a8a5
4
+ data.tar.gz: ecbcdf90a4cf337d0f02c52c927481607611cc8f1c0c0859f2ff300e27e36a0a
5
5
  SHA512:
6
- metadata.gz: 34d97b5cf4cd1bd01ee04602688b5f5355e2cbe3b5667aef32973d0f7298178cef7fb3678f4a26ecbd524cc88a03ebcce1837398be4ad1bb9e6656508ce53c8e
7
- data.tar.gz: 2c205b4ead8426f4e380977510b99069a74d9233ede9d1dce74c6ca43bede641784c5edd275a9a863bfd3a938d0a40484fa87155a0d53e0bd69656723d0fc919
6
+ metadata.gz: 1d27e14ede1f37a25afb39292f5151b85822111c9222c45718e2e3fe25a6e0496d3dd0d327eff7887eebd50c3cc817bc6e68be1034963eb451081dc32cb9fad3
7
+ data.tar.gz: e76b0af2406eb542afc776130c1ae1d56e4ec6d94bca5ea4118eca1b1563a0f4b925c38ddacc686014bd19d69462da4c80a608d47c97e6de269b62b639ec019c
data/CHANGELOG.md CHANGED
@@ -1,5 +1,26 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2022-06-28 v2.0.0
4
+ - Based on 22.6.2
5
+ - **BREAKING:** The `Organization.Email` class member is now declared as `EmailOptions` type instead of `AdminEmailOptions`. This change is fully backward-compatible on the HTTP/JSON level, but may cause issues if your application code checked this type explicitly
6
+ - **BREAKING:** The `AdminOrganizationDeleteRequest` API's response type has changed to be `APIResponseMessage`, not `OrganizationResponse`. The Comet Server API had only ever filled in the `APIResponseMessage`-compatible fields of the `OrganizationResponse` structure, so the HTTP/JSON response is unchanged, but this may cause issues if your application code checked this type explicitly
7
+ - Move `frozen_string_literal` declaration to the top line of all `*.rb` files
8
+ - "Requestable" Storage Vaults have been renamed to "Storage Templates". The API endpoint is unchanged, so this is backward-compatible with older Comet Server instances
9
+ - Document all `ServerConfigOptions` types for the `AdminMetaServerConfigSet` and `AdminMetaServerConfigGet` APIs
10
+ - Add new `FallbackServers` option for LDAP external authentication sources
11
+ - Add new `RandomDelaySecs` option for job schedules
12
+
13
+ ## 2022-06-03 v1.15.0
14
+ - Based on 22.5.0
15
+ - Add `COMPRESS_*` compression settings for Self-Backups
16
+ - Add `RESTOREARCHIVEFORMAT_TARZSTD` for using the tar.zst archive restore format
17
+ - Add `target_organization` parameter to support cross-tenant operations in some API methods
18
+
19
+ ## 2022-05-25 v1.14.0
20
+ - Based on 22.3.7
21
+ - Add new `REMOTESERVER_S3_GENERIC` `RemoteServerType`
22
+ - Add new `S3GenericVirtualStorageRole` support to the `RemoteServerAddress`
23
+
3
24
  ## 2022-05-10 v1.13.0
4
25
  - Based on 22.3.5
5
26
  - Add new `RestrictRuntime`, `FromTime`, `ToTime`, `RestrictDays`, `DaysSelect` types to ScheduleConfig to add time and day restrictions in a hourly schedule.
data/Gemfile CHANGED
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  source 'https://rubygems.org'
11
9
 
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comet_backup_ruby_sdk (1.13.0)
4
+ comet_backup_ruby_sdk (2.0.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
data/LICENSE CHANGED
File without changes
data/README.md CHANGED
@@ -81,8 +81,9 @@ end
81
81
 
82
82
  ### Running SDK test suite
83
83
 
84
- ```ruby
85
- bundle exec rake rubocop
84
+ ```bash
85
+ # safe formatting/fixing and linting
86
+ bundle exec rake rubocop -a
86
87
 
87
88
  COMETSERVER_ADDRESS='http://127.0.0.1:8060' \
88
89
  COMETSERVER_ADMINUSER=admin \
data/Rakefile CHANGED
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'rake/testtask'
11
9
  require 'rubocop/rake_task'
@@ -12,7 +12,7 @@ $LOAD_PATH.unshift(lib) unless $LOAD_PATH.include?(lib)
12
12
 
13
13
  Gem::Specification.new do |spec|
14
14
  spec.name = 'comet_backup_ruby_sdk'
15
- spec.version = '1.13.0'
15
+ spec.version = '2.0.0'
16
16
  spec.authors = ['Comet Licensing Ltd.']
17
17
  spec.email = ['hello@cometbackup.com']
18
18
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  module Comet
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'net/http'
11
9
  require 'json'
@@ -314,8 +312,9 @@ module Comet
314
312
  # @param [String] target_password New account password
315
313
  # @param [Number] store_recovery_code (Optional) If set to 1, store and keep a password recovery code for the generated user (>= 18.3.9)
316
314
  # @param [Number] require_password_change (Optional) If set to 1, require to reset password at the first login for the generated user (>= 20.3.4)
315
+ # @param [String] target_organization (Optional) If present, create the user account on behalf of another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)
317
316
  # @return [Comet::CometAPIResponseMessage]
318
- def admin_add_user(target_user, target_password, store_recovery_code = nil, require_password_change = nil)
317
+ def admin_add_user(target_user, target_password, store_recovery_code = nil, require_password_change = nil, target_organization = nil)
319
318
  submit_params = {}
320
319
  raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
321
320
 
@@ -333,6 +332,11 @@ module Comet
333
332
 
334
333
  submit_params['RequirePasswordChange'] = require_password_change
335
334
  end
335
+ unless target_organization.nil?
336
+ raise TypeError, "'target_organization' expected String, got #{target_organization.class}" unless target_organization.is_a? String
337
+
338
+ submit_params['TargetOrganization'] = target_organization
339
+ end
336
340
 
337
341
  body = perform_request('api/v1/admin/add-user', submit_params)
338
342
  json_body = JSON.parse body
@@ -352,8 +356,9 @@ module Comet
352
356
  #
353
357
  # @param [String] target_user New account username
354
358
  # @param [Comet::UserProfileConfig] profile_data New account profile
359
+ # @param [String] target_organization (Optional) If present, create the user account on behalf of another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)
355
360
  # @return [Comet::CometAPIResponseMessage]
356
- def admin_add_user_from_profile(target_user, profile_data)
361
+ def admin_add_user_from_profile(target_user, profile_data, target_organization = nil)
357
362
  submit_params = {}
358
363
  raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
359
364
 
@@ -361,6 +366,11 @@ module Comet
361
366
  raise TypeError, "'profile_data' expected Comet::UserProfileConfig, got #{profile_data.class}" unless profile_data.is_a? Comet::UserProfileConfig
362
367
 
363
368
  submit_params['ProfileData'] = profile_data.to_json
369
+ unless target_organization.nil?
370
+ raise TypeError, "'target_organization' expected String, got #{target_organization.class}" unless target_organization.is_a? String
371
+
372
+ submit_params['TargetOrganization'] = target_organization
373
+ end
364
374
 
365
375
  body = perform_request('api/v1/admin/add-user-from-profile', submit_params)
366
376
  json_body = JSON.parse body
@@ -2180,7 +2190,9 @@ module Comet
2180
2190
  #
2181
2191
  # This API will return all jobs that either started or ended within the supplied range.
2182
2192
  #
2183
- # Incomplete jobs have an end time of `0`. You can use this API to find incomplete jobs by setting both `Start` and `End` to `0`.
2193
+ # Incomplete jobs have an end time of `0`. You can use this API to find only incomplete jobs by setting both `Start` and `End` to `0`.
2194
+ #
2195
+ # Prior to Comet Server 22.6.0, additional Incomplete jobs may have been returned if you specified non-zero arguments for both `Start` and `End`.
2184
2196
  #
2185
2197
  # You must supply administrator authentication credentials to use this API.
2186
2198
  # This API requires the Auth Role to be enabled.
@@ -2586,7 +2598,7 @@ module Comet
2586
2598
 
2587
2599
  # AdminMetaRemoteStorageVaultSet
2588
2600
  #
2589
- # Set Requestable Remote Storage Vault options.
2601
+ # Set Storage template vault options.
2590
2602
  #
2591
2603
  # You must supply administrator authentication credentials to use this API.
2592
2604
  # Access to this API may be prevented on a per-administrator basis.
@@ -2974,12 +2986,14 @@ module Comet
2974
2986
  #
2975
2987
  # Delete an organization and all related users.
2976
2988
  #
2989
+ # Prior to Comet 22.6.0, this API was documented as returning the OrganizationResponse type. However, it always has returned only a CometAPIResponseMessage.
2990
+ #
2977
2991
  # You must supply administrator authentication credentials to use this API.
2978
2992
  # This API is only available for administrator accounts in the top-level Organization, not in any other Organization.
2979
2993
  #
2980
2994
  # @param [String] organization_id (Optional) (No description available)
2981
2995
  # @param [Comet::UninstallConfig] uninstall_config (Optional) Uninstall software configuration
2982
- # @return [Comet::OrganizationResponse]
2996
+ # @return [Comet::CometAPIResponseMessage]
2983
2997
  def admin_organization_delete(organization_id = nil, uninstall_config = nil)
2984
2998
  submit_params = {}
2985
2999
  unless organization_id.nil?
@@ -2996,7 +3010,7 @@ module Comet
2996
3010
  body = perform_request('api/v1/admin/organization/delete', submit_params)
2997
3011
  json_body = JSON.parse body
2998
3012
  check_status json_body
2999
- ret = Comet::OrganizationResponse.new
3013
+ ret = Comet::CometAPIResponseMessage.new
3000
3014
  ret.from_hash(json_body)
3001
3015
  ret
3002
3016
  end
@@ -3029,6 +3043,8 @@ module Comet
3029
3043
  #
3030
3044
  # Create or Update an Organization.
3031
3045
  #
3046
+ # Prior to Comet 22.6.0, the 'ID' and 'Organization' fields were not present in the response.
3047
+ #
3032
3048
  # You must supply administrator authentication credentials to use this API.
3033
3049
  # This API is only available for administrator accounts in the top-level Organization, not in any other Organization.
3034
3050
  #
@@ -3106,13 +3122,22 @@ module Comet
3106
3122
  # AdminPoliciesList
3107
3123
  #
3108
3124
  # List all policy object names.
3125
+ # For the top-level organization, the API result includes all policies for all organizations, unless the TargetOrganization parameter is present.
3109
3126
  #
3110
3127
  # You must supply administrator authentication credentials to use this API.
3111
3128
  # This API requires the Auth Role to be enabled.
3112
3129
  #
3130
+ # @param [String] target_organization (Optional) If present, list the policies belonging to another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)
3113
3131
  # @return [Hash{String => String}]
3114
- def admin_policies_list
3115
- body = perform_request('api/v1/admin/policies/list')
3132
+ def admin_policies_list(target_organization = nil)
3133
+ submit_params = {}
3134
+ unless target_organization.nil?
3135
+ raise TypeError, "'target_organization' expected String, got #{target_organization.class}" unless target_organization.is_a? String
3136
+
3137
+ submit_params['TargetOrganization'] = target_organization
3138
+ end
3139
+
3140
+ body = perform_request('api/v1/admin/policies/list', submit_params)
3116
3141
  json_body = JSON.parse body
3117
3142
  check_status json_body
3118
3143
  ret = {}
@@ -3131,13 +3156,22 @@ module Comet
3131
3156
  # AdminPoliciesListFull
3132
3157
  #
3133
3158
  # Get all policy objects.
3159
+ # For the top-level organization, the API result includes all policies for all organizations, unless the TargetOrganization parameter is present.
3134
3160
  #
3135
3161
  # You must supply administrator authentication credentials to use this API.
3136
3162
  # This API requires the Auth Role to be enabled.
3137
3163
  #
3164
+ # @param [String] target_organization (Optional) If present, list the policies belonging to another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)
3138
3165
  # @return [Hash{String => Comet::GroupPolicy}]
3139
- def admin_policies_list_full
3140
- body = perform_request('api/v1/admin/policies/list-full')
3166
+ def admin_policies_list_full(target_organization = nil)
3167
+ submit_params = {}
3168
+ unless target_organization.nil?
3169
+ raise TypeError, "'target_organization' expected String, got #{target_organization.class}" unless target_organization.is_a? String
3170
+
3171
+ submit_params['TargetOrganization'] = target_organization
3172
+ end
3173
+
3174
+ body = perform_request('api/v1/admin/policies/list-full', submit_params)
3141
3175
  json_body = JSON.parse body
3142
3176
  check_status json_body
3143
3177
  ret = {}
@@ -3272,12 +3306,13 @@ module Comet
3272
3306
  # Request a new Storage Vault on behalf of a user.
3273
3307
  # This action does not respect the "Prevent creating new Storage Vaults (via Request)" policy setting. New Storage Vaults can be requested regardless of the policy setting.
3274
3308
  # Prior to Comet 19.8.0, the response type was CometAPIResponseMessage (i.e. no DestinationID field in response).
3309
+ # The StorageProvider must exist for the target user account's organization.
3275
3310
  #
3276
3311
  # You must supply administrator authentication credentials to use this API.
3277
3312
  # This API requires the Auth Role to be enabled.
3278
3313
  #
3279
3314
  # @param [String] target_user The user to receive the new Storage Vault
3280
- # @param [String] storage_provider ID for the Requestable destination
3315
+ # @param [String] storage_provider ID for the storage template destination
3281
3316
  # @param [String] self_address (Optional) The external URL for this server. Used to resolve conflicts
3282
3317
  # @return [Comet::RequestStorageVaultResponseMessage]
3283
3318
  def admin_request_storage_vault(target_user, storage_provider, self_address = nil)
@@ -3311,9 +3346,17 @@ module Comet
3311
3346
  # You must supply administrator authentication credentials to use this API.
3312
3347
  # This API requires the Auth Role to be enabled.
3313
3348
  #
3349
+ # @param [String] target_organization (Optional) If present, list the storage template options belonging to another organization. Only allowed for administrator accounts in the top-level organization. (>= 22.3.7)
3314
3350
  # @return [Hash{String => String}]
3315
- def admin_request_storage_vault_providers
3316
- body = perform_request('api/v1/admin/request-storage-vault-providers')
3351
+ def admin_request_storage_vault_providers(target_organization = nil)
3352
+ submit_params = {}
3353
+ unless target_organization.nil?
3354
+ raise TypeError, "'target_organization' expected String, got #{target_organization.class}" unless target_organization.is_a? String
3355
+
3356
+ submit_params['TargetOrganization'] = target_organization
3357
+ end
3358
+
3359
+ body = perform_request('api/v1/admin/request-storage-vault-providers', submit_params)
3317
3360
  json_body = JSON.parse body
3318
3361
  check_status json_body
3319
3362
  ret = {}
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  module Comet
11
9
 
@@ -235,6 +233,9 @@ module Comet
235
233
  # RestoreArchiveFormat: SquashFS container
236
234
  RESTOREARCHIVEFORMAT_SQFS = 3
237
235
 
236
+ # RestoreArchiveFormat:
237
+ RESTOREARCHIVEFORMAT_TARZSTD = 4
238
+
238
239
  # RetentionMode: If this mode is set in a RetentionPolicy, then RetentionPolicy.Ranges should be ignored.
239
240
  RETENTIONMODE_KEEP_EVERYTHING = 801
240
241
 
@@ -319,6 +320,9 @@ module Comet
319
320
 
320
321
  SCHEDULE_FREQUENCY_HIGHEST = 8015
321
322
 
323
+ # Maximum random delay (5 hours)
324
+ SCHEDULE_MAX_RANDOM_DELAY_SECS = 18_000
325
+
322
326
  # 2^50 (1 << 50)
323
327
  SCHEDULE_MAXINT = 1_125_899_906_842_624
324
328
 
@@ -465,13 +469,13 @@ module Comet
465
469
 
466
470
  DEFAULT_TIMEZONE = 'UTC'
467
471
 
468
- APPLICATION_VERSION = '22.3.5'
472
+ APPLICATION_VERSION = '22.6.3'
469
473
 
470
474
  APPLICATION_VERSION_MAJOR = 22
471
475
 
472
- APPLICATION_VERSION_MINOR = 3
476
+ APPLICATION_VERSION_MINOR = 6
473
477
 
474
- APPLICATION_VERSION_REVISION = 5
478
+ APPLICATION_VERSION_REVISION = 3
475
479
 
476
480
  RELEASE_CODENAME = 'Voyager'
477
481
 
@@ -652,10 +656,19 @@ module Comet
652
656
  # RemoteServerType:
653
657
  REMOTESERVER_CUSTOM = 'custom'
654
658
 
659
+ # RemoteServerType:
660
+ REMOTESERVER_S3_GENERIC = 's3'
661
+
662
+ # RemoteServerType:
663
+ REMOTESERVER_AWS = 'aws'
664
+
665
+ # LDAPSecurityMethod:
655
666
  LDAPSECURITYMETHOD_PLAIN = 'plain'
656
667
 
668
+ # LDAPSecurityMethod:
657
669
  LDAPSECURITYMETHOD_LDAPS = 'ldaps'
658
670
 
671
+ # LDAPSecurityMethod:
659
672
  LDAPSECURITYMETHOD_STARTTLS = 'starttls'
660
673
 
661
674
  # MacOSCodesignLevel:
@@ -667,6 +680,12 @@ module Comet
667
680
  # MacOSCodesignLevel:
668
681
  MACOSCODESIGN_LEVEL_SIGN_NOTARISE_STAPLE = 2
669
682
 
683
+ # ClientBrandingBuildMode: Public-Doc: The software client will be custom-built by this Comet Server, allowing custom branding, default server URL, and codesigning.
684
+ CLIENTBRANDINGBUILD_CUSTOM = 0
685
+
686
+ # ClientBrandingBuildMode: Public-Doc: A pre-built software client will be served, with Comet-branding, no server URL, and Comet codesigning.
687
+ CLIENTBRANDINGBUILD_PREBUILT = 1
688
+
670
689
  # StreamableEventType:
671
690
  SEVT__MIN = 4000
672
691
 
@@ -694,6 +713,30 @@ module Comet
694
713
  # StreamableEventType:
695
714
  SEVT__MAX = 4999
696
715
 
716
+ # CompressMode:
717
+ COMPRESS_INVALID = 0
718
+
719
+ # CompressMode:
720
+ COMPRESS_LVL_1 = 1
721
+
722
+ # CompressMode:
723
+ COMPRESS_LVL_2 = 2
724
+
725
+ # CompressMode:
726
+ COMPRESS_LVL_3 = 3
727
+
728
+ # CompressMode:
729
+ COMPRESS_LVL_4 = 4
730
+
731
+ # CompressMode:
732
+ COMPRESS_LVL_5 = 5
733
+
734
+ # CompressMode:
735
+ COMPRESS_MAX = COMPRESS_LVL_5
736
+
737
+ # CompressMode:
738
+ COMPRESS_DEFAULT = COMPRESS_LVL_4
739
+
697
740
  OFFICE365_REGION_PUBLIC = 'GlobalPublicCloud'
698
741
 
699
742
  OFFICE365_REGION_CHINA = 'ChinaCloud'
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'base64'
11
9
  require 'json'
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'base64'
11
9
  require 'json'
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
3
  # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -0,0 +1,91 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+
8
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # AmazonAWSVirtualStorageRoleSettings is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class AmazonAWSVirtualStorageRoleSettings
14
+
15
+ # @type [String] master_bucket
16
+ attr_accessor :master_bucket
17
+
18
+ # @type [String] access_key
19
+ attr_accessor :access_key
20
+
21
+ # @type [String] secret_key
22
+ attr_accessor :secret_key
23
+
24
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
25
+ attr_accessor :unknown_json_fields
26
+
27
+ def initialize
28
+ clear
29
+ end
30
+
31
+ def clear
32
+ @master_bucket = ''
33
+ @access_key = ''
34
+ @secret_key = ''
35
+ @unknown_json_fields = {}
36
+ end
37
+
38
+ # @param [String] json_string The complete object in JSON format
39
+ def from_json(json_string)
40
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
41
+
42
+ from_hash(JSON.parse(json_string))
43
+ end
44
+
45
+ # @param [Hash] obj The complete object as a Ruby hash
46
+ def from_hash(obj)
47
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
48
+
49
+ obj.each do |k, v|
50
+ case k
51
+ when 'MasterBucket'
52
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
53
+
54
+ @master_bucket = v
55
+ when 'AccessKey'
56
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
57
+
58
+ @access_key = v
59
+ when 'SecretKey'
60
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
61
+
62
+ @secret_key = v
63
+ else
64
+ @unknown_json_fields[k] = v
65
+ end
66
+ end
67
+ end
68
+
69
+ # @return [Hash] The complete object as a Ruby hash
70
+ def to_hash
71
+ ret = {}
72
+ ret['MasterBucket'] = @master_bucket
73
+ ret['AccessKey'] = @access_key
74
+ ret['SecretKey'] = @secret_key
75
+ @unknown_json_fields.each do |k, v|
76
+ ret[k] = v
77
+ end
78
+ ret
79
+ end
80
+
81
+ # @return [Hash] The complete object as a Ruby hash
82
+ def to_h
83
+ to_hash
84
+ end
85
+
86
+ # @return [String] The complete object as a JSON string
87
+ def to_json(options = {})
88
+ to_hash.to_json(options)
89
+ end
90
+ end
91
+ end