comet_backup_ruby_sdk 1.10.0 → 1.13.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.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rubocop.yml +0 -0
  4. data/CHANGELOG.md +27 -1
  5. data/Gemfile.lock +1 -1
  6. data/RELEASING.md +1 -1
  7. data/comet_backup_ruby_sdk.gemspec +1 -1
  8. data/lib/comet/api_response_error.rb +1 -1
  9. data/lib/comet/comet_server.rb +144 -7
  10. data/lib/comet/definitions.rb +72 -14
  11. data/lib/comet/models/add_bucket_response_message.rb +1 -1
  12. data/lib/comet/models/admin_account_properties_response.rb +1 -1
  13. data/lib/comet/models/admin_email_options.rb +1 -1
  14. data/lib/comet/models/admin_resource_response.rb +1 -1
  15. data/lib/comet/models/admin_security_options.rb +26 -1
  16. data/lib/comet/models/admin_u2fregistration.rb +2 -1
  17. data/lib/comet/models/admin_user_permissions.rb +1 -1
  18. data/lib/comet/models/admin_web_authn_registration.rb +121 -0
  19. data/lib/comet/models/allowed_admin_user.rb +214 -0
  20. data/lib/comet/models/available_download.rb +1 -1
  21. data/lib/comet/models/azure_destination_location.rb +1 -1
  22. data/lib/comet/models/b2destination_location.rb +2 -1
  23. data/lib/comet/models/b2storage_extra_info.rb +1 -1
  24. data/lib/comet/models/b2transaction_totals.rb +1 -1
  25. data/lib/comet/models/b2virtual_storage_role_settings.rb +1 -1
  26. data/lib/comet/models/backup_job_advanced_options.rb +10 -1
  27. data/lib/comet/models/backup_job_detail.rb +54 -1
  28. data/lib/comet/models/backup_job_progress.rb +1 -1
  29. data/lib/comet/models/backup_rule_config.rb +10 -1
  30. data/lib/comet/models/backup_rule_event_triggers.rb +1 -1
  31. data/lib/comet/models/branding_options.rb +10 -1
  32. data/lib/comet/models/branding_properties.rb +10 -1
  33. data/lib/comet/models/browse_disk_drives_response.rb +1 -1
  34. data/lib/comet/models/browse_edbresponse.rb +1 -1
  35. data/lib/comet/models/browse_hvresponse.rb +1 -1
  36. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +99 -0
  37. data/lib/comet/models/browse_office_365objects_response.rb +1 -1
  38. data/lib/comet/models/browse_sqlserver_response.rb +1 -1
  39. data/lib/comet/models/browse_vssresponse.rb +1 -1
  40. data/lib/comet/models/bucket_properties.rb +1 -1
  41. data/lib/comet/models/bucket_usage_info.rb +1 -1
  42. data/lib/comet/models/comet_apiresponse_message.rb +1 -1
  43. data/lib/comet/models/comet_destination_location.rb +1 -1
  44. data/lib/comet/models/constellation_check_report.rb +1 -1
  45. data/lib/comet/models/constellation_stats.rb +1 -1
  46. data/lib/comet/models/constellation_status_apiresponse.rb +1 -1
  47. data/lib/comet/models/content_measurement.rb +1 -1
  48. data/lib/comet/models/content_measurement_component.rb +1 -1
  49. data/lib/comet/models/create_group_policy_response.rb +1 -1
  50. data/lib/comet/models/custom_remote_bucket_settings.rb +1 -1
  51. data/lib/comet/models/days_of_week_config.rb +108 -0
  52. data/lib/comet/models/default_email_report_policy.rb +1 -1
  53. data/lib/comet/models/default_source_with_osrestriction.rb +1 -1
  54. data/lib/comet/models/destination_config.rb +1 -1
  55. data/lib/comet/models/destination_location.rb +1 -1
  56. data/lib/comet/models/destination_statistics.rb +1 -1
  57. data/lib/comet/models/device_config.rb +1 -1
  58. data/lib/comet/models/disk_drive.rb +1 -1
  59. data/lib/comet/models/dispatcher_admin_sources_response.rb +1 -1
  60. data/lib/comet/models/dispatcher_stored_objects_response.rb +1 -1
  61. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +1 -1
  62. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +1 -1
  63. data/lib/comet/models/edbfile_info.rb +1 -1
  64. data/lib/comet/models/email_options.rb +1 -1
  65. data/lib/comet/models/email_report_config.rb +1 -1
  66. data/lib/comet/models/email_report_generated_preview.rb +1 -1
  67. data/lib/comet/models/external_ldapauthentication_source_settings.rb +1 -1
  68. data/lib/comet/models/extra_file_exclusion.rb +1 -1
  69. data/lib/comet/models/ftpdestination_location.rb +1 -1
  70. data/lib/comet/models/get_group_policy_response.rb +1 -1
  71. data/lib/comet/models/get_profile_and_hash_response_message.rb +1 -1
  72. data/lib/comet/models/get_profile_hash_response_message.rb +1 -1
  73. data/lib/comet/models/group_policy.rb +1 -1
  74. data/lib/comet/models/hour_sched_config.rb +84 -0
  75. data/lib/comet/models/hyper_vmachine_info.rb +1 -1
  76. data/lib/comet/models/install_creds.rb +1 -1
  77. data/lib/comet/models/install_token.rb +1 -1
  78. data/lib/comet/models/install_token_response.rb +1 -1
  79. data/lib/comet/models/job_entry.rb +2 -1
  80. data/lib/comet/models/live_user_connection.rb +1 -1
  81. data/lib/comet/models/local_destination_location.rb +1 -1
  82. data/lib/comet/models/mac_oscode_sign_properties.rb +70 -1
  83. data/lib/comet/models/mongo_dbconnection.rb +1 -1
  84. data/lib/comet/models/mssqlconnection.rb +1 -1
  85. data/lib/comet/models/my_sqlconnection.rb +1 -1
  86. data/lib/comet/models/new_bucket_detail.rb +1 -1
  87. data/lib/comet/models/news_entry.rb +1 -1
  88. data/lib/comet/models/office_365connection.rb +1 -1
  89. data/lib/comet/models/office_365credential.rb +1 -1
  90. data/lib/comet/models/office_365custom_setting.rb +2 -1
  91. data/lib/comet/models/office_365custom_setting_v2.rb +108 -0
  92. data/lib/comet/models/office_365mixed_virtual_account.rb +211 -0
  93. data/lib/comet/models/office_365object_info.rb +1 -1
  94. data/lib/comet/models/organization.rb +1 -1
  95. data/lib/comet/models/organization_response.rb +1 -1
  96. data/lib/comet/models/osinfo.rb +1 -1
  97. data/lib/comet/models/partition.rb +1 -1
  98. data/lib/comet/models/private_branding_properties.rb +10 -1
  99. data/lib/comet/models/protected_item_engine_type_policy.rb +1 -1
  100. data/lib/comet/models/public_branding_properties.rb +1 -1
  101. data/lib/comet/models/register_office_application_begin_response.rb +1 -1
  102. data/lib/comet/models/register_office_application_check_response.rb +1 -1
  103. data/lib/comet/models/remote_server_address.rb +1 -1
  104. data/lib/comet/models/remote_storage_option.rb +1 -1
  105. data/lib/comet/models/replicator_state_apiresponse.rb +1 -1
  106. data/lib/comet/models/request_storage_vault_response_message.rb +1 -1
  107. data/lib/comet/models/restore_job_advanced_options.rb +1 -1
  108. data/lib/comet/models/retention_policy.rb +1 -1
  109. data/lib/comet/models/retention_range.rb +1 -1
  110. data/lib/comet/models/s3destination_location.rb +1 -1
  111. data/lib/comet/models/schedule_config.rb +37 -1
  112. data/lib/comet/models/search_clause.rb +1 -1
  113. data/lib/comet/models/self_backup_statistics.rb +1 -1
  114. data/lib/comet/models/server_config_options_branding_fragment.rb +1 -1
  115. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +1 -1
  116. data/lib/comet/models/server_meta_branding_properties.rb +1 -1
  117. data/lib/comet/models/server_meta_version_info.rb +1 -1
  118. data/lib/comet/models/session_key_regenerated_response.rb +1 -1
  119. data/lib/comet/models/sftpdestination_location.rb +1 -1
  120. data/lib/comet/models/size_measurement.rb +1 -1
  121. data/lib/comet/models/software_build_role_options.rb +1 -1
  122. data/lib/comet/models/software_update_news_response.rb +1 -1
  123. data/lib/comet/models/source_basic_info.rb +1 -1
  124. data/lib/comet/models/source_config.rb +1 -1
  125. data/lib/comet/models/source_include_pattern.rb +1 -1
  126. data/lib/comet/models/source_statistics.rb +1 -1
  127. data/lib/comet/models/spanned_destination_location.rb +1 -1
  128. data/lib/comet/models/spanned_storage_extra_info.rb +1 -1
  129. data/lib/comet/models/sshconnection.rb +1 -1
  130. data/lib/comet/models/stat_result.rb +10 -1
  131. data/lib/comet/models/storage_free_space_info.rb +1 -1
  132. data/lib/comet/models/storage_vault_provider_policy.rb +1 -1
  133. data/lib/comet/models/stored_object.rb +2 -1
  134. data/lib/comet/models/streamable_event.rb +1 -1
  135. data/lib/comet/models/swift_destination_location.rb +1 -1
  136. data/lib/comet/models/test_response.rb +1 -1
  137. data/lib/comet/models/totp_regenerated_response.rb +1 -1
  138. data/lib/comet/models/u2fregister_request.rb +2 -1
  139. data/lib/comet/models/u2fregistered_key.rb +2 -1
  140. data/lib/comet/models/u2fregistration_challenge_response.rb +2 -1
  141. data/lib/comet/models/u2fsign_request.rb +2 -1
  142. data/lib/comet/models/u2fsign_response.rb +2 -1
  143. data/lib/comet/models/uninstall_config.rb +1 -1
  144. data/lib/comet/models/update_campaign_device_status.rb +1 -1
  145. data/lib/comet/models/update_campaign_options.rb +24 -1
  146. data/lib/comet/models/update_campaign_properties.rb +21 -1
  147. data/lib/comet/models/update_campaign_status.rb +21 -1
  148. data/lib/comet/models/update_campaign_status_device_entry.rb +1 -1
  149. data/lib/comet/models/user_custom_email_settings.rb +1 -1
  150. data/lib/comet/models/user_on_server.rb +1 -1
  151. data/lib/comet/models/user_policy.rb +1 -1
  152. data/lib/comet/models/user_profile_config.rb +10 -1
  153. data/lib/comet/models/user_profile_fragment.rb +1 -1
  154. data/lib/comet/models/vault_snapshot.rb +1 -1
  155. data/lib/comet/models/vmdksnapshot_view_options.rb +90 -0
  156. data/lib/comet/models/vsscomponent.rb +1 -1
  157. data/lib/comet/models/vsswriter_info.rb +1 -1
  158. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +1 -1
  159. data/lib/comet/models/web_authn_authenticator_selection.rb +96 -0
  160. data/lib/comet/models/web_authn_credential.rb +105 -0
  161. data/lib/comet/models/web_authn_credential_assertion.rb +74 -0
  162. data/lib/comet/models/web_authn_credential_descriptor.rb +101 -0
  163. data/lib/comet/models/web_authn_credential_entity.rb +86 -0
  164. data/lib/comet/models/web_authn_credential_parameter.rb +84 -0
  165. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +172 -0
  166. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +140 -0
  167. data/lib/comet/models/web_authn_registration_challenge_response.rb +101 -0
  168. data/lib/comet/models/web_authn_relying_party_entity.rb +95 -0
  169. data/lib/comet/models/web_authn_sign_request.rb +83 -0
  170. data/lib/comet/models/web_authn_sign_response.rb +84 -0
  171. data/lib/comet/models/web_authn_user_entity.rb +105 -0
  172. data/lib/comet/models/web_interface_branding_properties.rb +1 -1
  173. data/lib/comet/models/webhook_option.rb +1 -1
  174. data/lib/comet/models/win_smbauth.rb +1 -1
  175. data/lib/comet/models/windows_code_sign_properties.rb +1 -1
  176. data/lib/comet_backup_ruby_sdk.rb +19 -1
  177. metadata +23 -2
