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
|
@@ -0,0 +1,81 @@
|
|
|
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
|
+
# RatelimitOptions is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
class RatelimitOptions
|
|
14
|
+
|
|
15
|
+
# @type [Array<Comet::RatelimitRule>] rules
|
|
16
|
+
attr_accessor :rules
|
|
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
|
+
@rules = []
|
|
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 'Rules'
|
|
44
|
+
if v.nil?
|
|
45
|
+
@rules = []
|
|
46
|
+
else
|
|
47
|
+
@rules = Array.new(v.length)
|
|
48
|
+
v.each_with_index do |v1, i1|
|
|
49
|
+
@rules[i1] = Comet::RatelimitRule.new
|
|
50
|
+
@rules[i1].from_hash(v1)
|
|
51
|
+
end
|
|
52
|
+
end
|
|
53
|
+
else
|
|
54
|
+
@unknown_json_fields[k] = v
|
|
55
|
+
end
|
|
56
|
+
end
|
|
57
|
+
end
|
|
58
|
+
|
|
59
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
60
|
+
def to_hash
|
|
61
|
+
ret = {}
|
|
62
|
+
unless @rules.nil?
|
|
63
|
+
ret['Rules'] = @rules
|
|
64
|
+
end
|
|
65
|
+
@unknown_json_fields.each do |k, v|
|
|
66
|
+
ret[k] = v
|
|
67
|
+
end
|
|
68
|
+
ret
|
|
69
|
+
end
|
|
70
|
+
|
|
71
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
72
|
+
def to_h
|
|
73
|
+
to_hash
|
|
74
|
+
end
|
|
75
|
+
|
|
76
|
+
# @return [String] The complete object as a JSON string
|
|
77
|
+
def to_json(options = {})
|
|
78
|
+
to_hash.to_json(options)
|
|
79
|
+
end
|
|
80
|
+
end
|
|
81
|
+
end
|
|
@@ -0,0 +1,82 @@
|
|
|
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
|
+
# RatelimitRule is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
class RatelimitRule
|
|
14
|
+
|
|
15
|
+
# @type [String] match_regex
|
|
16
|
+
attr_accessor :match_regex
|
|
17
|
+
|
|
18
|
+
# @type [Number] bytes_per_second
|
|
19
|
+
attr_accessor :bytes_per_second
|
|
20
|
+
|
|
21
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
22
|
+
attr_accessor :unknown_json_fields
|
|
23
|
+
|
|
24
|
+
def initialize
|
|
25
|
+
clear
|
|
26
|
+
end
|
|
27
|
+
|
|
28
|
+
def clear
|
|
29
|
+
@match_regex = ''
|
|
30
|
+
@bytes_per_second = 0
|
|
31
|
+
@unknown_json_fields = {}
|
|
32
|
+
end
|
|
33
|
+
|
|
34
|
+
# @param [String] json_string The complete object in JSON format
|
|
35
|
+
def from_json(json_string)
|
|
36
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
37
|
+
|
|
38
|
+
from_hash(JSON.parse(json_string))
|
|
39
|
+
end
|
|
40
|
+
|
|
41
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
42
|
+
def from_hash(obj)
|
|
43
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
44
|
+
|
|
45
|
+
obj.each do |k, v|
|
|
46
|
+
case k
|
|
47
|
+
when 'MatchRegex'
|
|
48
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
49
|
+
|
|
50
|
+
@match_regex = v
|
|
51
|
+
when 'BytesPerSecond'
|
|
52
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
53
|
+
|
|
54
|
+
@bytes_per_second = v
|
|
55
|
+
else
|
|
56
|
+
@unknown_json_fields[k] = v
|
|
57
|
+
end
|
|
58
|
+
end
|
|
59
|
+
end
|
|
60
|
+
|
|
61
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
62
|
+
def to_hash
|
|
63
|
+
ret = {}
|
|
64
|
+
ret['MatchRegex'] = @match_regex
|
|
65
|
+
ret['BytesPerSecond'] = @bytes_per_second
|
|
66
|
+
@unknown_json_fields.each do |k, v|
|
|
67
|
+
ret[k] = v
|
|
68
|
+
end
|
|
69
|
+
ret
|
|
70
|
+
end
|
|
71
|
+
|
|
72
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
73
|
+
def to_h
|
|
74
|
+
to_hash
|
|
75
|
+
end
|
|
76
|
+
|
|
77
|
+
# @return [String] The complete object as a JSON string
|
|
78
|
+
def to_json(options = {})
|
|
79
|
+
to_hash.to_json(options)
|
|
80
|
+
end
|
|
81
|
+
end
|
|
82
|
+
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
|
|
|
@@ -48,6 +46,9 @@ module Comet
|
|
|
48
46
|
# @type [Comet::AmazonAWSVirtualStorageRoleSettings] aws
|
|
49
47
|
attr_accessor :aws
|
|
50
48
|
|
|
49
|
+
# @type [Comet::StorjVirtualStorageRoleSetting] storj
|
|
50
|
+
attr_accessor :storj
|
|
51
|
+
|
|
51
52
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
52
53
|
attr_accessor :unknown_json_fields
|
|
53
54
|
|
|
@@ -67,6 +68,7 @@ module Comet
|
|
|
67
68
|
@custom = Comet::CustomRemoteBucketSettings.new
|
|
68
69
|
@s3 = Comet::S3GenericVirtualStorageRole.new
|
|
69
70
|
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
71
|
+
@storj = Comet::StorjVirtualStorageRoleSetting.new
|
|
70
72
|
@unknown_json_fields = {}
|
|
71
73
|
end
|
|
72
74
|
|
|
@@ -121,6 +123,9 @@ module Comet
|
|
|
121
123
|
when 'AWS'
|
|
122
124
|
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
123
125
|
@aws.from_hash(v)
|
|
126
|
+
when 'Storj'
|
|
127
|
+
@storj = Comet::StorjVirtualStorageRoleSetting.new
|
|
128
|
+
@storj.from_hash(v)
|
|
124
129
|
else
|
|
125
130
|
@unknown_json_fields[k] = v
|
|
126
131
|
end
|
|
@@ -159,6 +164,9 @@ module Comet
|
|
|
159
164
|
unless @aws.nil?
|
|
160
165
|
ret['AWS'] = @aws
|
|
161
166
|
end
|
|
167
|
+
unless @storj.nil?
|
|
168
|
+
ret['Storj'] = @storj
|
|
169
|
+
end
|
|
162
170
|
@unknown_json_fields.each do |k, v|
|
|
163
171
|
ret[k] = v
|
|
164
172
|
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
|
|
|
@@ -48,6 +46,9 @@ module Comet
|
|
|
48
46
|
# @type [Comet::AmazonAWSVirtualStorageRoleSettings] aws
|
|
49
47
|
attr_accessor :aws
|
|
50
48
|
|
|
49
|
+
# @type [Comet::StorjVirtualStorageRoleSetting] storj
|
|
50
|
+
attr_accessor :storj
|
|
51
|
+
|
|
51
52
|
# @type [Boolean] storage_limit_enabled
|
|
52
53
|
attr_accessor :storage_limit_enabled
|
|
53
54
|
|
|
@@ -76,6 +77,7 @@ module Comet
|
|
|
76
77
|
@custom = Comet::CustomRemoteBucketSettings.new
|
|
77
78
|
@s3 = Comet::S3GenericVirtualStorageRole.new
|
|
78
79
|
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
80
|
+
@storj = Comet::StorjVirtualStorageRoleSetting.new
|
|
79
81
|
@storage_limit_bytes = 0
|
|
80
82
|
@unknown_json_fields = {}
|
|
81
83
|
end
|
|
@@ -131,6 +133,9 @@ module Comet
|
|
|
131
133
|
when 'AWS'
|
|
132
134
|
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
133
135
|
@aws.from_hash(v)
|
|
136
|
+
when 'Storj'
|
|
137
|
+
@storj = Comet::StorjVirtualStorageRoleSetting.new
|
|
138
|
+
@storj.from_hash(v)
|
|
134
139
|
when 'StorageLimitEnabled'
|
|
135
140
|
@storage_limit_enabled = v
|
|
136
141
|
when 'StorageLimitBytes'
|
|
@@ -177,6 +182,9 @@ module Comet
|
|
|
177
182
|
unless @aws.nil?
|
|
178
183
|
ret['AWS'] = @aws
|
|
179
184
|
end
|
|
185
|
+
unless @storj.nil?
|
|
186
|
+
ret['Storj'] = @storj
|
|
187
|
+
end
|
|
180
188
|
ret['StorageLimitEnabled'] = @storage_limit_enabled
|
|
181
189
|
ret['StorageLimitBytes'] = @storage_limit_bytes
|
|
182
190
|
ret['RebrandStorage'] = @rebrand_storage
|
|
@@ -0,0 +1,197 @@
|
|
|
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
|
+
# ReplicaServer is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
class ReplicaServer
|
|
14
|
+
|
|
15
|
+
# @type [String] type
|
|
16
|
+
attr_accessor :type
|
|
17
|
+
|
|
18
|
+
# @type [String] description
|
|
19
|
+
attr_accessor :description
|
|
20
|
+
|
|
21
|
+
# @type [String] remote_address
|
|
22
|
+
attr_accessor :remote_address
|
|
23
|
+
|
|
24
|
+
# @type [String] username
|
|
25
|
+
attr_accessor :username
|
|
26
|
+
|
|
27
|
+
# @type [String] password
|
|
28
|
+
attr_accessor :password
|
|
29
|
+
|
|
30
|
+
# @type [Comet::ExternalLDAPAuthenticationSourceSettings] ldap
|
|
31
|
+
attr_accessor :ldap
|
|
32
|
+
|
|
33
|
+
# @type [Comet::B2VirtualStorageRoleSettings] b2
|
|
34
|
+
attr_accessor :b2
|
|
35
|
+
|
|
36
|
+
# @type [Comet::WasabiVirtualStorageRoleSettings] wasabi
|
|
37
|
+
attr_accessor :wasabi
|
|
38
|
+
|
|
39
|
+
# @type [Comet::CustomRemoteBucketSettings] custom
|
|
40
|
+
attr_accessor :custom
|
|
41
|
+
|
|
42
|
+
# @type [Comet::S3GenericVirtualStorageRole] s3
|
|
43
|
+
attr_accessor :s3
|
|
44
|
+
|
|
45
|
+
# Amazon AWS - Virtual Storage Role
|
|
46
|
+
# @type [Comet::AmazonAWSVirtualStorageRoleSettings] aws
|
|
47
|
+
attr_accessor :aws
|
|
48
|
+
|
|
49
|
+
# @type [Comet::StorjVirtualStorageRoleSetting] storj
|
|
50
|
+
attr_accessor :storj
|
|
51
|
+
|
|
52
|
+
# @type [String] replica_deletion_strategy
|
|
53
|
+
attr_accessor :replica_deletion_strategy
|
|
54
|
+
|
|
55
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
56
|
+
attr_accessor :unknown_json_fields
|
|
57
|
+
|
|
58
|
+
def initialize
|
|
59
|
+
clear
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
def clear
|
|
63
|
+
@type = ''
|
|
64
|
+
@description = ''
|
|
65
|
+
@remote_address = ''
|
|
66
|
+
@username = ''
|
|
67
|
+
@password = ''
|
|
68
|
+
@ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
|
|
69
|
+
@b2 = Comet::B2VirtualStorageRoleSettings.new
|
|
70
|
+
@wasabi = Comet::WasabiVirtualStorageRoleSettings.new
|
|
71
|
+
@custom = Comet::CustomRemoteBucketSettings.new
|
|
72
|
+
@s3 = Comet::S3GenericVirtualStorageRole.new
|
|
73
|
+
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
74
|
+
@storj = Comet::StorjVirtualStorageRoleSetting.new
|
|
75
|
+
@replica_deletion_strategy = ''
|
|
76
|
+
@unknown_json_fields = {}
|
|
77
|
+
end
|
|
78
|
+
|
|
79
|
+
# @param [String] json_string The complete object in JSON format
|
|
80
|
+
def from_json(json_string)
|
|
81
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
82
|
+
|
|
83
|
+
from_hash(JSON.parse(json_string))
|
|
84
|
+
end
|
|
85
|
+
|
|
86
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
87
|
+
def from_hash(obj)
|
|
88
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
89
|
+
|
|
90
|
+
obj.each do |k, v|
|
|
91
|
+
case k
|
|
92
|
+
when 'Type'
|
|
93
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
94
|
+
|
|
95
|
+
@type = v
|
|
96
|
+
when 'Description'
|
|
97
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
98
|
+
|
|
99
|
+
@description = v
|
|
100
|
+
when 'RemoteAddress'
|
|
101
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
102
|
+
|
|
103
|
+
@remote_address = v
|
|
104
|
+
when 'Username'
|
|
105
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
106
|
+
|
|
107
|
+
@username = v
|
|
108
|
+
when 'Password'
|
|
109
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
110
|
+
|
|
111
|
+
@password = v
|
|
112
|
+
when 'LDAP'
|
|
113
|
+
@ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
|
|
114
|
+
@ldap.from_hash(v)
|
|
115
|
+
when 'B2'
|
|
116
|
+
@b2 = Comet::B2VirtualStorageRoleSettings.new
|
|
117
|
+
@b2.from_hash(v)
|
|
118
|
+
when 'Wasabi'
|
|
119
|
+
@wasabi = Comet::WasabiVirtualStorageRoleSettings.new
|
|
120
|
+
@wasabi.from_hash(v)
|
|
121
|
+
when 'Custom'
|
|
122
|
+
@custom = Comet::CustomRemoteBucketSettings.new
|
|
123
|
+
@custom.from_hash(v)
|
|
124
|
+
when 'S3'
|
|
125
|
+
@s3 = Comet::S3GenericVirtualStorageRole.new
|
|
126
|
+
@s3.from_hash(v)
|
|
127
|
+
when 'AWS'
|
|
128
|
+
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
129
|
+
@aws.from_hash(v)
|
|
130
|
+
when 'Storj'
|
|
131
|
+
@storj = Comet::StorjVirtualStorageRoleSetting.new
|
|
132
|
+
@storj.from_hash(v)
|
|
133
|
+
when 'ReplicaDeletionStrategy'
|
|
134
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
135
|
+
|
|
136
|
+
@replica_deletion_strategy = v
|
|
137
|
+
else
|
|
138
|
+
@unknown_json_fields[k] = v
|
|
139
|
+
end
|
|
140
|
+
end
|
|
141
|
+
end
|
|
142
|
+
|
|
143
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
144
|
+
def to_hash
|
|
145
|
+
ret = {}
|
|
146
|
+
ret['Type'] = @type
|
|
147
|
+
ret['Description'] = @description
|
|
148
|
+
unless @remote_address.nil?
|
|
149
|
+
ret['RemoteAddress'] = @remote_address
|
|
150
|
+
end
|
|
151
|
+
unless @username.nil?
|
|
152
|
+
ret['Username'] = @username
|
|
153
|
+
end
|
|
154
|
+
unless @password.nil?
|
|
155
|
+
ret['Password'] = @password
|
|
156
|
+
end
|
|
157
|
+
unless @ldap.nil?
|
|
158
|
+
ret['LDAP'] = @ldap
|
|
159
|
+
end
|
|
160
|
+
unless @b2.nil?
|
|
161
|
+
ret['B2'] = @b2
|
|
162
|
+
end
|
|
163
|
+
unless @wasabi.nil?
|
|
164
|
+
ret['Wasabi'] = @wasabi
|
|
165
|
+
end
|
|
166
|
+
unless @custom.nil?
|
|
167
|
+
ret['Custom'] = @custom
|
|
168
|
+
end
|
|
169
|
+
unless @s3.nil?
|
|
170
|
+
ret['S3'] = @s3
|
|
171
|
+
end
|
|
172
|
+
unless @aws.nil?
|
|
173
|
+
ret['AWS'] = @aws
|
|
174
|
+
end
|
|
175
|
+
unless @storj.nil?
|
|
176
|
+
ret['Storj'] = @storj
|
|
177
|
+
end
|
|
178
|
+
unless @replica_deletion_strategy.nil?
|
|
179
|
+
ret['ReplicaDeletionStrategy'] = @replica_deletion_strategy
|
|
180
|
+
end
|
|
181
|
+
@unknown_json_fields.each do |k, v|
|
|
182
|
+
ret[k] = v
|
|
183
|
+
end
|
|
184
|
+
ret
|
|
185
|
+
end
|
|
186
|
+
|
|
187
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
188
|
+
def to_h
|
|
189
|
+
to_hash
|
|
190
|
+
end
|
|
191
|
+
|
|
192
|
+
# @return [String] The complete object as a JSON string
|
|
193
|
+
def to_json(options = {})
|
|
194
|
+
to_hash.to_json(options)
|
|
195
|
+
end
|
|
196
|
+
end
|
|
197
|
+
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
|
|
|
@@ -20,6 +18,9 @@ module Comet
|
|
|
20
18
|
# @type [Boolean] overwrite_existing_files
|
|
21
19
|
attr_accessor :overwrite_existing_files
|
|
22
20
|
|
|
21
|
+
# @type [Boolean] overwrite_if_newer
|
|
22
|
+
attr_accessor :overwrite_if_newer
|
|
23
|
+
|
|
23
24
|
# @type [Boolean] dest_is_original_location
|
|
24
25
|
attr_accessor :dest_is_original_location
|
|
25
26
|
|
|
@@ -35,6 +36,33 @@ module Comet
|
|
|
35
36
|
# @type [Comet::Office365Credential] office_365credential
|
|
36
37
|
attr_accessor :office_365credential
|
|
37
38
|
|
|
39
|
+
# @type [String] username
|
|
40
|
+
attr_accessor :username
|
|
41
|
+
|
|
42
|
+
# @type [String] password
|
|
43
|
+
attr_accessor :password
|
|
44
|
+
|
|
45
|
+
# @type [String] host
|
|
46
|
+
attr_accessor :host
|
|
47
|
+
|
|
48
|
+
# @type [String] port
|
|
49
|
+
attr_accessor :port
|
|
50
|
+
|
|
51
|
+
# @type [Boolean] use_ssl
|
|
52
|
+
attr_accessor :use_ssl
|
|
53
|
+
|
|
54
|
+
# @type [Boolean] ssl_allow_invalid
|
|
55
|
+
attr_accessor :ssl_allow_invalid
|
|
56
|
+
|
|
57
|
+
# @type [String] ssl_ca_file
|
|
58
|
+
attr_accessor :ssl_ca_file
|
|
59
|
+
|
|
60
|
+
# @type [String] ssl_crt_file
|
|
61
|
+
attr_accessor :ssl_crt_file
|
|
62
|
+
|
|
63
|
+
# @type [String] ssl_key_file
|
|
64
|
+
attr_accessor :ssl_key_file
|
|
65
|
+
|
|
38
66
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
39
67
|
attr_accessor :unknown_json_fields
|
|
40
68
|
|
|
@@ -48,6 +76,13 @@ module Comet
|
|
|
48
76
|
@exact_dest_paths = []
|
|
49
77
|
@archive_format = 0
|
|
50
78
|
@office_365credential = Comet::Office365Credential.new
|
|
79
|
+
@username = ''
|
|
80
|
+
@password = ''
|
|
81
|
+
@host = ''
|
|
82
|
+
@port = ''
|
|
83
|
+
@ssl_ca_file = ''
|
|
84
|
+
@ssl_crt_file = ''
|
|
85
|
+
@ssl_key_file = ''
|
|
51
86
|
@unknown_json_fields = {}
|
|
52
87
|
end
|
|
53
88
|
|
|
@@ -70,6 +105,8 @@ module Comet
|
|
|
70
105
|
@type = v
|
|
71
106
|
when 'OverwriteExistingFiles'
|
|
72
107
|
@overwrite_existing_files = v
|
|
108
|
+
when 'OverwriteIfNewer'
|
|
109
|
+
@overwrite_if_newer = v
|
|
73
110
|
when 'DestIsOriginalLocation'
|
|
74
111
|
@dest_is_original_location = v
|
|
75
112
|
when 'DestPath'
|
|
@@ -94,6 +131,38 @@ module Comet
|
|
|
94
131
|
when 'Office365Credential'
|
|
95
132
|
@office_365credential = Comet::Office365Credential.new
|
|
96
133
|
@office_365credential.from_hash(v)
|
|
134
|
+
when 'Username'
|
|
135
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
136
|
+
|
|
137
|
+
@username = v
|
|
138
|
+
when 'Password'
|
|
139
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
140
|
+
|
|
141
|
+
@password = v
|
|
142
|
+
when 'Host'
|
|
143
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
144
|
+
|
|
145
|
+
@host = v
|
|
146
|
+
when 'Port'
|
|
147
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
148
|
+
|
|
149
|
+
@port = v
|
|
150
|
+
when 'UseSsl'
|
|
151
|
+
@use_ssl = v
|
|
152
|
+
when 'SslAllowInvalid'
|
|
153
|
+
@ssl_allow_invalid = v
|
|
154
|
+
when 'SslCaFile'
|
|
155
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
156
|
+
|
|
157
|
+
@ssl_ca_file = v
|
|
158
|
+
when 'SslCrtFile'
|
|
159
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
160
|
+
|
|
161
|
+
@ssl_crt_file = v
|
|
162
|
+
when 'SslKeyFile'
|
|
163
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
164
|
+
|
|
165
|
+
@ssl_key_file = v
|
|
97
166
|
else
|
|
98
167
|
@unknown_json_fields[k] = v
|
|
99
168
|
end
|
|
@@ -105,6 +174,7 @@ module Comet
|
|
|
105
174
|
ret = {}
|
|
106
175
|
ret['Type'] = @type
|
|
107
176
|
ret['OverwriteExistingFiles'] = @overwrite_existing_files
|
|
177
|
+
ret['OverwriteIfNewer'] = @overwrite_if_newer
|
|
108
178
|
ret['DestIsOriginalLocation'] = @dest_is_original_location
|
|
109
179
|
ret['DestPath'] = @dest_path
|
|
110
180
|
ret['ExactDestPaths'] = @exact_dest_paths
|
|
@@ -112,6 +182,15 @@ module Comet
|
|
|
112
182
|
unless @office_365credential.nil?
|
|
113
183
|
ret['Office365Credential'] = @office_365credential
|
|
114
184
|
end
|
|
185
|
+
ret['Username'] = @username
|
|
186
|
+
ret['Password'] = @password
|
|
187
|
+
ret['Host'] = @host
|
|
188
|
+
ret['Port'] = @port
|
|
189
|
+
ret['UseSsl'] = @use_ssl
|
|
190
|
+
ret['SslAllowInvalid'] = @ssl_allow_invalid
|
|
191
|
+
ret['SslCaFile'] = @ssl_ca_file
|
|
192
|
+
ret['SslCrtFile'] = @ssl_crt_file
|
|
193
|
+
ret['SslKeyFile'] = @ssl_key_file
|
|
115
194
|
@unknown_json_fields.each do |k, v|
|
|
116
195
|
ret[k] = v
|
|
117
196
|
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
|
|