comet_backup_ruby_sdk 2.37.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 +9 -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 +242 -3
- data/lib/comet/definitions.rb +23 -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 +1 -1
- data/lib/comet/models/backup_job_progress.rb +1 -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 +1 -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,14 @@
|
|
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
|
+
|
3
12
|
## 2024-10-29 v2.37.0
|
4
13
|
|
5
14
|
- Based on Comet 24.9.6
|
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.
|
@@ -3250,12 +3275,18 @@ module Comet
|
|
3250
3275
|
# Access to this API may be prevented on a per-administrator basis.
|
3251
3276
|
#
|
3252
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
|
3253
3279
|
# @return [Comet::CometAPIResponseMessage]
|
3254
|
-
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)
|
3255
3281
|
submit_params = {}
|
3256
3282
|
raise TypeError, "'remote_storage_options' expected Array, got #{remote_storage_options.class}" unless remote_storage_options.is_a? Array
|
3257
3283
|
|
3258
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
|
3259
3290
|
|
3260
3291
|
body = perform_request('api/v1/admin/meta/remote-storage-vault/set', submit_params)
|
3261
3292
|
json_body = JSON.parse body
|
@@ -4037,8 +4068,9 @@ module Comet
|
|
4037
4068
|
# @param [String] target_user The user to receive the new Storage Vault
|
4038
4069
|
# @param [String] storage_provider ID for the storage template destination
|
4039
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
|
4040
4072
|
# @return [Comet::RequestStorageVaultResponseMessage]
|
4041
|
-
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)
|
4042
4074
|
submit_params = {}
|
4043
4075
|
raise TypeError, "'target_user' expected String, got #{target_user.class}" unless target_user.is_a? String
|
4044
4076
|
|
@@ -4053,6 +4085,11 @@ module Comet
|
|
4053
4085
|
|
4054
4086
|
submit_params['SelfAddress'] = self_address
|
4055
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
|
4056
4093
|
|
4057
4094
|
body = perform_request('api/v1/admin/request-storage-vault', submit_params)
|
4058
4095
|
json_body = JSON.parse body
|
@@ -4452,6 +4489,208 @@ module Comet
|
|
4452
4489
|
ret
|
4453
4490
|
end
|
4454
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
|
+
|
4455
4694
|
# HybridSessionStart
|
4456
4695
|
#
|
4457
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
|
@@ -912,6 +921,15 @@ New code should explicitly use OBJECT_LOCK_ON / OBJECT_LOCK_OFF instead.
|
|
912
921
|
# StreamableEventType: Device disconnected from registration lobby
|
913
922
|
SEVT_DEVICE_LOBBY_DISCONNECT = 4705
|
914
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
|
+
|
915
933
|
# StreamableEventType
|
916
934
|
SEVT__MAX = 4999
|
917
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
|