@@ -0,0 +1,121 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
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
+ # frozen_string_literal: true
9
+
10
+ require 'base64'
11
+ require 'json'
12
+
13
+ module Comet
14
+
15
+ # AdminWebAuthnRegistration is a typed class wrapper around the underlying Comet Server API data structure.
16
+ class AdminWebAuthnRegistration
17
+
18
+ # @type [String] description
19
+ attr_accessor :description
20
+
21
+ # @type [Number] register_time
22
+ attr_accessor :register_time
23
+
24
+ # @type [Number] type
25
+ attr_accessor :type
26
+
27
+ # @type [Boolean] is_legacy_u2f
28
+ attr_accessor :is_legacy_u2f
29
+
30
+ # @type [Array<Object>] id
31
+ attr_accessor :id
32
+
33
+ # @type [Comet::WebAuthnCredential] credential
34
+ attr_accessor :credential
35
+
36
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
37
+ attr_accessor :unknown_json_fields
38
+
39
+ def initialize
40
+ clear
41
+ end
42
+
43
+ def clear
44
+ @description = ''
45
+ @register_time = 0
46
+ @type = 0
47
+ @id = []
48
+ @credential = Comet::WebAuthnCredential.new
49
+ @unknown_json_fields = {}
50
+ end
51
+
52
+ # @param [String] json_string The complete object in JSON format
53
+ def from_json(json_string)
54
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
55
+
56
+ from_hash(JSON.parse(json_string))
57
+ end
58
+
59
+ # @param [Hash] obj The complete object as a Ruby hash
60
+ def from_hash(obj)
61
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
62
+
63
+ obj.each do |k, v|
64
+ case k
65
+ when 'Description'
66
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
67
+
68
+ @description = v
69
+ when 'RegisterTime'
70
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
+
72
+ @register_time = v
73
+ when 'Type'
74
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
75
+
76
+ @type = v
77
+ when 'IsLegacyU2F'
78
+ @is_legacy_u2f = v
79
+ when 'ID'
80
+ @id = Base64.decode64(v)
81
+ when 'Credential'
82
+ @credential = Comet::WebAuthnCredential.new
83
+ @credential.from_hash(v)
84
+ else
85
+ @unknown_json_fields[k] = v
86
+ end
87
+ end
88
+ end
89
+
90
+ # @return [Hash] The complete object as a Ruby hash
91
+ def to_hash
92
+ ret = {}
93
+ ret['Description'] = @description
94
+ ret['RegisterTime'] = @register_time
95
+ ret['Type'] = @type
96
+ unless @is_legacy_u2f.nil?
97
+ ret['IsLegacyU2F'] = @is_legacy_u2f
98
+ end
99
+ unless @id.nil?
100
+ ret['ID'] = @id
101
+ end
102
+ unless @credential.nil?
103
+ ret['Credential'] = @credential
104
+ end
105
+ @unknown_json_fields.each do |k, v|
106
+ ret[k] = v
107
+ end
108
+ ret
109
+ end
110
+
111
+ # @return [Hash] The complete object as a Ruby hash
112
+ def to_h
113
+ to_hash
114
+ end
115
+
116
+ # @return [String] The complete object as a JSON string
117
+ def to_json(options = {})
118
+ to_hash.to_json(options)
119
+ end
120
+ end
121
+ end
@@ -0,0 +1,214 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
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
+ # frozen_string_literal: true
9
+
10
+ require 'json'
11
+
12
+ module Comet
13
+
14
+ # AllowedAdminUser is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class AllowedAdminUser
16
+
17
+ # @type [String] username
18
+ attr_accessor :username
19
+
20
+ # @type [String] organization_id
21
+ attr_accessor :organization_id
22
+
23
+ # @type [String] external_authentication_source
24
+ attr_accessor :external_authentication_source
25
+
26
+ # @type [Number] password_format
27
+ attr_accessor :password_format
28
+
29
+ # @type [String] password
30
+ attr_accessor :password
31
+
32
+ # @type [Boolean] allow_password_login
33
+ attr_accessor :allow_password_login
34
+
35
+ # @type [Boolean] allow_password_and_totplogin
36
+ attr_accessor :allow_password_and_totplogin
37
+
38
+ # @type [Boolean] allow_password_and_u2flogin
39
+ # @deprecated This member has been deprecated since Comet version 21.12.0
40
+ attr_accessor :allow_password_and_u2flogin
41
+
42
+ # @type [Boolean] allow_password_and_web_authn_login
43
+ attr_accessor :allow_password_and_web_authn_login
44
+
45
+ # @type [Array<Comet::AdminU2FRegistration>] u2fregistrations
46
+ # @deprecated This member has been deprecated since Comet version 21.12.0
47
+ attr_accessor :u2fregistrations
48
+
49
+ # @type [Array<Comet::AdminWebAuthnRegistration>] web_authn_registrations
50
+ attr_accessor :web_authn_registrations
51
+
52
+ # @type [Number] totpkey_encryption_format
53
+ attr_accessor :totpkey_encryption_format
54
+
55
+ # @type [String] totpkey
56
+ attr_accessor :totpkey
57
+
58
+ # @type [String] ipwhitelist
59
+ attr_accessor :ipwhitelist
60
+
61
+ # @type [Comet::AdminUserPermissions] permissions
62
+ attr_accessor :permissions
63
+
64
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
65
+ attr_accessor :unknown_json_fields
66
+
67
+ def initialize
68
+ clear
69
+ end
70
+
71
+ def clear
72
+ @username = ''
73
+ @organization_id = ''
74
+ @external_authentication_source = ''
75
+ @password_format = 0
76
+ @password = ''
77
+ @u2fregistrations = []
78
+ @web_authn_registrations = []
79
+ @totpkey_encryption_format = 0
80
+ @totpkey = ''
81
+ @ipwhitelist = ''
82
+ @permissions = Comet::AdminUserPermissions.new
83
+ @unknown_json_fields = {}
84
+ end
85
+
86
+ # @param [String] json_string The complete object in JSON format
87
+ def from_json(json_string)
88
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
89
+
90
+ from_hash(JSON.parse(json_string))
91
+ end
92
+
93
+ # @param [Hash] obj The complete object as a Ruby hash
94
+ def from_hash(obj)
95
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
96
+
97
+ obj.each do |k, v|
98
+ case k
99
+ when 'Username'
100
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
101
+
102
+ @username = v
103
+ when 'OrganizationID'
104
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
105
+
106
+ @organization_id = v
107
+ when 'ExternalAuthenticationSource'
108
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
109
+
110
+ @external_authentication_source = v
111
+ when 'PasswordFormat'
112
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
113
+
114
+ @password_format = v
115
+ when 'Password'
116
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
117
+
118
+ @password = v
119
+ when 'AllowPasswordLogin'
120
+ @allow_password_login = v
121
+ when 'AllowPasswordAndTOTPLogin'
122
+ @allow_password_and_totplogin = v
123
+ when 'AllowPasswordAndU2FLogin'
124
+ @allow_password_and_u2flogin = v
125
+ when 'AllowPasswordAndWebAuthnLogin'
126
+ @allow_password_and_web_authn_login = v
127
+ when 'U2FRegistrations'
128
+ if v.nil?
129
+ @u2fregistrations = []
130
+ else
131
+ @u2fregistrations = Array.new(v.length)
132
+ v.each_with_index do |v1, i1|
133
+ @u2fregistrations[i1] = Comet::AdminU2FRegistration.new
134
+ @u2fregistrations[i1].from_hash(v1)
135
+ end
136
+ end
137
+ when 'WebAuthnRegistrations'
138
+ if v.nil?
139
+ @web_authn_registrations = []
140
+ else
141
+ @web_authn_registrations = Array.new(v.length)
142
+ v.each_with_index do |v1, i1|
143
+ @web_authn_registrations[i1] = Comet::AdminWebAuthnRegistration.new
144
+ @web_authn_registrations[i1].from_hash(v1)
145
+ end
146
+ end
147
+ when 'TOTPKeyEncryptionFormat'
148
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
149
+
150
+ @totpkey_encryption_format = v
151
+ when 'TOTPKey'
152
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
153
+
154
+ @totpkey = v
155
+ when 'IPWhitelist'
156
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
157
+
158
+ @ipwhitelist = v
159
+ when 'Permissions'
160
+ @permissions = Comet::AdminUserPermissions.new
161
+ @permissions.from_hash(v)
162
+ else
163
+ @unknown_json_fields[k] = v
164
+ end
165
+ end
166
+ end
167
+
168
+ # @return [Hash] The complete object as a Ruby hash
169
+ def to_hash
170
+ ret = {}
171
+ ret['Username'] = @username
172
+ ret['OrganizationID'] = @organization_id
173
+ unless @external_authentication_source.nil?
174
+ ret['ExternalAuthenticationSource'] = @external_authentication_source
175
+ end
176
+ ret['PasswordFormat'] = @password_format
177
+ ret['Password'] = @password
178
+ ret['AllowPasswordLogin'] = @allow_password_login
179
+ ret['AllowPasswordAndTOTPLogin'] = @allow_password_and_totplogin
180
+ ret['AllowPasswordAndU2FLogin'] = @allow_password_and_u2flogin
181
+ ret['AllowPasswordAndWebAuthnLogin'] = @allow_password_and_web_authn_login
182
+ unless @u2fregistrations.nil?
183
+ ret['U2FRegistrations'] = @u2fregistrations
184
+ end
185
+ unless @web_authn_registrations.nil?
186
+ ret['WebAuthnRegistrations'] = @web_authn_registrations
187
+ end
188
+ unless @totpkey_encryption_format.nil?
189
+ ret['TOTPKeyEncryptionFormat'] = @totpkey_encryption_format
190
+ end
191
+ unless @totpkey.nil?
192
+ ret['TOTPKey'] = @totpkey
193
+ end
194
+ unless @ipwhitelist.nil?
195
+ ret['IPWhitelist'] = @ipwhitelist
196
+ end
197
+ ret['Permissions'] = @permissions
198
+ @unknown_json_fields.each do |k, v|
199
+ ret[k] = v
200
+ end
201
+ ret
202
+ end
203
+
204
+ # @return [Hash] The complete object as a Ruby hash
205
+ def to_h
206
+ to_hash
207
+ end
208
+
209
+ # @return [String] The complete object as a JSON string
210
+ def to_json(options = {})
211
+ to_hash.to_json(options)
212
+ end
213
+ end
214
+ end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -27,6 +27,7 @@ module Comet
27
27
  attr_accessor :prefix
