comet_backup_ruby_sdk 1.15.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.
Files changed (194) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -1
  3. data/Gemfile +2 -4
  4. data/Gemfile.lock +1 -1
  5. data/LICENSE +0 -0
  6. data/Rakefile +2 -4
  7. data/comet_backup_ruby_sdk.gemspec +1 -1
  8. data/lib/comet/api_response_error.rb +2 -4
  9. data/lib/comet/comet_server.rb +14 -10
  10. data/lib/comet/definitions.rb +18 -8
  11. data/lib/comet/models/add_bucket_response_message.rb +2 -4
  12. data/lib/comet/models/admin_account_properties_response.rb +2 -4
  13. data/lib/comet/models/admin_email_options.rb +2 -4
  14. data/lib/comet/models/admin_resource_response.rb +2 -4
  15. data/lib/comet/models/admin_security_options.rb +2 -4
  16. data/lib/comet/models/admin_u2fregistration.rb +2 -4
  17. data/lib/comet/models/admin_user_permissions.rb +2 -4
  18. data/lib/comet/models/admin_web_authn_registration.rb +2 -4
  19. data/lib/comet/models/allowed_admin_user.rb +2 -4
  20. data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +2 -4
  21. data/lib/comet/models/authentication_role_options.rb +139 -0
  22. data/lib/comet/models/available_download.rb +2 -4
  23. data/lib/comet/models/azure_destination_location.rb +2 -4
  24. data/lib/comet/models/b2destination_location.rb +2 -4
  25. data/lib/comet/models/b2storage_extra_info.rb +2 -4
  26. data/lib/comet/models/b2transaction_totals.rb +2 -4
  27. data/lib/comet/models/b2virtual_storage_role_settings.rb +2 -4
  28. data/lib/comet/models/backup_job_advanced_options.rb +2 -4
  29. data/lib/comet/models/backup_job_detail.rb +2 -4
  30. data/lib/comet/models/backup_job_progress.rb +2 -4
  31. data/lib/comet/models/backup_rule_config.rb +2 -4
  32. data/lib/comet/models/backup_rule_event_triggers.rb +2 -4
  33. data/lib/comet/models/branding_options.rb +11 -4
  34. data/lib/comet/models/branding_properties.rb +11 -4
  35. data/lib/comet/models/browse_disk_drives_response.rb +2 -4
  36. data/lib/comet/models/browse_edbresponse.rb +2 -4
  37. data/lib/comet/models/browse_hvresponse.rb +2 -4
  38. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +2 -4
  39. data/lib/comet/models/browse_office_365objects_response.rb +2 -4
  40. data/lib/comet/models/browse_sqlserver_response.rb +2 -4
  41. data/lib/comet/models/browse_vssresponse.rb +2 -4
  42. data/lib/comet/models/bucket_properties.rb +2 -4
  43. data/lib/comet/models/bucket_usage_info.rb +2 -4
  44. data/lib/comet/models/comet_apiresponse_message.rb +2 -4
  45. data/lib/comet/models/comet_destination_location.rb +2 -4
  46. data/lib/comet/models/constellation_check_report.rb +2 -4
  47. data/lib/comet/models/constellation_role_options.rb +91 -0
  48. data/lib/comet/models/constellation_stats.rb +2 -4
  49. data/lib/comet/models/constellation_status_apiresponse.rb +2 -4
  50. data/lib/comet/models/content_measurement.rb +2 -4
  51. data/lib/comet/models/content_measurement_component.rb +2 -4
  52. data/lib/comet/models/create_group_policy_response.rb +2 -4
  53. data/lib/comet/models/custom_remote_bucket_settings.rb +2 -4
  54. data/lib/comet/models/days_of_week_config.rb +2 -4
  55. data/lib/comet/models/default_email_report_policy.rb +2 -4
  56. data/lib/comet/models/default_source_with_osrestriction.rb +2 -4
  57. data/lib/comet/models/destination_config.rb +2 -4
  58. data/lib/comet/models/destination_location.rb +2 -4
  59. data/lib/comet/models/destination_statistics.rb +2 -4
  60. data/lib/comet/models/device_config.rb +2 -4
  61. data/lib/comet/models/disk_drive.rb +2 -4
  62. data/lib/comet/models/dispatcher_admin_sources_response.rb +2 -4
  63. data/lib/comet/models/dispatcher_stored_objects_response.rb +2 -4
  64. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +2 -4
  65. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +2 -4
  66. data/lib/comet/models/edbfile_info.rb +2 -4
  67. data/lib/comet/models/email_options.rb +2 -4
  68. data/lib/comet/models/email_report_config.rb +2 -4
  69. data/lib/comet/models/email_report_generated_preview.rb +2 -4
  70. data/lib/comet/models/external_authentication_source.rb +184 -0
  71. data/lib/comet/models/external_ldapauthentication_source_server.rb +97 -0
  72. data/lib/comet/models/external_ldapauthentication_source_settings.rb +23 -10
  73. data/lib/comet/models/extra_file_exclusion.rb +2 -4
  74. data/lib/comet/models/ftpdestination_location.rb +2 -4
  75. data/lib/comet/models/get_group_policy_response.rb +2 -4
  76. data/lib/comet/models/get_profile_and_hash_response_message.rb +2 -4
  77. data/lib/comet/models/get_profile_hash_response_message.rb +2 -4
  78. data/lib/comet/models/group_policy.rb +2 -4
  79. data/lib/comet/models/hour_sched_config.rb +2 -4
  80. data/lib/comet/models/httpconnector_options.rb +139 -0
  81. data/lib/comet/models/hyper_vmachine_info.rb +2 -4
  82. data/lib/comet/models/install_creds.rb +2 -4
  83. data/lib/comet/models/install_token.rb +2 -4
  84. data/lib/comet/models/install_token_response.rb +2 -4
  85. data/lib/comet/models/job_entry.rb +2 -4
  86. data/lib/comet/models/license_options.rb +84 -0
  87. data/lib/comet/models/live_user_connection.rb +2 -4
  88. data/lib/comet/models/local_destination_location.rb +2 -4
  89. data/lib/comet/models/local_storage_directory.rb +73 -0
  90. data/lib/comet/models/mac_oscode_sign_properties.rb +2 -4
  91. data/lib/comet/models/mongo_dbconnection.rb +2 -4
  92. data/lib/comet/models/mssqlconnection.rb +2 -4
  93. data/lib/comet/models/my_sqlconnection.rb +2 -4
  94. data/lib/comet/models/new_bucket_detail.rb +2 -4
  95. data/lib/comet/models/news_entry.rb +2 -4
  96. data/lib/comet/models/office_365connection.rb +2 -4
  97. data/lib/comet/models/office_365credential.rb +2 -4
  98. data/lib/comet/models/office_365custom_setting.rb +2 -4
  99. data/lib/comet/models/office_365custom_setting_v2.rb +2 -4
  100. data/lib/comet/models/office_365mixed_virtual_account.rb +2 -4
  101. data/lib/comet/models/office_365object_info.rb +2 -4
  102. data/lib/comet/models/organization.rb +5 -7
  103. data/lib/comet/models/organization_response.rb +2 -4
  104. data/lib/comet/models/osinfo.rb +2 -4
  105. data/lib/comet/models/partition.rb +2 -4
  106. data/lib/comet/models/private_branding_properties.rb +11 -4
  107. data/lib/comet/models/protected_item_engine_type_policy.rb +2 -4
  108. data/lib/comet/models/public_branding_properties.rb +2 -4
  109. data/lib/comet/models/ratelimit_options.rb +81 -0
  110. data/lib/comet/models/ratelimit_rule.rb +82 -0
  111. data/lib/comet/models/register_office_application_begin_response.rb +2 -4
  112. data/lib/comet/models/register_office_application_check_response.rb +2 -4
  113. data/lib/comet/models/remote_server_address.rb +2 -4
  114. data/lib/comet/models/remote_storage_option.rb +2 -4
  115. data/lib/comet/models/replica_server.rb +187 -0
  116. data/lib/comet/models/replicator_state_apiresponse.rb +2 -4
  117. data/lib/comet/models/request_storage_vault_response_message.rb +2 -4
  118. data/lib/comet/models/restore_job_advanced_options.rb +2 -4
  119. data/lib/comet/models/retention_policy.rb +2 -4
  120. data/lib/comet/models/retention_range.rb +2 -4
  121. data/lib/comet/models/s3destination_location.rb +2 -4
  122. data/lib/comet/models/s3generic_virtual_storage_role.rb +2 -4
  123. data/lib/comet/models/schedule_config.rb +13 -4
  124. data/lib/comet/models/search_clause.rb +2 -4
  125. data/lib/comet/models/self_backup_options.rb +79 -0
  126. data/lib/comet/models/self_backup_statistics.rb +2 -4
  127. data/lib/comet/models/self_backup_target.rb +137 -0
  128. data/lib/comet/models/server_config_options.rb +253 -0
  129. data/lib/comet/models/server_config_options_branding_fragment.rb +2 -4
  130. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +2 -4
  131. data/lib/comet/models/server_meta_branding_properties.rb +2 -4
  132. data/lib/comet/models/server_meta_version_info.rb +2 -4
  133. data/lib/comet/models/session_key_regenerated_response.rb +2 -4
  134. data/lib/comet/models/session_options.rb +73 -0
  135. data/lib/comet/models/sftpdestination_location.rb +2 -4
  136. data/lib/comet/models/size_measurement.rb +2 -4
  137. data/lib/comet/models/software_build_role_options.rb +2 -4
  138. data/lib/comet/models/software_update_news_response.rb +2 -4
  139. data/lib/comet/models/source_basic_info.rb +2 -4
  140. data/lib/comet/models/source_config.rb +2 -4
  141. data/lib/comet/models/source_include_pattern.rb +2 -4
  142. data/lib/comet/models/source_statistics.rb +2 -4
  143. data/lib/comet/models/spanned_destination_location.rb +2 -4
  144. data/lib/comet/models/spanned_storage_extra_info.rb +2 -4
  145. data/lib/comet/models/sshconnection.rb +2 -4
  146. data/lib/comet/models/stat_result.rb +2 -4
  147. data/lib/comet/models/storage_free_space_info.rb +2 -4
  148. data/lib/comet/models/storage_role_options.rb +110 -0
  149. data/lib/comet/models/storage_vault_provider_policy.rb +2 -4
  150. data/lib/comet/models/stored_object.rb +2 -4
  151. data/lib/comet/models/streamable_event.rb +2 -4
  152. data/lib/comet/models/swift_destination_location.rb +2 -4
  153. data/lib/comet/models/test_response.rb +2 -4
  154. data/lib/comet/models/totp_regenerated_response.rb +2 -4
  155. data/lib/comet/models/u2fregister_request.rb +2 -4
  156. data/lib/comet/models/u2fregistered_key.rb +2 -4
  157. data/lib/comet/models/u2fregistration_challenge_response.rb +2 -4
  158. data/lib/comet/models/u2fsign_request.rb +2 -4
  159. data/lib/comet/models/u2fsign_response.rb +2 -4
  160. data/lib/comet/models/uninstall_config.rb +2 -4
  161. data/lib/comet/models/update_campaign_device_status.rb +2 -4
  162. data/lib/comet/models/update_campaign_options.rb +4 -6
  163. data/lib/comet/models/update_campaign_properties.rb +2 -4
  164. data/lib/comet/models/update_campaign_status.rb +2 -4
  165. data/lib/comet/models/update_campaign_status_device_entry.rb +2 -4
  166. data/lib/comet/models/user_custom_email_settings.rb +2 -4
  167. data/lib/comet/models/user_on_server.rb +2 -4
  168. data/lib/comet/models/user_policy.rb +2 -4
  169. data/lib/comet/models/user_profile_config.rb +2 -4
  170. data/lib/comet/models/user_profile_fragment.rb +2 -4
  171. data/lib/comet/models/vault_snapshot.rb +2 -4
  172. data/lib/comet/models/vmdksnapshot_view_options.rb +2 -4
  173. data/lib/comet/models/vsscomponent.rb +2 -4
  174. data/lib/comet/models/vsswriter_info.rb +2 -4
  175. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +2 -4
  176. data/lib/comet/models/web_authn_authenticator_selection.rb +2 -4
  177. data/lib/comet/models/web_authn_credential.rb +2 -4
  178. data/lib/comet/models/web_authn_credential_assertion.rb +2 -4
  179. data/lib/comet/models/web_authn_credential_descriptor.rb +2 -4
  180. data/lib/comet/models/web_authn_credential_entity.rb +2 -4
  181. data/lib/comet/models/web_authn_credential_parameter.rb +2 -4
  182. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +2 -4
  183. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +2 -4
  184. data/lib/comet/models/web_authn_registration_challenge_response.rb +2 -4
  185. data/lib/comet/models/web_authn_relying_party_entity.rb +2 -4
  186. data/lib/comet/models/web_authn_sign_request.rb +2 -4
  187. data/lib/comet/models/web_authn_sign_response.rb +2 -4
  188. data/lib/comet/models/web_authn_user_entity.rb +2 -4
  189. data/lib/comet/models/web_interface_branding_properties.rb +2 -4
  190. data/lib/comet/models/webhook_option.rb +2 -4
  191. data/lib/comet/models/win_smbauth.rb +2 -4
  192. data/lib/comet/models/windows_code_sign_properties.rb +2 -4
  193. data/lib/comet_backup_ruby_sdk.rb +19 -4
  194. metadata +17 -2
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
 
