comet_backup_ruby_sdk 1.13.0 → 2.0.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 +21 -0
- data/Gemfile +2 -4
- data/Gemfile.lock +1 -1
- data/LICENSE +0 -0
- data/README.md +3 -2
- 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 +60 -17
- data/lib/comet/definitions.rb +50 -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 +2 -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 +91 -0
- data/lib/comet/models/authentication_role_options.rb +139 -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 +2 -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 +2 -4
- data/lib/comet/models/destination_location.rb +2 -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 +184 -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/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 +2 -4
- data/lib/comet/models/office_365object_info.rb +2 -4
- data/lib/comet/models/organization.rb +5 -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 +23 -4
- data/lib/comet/models/remote_storage_option.rb +23 -4
- data/lib/comet/models/replica_server.rb +187 -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 +2 -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 +2 -4
- data/lib/comet/models/s3generic_virtual_storage_role.rb +109 -0
- 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 +2 -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 +2 -4
- 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 +2 -4
- data/lib/comet/models/user_profile_config.rb +2 -4
- data/lib/comet/models/user_profile_fragment.rb +2 -4
- 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 +19 -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
|
|
|
@@ -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
|
|
|
@@ -32,7 +30,7 @@ module Comet
|
|
|
32
30
|
# @type [Hash{String => Comet::WebhookOption}] webhook_options
|
|
33
31
|
attr_accessor :webhook_options
|
|
34
32
|
|
|
35
|
-
# @type [Comet::
|
|
33
|
+
# @type [Comet::EmailOptions] email
|
|
36
34
|
attr_accessor :email
|
|
37
35
|
|
|
38
36
|
# @type [Boolean] is_suspended
|
|
@@ -52,7 +50,7 @@ module Comet
|
|
|
52
50
|
@branding = Comet::BrandingOptions.new
|
|
53
51
|
@remote_storage = []
|
|
54
52
|
@webhook_options = {}
|
|
55
|
-
@email = Comet::
|
|
53
|
+
@email = Comet::EmailOptions.new
|
|
56
54
|
@unknown_json_fields = {}
|
|
57
55
|
end
|
|
58
56
|
|
|
@@ -111,7 +109,7 @@ module Comet
|
|
|
111
109
|
end
|
|
112
110
|
end
|
|
113
111
|
when 'Email'
|
|
114
|
-
@email = Comet::
|
|
112
|
+
@email = Comet::EmailOptions.new
|
|
115
113
|
@email.from_hash(v)
|
|
116
114
|
when 'IsSuspended'
|
|
117
115
|
@is_suspended = v
|
|
@@ -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
|
|
data/lib/comet/models/osinfo.rb
CHANGED
|
@@ -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
|
|
|
@@ -14,6 +12,9 @@ module Comet
|
|
|
14
12
|
# PrivateBrandingProperties is a typed class wrapper around the underlying Comet Server API data structure.
|
|
15
13
|
class PrivateBrandingProperties
|
|
16
14
|
|
|
15
|
+
# @type [Number] build_mode
|
|
16
|
+
attr_accessor :build_mode
|
|
17
|
+
|
|
17
18
|
# @type [String] path_ico_file
|
|
18
19
|
attr_accessor :path_ico_file
|
|
19
20
|
|
|
@@ -76,6 +77,7 @@ module Comet
|
|
|
76
77
|
end
|
|
77
78
|
|
|
78
79
|
def clear
|
|
80
|
+
@build_mode = 0
|
|
79
81
|
@path_ico_file = ''
|
|
80
82
|
@path_icns_file = ''
|
|
81
83
|
@path_menu_bar_icns_file = ''
|
|
@@ -110,6 +112,10 @@ module Comet
|
|
|
110
112
|
|
|
111
113
|
obj.each do |k, v|
|
|
112
114
|
case k
|
|
115
|
+
when 'BuildMode'
|
|
116
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
117
|
+
|
|
118
|
+
@build_mode = v
|
|
113
119
|
when 'PathIcoFile'
|
|
114
120
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
115
121
|
|
|
@@ -190,6 +196,7 @@ module Comet
|
|
|
190
196
|
# @return [Hash] The complete object as a Ruby hash
|
|
191
197
|
def to_hash
|
|
192
198
|
ret = {}
|
|
199
|
+
ret['BuildMode'] = @build_mode
|
|
193
200
|
ret['PathIcoFile'] = @path_ico_file
|
|
194
201
|
ret['PathIcnsFile'] = @path_icns_file
|
|
195
202
|
ret['PathMenuBarIcnsFile'] = @path_menu_bar_icns_file
|
|
@@ -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,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
|
|
|
@@ -41,6 +39,13 @@ module Comet
|
|
|
41
39
|
# @type [Comet::CustomRemoteBucketSettings] custom
|
|
42
40
|
attr_accessor :custom
|
|
43
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
|
+
|
|
44
49
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
45
50
|
attr_accessor :unknown_json_fields
|
|
46
51
|
|
|
@@ -58,6 +63,8 @@ module Comet
|
|
|
58
63
|
@b2 = Comet::B2VirtualStorageRoleSettings.new
|
|
59
64
|
@wasabi = Comet::WasabiVirtualStorageRoleSettings.new
|
|
60
65
|
@custom = Comet::CustomRemoteBucketSettings.new
|
|
66
|
+
@s3 = Comet::S3GenericVirtualStorageRole.new
|
|
67
|
+
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
61
68
|
@unknown_json_fields = {}
|
|
62
69
|
end
|
|
63
70
|
|
|
@@ -106,6 +113,12 @@ module Comet
|
|
|
106
113
|
when 'Custom'
|
|
107
114
|
@custom = Comet::CustomRemoteBucketSettings.new
|
|
108
115
|
@custom.from_hash(v)
|
|
116
|
+
when 'S3'
|
|
117
|
+
@s3 = Comet::S3GenericVirtualStorageRole.new
|
|
118
|
+
@s3.from_hash(v)
|
|
119
|
+
when 'AWS'
|
|
120
|
+
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
121
|
+
@aws.from_hash(v)
|
|
109
122
|
else
|
|
110
123
|
@unknown_json_fields[k] = v
|
|
111
124
|
end
|
|
@@ -138,6 +151,12 @@ module Comet
|
|
|
138
151
|
unless @custom.nil?
|
|
139
152
|
ret['Custom'] = @custom
|
|
140
153
|
end
|
|
154
|
+
unless @s3.nil?
|
|
155
|
+
ret['S3'] = @s3
|
|
156
|
+
end
|
|
157
|
+
unless @aws.nil?
|
|
158
|
+
ret['AWS'] = @aws
|
|
159
|
+
end
|
|
141
160
|
@unknown_json_fields.each do |k, v|
|
|
142
161
|
ret[k] = v
|
|
143
162
|
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
|
|
|
@@ -41,6 +39,13 @@ module Comet
|
|
|
41
39
|
# @type [Comet::CustomRemoteBucketSettings] custom
|
|
42
40
|
attr_accessor :custom
|
|
43
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
|
+
|
|
44
49
|
# @type [Boolean] storage_limit_enabled
|
|
45
50
|
attr_accessor :storage_limit_enabled
|
|
46
51
|
|
|
@@ -67,6 +72,8 @@ module Comet
|
|
|
67
72
|
@b2 = Comet::B2VirtualStorageRoleSettings.new
|
|
68
73
|
@wasabi = Comet::WasabiVirtualStorageRoleSettings.new
|
|
69
74
|
@custom = Comet::CustomRemoteBucketSettings.new
|
|
75
|
+
@s3 = Comet::S3GenericVirtualStorageRole.new
|
|
76
|
+
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
70
77
|
@storage_limit_bytes = 0
|
|
71
78
|
@unknown_json_fields = {}
|
|
72
79
|
end
|
|
@@ -116,6 +123,12 @@ module Comet
|
|
|
116
123
|
when 'Custom'
|
|
117
124
|
@custom = Comet::CustomRemoteBucketSettings.new
|
|
118
125
|
@custom.from_hash(v)
|
|
126
|
+
when 'S3'
|
|
127
|
+
@s3 = Comet::S3GenericVirtualStorageRole.new
|
|
128
|
+
@s3.from_hash(v)
|
|
129
|
+
when 'AWS'
|
|
130
|
+
@aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
|
|
131
|
+
@aws.from_hash(v)
|
|
119
132
|
when 'StorageLimitEnabled'
|
|
120
133
|
@storage_limit_enabled = v
|
|
121
134
|
when 'StorageLimitBytes'
|
|
@@ -156,6 +169,12 @@ module Comet
|
|
|
156
169
|
unless @custom.nil?
|
|
157
170
|
ret['Custom'] = @custom
|
|
158
171
|
end
|
|
172
|
+
unless @s3.nil?
|
|
173
|
+
ret['S3'] = @s3
|
|
174
|
+
end
|
|
175
|
+
unless @aws.nil?
|
|
176
|
+
ret['AWS'] = @aws
|
|
177
|
+
end
|
|
159
178
|
ret['StorageLimitEnabled'] = @storage_limit_enabled
|
|
160
179
|
ret['StorageLimitBytes'] = @storage_limit_bytes
|
|
161
180
|
ret['RebrandStorage'] = @rebrand_storage
|