28
28
 
29
29
  # @type [Number] max_connections
30
+ # @deprecated This member has been deprecated since Comet version 21.9.7
30
31
  attr_accessor :max_connections
31
32
 
32
33
  # @type [Boolean] hide_deleted_files
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -32,6 +32,9 @@ module Comet
32
32
  # @type [Boolean] allow_zero_files_success
33
33
  attr_accessor :allow_zero_files_success
34
34
 
35
+ # @type [Number] auto_retention_level
36
+ attr_accessor :auto_retention_level
37
+
35
38
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
36
39
  attr_accessor :unknown_json_fields
37
40
 
@@ -42,6 +45,7 @@ module Comet
42
45
  def clear
43
46
  @stop_after = 0
44
47
  @limit_vault_speed_bps = 0
48
+ @auto_retention_level = 0
45
49
  @unknown_json_fields = {}
46
50
  end
47
51
 
@@ -74,6 +78,10 @@ module Comet
74
78
  @use_on_disk_indexes = v
75
79
  when 'AllowZeroFilesSuccess'
76
80
  @allow_zero_files_success = v
81
+ when 'AutoRetentionLevel'
82
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
83
+
84
+ @auto_retention_level = v
77
85
  else
78
86
  @unknown_json_fields[k] = v
79
87
  end