@@ -53,6 +51,9 @@ module Comet
53
51
  # @type [Boolean] hide_background_logo
54
52
  attr_accessor :hide_background_logo
55
53
 
54
+ # @type [Number] build_mode
55
+ attr_accessor :build_mode
56
+
56
57
  # @type [String] path_ico_file
57
58
  attr_accessor :path_ico_file
58
59
 
@@ -125,6 +126,7 @@ module Comet
125
126
  @default_login_server_url = ''
126
127
  @tile_background_color = ''
127
128
  @account_register_url = ''
129
+ @build_mode = 0
128
130
  @path_ico_file = ''
129
131
  @path_icns_file = ''
130
132
  @path_menu_bar_icns_file = ''
@@ -205,6 +207,10 @@ module Comet
205
207
  @account_register_url = v
206
208
  when 'HideBackgroundLogo'
207
209
  @hide_background_logo = v
210
+ when 'BuildMode'
211
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
212
+
213
+ @build_mode = v
208
214
  when 'PathIcoFile'
209
215
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
210
216
 
@@ -298,6 +304,7 @@ module Comet
298
304
  ret['TileBackgroundColor'] = @tile_background_color
299
305
  ret['AccountRegisterURL'] = @account_register_url
300
306
  ret['HideBackgroundLogo'] = @hide_background_logo
