comet_backup_ruby_sdk 1.4.0 → 1.8.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (154) hide show
  1. checksums.yaml +4 -4
  2. data/.rubocop.yml +5 -0
  3. data/CHANGELOG.md +40 -0
  4. data/Gemfile.lock +2 -2
  5. data/RELEASING.md +6 -4
  6. data/comet_backup_ruby_sdk.gemspec +1 -1
  7. data/lib/comet/api_response_error.rb +0 -0
  8. data/lib/comet/comet_server.rb +227 -2
  9. data/lib/comet/definitions.rb +68 -5
  10. data/lib/comet/models/add_bucket_response_message.rb +0 -0
  11. data/lib/comet/models/admin_account_properties_response.rb +0 -0
  12. data/lib/comet/models/admin_email_options.rb +0 -0
  13. data/lib/comet/models/admin_resource_response.rb +0 -0
  14. data/lib/comet/models/admin_security_options.rb +0 -0
  15. data/lib/comet/models/admin_u2fregistration.rb +0 -0
  16. data/lib/comet/models/admin_user_permissions.rb +0 -0
  17. data/lib/comet/models/available_download.rb +0 -0
  18. data/lib/comet/models/azure_destination_location.rb +0 -0
  19. data/lib/comet/models/b2destination_location.rb +0 -0
  20. data/lib/comet/models/b2storage_extra_info.rb +0 -0
  21. data/lib/comet/models/b2transaction_totals.rb +0 -0
  22. data/lib/comet/models/b2virtual_storage_role_settings.rb +0 -0
  23. data/lib/comet/models/backup_job_advanced_options.rb +0 -0
  24. data/lib/comet/models/backup_job_detail.rb +33 -0
  25. data/lib/comet/models/backup_job_progress.rb +0 -0
  26. data/lib/comet/models/backup_rule_config.rb +0 -0
  27. data/lib/comet/models/backup_rule_event_triggers.rb +0 -0
  28. data/lib/comet/models/branding_options.rb +9 -0
  29. data/lib/comet/models/branding_properties.rb +9 -0
  30. data/lib/comet/models/browse_disk_drives_response.rb +0 -0
  31. data/lib/comet/models/browse_edbresponse.rb +0 -0
  32. data/lib/comet/models/browse_hvresponse.rb +0 -0
  33. data/lib/comet/models/browse_office_365objects_response.rb +99 -0
  34. data/lib/comet/models/browse_sqlserver_response.rb +100 -0
  35. data/lib/comet/models/browse_vssresponse.rb +0 -0
  36. data/lib/comet/models/bucket_properties.rb +0 -0
  37. data/lib/comet/models/bucket_usage_info.rb +0 -0
  38. data/lib/comet/models/comet_apiresponse_message.rb +0 -0
  39. data/lib/comet/models/comet_destination_location.rb +0 -0
  40. data/lib/comet/models/constellation_check_report.rb +0 -0
  41. data/lib/comet/models/constellation_stats.rb +0 -0
  42. data/lib/comet/models/constellation_status_apiresponse.rb +0 -0
  43. data/lib/comet/models/content_measurement.rb +0 -0
  44. data/lib/comet/models/content_measurement_component.rb +0 -0
  45. data/lib/comet/models/create_group_policy_response.rb +0 -0
  46. data/lib/comet/models/custom_remote_bucket_settings.rb +0 -0
  47. data/lib/comet/models/default_email_report_policy.rb +0 -0
  48. data/lib/comet/models/default_source_with_osrestriction.rb +83 -0
  49. data/lib/comet/models/destination_config.rb +0 -0
  50. data/lib/comet/models/destination_location.rb +0 -0
  51. data/lib/comet/models/destination_statistics.rb +0 -0
  52. data/lib/comet/models/device_config.rb +11 -0
  53. data/lib/comet/models/disk_drive.rb +0 -0
  54. data/lib/comet/models/dispatcher_admin_sources_response.rb +0 -0
  55. data/lib/comet/models/dispatcher_stored_objects_response.rb +0 -0
  56. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +0 -0
  57. data/lib/comet/models/edbfile_info.rb +0 -0
  58. data/lib/comet/models/email_options.rb +0 -0
  59. data/lib/comet/models/email_report_config.rb +0 -0
  60. data/lib/comet/models/email_report_generated_preview.rb +0 -0
  61. data/lib/comet/models/external_ldapauthentication_source_settings.rb +0 -0
  62. data/lib/comet/models/extra_file_exclusion.rb +0 -0
  63. data/lib/comet/models/ftpdestination_location.rb +0 -0
  64. data/lib/comet/models/get_group_policy_response.rb +0 -0
  65. data/lib/comet/models/get_profile_and_hash_response_message.rb +0 -0
  66. data/lib/comet/models/get_profile_hash_response_message.rb +0 -0
  67. data/lib/comet/models/group_policy.rb +0 -0
  68. data/lib/comet/models/hyper_vmachine_info.rb +0 -0
  69. data/lib/comet/models/install_creds.rb +0 -0
  70. data/lib/comet/models/install_token.rb +0 -0
  71. data/lib/comet/models/install_token_response.rb +0 -0
  72. data/lib/comet/models/job_entry.rb +0 -0
  73. data/lib/comet/models/live_user_connection.rb +11 -0
  74. data/lib/comet/models/local_destination_location.rb +0 -0
  75. data/lib/comet/models/mac_oscode_sign_properties.rb +0 -0
  76. data/lib/comet/models/mongo_dbconnection.rb +0 -0
  77. data/lib/comet/models/mssqlconnection.rb +120 -0
  78. data/lib/comet/models/my_sqlconnection.rb +102 -0
  79. data/lib/comet/models/new_bucket_detail.rb +0 -0
  80. data/lib/comet/models/news_entry.rb +0 -0
  81. data/lib/comet/models/office_365connection.rb +123 -0
  82. data/lib/comet/models/office_365credential.rb +111 -0
  83. data/lib/comet/models/office_365custom_setting.rb +132 -0
  84. data/lib/comet/models/office_365object_info.rb +118 -0
  85. data/lib/comet/models/organization.rb +6 -0
  86. data/lib/comet/models/organization_response.rb +0 -0
  87. data/lib/comet/models/osinfo.rb +0 -0
  88. data/lib/comet/models/partition.rb +0 -0
  89. data/lib/comet/models/private_branding_properties.rb +9 -0
  90. data/lib/comet/models/protected_item_engine_type_policy.rb +0 -0
  91. data/lib/comet/models/public_branding_properties.rb +0 -0
  92. data/lib/comet/models/register_office_application_begin_response.rb +93 -0
  93. data/lib/comet/models/register_office_application_check_response.rb +100 -0
  94. data/lib/comet/models/remote_server_address.rb +0 -0
  95. data/lib/comet/models/remote_storage_option.rb +0 -0
  96. data/lib/comet/models/replicator_state_apiresponse.rb +0 -0
  97. data/lib/comet/models/request_storage_vault_response_message.rb +0 -0
  98. data/lib/comet/models/restore_job_advanced_options.rb +10 -0
  99. data/lib/comet/models/retention_policy.rb +0 -0
  100. data/lib/comet/models/retention_range.rb +0 -0
  101. data/lib/comet/models/s3destination_location.rb +0 -0
  102. data/lib/comet/models/schedule_config.rb +0 -0
  103. data/lib/comet/models/search_clause.rb +0 -0
  104. data/lib/comet/models/self_backup_statistics.rb +108 -0
  105. data/lib/comet/models/server_config_options_branding_fragment.rb +0 -0
  106. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +0 -0
  107. data/lib/comet/models/server_meta_branding_properties.rb +135 -0
  108. data/lib/comet/models/server_meta_version_info.rb +15 -0
  109. data/lib/comet/models/session_key_regenerated_response.rb +0 -0
  110. data/lib/comet/models/sftpdestination_location.rb +0 -0
  111. data/lib/comet/models/size_measurement.rb +0 -0
  112. data/lib/comet/models/software_build_role_options.rb +0 -0
  113. data/lib/comet/models/software_update_news_response.rb +0 -0
  114. data/lib/comet/models/source_basic_info.rb +0 -0
  115. data/lib/comet/models/source_config.rb +0 -0
  116. data/lib/comet/models/source_include_pattern.rb +84 -0
  117. data/lib/comet/models/source_statistics.rb +8 -0
  118. data/lib/comet/models/spanned_destination_location.rb +0 -0
  119. data/lib/comet/models/spanned_storage_extra_info.rb +0 -0
  120. data/lib/comet/models/sshconnection.rb +0 -0
  121. data/lib/comet/models/stat_result.rb +0 -0
  122. data/lib/comet/models/storage_free_space_info.rb +0 -0
  123. data/lib/comet/models/storage_vault_provider_policy.rb +0 -0
  124. data/lib/comet/models/stored_object.rb +85 -0
  125. data/lib/comet/models/streamable_event.rb +0 -0
  126. data/lib/comet/models/swift_destination_location.rb +0 -0
  127. data/lib/comet/models/test_response.rb +0 -0
  128. data/lib/comet/models/totp_regenerated_response.rb +0 -0
  129. data/lib/comet/models/u2fregister_request.rb +0 -0
  130. data/lib/comet/models/u2fregistered_key.rb +0 -0
  131. data/lib/comet/models/u2fregistration_challenge_response.rb +0 -0
  132. data/lib/comet/models/u2fsign_request.rb +0 -0
  133. data/lib/comet/models/u2fsign_response.rb +0 -0
  134. data/lib/comet/models/uninstall_config.rb +0 -0
  135. data/lib/comet/models/update_campaign_device_status.rb +0 -0
  136. data/lib/comet/models/update_campaign_options.rb +0 -0
  137. data/lib/comet/models/update_campaign_properties.rb +0 -0
  138. data/lib/comet/models/update_campaign_status.rb +0 -0
  139. data/lib/comet/models/update_campaign_status_device_entry.rb +0 -0
  140. data/lib/comet/models/user_custom_email_settings.rb +0 -0
  141. data/lib/comet/models/user_on_server.rb +0 -0
  142. data/lib/comet/models/user_policy.rb +15 -0
  143. data/lib/comet/models/user_profile_config.rb +0 -0
  144. data/lib/comet/models/user_profile_fragment.rb +0 -0
  145. data/lib/comet/models/vault_snapshot.rb +0 -0
  146. data/lib/comet/models/vsscomponent.rb +0 -0
  147. data/lib/comet/models/vsswriter_info.rb +0 -0
  148. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +0 -0
  149. data/lib/comet/models/web_interface_branding_properties.rb +0 -0
  150. data/lib/comet/models/webhook_option.rb +16 -0
  151. data/lib/comet/models/win_smbauth.rb +0 -0
  152. data/lib/comet/models/windows_code_sign_properties.rb +0 -0
  153. data/lib/comet_backup_ruby_sdk.rb +14 -0
  154. metadata +17 -3
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1bcd5336d8e52eab1535016a7f4d9c0b0a703491b8f63fb01ccd44b4dfa5f517
4
- data.tar.gz: 558c4b7ec014edd0fb7f114eb3a0b2b9dbcc890ca59d3090ff6c1731a885fec5
3
+ metadata.gz: 9f171b686ff819ece50144f9df68d33e4cc19d16f3650a14fa0a8e2ab6085705
4
+ data.tar.gz: 1c772db480d36ef618b9ae49ffdfbaf7266a8c048e46db97e28861bbf62bf0c7
5
5
  SHA512:
6
- metadata.gz: dd095297f0142a76f5d4f458e38e55435fc4b3d9c7e6b366a786e811275922e73bef8ac106eeb21e21f2aaca93e6bc177ba2d8ae158d93ddd1f5dc839f0d22f1
7
- data.tar.gz: c752085a6a3cff6fafbe2e03dce5d0f23211f778fbb99030ba1ad67480b97abf0d1890e934a5145622f3c31561f68581c27edba55be7ea26e1772160077b4309
6
+ metadata.gz: a81c233bc05c79786095deb47dabcb5450d5a70fe14586207c37fad3ec7954bfee346926de2de3c72df1616726de83cd8956b099d21f533d3e477c01597c5f1b
7
+ data.tar.gz: 9c397ce360202863393420b7c4440274e62aff5862b3eaee47671a662606624641f12cfd6762d0609b5043f624cdcd7d39fc7aee450efaa5334729d04357379d
data/.rubocop.yml CHANGED
@@ -23,3 +23,8 @@ Layout/EmptyLinesAroundClassBody:
23
23
  # with the times when we do need multi-line bodies
24
24
  Style/IfUnlessModifier:
25
25
  Enabled: false
26
+
27
+ # allow rocket hashes
28
+
29
+ Style/HashSyntax:
30
+ EnforcedStyle: no_mixed_keys
data/CHANGELOG.md CHANGED
@@ -1,5 +1,45 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2021-09-14 1.8.0
4
+ - Based on Comet 21.9.2
5
+ - Support new `custom_headers` field on the `WebhookOption` class for specifying custom HTTP headers
6
+ to be sent in webhook POST requests from Comet Server
7
+
8
+ ## 2021-09-08 v1.7.0
9
+ - Based on Comet 21.9.1
10
+ - Support new `device_timezone` field on the `DeviceConfig` class.
11
+ - Add `admin_dispatcher_ping_destination` api method
12
+ - Add support for new retention range type constants: `RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_DAY`
13
+ - Add support for new retention range type constants: `RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_WEEK`
14
+ - Add support for new retention range type constants: `RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_MONTH`
15
+ - Add support for Microsoft Office 365 Sharepoiint constant `STOREDOBJECTTYPE_MSSITELISTDRIVEENTITY`
16
+ - Add Microsoft Office 365 Region cloud region constants `OFFICE_365_REGION_PUBLIC`
17
+ - Add Microsoft Office 365 Region cloud region constants `OFFICE_365_REGION_CHINA`
18
+ - Add Microsoft Office 365 Region cloud region constants `OFFICE_365_REGION_GERMANY`
19
+ - Add Microsoft Office 365 Region cloud region constants `OFFICE_365_REGION_US_GOVT`
20
+ - Add Microsoft Office 365 Region cloud region constants `OFFICE_365_REGION_US_DOD`
21
+
22
+ ## 2021-07-01 v1.6.0
23
+ - Based on Comet 21.6.6
24
+ - Support new `DefaultSourceWithOSRestriction` and `LastSuccessfulBackupJob` fields
25
+ - Support custom credentials when performing a cloud Office 365 restore job
26
+ - Support identifying Microsoft Teams folders inside a Sharepoint backup job
27
+ - Document the `SourceIncludePattern` structure used for `PINCLUDE`/`RINCLUDE` rules in a File-type `EngineProps` array
28
+ - Document existing `BrandingProps` endpoint
29
+
30
+ ## 2021-05-25 v1.5.0
31
+ - Based on Comet 21.6.1
32
+ - Add new APIs to remotely browse MySQL, MongoDB, MSSQL database servers
33
+ - Add Microsoft Office 365 properties on BackupJobDetail and on StoredObject
34
+ - Add Microsoft Office 365 browsing APIs
35
+ - Add Microsoft Office 365 Engine definition (`ENGINE_BUILTIN_MSOFFICE`) and associated `EngineProp` data structure definitions
36
+ - Add `AdminDispatcherRegisterOfficeApplication` APIs
37
+ - Add `RESTORETYPE_OFFICE365_CLOUD` constant
38
+ - Support suspending organizations
39
+ - Support reading the Server Self-Backup status
40
+ - Support new `PathMenuBarIcnsFile` branding option for Comet Backup on macOS
41
+ - Add more detailed description for `AdminDispatcherRequestStoredObjects`
42
+
3
43
  ## 2021-03-03 v1.4.0