@@ -89,6 +97,7 @@ module Comet
89
97
  ret['ReduceDiskConcurrency'] = @reduce_disk_concurrency
90
98
  ret['UseOnDiskIndexes'] = @use_on_disk_indexes
91
99
  ret['AllowZeroFilesSuccess'] = @allow_zero_files_success
100
+ ret['AutoRetentionLevel'] = @auto_retention_level
92
101
  @unknown_json_fields.each do |k, v|
93
102
  ret[k] = v
94
103
  end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -65,6 +65,9 @@ module Comet
65
65
  # @type [Number] download_size
66
66
  attr_accessor :download_size
67
67
 
68
+ # @type [Number] total_vm_count
69
+ attr_accessor :total_vm_count
70
+
68
71
  # @type [Number] total_mails_count
69
72
  attr_accessor :total_mails_count
70
73
 
@@ -74,12 +77,24 @@ module Comet
74
77
  # @type [Number] total_accounts_count
75
78
  attr_accessor :total_accounts_count
76
79
 
80
+ # @type [Number] total_licensed_mails_count
81
+ attr_accessor :total_licensed_mails_count
82
+
83
+ # @type [Number] total_unlicensed_mails_count
84
+ attr_accessor :total_unlicensed_mails_count
85
+
77
86
  # @type [String] cancellation_id