307
+ ret['BuildMode'] = @build_mode
301
308
  ret['PathIcoFile'] = @path_ico_file
302
309
  ret['PathIcnsFile'] = @path_icns_file
303
310
  ret['PathMenuBarIcnsFile'] = @path_menu_bar_icns_file
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
 
@@ -38,6 +36,9 @@ module Comet
38
36
  # @type [Boolean] hide_background_logo
39
37
  attr_accessor :hide_background_logo
40
38
 
39
+ # @type [Number] build_mode
40
+ attr_accessor :build_mode
41
+
41
42
  # @type [String] path_ico_file
42
43
  attr_accessor :path_ico_file
43
44
 
@@ -106,6 +107,7 @@ module Comet
106
107
  @default_login_server_url = ''
107
108
  @tile_background_color = ''
108
109
  @account_register_url = ''
110
+ @build_mode = 0
109
111
  @path_ico_file = ''
110
112
  @path_icns_file = ''
111
113
  @path_menu_bar_icns_file = ''
@@ -168,6 +170,10 @@ module Comet
168
170
  @account_register_url = v
169
171
  when 'HideBackgroundLogo'
170
172
  @hide_background_logo = v
173
+ when 'BuildMode'
174
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
175
+
176
+ @build_mode = v
171
177
  when 'PathIcoFile'