4
44
  - Based on Comet 21.2.1
5
45
  - Support restoring files to original paths
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- comet_backup_ruby_sdk (1.4.0)
4
+ comet_backup_ruby_sdk (1.8.0)
5
5
 
6
6
  GEM
7
7
  remote: https://rubygems.org/
@@ -14,7 +14,7 @@ GEM
14
14
  rainbow (3.0.0)
15
15
  rake (13.0.1)
16
16
  regexp_parser (1.7.1)
17
- rexml (3.2.4)
17
+ rexml (3.2.5)
18
18
  rubocop (0.88.0)
19
19
  parallel (~> 1.10)
20
20
  parser (>= 2.7.1.1)
data/RELEASING.md CHANGED
@@ -2,9 +2,11 @@
2
2
 
3
3
  1. All tests passing
4
4
  2. Update changelog in `CHANGELOG.md`
5
- 3. Update version number in `gemspec`
6
- 4. `gem build comet_backup_ruby_sdk`
5
+ 3. Update version number in `comet_backup_ruby_sdk.gemspec`
6
+ 4. `bundle install`
7
+ - Should update our internal version in Gemfile.lock
8
+ 5. `gem build comet_backup_ruby_sdk.gemspec`
7
9
  - Should be warning-free
8
- 5. Git tag
10
+ 6. Git tag
9
11
  - Respect semver