78
87
  attr_accessor :cancellation_id
79
88
 
80
89
  # @type [Comet::BackupJobProgress] progress
81
90
  attr_accessor :progress
82
91
 
92
+ # @type [Comet::SizeMeasurement] destination_size_start
93
+ attr_accessor :destination_size_start
94
+
95
+ # @type [Comet::SizeMeasurement] destination_size_end
96
+ attr_accessor :destination_size_end
97
+
83
98
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
84
99
  attr_accessor :unknown_json_fields
85
100
 
@@ -105,11 +120,16 @@ module Comet
105
120
  @total_chunks = 0
106
121
  @upload_size = 0
107
122
  @download_size = 0
123
+ @total_vm_count = 0
108
124
  @total_mails_count = 0
109
125
  @total_sites_count = 0
110
126
  @total_accounts_count = 0
127
+ @total_licensed_mails_count = 0
128
+ @total_unlicensed_mails_count = 0
111
129
  @cancellation_id = ''
112
130
  @progress = Comet::BackupJobProgress.new
131
+ @destination_size_start = Comet::SizeMeasurement.new
132
+ @destination_size_end = Comet::SizeMeasurement.new
113
133
  @unknown_json_fields = {}
114
134
  end
115
135
 
@@ -194,6 +214,10 @@ module Comet
194
214
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
195
215
 
