comet_backup_ruby_sdk 2.36.0 → 2.38.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +18 -0
- data/Gemfile.lock +1 -1
- data/comet_backup_ruby_sdk.gemspec +1 -1
- data/lib/comet/api_response_error.rb +1 -1
- data/lib/comet/comet_server.rb +269 -3
- data/lib/comet/definitions.rb +26 -5
- data/lib/comet/models/add_bucket_response_message.rb +1 -1
- data/lib/comet/models/admin_account_properties_response.rb +1 -1
- data/lib/comet/models/admin_email_options.rb +1 -1
- data/lib/comet/models/admin_resource_response.rb +1 -1
- data/lib/comet/models/admin_security_options.rb +8 -1
- data/lib/comet/models/admin_u2fregistration.rb +1 -1
- data/lib/comet/models/admin_user_permissions.rb +1 -1
- data/lib/comet/models/admin_web_authn_registration.rb +1 -1
- data/lib/comet/models/allowed_admin_user.rb +8 -1
- data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +1 -1
- data/lib/comet/models/authentication_role_options.rb +1 -1
- data/lib/comet/models/available_download.rb +1 -1
- data/lib/comet/models/azure_destination_location.rb +1 -1
- data/lib/comet/models/b2destination_location.rb +1 -1
- data/lib/comet/models/b2storage_extra_info.rb +1 -1
- data/lib/comet/models/b2transaction_totals.rb +1 -1
- data/lib/comet/models/b2virtual_storage_role_settings.rb +1 -1
- data/lib/comet/models/backup_job_advanced_options.rb +1 -1
- data/lib/comet/models/backup_job_detail.rb +15 -1
- data/lib/comet/models/backup_job_progress.rb +10 -1
- data/lib/comet/models/backup_rule_config.rb +1 -1
- data/lib/comet/models/backup_rule_event_triggers.rb +1 -1
- data/lib/comet/models/branding_options.rb +1 -1
- data/lib/comet/models/branding_properties.rb +1 -1
- data/lib/comet/models/browse_disk_drives_response.rb +1 -1
- data/lib/comet/models/browse_edbresponse.rb +1 -1
- data/lib/comet/models/browse_hvresponse.rb +1 -1
- data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +1 -1
- data/lib/comet/models/browse_office_365objects_response.rb +1 -1
- data/lib/comet/models/browse_sqlserver_response.rb +1 -1
- data/lib/comet/models/browse_vmware_response.rb +1 -1
- data/lib/comet/models/browse_vssresponse.rb +1 -1
- data/lib/comet/models/bucket_properties.rb +1 -1
- data/lib/comet/models/bucket_usage_info.rb +1 -1
- data/lib/comet/models/comet_apiresponse_message.rb +1 -1
- data/lib/comet/models/comet_destination_location.rb +1 -1
- data/lib/comet/models/constellation_check_report.rb +1 -1
- data/lib/comet/models/constellation_role_options.rb +1 -1
- data/lib/comet/models/constellation_stats.rb +1 -1
- data/lib/comet/models/constellation_status_apiresponse.rb +1 -1
- data/lib/comet/models/content_measurement.rb +1 -1
- data/lib/comet/models/content_measurement_component.rb +1 -1
- data/lib/comet/models/count_jobs_response.rb +1 -1
- data/lib/comet/models/create_group_policy_response.rb +1 -1
- data/lib/comet/models/create_user_group_response.rb +92 -0
- data/lib/comet/models/custom_remote_bucket_settings.rb +1 -1
- data/lib/comet/models/days_of_week_config.rb +1 -1
- data/lib/comet/models/default_email_report_policy.rb +1 -1
- data/lib/comet/models/default_source_with_osrestriction.rb +1 -1
- data/lib/comet/models/destination_config.rb +17 -1
- data/lib/comet/models/destination_location.rb +1 -1
- data/lib/comet/models/destination_statistics.rb +1 -1
- data/lib/comet/models/device_config.rb +1 -1
- data/lib/comet/models/disk_drive.rb +25 -1
- data/lib/comet/models/dispatcher_admin_sources_response.rb +1 -1
- data/lib/comet/models/dispatcher_stored_objects_response.rb +1 -1
- data/lib/comet/models/dispatcher_vault_snapshots_response.rb +1 -1
- data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +1 -1
- data/lib/comet/models/edbfile_info.rb +1 -1
- data/lib/comet/models/email_options.rb +1 -1
- data/lib/comet/models/email_report_config.rb +1 -1
- data/lib/comet/models/email_report_generated_preview.rb +1 -1
- data/lib/comet/models/email_reporting_option.rb +1 -1
- data/lib/comet/models/external_authentication_source.rb +1 -1
- data/lib/comet/models/external_authentication_source_display.rb +1 -1
- data/lib/comet/models/external_authentication_source_response.rb +1 -1
- data/lib/comet/models/external_ldapauthentication_source_server.rb +1 -1
- data/lib/comet/models/external_ldapauthentication_source_settings.rb +1 -1
- data/lib/comet/models/extra_file_exclusion.rb +1 -1
- data/lib/comet/models/file_option.rb +1 -1
- data/lib/comet/models/ftpdestination_location.rb +1 -1
- data/lib/comet/models/get_group_policy_response.rb +1 -1
- data/lib/comet/models/get_profile_and_hash_response_message.rb +1 -1
- data/lib/comet/models/get_profile_hash_response_message.rb +1 -1
- data/lib/comet/models/get_user_group_response.rb +81 -0
- data/lib/comet/models/get_user_group_with_users_response.rb +87 -0
- data/lib/comet/models/global_override_options.rb +1 -1
- data/lib/comet/models/group_policy.rb +1 -1
- data/lib/comet/models/hour_sched_config.rb +1 -1
- data/lib/comet/models/httpconnector_options.rb +1 -1
- data/lib/comet/models/hyper_vmachine_info.rb +1 -1
- data/lib/comet/models/impossible_cloud_iamtemplate_settings.rb +1 -1
- data/lib/comet/models/impossible_cloud_partner_template_settings.rb +1 -1
- data/lib/comet/models/install_creds.rb +1 -1
- data/lib/comet/models/install_token.rb +1 -1
- data/lib/comet/models/install_token_response.rb +1 -1
- data/lib/comet/models/job_entry.rb +1 -1
- data/lib/comet/models/license_limits.rb +1 -1
- data/lib/comet/models/license_options.rb +1 -1
- data/lib/comet/models/live_user_connection.rb +1 -1
- data/lib/comet/models/local_destination_location.rb +1 -1
- data/lib/comet/models/local_storage_directory.rb +1 -1
- data/lib/comet/models/login_protection_options.rb +93 -0
- data/lib/comet/models/mac_oscode_sign_properties.rb +1 -1
- data/lib/comet/models/mongo_dbconnection.rb +1 -1
- data/lib/comet/models/mssqlconnection.rb +1 -1
- data/lib/comet/models/mssqllogin_args.rb +1 -1
- data/lib/comet/models/my_sqlconnection.rb +1 -1
- data/lib/comet/models/new_bucket_detail.rb +1 -1
- data/lib/comet/models/news_entry.rb +1 -1
- data/lib/comet/models/object_lock_storage_template_settings.rb +1 -1
- data/lib/comet/models/office_365connection.rb +1 -1
- data/lib/comet/models/office_365credential.rb +1 -1
- data/lib/comet/models/office_365custom_setting.rb +1 -1
- data/lib/comet/models/office_365custom_setting_v2.rb +1 -1
- data/lib/comet/models/office_365mixed_virtual_account.rb +1 -1
- data/lib/comet/models/office_365object_info.rb +1 -1
- data/lib/comet/models/oidc_claim.rb +1 -1
- data/lib/comet/models/oidc_config.rb +1 -1
- data/lib/comet/models/organization.rb +1 -1
- data/lib/comet/models/organization_login_urlresponse.rb +1 -1
- data/lib/comet/models/organization_response.rb +1 -1
- data/lib/comet/models/osinfo.rb +1 -1
- data/lib/comet/models/partition.rb +1 -1
- data/lib/comet/models/private_branding_properties.rb +1 -1
- data/lib/comet/models/protected_item_engine_type_policy.rb +1 -1
- data/lib/comet/models/psaconfig.rb +1 -1
- data/lib/comet/models/psagrouped_by.rb +1 -1
- data/lib/comet/models/public_branding_properties.rb +1 -1
- data/lib/comet/models/ratelimit_options.rb +1 -1
- data/lib/comet/models/ratelimit_rule.rb +1 -1
- data/lib/comet/models/register_office_application_begin_response.rb +1 -1
- data/lib/comet/models/register_office_application_check_response.rb +1 -1
- data/lib/comet/models/registration_lobby_connection.rb +1 -1
- data/lib/comet/models/remote_server_address.rb +1 -1
- data/lib/comet/models/remote_storage_option.rb +16 -1
- data/lib/comet/models/replica_server.rb +1 -1
- data/lib/comet/models/replicator_state_apiresponse.rb +1 -1
- data/lib/comet/models/request_storage_vault_response_message.rb +1 -1
- data/lib/comet/models/restore_job_advanced_options.rb +1 -1
- data/lib/comet/models/retention_policy.rb +1 -1
- data/lib/comet/models/retention_range.rb +1 -1
- data/lib/comet/models/s3destination_location.rb +1 -1
- data/lib/comet/models/s3generic_virtual_storage_role.rb +1 -1
- data/lib/comet/models/schedule_config.rb +1 -1
- data/lib/comet/models/search_clause.rb +1 -1
- data/lib/comet/models/search_result_file_info.rb +1 -1
- data/lib/comet/models/search_snapshots_response.rb +1 -1
- data/lib/comet/models/self_backup_export_options.rb +1 -1
- data/lib/comet/models/self_backup_options.rb +1 -1
- data/lib/comet/models/self_backup_statistics.rb +1 -1
- data/lib/comet/models/self_backup_target.rb +1 -1
- data/lib/comet/models/server_config_options.rb +10 -1
- data/lib/comet/models/server_config_options_branding_fragment.rb +1 -1
- data/lib/comet/models/server_config_options_software_build_role_fragment.rb +1 -1
- data/lib/comet/models/server_meta_branding_properties.rb +8 -1
- data/lib/comet/models/server_meta_version_info.rb +3 -1
- data/lib/comet/models/session_key_regenerated_response.rb +1 -1
- data/lib/comet/models/session_options.rb +1 -1
- data/lib/comet/models/sftpdestination_location.rb +1 -1
- data/lib/comet/models/single_field_source.rb +1 -1
- data/lib/comet/models/size_measurement.rb +1 -1
- data/lib/comet/models/smbdestination_location.rb +1 -1
- data/lib/comet/models/software_build_role_options.rb +1 -1
- data/lib/comet/models/software_update_news_response.rb +1 -1
- data/lib/comet/models/source_basic_info.rb +1 -1
- data/lib/comet/models/source_config.rb +1 -1
- data/lib/comet/models/source_include_pattern.rb +1 -1
- data/lib/comet/models/source_statistics.rb +1 -1
- data/lib/comet/models/spanned_destination_location.rb +1 -1
- data/lib/comet/models/spanned_storage_extra_info.rb +1 -1
- data/lib/comet/models/sshconnection.rb +1 -1
- data/lib/comet/models/stat_result.rb +1 -1
- data/lib/comet/models/storage_free_space_info.rb +1 -1
- data/lib/comet/models/storage_role_options.rb +1 -1
- data/lib/comet/models/storage_vault_provider_policy.rb +1 -1
- data/lib/comet/models/stored_object.rb +1 -1
- data/lib/comet/models/storj_destination_location.rb +1 -1
- data/lib/comet/models/storj_virtual_storage_role_setting.rb +1 -1
- data/lib/comet/models/streamable_event.rb +1 -1
- data/lib/comet/models/swift_destination_location.rb +1 -1
- data/lib/comet/models/test_response.rb +1 -1
- data/lib/comet/models/time_span.rb +1 -1
- data/lib/comet/models/totp_regenerated_response.rb +1 -1
- data/lib/comet/models/u2fregister_request.rb +1 -1
- data/lib/comet/models/u2fregistered_key.rb +1 -1
- data/lib/comet/models/u2fregistration_challenge_response.rb +1 -1
- data/lib/comet/models/u2fsign_request.rb +1 -1
- data/lib/comet/models/u2fsign_response.rb +1 -1
- data/lib/comet/models/uninstall_config.rb +1 -1
- data/lib/comet/models/update_campaign_device_status.rb +1 -1
- data/lib/comet/models/update_campaign_options.rb +1 -1
- data/lib/comet/models/update_campaign_properties.rb +1 -1
- data/lib/comet/models/update_campaign_status.rb +1 -1
- data/lib/comet/models/update_campaign_status_device_entry.rb +1 -1
- data/lib/comet/models/user_custom_email_settings.rb +1 -1
- data/lib/comet/models/user_group.rb +92 -0
- data/lib/comet/models/user_on_server.rb +1 -1
- data/lib/comet/models/user_policy.rb +10 -1
- data/lib/comet/models/user_profile_config.rb +29 -2
- data/lib/comet/models/user_profile_fragment.rb +1 -1
- data/lib/comet/models/user_server_config.rb +1 -1
- data/lib/comet/models/vault_snapshot.rb +1 -1
- data/lib/comet/models/vmdksnapshot_view_options.rb +1 -1
- data/lib/comet/models/vmware_connection.rb +1 -1
- data/lib/comet/models/vmware_machine_info.rb +1 -1
- data/lib/comet/models/vsphere_connection.rb +1 -1
- data/lib/comet/models/vsscomponent.rb +1 -1
- data/lib/comet/models/vsswriter_info.rb +1 -1
- data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +1 -1
- data/lib/comet/models/web_authn_authenticator_selection.rb +1 -1
- data/lib/comet/models/web_authn_credential.rb +1 -1
- data/lib/comet/models/web_authn_credential_assertion.rb +1 -1
- data/lib/comet/models/web_authn_credential_descriptor.rb +1 -1
- data/lib/comet/models/web_authn_credential_entity.rb +1 -1
- data/lib/comet/models/web_authn_credential_parameter.rb +1 -1
- data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +1 -1
- data/lib/comet/models/web_authn_public_key_credential_request_options.rb +1 -1
- data/lib/comet/models/web_authn_registration_challenge_response.rb +1 -1
- data/lib/comet/models/web_authn_relying_party_entity.rb +1 -1
- data/lib/comet/models/web_authn_sign_request.rb +1 -1
- data/lib/comet/models/web_authn_sign_response.rb +1 -1
- data/lib/comet/models/web_authn_user_entity.rb +1 -1
- data/lib/comet/models/web_dav_destination_location.rb +1 -1
- data/lib/comet/models/web_interface_branding_properties.rb +1 -1
- data/lib/comet/models/webhook_option.rb +1 -1
- data/lib/comet/models/win_smbauth.rb +1 -1
- data/lib/comet/models/windows_code_sign_properties.rb +1 -1
- data/lib/comet_backup_ruby_sdk.rb +6 -1
- metadata +7 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 559b4995b120e9ebd54810f4c808e8d0cb36f0799ea97d9bdbf26ac5dc27508f
|
4
|
+
data.tar.gz: c59f6e40f566b7c011562c6532233eec43f67fac346d37fa08586b344ce9d03e
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: e2420d761669565217d482531cc3c75220f6ea99fa7bacbe3f95b04c985f9e0310a5b324f060145f01c24276543724ade3dbc4f2d654d838276068a64684b339
|
7
|
+
data.tar.gz: f630881d973b35d820385f302aa9977d8dfe6ed9cc58a49df5e40a6eaccfc8bcf7ac2348de945258de3128a786434efb676901fa0b248f6a27701025387cd983
|
data/CHANGELOG.md
CHANGED
@@ -1,5 +1,23 @@
|
|
1
1
|
# CHANGELOG
|
2
2
|
|
3
|
+
## 2025-01-15 v2.38.0
|
4
|
+
|
5
|
+
- Based on Comet 24.12.2
|
6
|
+
- Support new Login Protection feature
|
7
|
+
- Support requiring password changes for admin accounts
|
8
|
+
- Support new user grouping functionality
|
9
|
+
- Support creating a first admin account on empty servers
|
10
|
+
- Support vault-device associations and automatic vault creation
|
11
|
+
|
12
|
+
## 2024-10-29 v2.37.0
|
13
|
+
|
14
|
+
- Based on Comet 24.9.6
|
15
|
+
- New API AdminDispatcherTestSmbAuth to instruct a device to test Windows SMB credentials
|
16
|
+
- New RESTORETYPE_WINDISK_VHDX to restore Disk Image backup as Hyper-V VHDX format
|
17
|
+
- BackupJobDetail supports ConflictingJobID field to indicate conflicting job if a lock error occurred
|
18
|
+
- BackupJobProgress can report the total number of items for progress visualization
|
19
|
+
- DiskDrive adds information about parent disks on Linux
|
20
|
+
|
3
21
|
## 2024-09-17 v2.36.0
|
4
22
|
|
5
23
|
- Based on Comet 24.9.1
|
data/Gemfile.lock
CHANGED
@@ -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 = '2.
|
15
|
+
spec.version = '2.38.0'
|
16
16
|
spec.authors = ['Comet Licensing Ltd.']
|
17
17
|
spec.email = ['hello@cometbackup.com']
|
18
18
|
|
data/lib/comet/comet_server.rb
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Copyright (c) 2020-
|
3
|
+
# Copyright (c) 2020-2025 Comet Licensing Ltd.
|
4
4
|
# Please see the LICENSE file for usage information.
|
5
5
|
#
|
6
6
|
# SPDX-License-Identifier: MIT
|
@@ -325,6 +325,30 @@ module Comet
|
|
325
325
|
ret
|
326
326
|
end
|
327
327
|
|
328
|
+
# AdminAddFirstAdminUser
|
329
|
+
#
|
330
|
+
# Add first admin user account on new server.
|
331
|
+
#
|
332
|
+
# @param [String] target_user the username for this new admin
|
333
|
+
# @param [String] target_password the password for this new admin user
|
334
|
+
# @return [Comet::CometAPIResponseMessage]
|
335
|
+
def admin_add_first_admin_user(target_user, target_password)
|
336
|
+
submit_params = {}
|
337
|
+
raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
|
338
|
+
|
339
|
+
submit_params['TargetUser'] = target_user
|
340
|
+
raise TypeError, "'target_password' expected String, got #{target_password.class}" unless target_password.is_a? String
|
341
|
+
|
342
|
+
submit_params['TargetPassword'] = target_password
|
343
|
+
|
344
|
+
body = perform_request('api/v1/admin/add-first-admin-user', submit_params)
|
345
|
+
json_body = JSON.parse body
|
346
|
+
check_status json_body
|
347
|
+
ret = Comet::CometAPIResponseMessage.new
|
348
|
+
ret.from_hash(json_body)
|
349
|
+
ret
|
350
|
+
end
|
351
|
+
|
328
352
|
# AdminAddUser
|
329
353
|
#
|
330
354
|
# Add a new user account.
|
@@ -1801,6 +1825,7 @@ module Comet
|
|
1801
1825
|
#
|
1802
1826
|
# Request a list of Office365 mailbox accounts.
|
1803
1827
|
# The remote device must have given consent for an MSP to browse their files.
|
1828
|
+
# This is primarily used for testing the connection to Graph API, not for actual listing
|
1804
1829
|
#
|
1805
1830
|
# You must supply administrator authentication credentials to use this API.
|
1806
1831
|
# This API requires the Auth Role to be enabled.
|
@@ -2169,6 +2194,33 @@ module Comet
|
|
2169
2194
|
ret
|
2170
2195
|
end
|
2171
2196
|
|
2197
|
+
# AdminDispatcherTestSmbAuth
|
2198
|
+
#
|
2199
|
+
# Test a set of Windows SMB credentials.
|
2200
|
+
#
|
2201
|
+
# You must supply administrator authentication credentials to use this API.
|
2202
|
+
# This API requires the Auth Role to be enabled.
|
2203
|
+
#
|
2204
|
+
# @param [String] target_id The live connection GUID
|
2205
|
+
# @param [Comet::WinSMBAuth] wsa The target credentials to test
|
2206
|
+
# @return [Comet::CometAPIResponseMessage]
|
2207
|
+
def admin_dispatcher_test_smb_auth(target_id, wsa)
|
2208
|
+
submit_params = {}
|
2209
|
+
raise TypeError, "'target_id' expected String, got #{target_id.class}" unless target_id.is_a? String
|
2210
|
+
|
2211
|
+
submit_params['TargetID'] = target_id
|
2212
|
+
raise TypeError, "'wsa' expected Comet::WinSMBAuth, got #{wsa.class}" unless wsa.is_a? Comet::WinSMBAuth
|
2213
|
+
|
2214
|
+
submit_params['Wsa'] = wsa.to_json
|
2215
|
+
|
2216
|
+
body = perform_request('api/v1/admin/dispatcher/test-smb-auth', submit_params)
|
2217
|
+
json_body = JSON.parse body
|
2218
|
+
check_status json_body
|
2219
|
+
ret = Comet::CometAPIResponseMessage.new
|
2220
|
+
ret.from_hash(json_body)
|
2221
|
+
ret
|
2222
|
+
end
|
2223
|
+
|
2172
2224
|
# AdminDispatcherUninstallSoftware
|
2173
2225
|
#
|
2174
2226
|
# Instruct a live connected device to self-uninstall the software.
|
@@ -3223,12 +3275,18 @@ module Comet
|
|
3223
3275
|
# Access to this API may be prevented on a per-administrator basis.
|
3224
3276
|
#
|
3225
3277
|
# @param [Array<Comet::RemoteStorageOption>] remote_storage_options Updated configuration content
|
3278
|
+
# @param [String] replacement_auto_vault_id (Optional) Replacement Storage Template ID for auto Storage Vault configurations that use deleted Storage Templates
|
3226
3279
|
# @return [Comet::CometAPIResponseMessage]
|
3227
|
-
def admin_meta_remote_storage_vault_set(remote_storage_options)
|
3280
|
+
def admin_meta_remote_storage_vault_set(remote_storage_options, replacement_auto_vault_id = nil)
|
3228
3281
|
submit_params = {}
|
3229
3282
|
raise TypeError, "'remote_storage_options' expected Array, got #{remote_storage_options.class}" unless remote_storage_options.is_a? Array
|
3230
3283
|
|
3231
3284
|
submit_params['RemoteStorageOptions'] = remote_storage_options.to_json
|
3285
|
+
unless replacement_auto_vault_id.nil?
|
3286
|
+
raise TypeError, "'replacement_auto_vault_id' expected String, got #{replacement_auto_vault_id.class}" unless replacement_auto_vault_id.is_a? String
|
3287
|
+
|
3288
|
+
submit_params['ReplacementAutoVaultID'] = replacement_auto_vault_id
|
3289
|
+
end
|
3232
3290
|
|
3233
3291
|
body = perform_request('api/v1/admin/meta/remote-storage-vault/set', submit_params)
|
3234
3292
|
json_body = JSON.parse body
|
@@ -4010,8 +4068,9 @@ module Comet
|
|
4010
4068
|
# @param [String] target_user The user to receive the new Storage Vault
|
4011
4069
|
# @param [String] storage_provider ID for the storage template destination
|
4012
4070
|
# @param [String] self_address (Optional) The external URL for this server. Used to resolve conflicts
|
4071
|
+
# @param [String] device_id (Optional) The ID of the device to be added as a associated device of the Storage Vault
|
4013
4072
|
# @return [Comet::RequestStorageVaultResponseMessage]
|
4014
|
-
def admin_request_storage_vault(target_user, storage_provider, self_address = nil)
|
4073
|
+
def admin_request_storage_vault(target_user, storage_provider, self_address = nil, device_id = nil)
|
4015
4074
|
submit_params = {}
|
4016
4075
|
raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
|
4017
4076
|
|
@@ -4026,6 +4085,11 @@ module Comet
|
|
4026
4085
|
|
4027
4086
|
submit_params['SelfAddress'] = self_address
|
4028
4087
|
end
|
4088
|
+
unless device_id.nil?
|
4089
|
+
raise TypeError, "'device_id' expected String, got #{device_id.class}" unless device_id.is_a? String
|
4090
|
+
|
4091
|
+
submit_params['DeviceID'] = device_id
|
4092
|
+
end
|
4029
4093
|
|
4030
4094
|
body = perform_request('api/v1/admin/request-storage-vault', submit_params)
|
4031
4095
|
json_body = JSON.parse body
|
@@ -4425,6 +4489,208 @@ module Comet
|
|
4425
4489
|
ret
|
4426
4490
|
end
|
4427
4491
|
|
4492
|
+
# AdminUserGroupsDelete
|
4493
|
+
#
|
4494
|
+
# Delete an existing user group object.
|
4495
|
+
#
|
4496
|
+
# You must supply administrator authentication credentials to use this API.
|
4497
|
+
# This API requires the Auth Role to be enabled.
|
4498
|
+
#
|
4499
|
+
# @param [String] group_id The user group ID to delete
|
4500
|
+
# @return [Comet::CometAPIResponseMessage]
|
4501
|
+
def admin_user_groups_delete(group_id)
|
4502
|
+
submit_params = {}
|
4503
|
+
raise TypeError, "'group_id' expected String, got #{group_id.class}" unless group_id.is_a? String
|
4504
|
+
|
4505
|
+
submit_params['GroupID'] = group_id
|
4506
|
+
|
4507
|
+
body = perform_request('api/v1/admin/user-groups/delete', submit_params)
|
4508
|
+
json_body = JSON.parse body
|
4509
|
+
check_status json_body
|
4510
|
+
ret = Comet::CometAPIResponseMessage.new
|
4511
|
+
ret.from_hash(json_body)
|
4512
|
+
ret
|
4513
|
+
end
|
4514
|
+
|
4515
|
+
# AdminUserGroupsGet
|
4516
|
+
#
|
4517
|
+
# Retrieve a single user group object.
|
4518
|
+
#
|
4519
|
+
# You must supply administrator authentication credentials to use this API.
|
4520
|
+
# This API requires the Auth Role to be enabled.
|
4521
|
+
#
|
4522
|
+
# @param [String] group_id The user group ID to retrieve
|
4523
|
+
# @param [Boolean] include_users (Optional) If present, includes the users array in the response.
|
4524
|
+
# @return [Comet::GetUserGroupWithUsersResponse]
|
4525
|
+
def admin_user_groups_get(group_id, include_users = nil)
|
4526
|
+
submit_params = {}
|
4527
|
+
raise TypeError, "'group_id' expected String, got #{group_id.class}" unless group_id.is_a? String
|
4528
|
+
|
4529
|
+
submit_params['GroupID'] = group_id
|
4530
|
+
unless include_users.nil?
|
4531
|
+
submit_params['IncludeUsers'] = (include_users ? 1 : 0)
|
4532
|
+
end
|
4533
|
+
|
4534
|
+
body = perform_request('api/v1/admin/user-groups/get', submit_params)
|
4535
|
+
json_body = JSON.parse body
|
4536
|
+
check_status json_body
|
4537
|
+
ret = Comet::GetUserGroupWithUsersResponse.new
|
4538
|
+
ret.from_hash(json_body)
|
4539
|
+
ret
|
4540
|
+
end
|
4541
|
+
|
4542
|
+
# AdminUserGroupsList
|
4543
|
+
#
|
4544
|
+
# List all user group names.
|
4545
|
+
# For the top-level organization, the API result includes all user groups for all organizations, unless the TargetOrganization parameter is present.
|
4546
|
+
#
|
4547
|
+
# You must supply administrator authentication credentials to use this API.
|
4548
|
+
# This API requires the Auth Role to be enabled.
|
4549
|
+
#
|
4550
|
+
# @param [String] target_organization (Optional) If present, list the user groups belonging to another organization. Only allowed for administrator accounts in the top-level organization.
|
4551
|
+
# @return [Hash{String => String}]
|
4552
|
+
def admin_user_groups_list(target_organization = nil)
|
4553
|
+
submit_params = {}
|
4554
|
+
unless target_organization.nil?
|
4555
|
+
raise TypeError, "'target_organization' expected String, got #{target_organization.class}" unless target_organization.is_a? String
|
4556
|
+
|
4557
|
+
submit_params['TargetOrganization'] = target_organization
|
4558
|
+
end
|
4559
|
+
|
4560
|
+
body = perform_request('api/v1/admin/user-groups/list', submit_params)
|
4561
|
+
json_body = JSON.parse body
|
4562
|
+
check_status json_body
|
4563
|
+
ret = {}
|
4564
|
+
if json_body.nil?
|
4565
|
+
ret = {}
|
4566
|
+
else
|
4567
|
+
json_body.each do |k, v|
|
4568
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
4569
|
+
|
4570
|
+
ret[k] = v
|
4571
|
+
end
|
4572
|
+
end
|
4573
|
+
ret
|
4574
|
+
end
|
4575
|
+
|
4576
|
+
# AdminUserGroupsListFull
|
4577
|
+
#
|
4578
|
+
# Get all user group objects.
|
4579
|
+
# For the top-level organization, the API result includes all user groups for all organizations, unless the TargetOrganization parameter is present.
|
4580
|
+
#
|
4581
|
+
# You must supply administrator authentication credentials to use this API.
|
4582
|
+
# This API requires the Auth Role to be enabled.
|
4583
|
+
#
|
4584
|
+
# @param [String] target_organization (Optional) If present, list the user groups belonging to the specified organization. Only allowed for administrator accounts in the top-level organization.
|
4585
|
+
# @return [Hash{String => Comet::UserGroup}]
|
4586
|
+
def admin_user_groups_list_full(target_organization = nil)
|
4587
|
+
submit_params = {}
|
4588
|
+
unless target_organization.nil?
|
4589
|
+
raise TypeError, "'target_organization' expected String, got #{target_organization.class}" unless target_organization.is_a? String
|
4590
|
+
|
4591
|
+
submit_params['TargetOrganization'] = target_organization
|
4592
|
+
end
|
4593
|
+
|
4594
|
+
body = perform_request('api/v1/admin/user-groups/list-full', submit_params)
|
4595
|
+
json_body = JSON.parse body
|
4596
|
+
check_status json_body
|
4597
|
+
ret = {}
|
4598
|
+
if json_body.nil?
|
4599
|
+
ret = {}
|
4600
|
+
else
|
4601
|
+
json_body.each do |k, v|
|
4602
|
+
ret[k] = Comet::UserGroup.new
|
4603
|
+
ret[k].from_hash(v)
|
4604
|
+
end
|
4605
|
+
end
|
4606
|
+
ret
|
4607
|
+
end
|
4608
|
+
|
4609
|
+
# AdminUserGroupsNew
|
4610
|
+
#
|
4611
|
+
# Create a new user group object.
|
4612
|
+
#
|
4613
|
+
# You must supply administrator authentication credentials to use this API.
|
4614
|
+
# This API requires the Auth Role to be enabled.
|
4615
|
+
#
|
4616
|
+
# @param [String] name this is the name of the group.
|
4617
|
+
# @param [String] target_organization (Optional) If present, list the policies belonging to another organization. Only allowed for administrator accounts in the top-level organization.
|
4618
|
+
# @return [Comet::CreateUserGroupResponse]
|
4619
|
+
def admin_user_groups_new(name, target_organization = nil)
|
4620
|
+
submit_params = {}
|
4621
|
+
raise TypeError, "'name' expected String, got #{name.class}" unless name.is_a? String
|
4622
|
+
|
4623
|
+
submit_params['Name'] = name
|
4624
|
+
unless target_organization.nil?
|
4625
|
+
raise TypeError, "'target_organization' expected String, got #{target_organization.class}" unless target_organization.is_a? String
|
4626
|
+
|
4627
|
+
submit_params['TargetOrganization'] = target_organization
|
4628
|
+
end
|
4629
|
+
|
4630
|
+
body = perform_request('api/v1/admin/user-groups/new', submit_params)
|
4631
|
+
json_body = JSON.parse body
|
4632
|
+
check_status json_body
|
4633
|
+
ret = Comet::CreateUserGroupResponse.new
|
4634
|
+
ret.from_hash(json_body)
|
4635
|
+
ret
|
4636
|
+
end
|
4637
|
+
|
4638
|
+
# AdminUserGroupsSet
|
4639
|
+
#
|
4640
|
+
# Update an existing user group or create a new user group.
|
4641
|
+
#
|
4642
|
+
# You must supply administrator authentication credentials to use this API.
|
4643
|
+
# This API requires the Auth Role to be enabled.
|
4644
|
+
#
|
4645
|
+
# @param [String] group_id The user group ID to update or create
|
4646
|
+
# @param [Comet::UserGroup] group The user group data
|
4647
|
+
# @return [Comet::CometAPIResponseMessage]
|
4648
|
+
def admin_user_groups_set(group_id, group)
|
4649
|
+
submit_params = {}
|
4650
|
+
raise TypeError, "'group_id' expected String, got #{group_id.class}" unless group_id.is_a? String
|
4651
|
+
|
4652
|
+
submit_params['GroupID'] = group_id
|
4653
|
+
raise TypeError, "'group' expected Comet::UserGroup, got #{group.class}" unless group.is_a? Comet::UserGroup
|
4654
|
+
|
4655
|
+
submit_params['Group'] = group.to_json
|
4656
|
+
|
4657
|
+
body = perform_request('api/v1/admin/user-groups/set', submit_params)
|
4658
|
+
json_body = JSON.parse body
|
4659
|
+
check_status json_body
|
4660
|
+
ret = Comet::CometAPIResponseMessage.new
|
4661
|
+
ret.from_hash(json_body)
|
4662
|
+
ret
|
4663
|
+
end
|
4664
|
+
|
4665
|
+
# AdminUserGroupsSetUsersForGroup
|
4666
|
+
#
|
4667
|
+
# Update the users in the specified group.
|
4668
|
+
# The provided list of users will be moved into the specified group, and any users
|
4669
|
+
# already in the group who are not in the list of usernames will be removed.
|
4670
|
+
#
|
4671
|
+
# You must supply administrator authentication credentials to use this API.
|
4672
|
+
# This API requires the Auth Role to be enabled.
|
4673
|
+
#
|
4674
|
+
# @param [String] group_id The user group ID to update
|
4675
|
+
# @param [Array<String>] users An array of usernames.
|
4676
|
+
# @return [Comet::CometAPIResponseMessage]
|
4677
|
+
def admin_user_groups_set_users_for_group(group_id, users)
|
4678
|
+
submit_params = {}
|
4679
|
+
raise TypeError, "'group_id' expected String, got #{group_id.class}" unless group_id.is_a? String
|
4680
|
+
|
4681
|
+
submit_params['GroupID'] = group_id
|
4682
|
+
raise TypeError, "'users' expected Array, got #{users.class}" unless users.is_a? Array
|
4683
|
+
|
4684
|
+
submit_params['Users'] = users.to_json
|
4685
|
+
|
4686
|
+
body = perform_request('api/v1/admin/user-groups/set-users-for-group', submit_params)
|
4687
|
+
json_body = JSON.parse body
|
4688
|
+
check_status json_body
|
4689
|
+
ret = Comet::CometAPIResponseMessage.new
|
4690
|
+
ret.from_hash(json_body)
|
4691
|
+
ret
|
4692
|
+
end
|
4693
|
+
|
4428
4694
|
# HybridSessionStart
|
4429
4695
|
#
|
4430
4696
|
# Generate a session key (log in).
|
data/lib/comet/definitions.rb
CHANGED
@@ -1,19 +1,19 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Copyright (c) 2020-
|
3
|
+
# Copyright (c) 2020-2025 Comet Licensing Ltd.
|
4
4
|
# Please see the LICENSE file for usage information.
|
5
5
|
#
|
6
6
|
# SPDX-License-Identifier: MIT
|
7
7
|
|
8
8
|
module Comet
|
9
9
|
|
10
|
-
APPLICATION_VERSION = '24.
|
10
|
+
APPLICATION_VERSION = '24.12.2'
|
11
11
|
|
12
12
|
APPLICATION_VERSION_MAJOR = 24
|
13
13
|
|
14
|
-
APPLICATION_VERSION_MINOR =
|
14
|
+
APPLICATION_VERSION_MINOR = 12
|
15
15
|
|
16
|
-
APPLICATION_VERSION_REVISION =
|
16
|
+
APPLICATION_VERSION_REVISION = 2
|
17
17
|
|
18
18
|
# AutoRetentionLevel: The system will automatically choose how often to run an automatic Retention Pass after each backup job.
|
19
19
|
BACKUPJOBAUTORETENTION_AUTOMATIC = 0
|
@@ -212,7 +212,7 @@ module Comet
|
|
212
212
|
# Microsoft SQL Server
|
213
213
|
ENGINE_BUILTIN_MSSQL = 'engine1/mssql'
|
214
214
|
|
215
|
-
# Windows System Backup
|
215
|
+
# Windows System Backup, deprecated from version 24.12.2
|
216
216
|
ENGINE_BUILTIN_WINDOWSSYSTEM = 'engine1/windowssystem'
|
217
217
|
|
218
218
|
# Microsoft Exchange Server
|
@@ -405,6 +405,15 @@ module Comet
|
|
405
405
|
# MSSQLRestoreOpt
|
406
406
|
MSSQL_RESTORE_NORECOVERY = 'NO_RECOVERY'
|
407
407
|
|
408
|
+
# Used in policy to define that the automatic Storage Vaults for new devices is not enforced by the policy
|
409
|
+
NEW_STORAGE_VAULT_MODE_USER = 'user_controlled'
|
410
|
+
|
411
|
+
# No Storage Vault will be created when a new device is added
|
412
|
+
NEW_STORAGE_VAULT_MODE_NONE = 'none'
|
413
|
+
|
414
|
+
# When a new device is added, a Storage Vault will be created using the servers default Storage Template
|
415
|
+
NEW_STORAGE_VAULT_MODE_SERVER = 'server_controlled'
|
416
|
+
|
408
417
|
# Enable Object Lock capability if the corresponding Days field is greater than zero.
|
409
418
|
New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead.
|
410
419
|
# @deprecated This const has been deprecated since Comet version 23.x.x
|
@@ -585,6 +594,9 @@ New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead.
|
|
585
594
|
# RestoreType: Restore disk image backup as VMware-compatible virtual disks
|
586
595
|
RESTORETYPE_WINDISK_ESXI = 12
|
587
596
|
|
597
|
+
# RestoreType: Restore disk image backup as Hyper-V-compatible virtual disks (.vhdx format)
|
598
|
+
RESTORETYPE_WINDISK_VHDX = 13
|
599
|
+
|
588
600
|
# RestoreType: Legacy name alias - Prefer to use RESTORETYPE_PROCESS_ARCHIVE since multiple archive file formats are supported within this single RESTORETYPE_
|
589
601
|
RESTORETYPE_PROCESS_TARBALL = 3
|
590
602
|
|
@@ -909,6 +921,15 @@ New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead.
|
|
909
921
|
# StreamableEventType: Device disconnected from registration lobby
|
910
922
|
SEVT_DEVICE_LOBBY_DISCONNECT = 4705
|
911
923
|
|
924
|
+
# StreamableEventType: UserGroup created.
|
925
|
+
SEVT_USERGROUP_NEW = 4800
|
926
|
+
|
927
|
+
# StreamableEventType: UserGroup deleted
|
928
|
+
SEVT_USERGROUP_REMOVED = 4801
|
929
|
+
|
930
|
+
# StreamableEventType: UserGroup updated.
|
931
|
+
SEVT_USERGROUP_UPDATED = 4802
|
932
|
+
|
912
933
|
# StreamableEventType
|
913
934
|
SEVT__MAX = 4999
|
914
935
|
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Copyright (c) 2020-
|
3
|
+
# Copyright (c) 2020-2025 Comet Licensing Ltd.
|
4
4
|
# Please see the LICENSE file for usage information.
|
5
5
|
#
|
6
6
|
# SPDX-License-Identifier: MIT
|
@@ -39,6 +39,10 @@ module Comet
|
|
39
39
|
# @type [Array<Comet::AdminWebAuthnRegistration>] web_authn_registrations
|
40
40
|
attr_accessor :web_authn_registrations
|
41
41
|
|
42
|
+
# This field is available in Comet 24.12.0 and later.
|
43
|
+
# @type [Boolean] require_password_change
|
44
|
+
attr_accessor :require_password_change
|
45
|
+
|
42
46
|
# One of the ENCRYPTIONMETHOD_ constants
|
43
47
|
# @type [Number] totpkey_encryption_format
|
44
48
|
attr_accessor :totpkey_encryption_format
|
@@ -118,6 +122,8 @@ module Comet
|
|
118
122
|
@web_authn_registrations[i1].from_hash(v1)
|
119
123
|
end
|
120
124
|
end
|
125
|
+
when 'RequirePasswordChange'
|
126
|
+
@require_password_change = v
|
121
127
|
when 'TOTPKeyEncryptionFormat'
|
122
128
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
123
129
|
|
@@ -151,6 +157,7 @@ module Comet
|
|
151
157
|
unless @web_authn_registrations.nil?
|
152
158
|
ret['WebAuthnRegistrations'] = @web_authn_registrations
|
153
159
|
end
|
160
|
+
ret['RequirePasswordChange'] = @require_password_change
|
154
161
|
unless @totpkey_encryption_format.nil?
|
155
162
|
ret['TOTPKeyEncryptionFormat'] = @totpkey_encryption_format
|
156
163
|
end
|
@@ -1,6 +1,6 @@
|
|
1
1
|
# frozen_string_literal: true
|
2
2
|
|
3
|
-
# Copyright (c) 2020-
|
3
|
+
# Copyright (c) 2020-2025 Comet Licensing Ltd.
|
4
4
|
# Please see the LICENSE file for usage information.
|
5
5
|
#
|
6
6
|
# SPDX-License-Identifier: MIT
|
@@ -48,6 +48,10 @@ module Comet
|
|
48
48
|
# @type [Array<Comet::AdminWebAuthnRegistration>] web_authn_registrations
|
49
49
|
attr_accessor :web_authn_registrations
|
50
50
|
|
51
|
+
# This field is available in Comet 24.12.0 and later.
|
52
|
+
# @type [Boolean] require_password_change
|
53
|
+
attr_accessor :require_password_change
|
54
|
+
|
51
55
|
# One of the ENCRYPTIONMETHOD_ constants
|
52
56
|
# @type [Number] totpkey_encryption_format
|
53
57
|
attr_accessor :totpkey_encryption_format
|
@@ -146,6 +150,8 @@ module Comet
|
|
146
150
|
@web_authn_registrations[i1].from_hash(v1)
|
147
151
|
end
|
148
152
|
end
|
153
|
+
when 'RequirePasswordChange'
|
154
|
+
@require_password_change = v
|
149
155
|
when 'TOTPKeyEncryptionFormat'
|
150
156
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
151
157
|
|
@@ -187,6 +193,7 @@ module Comet
|
|
187
193
|
unless @web_authn_registrations.nil?
|
188
194
|
ret['WebAuthnRegistrations'] = @web_authn_registrations
|
189
195
|
end
|
196
|
+
ret['RequirePasswordChange'] = @require_password_change
|
190
197
|
unless @totpkey_encryption_format.nil?
|
191
198
|
ret['TOTPKeyEncryptionFormat'] = @totpkey_encryption_format
|
192
199
|
end
|