10
- 6. `gem push comet_backup_ruby_sdk-0.x.x.gem`
12
+ 7. `gem push comet_backup_ruby_sdk-1.x.x.gem`
@@ -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.4.0'
15
+ spec.version = '1.8.0'
16
16
  spec.authors = ['Comet Licensing Ltd.']
17
17
  spec.email = ['hello@cometbackup.com']
18
18
 
File without changes
@@ -808,6 +808,7 @@ module Comet
808
808
  # This does not remove any storage buckets. Unused storage buckets will be cleaned up by the Constellation Role.
809
809
  # Any stored data can not be decrypted without the user profile. Misuse can cause data loss!
810
810
  # This also allows to uninstall software from active devices under the user account
811
+ # This also removes all job history for the user account.
811
812
  #
812
813
  # You must supply administrator authentication credentials to use this API.
813
814
  # This API requires the Auth Role to be enabled.
@@ -1076,6 +1077,33 @@ module Comet
1076
1077
  ret
1077
1078
  end
1078
1079
 
1080
+ # AdminDispatcherPingDestination
1081
+ #
1082
+ # Test the connection to the storage bucket.
1083
+ #
1084
+ # You must supply administrator authentication credentials to use this API.
1085
+ # This API requires the Auth Role to be enabled.
1086
+ #
1087
+ # @param [String] target_id The live connection GUID
1088
+ # @param [Comet::DestinationLocation] extra_data The destination location settings
1089
+ # @return [Comet::CometAPIResponseMessage]
1090
+ def admin_dispatcher_ping_destination(target_id, extra_data)
1091
+ submit_params = {}
1092
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1093
+
1094
+ submit_params['TargetID'] = target_id
1095
+ raise TypeError, "'extra_data' expected Comet::DestinationLocation, got #{extra_data.class}" unless extra_data.is_a? Comet::DestinationLocation
1096
+
1097
+ submit_params['ExtraData'] = extra_data.to_json
1098
+
1099
+ body = perform_request('api/v1/admin/dispatcher/ping-destination', submit_params)
1100
+ json_body = JSON.parse body
1101
+ check_status json_body
1102
+ ret = Comet::CometAPIResponseMessage.new
1103
+ ret.from_hash(json_body)
1104
+ ret
1105
+ end
1106
+
1079
1107
  # AdminDispatcherRefetchProfile