196
216
  @download_size = v
217
+ when 'TotalVmCount'
218
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
219
+
220
+ @total_vm_count = v
197
221
  when 'TotalMailsCount'
198
222
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
199
223
 
@@ -206,6 +230,14 @@ module Comet
206
230
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
207
231
 
208
232
  @total_accounts_count = v
233
+ when 'TotalLicensedMailsCount'
234
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
235
+
236
+ @total_licensed_mails_count = v
237
+ when 'TotalUnlicensedMailsCount'
238
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
239
+
240
+ @total_unlicensed_mails_count = v
209
241
  when 'CancellationID'
210
242
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
211
243
 
@@ -213,6 +245,12 @@ module Comet
213
245
  when 'Progress'
214
246
  @progress = Comet::BackupJobProgress.new
215
247
  @progress.from_hash(v)
248
+ when 'DestinationSizeStart'
249
+ @destination_size_start = Comet::SizeMeasurement.new
250
+ @destination_size_start.from_hash(v)
251
+ when 'DestinationSizeEnd'
252
+ @destination_size_end = Comet::SizeMeasurement.new
253
+ @destination_size_end.from_hash(v)
216
254
  else
217
255
  @unknown_json_fields[k] = v
218
256
  end
@@ -241,6 +279,9 @@ module Comet
241
279
  ret['TotalChunks'] = @total_chunks