172
178
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
173
179
 
@@ -256,6 +262,7 @@ module Comet
256
262
  ret['TileBackgroundColor'] = @tile_background_color
257
263
  ret['AccountRegisterURL'] = @account_register_url
258
264
  ret['HideBackgroundLogo'] = @hide_background_logo
265
+ ret['BuildMode'] = @build_mode
259
266
  ret['PathIcoFile'] = @path_ico_file
260
267
  ret['PathIcnsFile'] = @path_icns_file
261
268
  ret['PathMenuBarIcnsFile'] = @path_menu_bar_icns_file
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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,91 @@
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
+ # ConstellationRoleOptions is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class ConstellationRoleOptions
14
+
15
+ # @type [Boolean] role_enabled
16
+ attr_accessor :role_enabled
17
+
18
+ # @type [Boolean] delete_unused_data
19
+ attr_accessor :delete_unused_data
20
+
21
+ # @type [Array<Comet::RemoteServerAddress>] servers
22
+ attr_accessor :servers
23
+
24
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
25
+ attr_accessor :unknown_json_fields
26
+
27
+ def initialize
28
+ clear
29
+ end
30
+
31
+ def clear
32
+ @servers = []
33
+ @unknown_json_fields = {}
34
+ end
35
+
36
+ # @param [String] json_string The complete object in JSON format
37
+ def from_json(json_string)
38
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
39
+
40
+ from_hash(JSON.parse(json_string))
41
+ end
42
+
43
+ # @param [Hash] obj The complete object as a Ruby hash
44
+ def from_hash(obj)
45
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
+
47
+ obj.each do |k, v|
48
+ case k
49
+ when 'RoleEnabled'
50
+ @role_enabled = v
51
+ when 'DeleteUnusedData'
52
+ @delete_unused_data = v
53
+ when 'Servers'
54
+ if v.nil?
55
+ @servers = []
56
+ else
57
+ @servers = Array.new(v.length)
58
+ v.each_with_index do |v1, i1|
59
+ @servers[i1] = Comet::RemoteServerAddress.new
60
+ @servers[i1].from_hash(v1)
61
+ end
62
+ end
63
+ else
64
+ @unknown_json_fields[k] = v
65
+ end
66
+ end
67
+ end
68
+
69
+ # @return [Hash] The complete object as a Ruby hash
70
+ def to_hash
71
+ ret = {}
72
+ ret['RoleEnabled'] = @role_enabled
73
+ ret['DeleteUnusedData'] = @delete_unused_data
74
+ ret['Servers'] = @servers
75
+ @unknown_json_fields.each do |k, v|
76
+ ret[k] = v
77
+ end
78
+ ret
79
+ end
80
+
81
+ # @return [Hash] The complete object as a Ruby hash
82
+ def to_h
83
+ to_hash
84
+ end
85
+
86
+ # @return [String] The complete object as a JSON string
87
+ def to_json(options = {})
88
+ to_hash.to_json(options)
89
+ end
90
+ end
91
+ end
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- #!/usr/bin/env ruby --enable-frozen-string-literal
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