1080
1108
  #
1081
1109
  # Instruct a live connected device to refresh their profile.
@@ -1100,6 +1128,62 @@ module Comet
1100
1128
  ret
1101
1129
  end
1102
1130
 
1131
+ # AdminDispatcherRegisterOfficeApplicationBegin
1132
+ #
1133
+ # Begin the process of registering a new Azure AD application that can access Office 365 for backup.
1134
+ # After calling this API, you should supply the login details to the end-user, and then begin polling the AdminDispatcherRegisterOfficeApplicationCheck with the supplied "Continuation" parameter to check on the registration process.
1135
+ #
1136
+ # You must supply administrator authentication credentials to use this API.
1137
+ # This API requires the Auth Role to be enabled.
1138
+ #
1139
+ # @param [String] target_id The live connection GUID
1140
+ # @param [String] email_address The email address of the Azure AD administrator
1141
+ # @return [Comet::RegisterOfficeApplicationBeginResponse]
1142
+ def admin_dispatcher_register_office_application_begin(target_id, email_address)
1143
+ submit_params = {}
1144
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1145
+
1146
+ submit_params['TargetID'] = target_id
1147
+ raise TypeError, "'email_address' expected String, got #{email_address.class}" unless email_address.is_a? String
1148
+
1149
+ submit_params['EmailAddress'] = email_address
1150
+
1151
+ body = perform_request('api/v1/admin/dispatcher/register-office-application/begin', submit_params)
1152
+ json_body = JSON.parse body
1153
+ check_status json_body
1154
+ ret = Comet::RegisterOfficeApplicationBeginResponse.new
1155
+ ret.from_hash(json_body)
1156
+ ret
1157
+ end
1158
+
1159
+ # AdminDispatcherRegisterOfficeApplicationCheck
1160
+ #
1161
+ # Check the process of registering a new Azure AD application that can access Office 365 for backup.
1162
+ # You should begin the process by calling AdminDispatcherRegisterOfficeApplicationBegin and asking the end-user to complete the Azure authentication steps.
1163
+ #
1164
+ # You must supply administrator authentication credentials to use this API.
1165
+ # This API requires the Auth Role to be enabled.
1166
+ #
1167
+ # @param [String] target_id The live connection GUID
1168
+ # @param [String] continuation The ID returned from the AdminDispatcherRegisterOfficeApplicationBegin endpoint
1169
+ # @return [Comet::RegisterOfficeApplicationCheckResponse]
1170
+ def admin_dispatcher_register_office_application_check(target_id, continuation)
1171
+ submit_params = {}
1172
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1173
+
1174
+ submit_params['TargetID'] = target_id
1175
+ raise TypeError, "'continuation' expected String, got #{continuation.class}" unless continuation.is_a? String
1176
+
1177
+ submit_params['Continuation'] = continuation
1178
+
1179
+ body = perform_request('api/v1/admin/dispatcher/register-office-application/check', submit_params)
1180
+ json_body = JSON.parse body
1181
+ check_status json_body
1182
+ ret = Comet::RegisterOfficeApplicationCheckResponse.new
1183
+ ret.from_hash(json_body)
1184
+ ret
1185
+ end
1186
+
1103
1187
  # AdminDispatcherReindexStorageVault
1104
1188
  #
1105
1189
  # Instruct a live connected device to rebuild Storage Vault indexes now.
@@ -1197,6 +1281,90 @@ module Comet
1197
1281
  ret
1198
1282
  end
1199
1283
 