242
280
  ret['UploadSize'] = @upload_size
243
281
  ret['DownloadSize'] = @download_size
282
+ unless @total_vm_count.nil?
283
+ ret['TotalVmCount'] = @total_vm_count
284
+ end
244
285
  unless @total_mails_count.nil?
245
286
  ret['TotalMailsCount'] = @total_mails_count
246
287
  end
@@ -250,12 +291,24 @@ module Comet
250
291
  unless @total_accounts_count.nil?
251
292
  ret['TotalAccountsCount'] = @total_accounts_count
252
293
  end
294
+ unless @total_licensed_mails_count.nil?
295
+ ret['TotalLicensedMailsCount'] = @total_licensed_mails_count
296
+ end
297
+ unless @total_unlicensed_mails_count.nil?
298
+ ret['TotalUnlicensedMailsCount'] = @total_unlicensed_mails_count
299
+ end
253
300
  unless @cancellation_id.nil?
254
301
  ret['CancellationID'] = @cancellation_id
255
302
  end
256
303
  unless @progress.nil?
257
304
  ret['Progress'] = @progress
258
305
  end
306
+ unless @destination_size_start.nil?
307
+ ret['DestinationSizeStart'] = @destination_size_start
308
+ end
309
+ unless @destination_size_end.nil?
310
+ ret['DestinationSizeEnd'] = @destination_size_end
311
+ end
259
312
  @unknown_json_fields.each do |k, v|
