comet_backup_ruby_sdk 1.15.0 → 2.2.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/.gitignore +0 -0
- data/.rubocop.yml +0 -0
- data/CHANGELOG.md +28 -1
- data/Gemfile +2 -4
- data/Gemfile.lock +1 -1
- data/LICENSE +0 -0
- data/README.md +0 -0
- data/RELEASING.md +0 -0
- data/Rakefile +2 -4
- data/comet_backup_ruby_sdk.gemspec +1 -1
- data/lib/comet/api_response_error.rb +2 -4
- data/lib/comet/comet_server.rb +76 -23
- data/lib/comet/definitions.rb +28 -7
- data/lib/comet/models/add_bucket_response_message.rb +2 -4
- data/lib/comet/models/admin_account_properties_response.rb +2 -4
- data/lib/comet/models/admin_email_options.rb +2 -4
- data/lib/comet/models/admin_resource_response.rb +2 -4
- data/lib/comet/models/admin_security_options.rb +2 -4
- data/lib/comet/models/admin_u2fregistration.rb +2 -4
- data/lib/comet/models/admin_user_permissions.rb +18 -4
- data/lib/comet/models/admin_web_authn_registration.rb +2 -4
- data/lib/comet/models/allowed_admin_user.rb +2 -4
- data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +2 -4
- data/lib/comet/models/authentication_role_options.rb +149 -0
- data/lib/comet/models/available_download.rb +2 -4
- data/lib/comet/models/azure_destination_location.rb +2 -4
- data/lib/comet/models/b2destination_location.rb +2 -4
- data/lib/comet/models/b2storage_extra_info.rb +2 -4
- data/lib/comet/models/b2transaction_totals.rb +2 -4
- data/lib/comet/models/b2virtual_storage_role_settings.rb +2 -4
- data/lib/comet/models/backup_job_advanced_options.rb +2 -4
- data/lib/comet/models/backup_job_detail.rb +2 -4
- data/lib/comet/models/backup_job_progress.rb +2 -4
- data/lib/comet/models/backup_rule_config.rb +2 -4
- data/lib/comet/models/backup_rule_event_triggers.rb +2 -4
- data/lib/comet/models/branding_options.rb +11 -4
- data/lib/comet/models/branding_properties.rb +11 -4
- data/lib/comet/models/browse_disk_drives_response.rb +2 -4
- data/lib/comet/models/browse_edbresponse.rb +2 -4
- data/lib/comet/models/browse_hvresponse.rb +2 -4
- data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +2 -4
- data/lib/comet/models/browse_office_365objects_response.rb +2 -4
- data/lib/comet/models/browse_sqlserver_response.rb +2 -4
- data/lib/comet/models/browse_vssresponse.rb +2 -4
- data/lib/comet/models/bucket_properties.rb +2 -4
- data/lib/comet/models/bucket_usage_info.rb +11 -4
- data/lib/comet/models/comet_apiresponse_message.rb +2 -4
- data/lib/comet/models/comet_destination_location.rb +2 -4
- data/lib/comet/models/constellation_check_report.rb +2 -4
- data/lib/comet/models/constellation_role_options.rb +91 -0
- data/lib/comet/models/constellation_stats.rb +2 -4
- data/lib/comet/models/constellation_status_apiresponse.rb +2 -4
- data/lib/comet/models/content_measurement.rb +2 -4
- data/lib/comet/models/content_measurement_component.rb +2 -4
- data/lib/comet/models/create_group_policy_response.rb +2 -4
- data/lib/comet/models/custom_remote_bucket_settings.rb +2 -4
- data/lib/comet/models/days_of_week_config.rb +2 -4
- data/lib/comet/models/default_email_report_policy.rb +2 -4
- data/lib/comet/models/default_source_with_osrestriction.rb +2 -4
- data/lib/comet/models/destination_config.rb +19 -4
- data/lib/comet/models/destination_location.rb +19 -4
- data/lib/comet/models/destination_statistics.rb +2 -4
- data/lib/comet/models/device_config.rb +2 -4
- data/lib/comet/models/disk_drive.rb +2 -4
- data/lib/comet/models/dispatcher_admin_sources_response.rb +2 -4
- data/lib/comet/models/dispatcher_stored_objects_response.rb +2 -4
- data/lib/comet/models/dispatcher_vault_snapshots_response.rb +2 -4
- data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +2 -4
- data/lib/comet/models/edbfile_info.rb +2 -4
- data/lib/comet/models/email_options.rb +2 -4
- data/lib/comet/models/email_report_config.rb +2 -4
- data/lib/comet/models/email_report_generated_preview.rb +2 -4
- data/lib/comet/models/external_authentication_source.rb +194 -0
- data/lib/comet/models/external_ldapauthentication_source_server.rb +97 -0
- data/lib/comet/models/external_ldapauthentication_source_settings.rb +23 -10
- data/lib/comet/models/extra_file_exclusion.rb +2 -4
- data/lib/comet/models/ftpdestination_location.rb +2 -4
- data/lib/comet/models/get_group_policy_response.rb +2 -4
- data/lib/comet/models/get_profile_and_hash_response_message.rb +2 -4
- data/lib/comet/models/get_profile_hash_response_message.rb +2 -4
- data/lib/comet/models/global_override_options.rb +75 -0
- data/lib/comet/models/group_policy.rb +2 -4
- data/lib/comet/models/hour_sched_config.rb +2 -4
- data/lib/comet/models/httpconnector_options.rb +139 -0
- data/lib/comet/models/hyper_vmachine_info.rb +2 -4
- data/lib/comet/models/install_creds.rb +2 -4
- data/lib/comet/models/install_token.rb +2 -4
- data/lib/comet/models/install_token_response.rb +2 -4
- data/lib/comet/models/job_entry.rb +2 -4
- data/lib/comet/models/license_options.rb +84 -0
- data/lib/comet/models/live_user_connection.rb +2 -4
- data/lib/comet/models/local_destination_location.rb +2 -4
- data/lib/comet/models/local_storage_directory.rb +73 -0
- data/lib/comet/models/mac_oscode_sign_properties.rb +2 -4
- data/lib/comet/models/mongo_dbconnection.rb +2 -4
- data/lib/comet/models/mssqlconnection.rb +2 -4
- data/lib/comet/models/my_sqlconnection.rb +2 -4
- data/lib/comet/models/new_bucket_detail.rb +2 -4
- data/lib/comet/models/news_entry.rb +2 -4
- data/lib/comet/models/office_365connection.rb +2 -4
- data/lib/comet/models/office_365credential.rb +2 -4
- data/lib/comet/models/office_365custom_setting.rb +2 -4
- data/lib/comet/models/office_365custom_setting_v2.rb +2 -4
- data/lib/comet/models/office_365mixed_virtual_account.rb +13 -4
- data/lib/comet/models/office_365object_info.rb +2 -4
- data/lib/comet/models/organization.rb +13 -7
- data/lib/comet/models/organization_response.rb +2 -4
- data/lib/comet/models/osinfo.rb +2 -4
- data/lib/comet/models/partition.rb +2 -4
- data/lib/comet/models/private_branding_properties.rb +11 -4
- data/lib/comet/models/protected_item_engine_type_policy.rb +2 -4
- data/lib/comet/models/public_branding_properties.rb +2 -4
- data/lib/comet/models/ratelimit_options.rb +81 -0
- data/lib/comet/models/ratelimit_rule.rb +82 -0
- data/lib/comet/models/register_office_application_begin_response.rb +2 -4
- data/lib/comet/models/register_office_application_check_response.rb +2 -4
- data/lib/comet/models/remote_server_address.rb +12 -4
- data/lib/comet/models/remote_storage_option.rb +12 -4
- data/lib/comet/models/replica_server.rb +197 -0
- data/lib/comet/models/replicator_state_apiresponse.rb +2 -4
- data/lib/comet/models/request_storage_vault_response_message.rb +2 -4
- data/lib/comet/models/restore_job_advanced_options.rb +83 -4
- data/lib/comet/models/retention_policy.rb +2 -4
- data/lib/comet/models/retention_range.rb +2 -4
- data/lib/comet/models/s3destination_location.rb +11 -4
- data/lib/comet/models/s3generic_virtual_storage_role.rb +2 -4
- data/lib/comet/models/schedule_config.rb +13 -4
- data/lib/comet/models/search_clause.rb +2 -4
- data/lib/comet/models/self_backup_options.rb +79 -0
- data/lib/comet/models/self_backup_statistics.rb +2 -4
- data/lib/comet/models/self_backup_target.rb +137 -0
- data/lib/comet/models/server_config_options.rb +253 -0
- data/lib/comet/models/server_config_options_branding_fragment.rb +2 -4
- data/lib/comet/models/server_config_options_software_build_role_fragment.rb +2 -4
- data/lib/comet/models/server_meta_branding_properties.rb +2 -4
- data/lib/comet/models/server_meta_version_info.rb +17 -4
- data/lib/comet/models/session_key_regenerated_response.rb +2 -4
- data/lib/comet/models/session_options.rb +73 -0
- data/lib/comet/models/sftpdestination_location.rb +2 -4
- data/lib/comet/models/size_measurement.rb +2 -4
- data/lib/comet/models/software_build_role_options.rb +2 -4
- data/lib/comet/models/software_update_news_response.rb +2 -4
- data/lib/comet/models/source_basic_info.rb +2 -4
- data/lib/comet/models/source_config.rb +2 -4
- data/lib/comet/models/source_include_pattern.rb +2 -4
- data/lib/comet/models/source_statistics.rb +2 -4
- data/lib/comet/models/spanned_destination_location.rb +2 -4
- data/lib/comet/models/spanned_storage_extra_info.rb +2 -4
- data/lib/comet/models/sshconnection.rb +2 -4
- data/lib/comet/models/stat_result.rb +2 -4
- data/lib/comet/models/storage_free_space_info.rb +2 -4
- data/lib/comet/models/storage_role_options.rb +110 -0
- data/lib/comet/models/storage_vault_provider_policy.rb +2 -4
- data/lib/comet/models/stored_object.rb +2 -4
- data/lib/comet/models/streamable_event.rb +2 -4
- data/lib/comet/models/swift_destination_location.rb +2 -4
- data/lib/comet/models/test_response.rb +2 -4
- data/lib/comet/models/totp_regenerated_response.rb +2 -4
- data/lib/comet/models/u2fregister_request.rb +2 -4
- data/lib/comet/models/u2fregistered_key.rb +2 -4
- data/lib/comet/models/u2fregistration_challenge_response.rb +2 -4
- data/lib/comet/models/u2fsign_request.rb +2 -4
- data/lib/comet/models/u2fsign_response.rb +2 -4
- data/lib/comet/models/uninstall_config.rb +2 -4
- data/lib/comet/models/update_campaign_device_status.rb +2 -4
- data/lib/comet/models/update_campaign_options.rb +5 -6
- data/lib/comet/models/update_campaign_properties.rb +2 -4
- data/lib/comet/models/update_campaign_status.rb +2 -4
- data/lib/comet/models/update_campaign_status_device_entry.rb +2 -4
- data/lib/comet/models/user_custom_email_settings.rb +2 -4
- data/lib/comet/models/user_on_server.rb +2 -4
- data/lib/comet/models/user_policy.rb +13 -4
- data/lib/comet/models/user_profile_config.rb +16 -8
- data/lib/comet/models/user_profile_fragment.rb +2 -4
- data/lib/comet/models/user_server_config.rb +75 -0
- data/lib/comet/models/vault_snapshot.rb +2 -4
- data/lib/comet/models/vmdksnapshot_view_options.rb +2 -4
- data/lib/comet/models/vsscomponent.rb +2 -4
- data/lib/comet/models/vsswriter_info.rb +2 -4
- data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +2 -4
- data/lib/comet/models/web_authn_authenticator_selection.rb +2 -4
- data/lib/comet/models/web_authn_credential.rb +2 -4
- data/lib/comet/models/web_authn_credential_assertion.rb +2 -4
- data/lib/comet/models/web_authn_credential_descriptor.rb +2 -4
- data/lib/comet/models/web_authn_credential_entity.rb +2 -4
- data/lib/comet/models/web_authn_credential_parameter.rb +2 -4
- data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +2 -4
- data/lib/comet/models/web_authn_public_key_credential_request_options.rb +2 -4
- data/lib/comet/models/web_authn_registration_challenge_response.rb +2 -4
- data/lib/comet/models/web_authn_relying_party_entity.rb +2 -4
- data/lib/comet/models/web_authn_sign_request.rb +2 -4
- data/lib/comet/models/web_authn_sign_response.rb +2 -4
- data/lib/comet/models/web_authn_user_entity.rb +2 -4
- data/lib/comet/models/web_interface_branding_properties.rb +2 -4
- data/lib/comet/models/webhook_option.rb +2 -4
- data/lib/comet/models/win_smbauth.rb +2 -4
- data/lib/comet/models/windows_code_sign_properties.rb +2 -4
- data/lib/comet_backup_ruby_sdk.rb +23 -4
- metadata +19 -2
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -50,6 +48,12 @@ module Comet
|
|
|
50
48
|
# @type [String] server_license_hash
|
|
51
49
|
attr_accessor :server_license_hash
|
|
52
50
|
|
|
51
|
+
# @type [Boolean] server_license_features_all
|
|
52
|
+
attr_accessor :server_license_features_all
|
|
53
|
+
|
|
54
|
+
# @type [Number] server_license_feature_set
|
|
55
|
+
attr_accessor :server_license_feature_set
|
|
56
|
+
|
|
53
57
|
# @type [Number] license_valid_until
|
|
54
58
|
attr_accessor :license_valid_until
|
|
55
59
|
|
|
@@ -95,6 +99,7 @@ module Comet
|
|
|
95
99
|
@server_start_hash = ''
|
|
96
100
|
@current_time = 0
|
|
97
101
|
@server_license_hash = ''
|
|
102
|
+
@server_license_feature_set = 0
|
|
98
103
|
@license_valid_until = 0
|
|
99
104
|
@emails_sent_successfully = 0
|
|
100
105
|
@emails_sent_errors = 0
|
|
@@ -165,6 +170,12 @@ module Comet
|
|
|
165
170
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
166
171
|
|
|
167
172
|
@server_license_hash = v
|
|
173
|
+
when 'ServerLicenseFeaturesAll'
|
|
174
|
+
@server_license_features_all = v
|
|
175
|
+
when 'ServerLicenseFeatureSet'
|
|
176
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
177
|
+
|
|
178
|
+
@server_license_feature_set = v
|
|
168
179
|
when 'LicenseValidUntil'
|
|
169
180
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
170
181
|
|
|
@@ -232,6 +243,8 @@ module Comet
|
|
|
232
243
|
ret['ServerStartHash'] = @server_start_hash
|
|
233
244
|
ret['CurrentTime'] = @current_time
|
|
234
245
|
ret['ServerLicenseHash'] = @server_license_hash
|
|
246
|
+
ret['ServerLicenseFeaturesAll'] = @server_license_features_all
|
|
247
|
+
ret['ServerLicenseFeatureSet'] = @server_license_feature_set
|
|
235
248
|
ret['LicenseValidUntil'] = @license_valid_until
|
|
236
249
|
ret['EmailsSentSuccessfully'] = @emails_sent_successfully
|
|
237
250
|
ret['EmailsSentErrors'] = @emails_sent_errors
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
|
+
# Please see the LICENSE file for usage information.
|
|
5
|
+
#
|
|
6
|
+
# SPDX-License-Identifier: MIT
|
|
7
|
+
|
|
8
|
+
require 'json'
|
|
9
|
+
|
|
10
|
+
module Comet
|
|
11
|
+
|
|
12
|
+
# SessionOptions is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
class SessionOptions
|
|
14
|
+
|
|
15
|
+
# @type [Number] expired_in_seconds
|
|
16
|
+
attr_accessor :expired_in_seconds
|
|
17
|
+
|
|
18
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
19
|
+
attr_accessor :unknown_json_fields
|
|
20
|
+
|
|
21
|
+
def initialize
|
|
22
|
+
clear
|
|
23
|
+
end
|
|
24
|
+
|
|
25
|
+
def clear
|
|
26
|
+
@expired_in_seconds = 0
|
|
27
|
+
@unknown_json_fields = {}
|
|
28
|
+
end
|
|
29
|
+
|
|
30
|
+
# @param [String] json_string The complete object in JSON format
|
|
31
|
+
def from_json(json_string)
|
|
32
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
33
|
+
|
|
34
|
+
from_hash(JSON.parse(json_string))
|
|
35
|
+
end
|
|
36
|
+
|
|
37
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
38
|
+
def from_hash(obj)
|
|
39
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
40
|
+
|
|
41
|
+
obj.each do |k, v|
|
|
42
|
+
case k
|
|
43
|
+
when 'ExpiredInSeconds'
|
|
44
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
45
|
+
|
|
46
|
+
@expired_in_seconds = v
|
|
47
|
+
else
|
|
48
|
+
@unknown_json_fields[k] = v
|
|
49
|
+
end
|
|
50
|
+
end
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
54
|
+
def to_hash
|
|
55
|
+
ret = {}
|
|
56
|
+
ret['ExpiredInSeconds'] = @expired_in_seconds
|
|
57
|
+
@unknown_json_fields.each do |k, v|
|
|
58
|
+
ret[k] = v
|
|
59
|
+
end
|
|
60
|
+
ret
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
64
|
+
def to_h
|
|
65
|
+
to_hash
|
|
66
|
+
end
|
|
67
|
+
|
|
68
|
+
# @return [String] The complete object as a JSON string
|
|
69
|
+
def to_json(options = {})
|
|
70
|
+
to_hash.to_json(options)
|
|
71
|
+
end
|
|
72
|
+
end
|
|
73
|
+
end
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
|
+
# Please see the LICENSE file for usage information.
|
|
5
|
+
#
|
|
6
|
+
# SPDX-License-Identifier: MIT
|
|
7
|
+
|
|
8
|
+
require 'json'
|
|
9
|
+
|
|
10
|
+
module Comet
|
|
11
|
+
|
|
12
|
+
# StorageRoleOptions is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
class StorageRoleOptions
|
|
14
|
+
|
|
15
|
+
# @type [Boolean] role_enabled
|
|
16
|
+
attr_accessor :role_enabled
|
|
17
|
+
|
|
18
|
+
# @type [Comet::DestinationLocation] storage
|
|
19
|
+
attr_accessor :storage
|
|
20
|
+
|
|
21
|
+
# @type [Array<Comet::LocalStorageDirectory>] local_storage__legacy
|
|
22
|
+
attr_accessor :local_storage__legacy
|
|
23
|
+
|
|
24
|
+
# @type [Array<Comet::ReplicaServer>] replicate_to
|
|
25
|
+
attr_accessor :replicate_to
|
|
26
|
+
|
|
27
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
28
|
+
attr_accessor :unknown_json_fields
|
|
29
|
+
|
|
30
|
+
def initialize
|
|
31
|
+
clear
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
def clear
|
|
35
|
+
@storage = Comet::DestinationLocation.new
|
|
36
|
+
@local_storage__legacy = []
|
|
37
|
+
@replicate_to = []
|
|
38
|
+
@unknown_json_fields = {}
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# @param [String] json_string The complete object in JSON format
|
|
42
|
+
def from_json(json_string)
|
|
43
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
44
|
+
|
|
45
|
+
from_hash(JSON.parse(json_string))
|
|
46
|
+
end
|
|
47
|
+
|
|
48
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
49
|
+
def from_hash(obj)
|
|
50
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
51
|
+
|
|
52
|
+
obj.each do |k, v|
|
|
53
|
+
case k
|
|
54
|
+
when 'RoleEnabled'
|
|
55
|
+
@role_enabled = v
|
|
56
|
+
when 'Storage'
|
|
57
|
+
@storage = Comet::DestinationLocation.new
|
|
58
|
+
@storage.from_hash(v)
|
|
59
|
+
when 'LocalStorage'
|
|
60
|
+
if v.nil?
|
|
61
|
+
@local_storage__legacy = []
|
|
62
|
+
else
|
|
63
|
+
@local_storage__legacy = Array.new(v.length)
|
|
64
|
+
v.each_with_index do |v1, i1|
|
|
65
|
+
@local_storage__legacy[i1] = Comet::LocalStorageDirectory.new
|
|
66
|
+
@local_storage__legacy[i1].from_hash(v1)
|
|
67
|
+
end
|
|
68
|
+
end
|
|
69
|
+
when 'ReplicateTo'
|
|
70
|
+
if v.nil?
|
|
71
|
+
@replicate_to = []
|
|
72
|
+
else
|
|
73
|
+
@replicate_to = Array.new(v.length)
|
|
74
|
+
v.each_with_index do |v1, i1|
|
|
75
|
+
@replicate_to[i1] = Comet::ReplicaServer.new
|
|
76
|
+
@replicate_to[i1].from_hash(v1)
|
|
77
|
+
end
|
|
78
|
+
end
|
|
79
|
+
else
|
|
80
|
+
@unknown_json_fields[k] = v
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
84
|
+
|
|
85
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
86
|
+
def to_hash
|
|
87
|
+
ret = {}
|
|
88
|
+
ret['RoleEnabled'] = @role_enabled
|
|
89
|
+
ret['Storage'] = @storage
|
|
90
|
+
unless @local_storage__legacy.nil?
|
|
91
|
+
ret['LocalStorage'] = @local_storage__legacy
|
|
92
|
+
end
|
|
93
|
+
ret['ReplicateTo'] = @replicate_to
|
|
94
|
+
@unknown_json_fields.each do |k, v|
|
|
95
|
+
ret[k] = v
|
|
96
|
+
end
|
|
97
|
+
ret
|
|
98
|
+
end
|
|
99
|
+
|
|
100
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
101
|
+
def to_h
|
|
102
|
+
to_hash
|
|
103
|
+
end
|
|
104
|
+
|
|
105
|
+
# @return [String] The complete object as a JSON string
|
|
106
|
+
def to_json(options = {})
|
|
107
|
+
to_hash.to_json(options)
|
|
108
|
+
end
|
|
109
|
+
end
|
|
110
|
+
end
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -1,11 +1,9 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
3
|
# Copyright (c) 2020-2022 Comet Licensing Ltd.
|
|
4
4
|
# Please see the LICENSE file for usage information.
|
|
5
5
|
#
|
|
6
6
|
# SPDX-License-Identifier: MIT
|
|
7
|
-
#
|
|
8
|
-
# frozen_string_literal: true
|
|
9
7
|
|
|
10
8
|
require 'json'
|
|
11
9
|
|
|
@@ -13,8 +11,9 @@ module Comet
|
|
|
13
11
|
|
|
14
12
|
# UpdateCampaignOptions is a typed class wrapper around the underlying Comet Server API data structure.
|
|
15
13
|
# This data structure describes which devices should receive a remote software upgrade. Both the
|
|
16
|
-
|
|
17
|
-
|
|
14
|
+
# target version criteria (UpgradeOlder/ReinstallCurrentVer/DowngradeNewer) and the target device
|
|
15
|
+
# criteria (ApplyDeviceFilter/DeviceFilter) must be met in order for the remote upgrade to be
|
|
16
|
+
# applied.
|
|
18
17
|
class UpdateCampaignOptions
|
|
19
18
|
|
|
20
19
|
# @type [Boolean] active
|