1284
+ # AdminDispatcherRequestBrowseMongodb
1285
+ #
1286
+ # Request a list of tables in MongoDB database.
1287
+ # The remote device must have given consent for an MSP to browse their files.
1288
+ #
1289
+ # You must supply administrator authentication credentials to use this API.
1290
+ # This API requires the Auth Role to be enabled.
1291
+ #
1292
+ # @param [String] target_id The live connection GUID
1293
+ # @param [Comet::MongoDBConnection] credentials The Mongo database authentication settings
1294
+ # @return [Comet::BrowseSQLServerResponse]
1295
+ def admin_dispatcher_request_browse_mongodb(target_id, credentials)
1296
+ submit_params = {}
1297
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1298
+
1299
+ submit_params['TargetID'] = target_id
1300
+ raise TypeError, "'credentials' expected Comet::MongoDBConnection, got #{credentials.class}" unless credentials.is_a? Comet::MongoDBConnection
1301
+
1302
+ submit_params['Credentials'] = credentials.to_json
1303
+
1304
+ body = perform_request('api/v1/admin/dispatcher/request-browse-mongodb', submit_params)
1305
+ json_body = JSON.parse body
1306
+ check_status json_body
1307
+ ret = Comet::BrowseSQLServerResponse.new
1308
+ ret.from_hash(json_body)
1309
+ ret
1310
+ end
1311
+
1312
+ # AdminDispatcherRequestBrowseMssql
1313
+ #
1314
+ # Request a list of tables in MSSQL database.
1315
+ # The remote device must have given consent for an MSP to browse their files.
1316
+ #
1317
+ # You must supply administrator authentication credentials to use this API.
1318
+ # This API requires the Auth Role to be enabled.
1319
+ #
1320
+ # @param [String] target_id The live connection GUID
1321
+ # @param [Comet::MSSQLConnection] credentials The MSSQL database authentication settings
1322
+ # @return [Comet::BrowseSQLServerResponse]
1323
+ def admin_dispatcher_request_browse_mssql(target_id, credentials)
1324
+ submit_params = {}
1325
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1326
+
1327
+ submit_params['TargetID'] = target_id
1328
+ raise TypeError, "'credentials' expected Comet::MSSQLConnection, got #{credentials.class}" unless credentials.is_a? Comet::MSSQLConnection
1329
+
1330
+ submit_params['Credentials'] = credentials.to_json
1331
+
1332
+ body = perform_request('api/v1/admin/dispatcher/request-browse-mssql', submit_params)
1333
+ json_body = JSON.parse body
1334
+ check_status json_body
1335
+ ret = Comet::BrowseSQLServerResponse.new
1336
+ ret.from_hash(json_body)
1337
+ ret
1338
+ end
1339
+
1340
+ # AdminDispatcherRequestBrowseMysql
1341
+ #
1342
+ # Request a list of tables in MySQL database.
1343
+ # The remote device must have given consent for an MSP to browse their files.
1344
+ #
1345
+ # You must supply administrator authentication credentials to use this API.
1346
+ # This API requires the Auth Role to be enabled.
1347
+ #
1348
+ # @param [String] target_id The live connection GUID
1349
+ # @param [Comet::MySQLConnection] credentials The MySQL database authentication settings
1350
+ # @return [Comet::BrowseSQLServerResponse]
1351
+ def admin_dispatcher_request_browse_mysql(target_id, credentials)
1352
+ submit_params = {}
1353
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1354
+
1355
+ submit_params['TargetID'] = target_id
1356
+ raise TypeError, "'credentials' expected Comet::MySQLConnection, got #{credentials.class}" unless credentials.is_a? Comet::MySQLConnection
1357
+
1358
+ submit_params['Credentials'] = credentials.to_json
1359
+
1360
+ body = perform_request('api/v1/admin/dispatcher/request-browse-mysql', submit_params)
1361
+ json_body = JSON.parse body
1362
+ check_status json_body
1363
+ ret = Comet::BrowseSQLServerResponse.new
1364
+ ret.from_hash(json_body)
1365
+ ret
1366
+ end
1367
+
1200
1368
  # AdminDispatcherRequestBrowseVssAaw
1201
1369
  #
1202
1370
  # Request a list of installed VSS Writers (Application-Aware Writers) from a live connected device.
@@ -1273,10 +1441,67 @@ module Comet
1273
1441
  ret
1274
1442
  end
1275
1443
 