260
313
  ret[k] = v
261
314
  end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -56,6 +56,9 @@ module Comet
56
56
  # @type [Boolean] allow_zero_files_success
57
57
  attr_accessor :allow_zero_files_success
58
58
 
59
+ # @type [Number] auto_retention_level
60
+ attr_accessor :auto_retention_level
61
+
59
62
  # @type [Array<Comet::ScheduleConfig>] schedules
60
63
  attr_accessor :schedules
61
64
 
@@ -80,6 +83,7 @@ module Comet
80
83
  @destination = ''
81
84
  @stop_after = 0
82
85
  @limit_vault_speed_bps = 0
86
+ @auto_retention_level = 0
83
87
  @schedules = []
84
88
  @event_triggers = Comet::BackupRuleEventTriggers.new
85
89
  @unknown_json_fields = {}
@@ -167,6 +171,10 @@ module Comet
167
171
  @use_on_disk_indexes = v
168
172
  when 'AllowZeroFilesSuccess'
169
173
  @allow_zero_files_success = v
174
+ when 'AutoRetentionLevel'
175
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
176
+
177
+ @auto_retention_level = v
170
178
  when 'Schedules'
171
179
  if v.nil?
172
180
  @schedules = []
@@ -203,6 +211,7 @@ module Comet
203
211
  ret['ReduceDiskConcurrency'] = @reduce_disk_concurrency
204
212
  ret['UseOnDiskIndexes'] = @use_on_disk_indexes
205
213
  ret['AllowZeroFilesSuccess'] = @allow_zero_files_success
214
+ ret['AutoRetentionLevel'] = @auto_retention_level
206
215
  ret['Schedules'] = @schedules
207
216
  ret['EventTriggers'] = @event_triggers
208
217
  @unknown_json_fields.each do |k, v|
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
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
@@ -71,6 +71,9 @@ module Comet
71
71
  # @type [String] path_header_image
72
72
  attr_accessor :path_header_image
73
73
 
74
+ # @type [String] path_app_icon_image
75
+ attr_accessor :path_app_icon_image
76
+
74
77
  # @type [String] package_identifier
75
78
  attr_accessor :package_identifier
76
79
 
@@ -128,6 +131,7 @@ module Comet
128
131
  @path_eula_rtf = ''
129
132
  @path_tile_png = ''
130
133
  @path_header_image = ''
134
+ @path_app_icon_image = ''
131
135
  @package_identifier = ''
132
136
  @windows_code_sign_pkcs12file_path = ''
133
137
  @windows_code_sign_pkcs12password_format = 0
@@ -225,6 +229,10 @@ module Comet
225
229
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
226
230
 
227
231
  @path_header_image = v
232
+ when 'PathAppIconImage'
233
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
234
+
235
+ @path_app_icon_image = v
228
236
  when 'PackageIdentifier'
229
237
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
230
238
 
@@ -296,6 +304,7 @@ module Comet
296
304
  ret['PathEulaRtf'] = @path_eula_rtf
297
305
  ret['PathTilePng'] = @path_tile_png
298
306
  ret['PathHeaderImage'] = @path_header_image
307
+ ret['PathAppIconImage'] = @path_app_icon_image
299
308
  ret['PackageIdentifier'] = @package_identifier
300
309
  ret['WindowsCodeSignPKCS12FilePath'] = @windows_code_sign_pkcs12file_path
301
310
  ret['WindowsCodeSignPKCS12PasswordFormat'] = @windows_code_sign_pkcs12password_format