1444
+ # AdminDispatcherRequestOffice365Accounts
1445
+ #
1446
+ # Request a list of Office365 mailbox accounts.
1447
+ # The remote device must have given consent for an MSP to browse their files.
1448
+ #
1449
+ # You must supply administrator authentication credentials to use this API.
1450
+ # This API requires the Auth Role to be enabled.
1451
+ #
1452
+ # @param [String] target_id The live connection GUID
1453
+ # @param [Comet::Office365Credential] credentials The Office365 account credential
1454
+ # @return [Comet::BrowseOffice365ObjectsResponse]
1455
+ def admin_dispatcher_request_office_365accounts(target_id, credentials)
1456
+ submit_params = {}
1457
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1458
+
1459
+ submit_params['TargetID'] = target_id
1460
+ raise TypeError, "'credentials' expected Comet::Office365Credential, got #{credentials.class}" unless credentials.is_a? Comet::Office365Credential
1461
+
1462
+ submit_params['Credentials'] = credentials.to_json
1463
+
1464
+ body = perform_request('api/v1/admin/dispatcher/request-office365-accounts', submit_params)
1465
+ json_body = JSON.parse body
1466
+ check_status json_body
1467
+ ret = Comet::BrowseOffice365ObjectsResponse.new
1468
+ ret.from_hash(json_body)
1469
+ ret
1470
+ end
1471
+
1472
+ # AdminDispatcherRequestOffice365Sites
1473
+ #
1474
+ # Request a list of Office365 sites.
1475
+ # The remote device must have given consent for an MSP to browse their files.
1476
+ #
1477
+ # You must supply administrator authentication credentials to use this API.
1478
+ # This API requires the Auth Role to be enabled.
1479
+ #
1480
+ # @param [String] target_id The live connection GUID
1481
+ # @param [Comet::Office365Credential] credentials The Office365 account credential
1482
+ # @return [Comet::BrowseOffice365ObjectsResponse]
1483
+ def admin_dispatcher_request_office_365sites(target_id, credentials)
1484
+ submit_params = {}
1485
+ raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
1486
+
1487
+ submit_params['TargetID'] = target_id
1488
+ raise TypeError, "'credentials' expected Comet::Office365Credential, got #{credentials.class}" unless credentials.is_a? Comet::Office365Credential
1489
+
1490
+ submit_params['Credentials'] = credentials.to_json
1491
+
1492
+ body = perform_request('api/v1/admin/dispatcher/request-office365-sites', submit_params)
1493
+ json_body = JSON.parse body
1494
+ check_status json_body
1495
+ ret = Comet::BrowseOffice365ObjectsResponse.new
1496
+ ret.from_hash(json_body)
1497
+ ret
1498
+ end
1499
+
1276
1500
  # AdminDispatcherRequestStoredObjects
1277
1501
  #
1278
1502
  # Request a list of stored objects inside an existing backup job.
1279
1503
  # The remote device must have given consent for an MSP to browse their files.
1504
+ # To service this request, the remote device must connect to the Storage Vault and load index data. There may be a small delay. If the remote device is running Comet 20.12.0 or later, the necessary index data is cached when this API is first called, for 15 minutes after the last repeated call. This can improve performance for interactively browsing an entire tree of stored objects.
1280
1505
  #
1281
1506
  # You must supply administrator authentication credentials to use this API.
1282
1507
  # This API requires the Auth Role to be enabled.
@@ -3258,7 +3483,7 @@ module Comet
3258
3483
 
3259
3484
  ret_error = Comet::CometAPIResponseMessage.new
3260
3485
  ret_error.from_hash(obj)
3261
- raise Comet::APIResponseError.new(ret_error)
3486
+ raise Comet::APIResponseError.new(ret_error), 'Comet API response status was not OK'
3262
3487
  end
3263
3488
 
3264
3489
  # Perform a synchronous HTTP request.
@@ -3295,7 +3520,7 @@ module Comet
3295
3520
 
3296
3521
  form_params = []
3297
3522
  params.each do |k, v|
3298
- form_params.append [k, v, {:filename => k}]
3523
+ form_params.append [k, v, { :filename => k }]
3299
3524
  end
3300
3525
  req.set_form(form_params, 'multipart/form-data')
3301
3526
 
@@ -176,6 +176,9 @@ module Comet
176
176
  # RestoreType:
177
177
  RESTORETYPE_FILE_ARCHIVE = 5
178
178
 
179
+ # RestoreType:
180
+ RESTORETYPE_OFFICE365_CLOUD = 6
181
+
179
182
  # RestoreType: RESTORETYPE_PROCESS_ARCHIVE
180
183
  RESTORETYPE_PROCESS_TARBALL = 3
181
184
 
@@ -221,8 +224,17 @@ module Comet
221
224
  # RetentionRangeType: Uses Weeks, WeekOffset
222
225
  RETENTIONRANGE_FIRST_JOB_FOR_LAST_X_WEEKS = 906
223
226
 
227
+ # RetentionRangeType: Uses Jobs
228
+ RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_DAY = 907
229
+
230
+ # RetentionRangeType: Uses Jobs
231
+ RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_WEEK = 908
232
+
233
+ # RetentionRangeType: Uses Jobs
234
+ RETENTIONRANGE_LAST_X_BACKUPS_ONE_FOR_EACH_MONTH = 909
235
+
224
236
  # RetentionRangeType:
225
- RETENTIONRANGE__HIGHEST = 906
237
+ RETENTIONRANGE__HIGHEST = 909
226
238
 
227
239
  RETENTIONRANGE_MAXINT = 1_125_899_906_842_624
228
240
 
@@ -291,6 +303,8 @@ module Comet
291
303
 
292
304
  ENGINE_BUILTIN_MONGODB = 'engine1/mongodb'
293
305
 
306
+ ENGINE_BUILTIN_MSOFFICE = 'engine1/winmsofficemail'
307
+
294
308
  # MSSQLAuthMode:
295
309
  MSSQL_AUTH_WINDOWS = 'windows'
296
310
 
@@ -327,6 +341,39 @@ module Comet
327
341
  # StoredObjectType:
328
342
  STOREDOBJECTTYPE_WINEFS = 'winefs'
329
343
 
344
+ # StoredObjectType: "file"
345
+ STOREDOBJECTTYPE_EMAILMESSAGE = 'emailmessage\"'
346
+
347
+ # StoredObjectType: "dir"
348
+ STOREDOBJECTTYPE_EMAILFOLDER = 'mailfolder\"'
349
+
350
+ # StoredObjectType: "file"
351
+ STOREDOBJECTTYPE_OFFICECONTACT = 'contact\"'
352
+
353
+ # StoredObjectType: "dir"
354
+ STOREDOBJECTTYPE_OFFICECONTACTFOLDER = 'contactfolder\"'
355
+
356
+ # StoredObjectType: "file"
357
+ STOREDOBJECTTYPE_OFFICECALENDAREVENT = 'calendarevent\"'
358
+
359
+ # StoredObjectType: "dir"
360
+ STOREDOBJECTTYPE_OFFICECALENDAR = 'calendar\"'
361
+
362
+ # StoredObjectType:
363
+ STOREDOBJECTTYPE_MSSITE = 'mssite'
364
+
365
+ # StoredObjectType:
366
+ STOREDOBJECTTYPE_MSSITE_TEAM = 'mssiteteam'
367
+
368
+ # StoredObjectType:
369
+ STOREDOBJECTTYPE_MSSITELISTENTITY = 'mssitelistentity'
370
+
371
+ # StoredObjectType:
372
+ STOREDOBJECTTYPE_MSSITEITEMENTITY = 'mssiteitementity'
373
+
374
+ # StoredObjectType:
375
+ STOREDOBJECTTYPE_MSSITELISTDRIVEENTITY = 'mssitelistdriveentity'
376
+
330
377
  # ExtraFileExclusionOSRestriction:
331
378
  OS_ANY = 0
332
379
 
@@ -365,15 +412,15 @@ module Comet
365
412
 
366
413
  DEFAULT_TIMEZONE = 'UTC'
367
414
 
368
- APPLICATION_VERSION = '21.2.1'
415
+ APPLICATION_VERSION = '21.9.2'
369
416
 
370
417
  APPLICATION_VERSION_MAJOR = 21
371
418
 
372
- APPLICATION_VERSION_MINOR = 2
419
+ APPLICATION_VERSION_MINOR = 9
373
420
 
374
- APPLICATION_VERSION_REVISION = 1
421
+ APPLICATION_VERSION_REVISION = 2
375
422
 
376
- RELEASE_CODENAME = 'Ganymede'
423
+ RELEASE_CODENAME = 'Voyager'
377
424
 
378
425
  ENCRYPTIONMETHOD_UNCONFIGURED = 0
379
426
 
@@ -544,6 +591,9 @@ module Comet
544
591
  # MacOSCodesignLevel:
545
592
  MACOSCODESIGN_LEVEL_SIGN_NOTARISE_STAPLE = 2
546
593
 
594
+ # StreamableEventType:
595
+ SEVT__MIN = 4000
596
+
547
597
  # StreamableEventType: Event is emitted when the webhook is registered, or when the server starts up. The Data associated is ServerMetaVersionInfo
548
598
  SEVT_META_HELLO = 4000
549
599
 
@@ -565,4 +615,17 @@ module Comet
565
615
  # StreamableEventType: Data is the string bucket ref
566
616
  SEVT_BUCKET_NEW = 4300
567
617
 
618
+ # StreamableEventType:
619
+ SEVT__MAX = 4999
620
+
621
+ OFFICE365_REGION_PUBLIC = 'GlobalPublicCloud'
622
+
623
+ OFFICE365_REGION_CHINA = 'ChinaCloud'
624
+
625
+ OFFICE365_REGION_GERMANY = 'GermanCloud'
626
+
627
+ OFFICE365_REGION_US_GOVT = 'USGovtGccCloud'
628
+
629
+ OFFICE365_REGION_US_DOD = 'USGovtGccDoDCloud'
630
+
568
631
  end