comet_backup_ruby_sdk 2.3.0 → 2.5.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (210) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rubocop.yml +0 -0
  4. data/CHANGELOG.md +14 -0
  5. data/Gemfile +0 -0
  6. data/Gemfile.lock +1 -1
  7. data/LICENSE +0 -0
  8. data/README.md +0 -0
  9. data/RELEASING.md +0 -0
  10. data/Rakefile +0 -0
  11. data/comet_backup_ruby_sdk.gemspec +1 -1
  12. data/lib/comet/api_response_error.rb +1 -1
  13. data/lib/comet/comet_server.rb +114 -26
  14. data/lib/comet/definitions.rb +32 -6
  15. data/lib/comet/models/add_bucket_response_message.rb +1 -1
  16. data/lib/comet/models/admin_account_properties_response.rb +1 -1
  17. data/lib/comet/models/admin_email_options.rb +1 -1
  18. data/lib/comet/models/admin_resource_response.rb +1 -1
  19. data/lib/comet/models/admin_security_options.rb +1 -1
  20. data/lib/comet/models/admin_u2fregistration.rb +1 -1
  21. data/lib/comet/models/admin_user_permissions.rb +9 -1
  22. data/lib/comet/models/admin_web_authn_registration.rb +1 -1
  23. data/lib/comet/models/allowed_admin_user.rb +1 -1
  24. data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +1 -1
  25. data/lib/comet/models/authentication_role_options.rb +1 -1
  26. data/lib/comet/models/available_download.rb +1 -1
  27. data/lib/comet/models/azure_destination_location.rb +1 -1
  28. data/lib/comet/models/b2destination_location.rb +1 -1
  29. data/lib/comet/models/b2storage_extra_info.rb +1 -1
  30. data/lib/comet/models/b2transaction_totals.rb +1 -1
  31. data/lib/comet/models/b2virtual_storage_role_settings.rb +1 -1
  32. data/lib/comet/models/backup_job_advanced_options.rb +1 -1
  33. data/lib/comet/models/backup_job_detail.rb +1 -1
  34. data/lib/comet/models/backup_job_progress.rb +1 -1
  35. data/lib/comet/models/backup_rule_config.rb +1 -1
  36. data/lib/comet/models/backup_rule_event_triggers.rb +1 -1
  37. data/lib/comet/models/branding_options.rb +1 -1
  38. data/lib/comet/models/branding_properties.rb +1 -1
  39. data/lib/comet/models/browse_disk_drives_response.rb +1 -1
  40. data/lib/comet/models/browse_edbresponse.rb +1 -1
  41. data/lib/comet/models/browse_hvresponse.rb +1 -1
  42. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +1 -1
  43. data/lib/comet/models/browse_office_365objects_response.rb +1 -1
  44. data/lib/comet/models/browse_sqlserver_response.rb +1 -1
  45. data/lib/comet/models/browse_vssresponse.rb +1 -1
  46. data/lib/comet/models/bucket_properties.rb +1 -1
  47. data/lib/comet/models/bucket_usage_info.rb +1 -1
  48. data/lib/comet/models/comet_apiresponse_message.rb +1 -1
  49. data/lib/comet/models/comet_destination_location.rb +1 -1
  50. data/lib/comet/models/constellation_check_report.rb +1 -1
  51. data/lib/comet/models/constellation_role_options.rb +1 -1
  52. data/lib/comet/models/constellation_stats.rb +1 -1
  53. data/lib/comet/models/constellation_status_apiresponse.rb +1 -1
  54. data/lib/comet/models/content_measurement.rb +1 -1
  55. data/lib/comet/models/content_measurement_component.rb +1 -1
  56. data/lib/comet/models/count_jobs_response.rb +73 -0
  57. data/lib/comet/models/create_group_policy_response.rb +1 -1
  58. data/lib/comet/models/custom_remote_bucket_settings.rb +1 -1
  59. data/lib/comet/models/days_of_week_config.rb +1 -1
  60. data/lib/comet/models/default_email_report_policy.rb +1 -1
  61. data/lib/comet/models/default_source_with_osrestriction.rb +1 -1
  62. data/lib/comet/models/destination_config.rb +1 -1
  63. data/lib/comet/models/destination_location.rb +1 -1
  64. data/lib/comet/models/destination_statistics.rb +1 -1
  65. data/lib/comet/models/device_config.rb +1 -1
  66. data/lib/comet/models/disk_drive.rb +1 -1
  67. data/lib/comet/models/dispatcher_admin_sources_response.rb +1 -1
  68. data/lib/comet/models/dispatcher_stored_objects_response.rb +1 -1
  69. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +1 -1
  70. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +1 -1
  71. data/lib/comet/models/edbfile_info.rb +1 -1
  72. data/lib/comet/models/email_options.rb +27 -10
  73. data/lib/comet/models/email_report_config.rb +11 -1
  74. data/lib/comet/models/email_report_generated_preview.rb +1 -1
  75. data/lib/comet/models/email_reporting_option.rb +106 -0
  76. data/lib/comet/models/external_authentication_source.rb +1 -1
  77. data/lib/comet/models/external_ldapauthentication_source_server.rb +1 -1
  78. data/lib/comet/models/external_ldapauthentication_source_settings.rb +1 -1
  79. data/lib/comet/models/extra_file_exclusion.rb +1 -1
  80. data/lib/comet/models/ftpdestination_location.rb +1 -1
  81. data/lib/comet/models/get_group_policy_response.rb +1 -1
  82. data/lib/comet/models/get_profile_and_hash_response_message.rb +1 -1
  83. data/lib/comet/models/get_profile_hash_response_message.rb +1 -1
  84. data/lib/comet/models/global_override_options.rb +1 -1
  85. data/lib/comet/models/group_policy.rb +1 -1
  86. data/lib/comet/models/hour_sched_config.rb +1 -1
  87. data/lib/comet/models/httpconnector_options.rb +1 -1
  88. data/lib/comet/models/hyper_vmachine_info.rb +1 -1
  89. data/lib/comet/models/install_creds.rb +1 -1
  90. data/lib/comet/models/install_token.rb +1 -1
  91. data/lib/comet/models/install_token_response.rb +1 -1
  92. data/lib/comet/models/job_entry.rb +1 -1
  93. data/lib/comet/models/license_options.rb +1 -1
  94. data/lib/comet/models/live_user_connection.rb +1 -1
  95. data/lib/comet/models/local_destination_location.rb +1 -1
  96. data/lib/comet/models/local_storage_directory.rb +1 -1
  97. data/lib/comet/models/mac_oscode_sign_properties.rb +1 -1
  98. data/lib/comet/models/mongo_dbconnection.rb +2 -1
  99. data/lib/comet/models/mssqlconnection.rb +1 -1
  100. data/lib/comet/models/mssqllogin_args.rb +1 -1
  101. data/lib/comet/models/my_sqlconnection.rb +1 -1
  102. data/lib/comet/models/new_bucket_detail.rb +1 -1
  103. data/lib/comet/models/news_entry.rb +1 -1
  104. data/lib/comet/models/office_365connection.rb +1 -1
  105. data/lib/comet/models/office_365credential.rb +1 -1
  106. data/lib/comet/models/office_365custom_setting.rb +1 -1
  107. data/lib/comet/models/office_365custom_setting_v2.rb +1 -1
  108. data/lib/comet/models/office_365mixed_virtual_account.rb +1 -1
  109. data/lib/comet/models/office_365object_info.rb +1 -1
  110. data/lib/comet/models/organization.rb +1 -1
  111. data/lib/comet/models/organization_login_urlresponse.rb +1 -1
  112. data/lib/comet/models/organization_response.rb +1 -1
  113. data/lib/comet/models/osinfo.rb +1 -1
  114. data/lib/comet/models/partition.rb +1 -1
  115. data/lib/comet/models/private_branding_properties.rb +1 -1
  116. data/lib/comet/models/protected_item_engine_type_policy.rb +1 -1
  117. data/lib/comet/models/psaconfig.rb +21 -15
  118. data/lib/comet/models/public_branding_properties.rb +1 -1
  119. data/lib/comet/models/ratelimit_options.rb +1 -1
  120. data/lib/comet/models/ratelimit_rule.rb +1 -1
  121. data/lib/comet/models/register_office_application_begin_response.rb +1 -1
  122. data/lib/comet/models/register_office_application_check_response.rb +1 -1
  123. data/lib/comet/models/remote_server_address.rb +1 -1
  124. data/lib/comet/models/remote_storage_option.rb +1 -1
  125. data/lib/comet/models/replica_server.rb +1 -1
  126. data/lib/comet/models/replicator_state_apiresponse.rb +1 -1
  127. data/lib/comet/models/request_storage_vault_response_message.rb +1 -1
  128. data/lib/comet/models/restore_job_advanced_options.rb +1 -1
  129. data/lib/comet/models/retention_policy.rb +1 -1
  130. data/lib/comet/models/retention_range.rb +1 -1
  131. data/lib/comet/models/s3destination_location.rb +1 -1
  132. data/lib/comet/models/s3generic_virtual_storage_role.rb +1 -1
  133. data/lib/comet/models/schedule_config.rb +1 -1
  134. data/lib/comet/models/search_clause.rb +1 -1
  135. data/lib/comet/models/self_backup_export_options.rb +1 -1
  136. data/lib/comet/models/self_backup_options.rb +1 -1
  137. data/lib/comet/models/self_backup_statistics.rb +1 -1
  138. data/lib/comet/models/self_backup_target.rb +1 -1
  139. data/lib/comet/models/server_config_options.rb +123 -123
  140. data/lib/comet/models/server_config_options_branding_fragment.rb +1 -1
  141. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +1 -1
  142. data/lib/comet/models/server_meta_branding_properties.rb +1 -1
  143. data/lib/comet/models/server_meta_version_info.rb +1 -1
  144. data/lib/comet/models/session_key_regenerated_response.rb +1 -1
  145. data/lib/comet/models/session_options.rb +1 -1
  146. data/lib/comet/models/sftpdestination_location.rb +1 -1
  147. data/lib/comet/models/single_field_source.rb +106 -0
  148. data/lib/comet/models/size_measurement.rb +1 -1
  149. data/lib/comet/models/software_build_role_options.rb +1 -1
  150. data/lib/comet/models/software_update_news_response.rb +1 -1
  151. data/lib/comet/models/source_basic_info.rb +10 -1
  152. data/lib/comet/models/source_config.rb +1 -1
  153. data/lib/comet/models/source_include_pattern.rb +1 -1
  154. data/lib/comet/models/source_statistics.rb +1 -1
  155. data/lib/comet/models/spanned_destination_location.rb +1 -1
  156. data/lib/comet/models/spanned_storage_extra_info.rb +1 -1
  157. data/lib/comet/models/sshconnection.rb +1 -1
  158. data/lib/comet/models/stat_result.rb +1 -1
  159. data/lib/comet/models/storage_free_space_info.rb +1 -1
  160. data/lib/comet/models/storage_role_options.rb +1 -1
  161. data/lib/comet/models/storage_vault_provider_policy.rb +1 -1
  162. data/lib/comet/models/stored_object.rb +1 -1
  163. data/lib/comet/models/storj_destination_location.rb +1 -1
  164. data/lib/comet/models/storj_virtual_storage_role_setting.rb +1 -1
  165. data/lib/comet/models/streamable_event.rb +1 -1
  166. data/lib/comet/models/swift_destination_location.rb +1 -1
  167. data/lib/comet/models/test_response.rb +1 -1
  168. data/lib/comet/models/time_span.rb +82 -0
  169. data/lib/comet/models/totp_regenerated_response.rb +1 -1
  170. data/lib/comet/models/u2fregister_request.rb +1 -1
  171. data/lib/comet/models/u2fregistered_key.rb +1 -1
  172. data/lib/comet/models/u2fregistration_challenge_response.rb +1 -1
  173. data/lib/comet/models/u2fsign_request.rb +1 -1
  174. data/lib/comet/models/u2fsign_response.rb +1 -1
  175. data/lib/comet/models/uninstall_config.rb +1 -1
  176. data/lib/comet/models/update_campaign_device_status.rb +1 -1
  177. data/lib/comet/models/update_campaign_options.rb +1 -1
  178. data/lib/comet/models/update_campaign_properties.rb +1 -1
  179. data/lib/comet/models/update_campaign_status.rb +1 -1
  180. data/lib/comet/models/update_campaign_status_device_entry.rb +1 -1
  181. data/lib/comet/models/user_custom_email_settings.rb +1 -1
  182. data/lib/comet/models/user_on_server.rb +1 -1
  183. data/lib/comet/models/user_policy.rb +1 -1
  184. data/lib/comet/models/user_profile_config.rb +21 -1
  185. data/lib/comet/models/user_profile_fragment.rb +1 -1
  186. data/lib/comet/models/user_server_config.rb +1 -1
  187. data/lib/comet/models/vault_snapshot.rb +1 -1
  188. data/lib/comet/models/vmdksnapshot_view_options.rb +10 -1
  189. data/lib/comet/models/vsscomponent.rb +1 -1
  190. data/lib/comet/models/vsswriter_info.rb +1 -1
  191. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +1 -1
  192. data/lib/comet/models/web_authn_authenticator_selection.rb +12 -1
  193. data/lib/comet/models/web_authn_credential.rb +1 -1
  194. data/lib/comet/models/web_authn_credential_assertion.rb +1 -1
  195. data/lib/comet/models/web_authn_credential_descriptor.rb +1 -1
  196. data/lib/comet/models/web_authn_credential_entity.rb +1 -1
  197. data/lib/comet/models/web_authn_credential_parameter.rb +1 -1
  198. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +1 -1
  199. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +1 -1
  200. data/lib/comet/models/web_authn_registration_challenge_response.rb +1 -1
  201. data/lib/comet/models/web_authn_relying_party_entity.rb +1 -1
  202. data/lib/comet/models/web_authn_sign_request.rb +1 -1
  203. data/lib/comet/models/web_authn_sign_response.rb +1 -1
  204. data/lib/comet/models/web_authn_user_entity.rb +1 -1
  205. data/lib/comet/models/web_interface_branding_properties.rb +1 -1
  206. data/lib/comet/models/webhook_option.rb +1 -1
  207. data/lib/comet/models/win_smbauth.rb +1 -1
  208. data/lib/comet/models/windows_code_sign_properties.rb +1 -1
  209. data/lib/comet_backup_ruby_sdk.rb +5 -1
  210. metadata +6 -2
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -12,56 +12,44 @@ module Comet
12
12
  # ServerConfigOptions is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class ServerConfigOptions
14
14
 
15
- # @type [Array<String>] experimental_options
16
- attr_accessor :experimental_options
17
-
18
- # @type [Hash{String => Comet::WebhookOption}] webhook_options
19
- attr_accessor :webhook_options
20
-
21
- # @type [Array<Comet::PSAConfig>] psaconfigs
22
- attr_accessor :psaconfigs
15
+ # @type [Array<Comet::AllowedAdminUser>] admin_users
16
+ attr_accessor :admin_users
23
17
 
24
- # @type [Comet::LicenseOptions] license
25
- attr_accessor :license
18
+ # @type [Comet::AuthenticationRoleOptions] authentication_role
19
+ attr_accessor :authentication_role
26
20
 
27
21
  # @type [Comet::BrandingOptions] branding
28
22
  attr_accessor :branding
29
23
 
30
- # @type [Array<Comet::AllowedAdminUser>] admin_users
31
- attr_accessor :admin_users
24
+ # @type [Comet::ConstellationRoleOptions] constellation_role
25
+ attr_accessor :constellation_role
32
26
 
33
- # @type [Hash{String => Comet::Organization}] organizations
34
- attr_accessor :organizations
27
+ # @type [Comet::ConstellationRoleOptions] constellation_role__legacy
28
+ attr_accessor :constellation_role__legacy
35
29
 
36
- # @type [Hash{String => Comet::ExternalAuthenticationSource}] external_admin_user_sources
37
- attr_accessor :external_admin_user_sources
30
+ # @type [Comet::EmailOptions] email
31
+ attr_accessor :email
38
32
 
39
- # @type [Array<Comet::HTTPConnectorOptions>] listen_addresses
40
- attr_accessor :listen_addresses
33
+ # @type [Array<String>] experimental_options
34
+ attr_accessor :experimental_options
41
35
 
42
- # @type [Boolean] trust_xforwarded_for
43
- attr_accessor :trust_xforwarded_for
36
+ # @type [Hash{String => Comet::ExternalAuthenticationSource}] external_admin_user_sources
37
+ attr_accessor :external_admin_user_sources
44
38
 
45
39
  # @type [Comet::RatelimitOptions] iprate_limit
46
40
  attr_accessor :iprate_limit
47
41
 
48
- # @type [Comet::EmailOptions] email
49
- attr_accessor :email
50
-
51
- # @type [Comet::AuthenticationRoleOptions] authentication_role
52
- attr_accessor :authentication_role
53
-
54
- # @type [Comet::StorageRoleOptions] storage_role
55
- attr_accessor :storage_role
42
+ # @type [Comet::LicenseOptions] license
43
+ attr_accessor :license
56
44
 
57
- # @type [Comet::SoftwareBuildRoleOptions] software_build_role
58
- attr_accessor :software_build_role
45
+ # @type [Array<Comet::HTTPConnectorOptions>] listen_addresses
46
+ attr_accessor :listen_addresses
59
47
 
60
- # @type [Comet::ConstellationRoleOptions] constellation_role
61
- attr_accessor :constellation_role
48
+ # @type [Hash{String => Comet::Organization}] organizations
49
+ attr_accessor :organizations
62
50
 
63
- # @type [Comet::ConstellationRoleOptions] constellation_role__legacy
64
- attr_accessor :constellation_role__legacy
51
+ # @type [Array<Comet::PSAConfig>] psaconfigs
52
+ attr_accessor :psaconfigs
65
53
 
66
54
  # @type [Comet::SelfBackupOptions] self_backup
67
55
  attr_accessor :self_backup
@@ -69,6 +57,18 @@ module Comet
69
57
  # @type [Comet::SessionOptions] session_settings
70
58
  attr_accessor :session_settings
71
59
 
60
+ # @type [Comet::SoftwareBuildRoleOptions] software_build_role
61
+ attr_accessor :software_build_role
62
+
63
+ # @type [Comet::StorageRoleOptions] storage_role
64
+ attr_accessor :storage_role
65
+
66
+ # @type [Boolean] trust_xforwarded_for
67
+ attr_accessor :trust_xforwarded_for
68
+
69
+ # @type [Hash{String => Comet::WebhookOption}] webhook_options
70
+ attr_accessor :webhook_options
71
+
72
72
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
73
73
  attr_accessor :unknown_json_fields
74
74
 
@@ -77,24 +77,24 @@ module Comet
77
77
  end
78
78
 
79
79
  def clear
80
- @experimental_options = []
81
- @webhook_options = {}
82
- @psaconfigs = []
83
- @license = Comet::LicenseOptions.new
84
- @branding = Comet::BrandingOptions.new
85
80
  @admin_users = []
86
- @organizations = {}
87
- @external_admin_user_sources = {}
88
- @listen_addresses = []
89
- @iprate_limit = Comet::RatelimitOptions.new
90
- @email = Comet::EmailOptions.new
91
81
  @authentication_role = Comet::AuthenticationRoleOptions.new
92
- @storage_role = Comet::StorageRoleOptions.new
93
- @software_build_role = Comet::SoftwareBuildRoleOptions.new
82
+ @branding = Comet::BrandingOptions.new
94
83
  @constellation_role = Comet::ConstellationRoleOptions.new
95
84
  @constellation_role__legacy = Comet::ConstellationRoleOptions.new
85
+ @email = Comet::EmailOptions.new
86
+ @experimental_options = []
87
+ @external_admin_user_sources = {}
88
+ @iprate_limit = Comet::RatelimitOptions.new
89
+ @license = Comet::LicenseOptions.new
90
+ @listen_addresses = []
91
+ @organizations = {}
92
+ @psaconfigs = []
96
93
  @self_backup = Comet::SelfBackupOptions.new
97
94
  @session_settings = Comet::SessionOptions.new
95
+ @software_build_role = Comet::SoftwareBuildRoleOptions.new
96
+ @storage_role = Comet::StorageRoleOptions.new
97
+ @webhook_options = {}
98
98
  @unknown_json_fields = {}
99
99
  end
100
100
 
@@ -111,6 +111,31 @@ module Comet
111
111
 
112
112
  obj.each do |k, v|
113
113
  case k
114
+ when 'AdminUsers'
115
+ if v.nil?
116
+ @admin_users = []
117
+ else
118
+ @admin_users = Array.new(v.length)
119
+ v.each_with_index do |v1, i1|
120
+ @admin_users[i1] = Comet::AllowedAdminUser.new
121
+ @admin_users[i1].from_hash(v1)
122
+ end
123
+ end
124
+ when 'AuthenticationRole'
125
+ @authentication_role = Comet::AuthenticationRoleOptions.new
126
+ @authentication_role.from_hash(v)
127
+ when 'Branding'
128
+ @branding = Comet::BrandingOptions.new
129
+ @branding.from_hash(v)
130
+ when 'ConstellationRole'
131
+ @constellation_role = Comet::ConstellationRoleOptions.new
132
+ @constellation_role.from_hash(v)
133
+ when 'OverseerRole'
134
+ @constellation_role__legacy = Comet::ConstellationRoleOptions.new
135
+ @constellation_role__legacy.from_hash(v)
136
+ when 'Email'
137
+ @email = Comet::EmailOptions.new
138
+ @email.from_hash(v)
114
139
  when 'ExperimentalOptions'
115
140
  if v.nil?
116
141
  @experimental_options = []
@@ -122,40 +147,30 @@ module Comet
122
147
  @experimental_options[i1] = v1
123
148
  end
124
149
  end
125
- when 'WebhookOptions'
126
- @webhook_options = {}
150
+ when 'ExternalAdminUserSources'
151
+ @external_admin_user_sources = {}
127
152
  if v.nil?
128
- @webhook_options = {}
153
+ @external_admin_user_sources = {}
129
154
  else
130
155
  v.each do |k1, v1|
131
- @webhook_options[k1] = Comet::WebhookOption.new
132
- @webhook_options[k1].from_hash(v1)
133
- end
134
- end
135
- when 'PSAConfigs'
136
- if v.nil?
137
- @psaconfigs = []
138
- else
139
- @psaconfigs = Array.new(v.length)
140
- v.each_with_index do |v1, i1|
141
- @psaconfigs[i1] = Comet::PSAConfig.new
142
- @psaconfigs[i1].from_hash(v1)
156
+ @external_admin_user_sources[k1] = Comet::ExternalAuthenticationSource.new
157
+ @external_admin_user_sources[k1].from_hash(v1)
143
158
  end
144
159
  end
160
+ when 'IPRateLimit'
161
+ @iprate_limit = Comet::RatelimitOptions.new
162
+ @iprate_limit.from_hash(v)
145
163
  when 'License'
146
164
  @license = Comet::LicenseOptions.new
147
165
  @license.from_hash(v)
148
- when 'Branding'
149
- @branding = Comet::BrandingOptions.new
150
- @branding.from_hash(v)
151
- when 'AdminUsers'
166
+ when 'ListenAddresses'
152
167
  if v.nil?
153
- @admin_users = []
168
+ @listen_addresses = []
154
169
  else
155
- @admin_users = Array.new(v.length)
170
+ @listen_addresses = Array.new(v.length)
156
171
  v.each_with_index do |v1, i1|
157
- @admin_users[i1] = Comet::AllowedAdminUser.new
158
- @admin_users[i1].from_hash(v1)
172
+ @listen_addresses[i1] = Comet::HTTPConnectorOptions.new
173
+ @listen_addresses[i1].from_hash(v1)
159
174
  end
160
175
  end
161
176
  when 'Organizations'
@@ -168,55 +183,40 @@ module Comet
168
183
  @organizations[k1].from_hash(v1)
169
184
  end
170
185
  end
171
- when 'ExternalAdminUserSources'
172
- @external_admin_user_sources = {}
173
- if v.nil?
174
- @external_admin_user_sources = {}
175
- else
176
- v.each do |k1, v1|
177
- @external_admin_user_sources[k1] = Comet::ExternalAuthenticationSource.new
178
- @external_admin_user_sources[k1].from_hash(v1)
179
- end
180
- end
181
- when 'ListenAddresses'
186
+ when 'PSAConfigs'
182
187
  if v.nil?
183
- @listen_addresses = []
188
+ @psaconfigs = []
184
189
  else
185
- @listen_addresses = Array.new(v.length)
190
+ @psaconfigs = Array.new(v.length)
186
191
  v.each_with_index do |v1, i1|
187
- @listen_addresses[i1] = Comet::HTTPConnectorOptions.new
188
- @listen_addresses[i1].from_hash(v1)
192
+ @psaconfigs[i1] = Comet::PSAConfig.new
193
+ @psaconfigs[i1].from_hash(v1)
189
194
  end
190
195
  end
191
- when 'TrustXForwardedFor'
192
- @trust_xforwarded_for = v
193
- when 'IPRateLimit'
194
- @iprate_limit = Comet::RatelimitOptions.new
195
- @iprate_limit.from_hash(v)
196
- when 'Email'
197
- @email = Comet::EmailOptions.new
198
- @email.from_hash(v)
199
- when 'AuthenticationRole'
200
- @authentication_role = Comet::AuthenticationRoleOptions.new
201
- @authentication_role.from_hash(v)
202
- when 'StorageRole'
203
- @storage_role = Comet::StorageRoleOptions.new
204
- @storage_role.from_hash(v)
205
- when 'SoftwareBuildRole'
206
- @software_build_role = Comet::SoftwareBuildRoleOptions.new
207
- @software_build_role.from_hash(v)
208
- when 'ConstellationRole'
209
- @constellation_role = Comet::ConstellationRoleOptions.new
210
- @constellation_role.from_hash(v)
211
- when 'OverseerRole'
212
- @constellation_role__legacy = Comet::ConstellationRoleOptions.new
213
- @constellation_role__legacy.from_hash(v)
214
196
  when 'SelfBackup'
215
197
  @self_backup = Comet::SelfBackupOptions.new
216
198
  @self_backup.from_hash(v)
217
199
  when 'SessionSettings'
218
200
  @session_settings = Comet::SessionOptions.new
219
201
  @session_settings.from_hash(v)
202
+ when 'SoftwareBuildRole'
203
+ @software_build_role = Comet::SoftwareBuildRoleOptions.new
204
+ @software_build_role.from_hash(v)
205
+ when 'StorageRole'
206
+ @storage_role = Comet::StorageRoleOptions.new
207
+ @storage_role.from_hash(v)
208
+ when 'TrustXForwardedFor'
209
+ @trust_xforwarded_for = v
210
+ when 'WebhookOptions'
211
+ @webhook_options = {}
212
+ if v.nil?
213
+ @webhook_options = {}
214
+ else
215
+ v.each do |k1, v1|
216
+ @webhook_options[k1] = Comet::WebhookOption.new
217
+ @webhook_options[k1].from_hash(v1)
218
+ end
219
+ end
220
220
  else
221
221
  @unknown_json_fields[k] = v
222
222
  end
@@ -226,29 +226,29 @@ module Comet
226
226
  # @return [Hash] The complete object as a Ruby hash
227
227
  def to_hash
228
228
  ret = {}
229
- unless @experimental_options.nil?
230
- ret['ExperimentalOptions'] = @experimental_options
231
- end
232
- ret['WebhookOptions'] = @webhook_options
233
- ret['PSAConfigs'] = @psaconfigs
234
- ret['License'] = @license
235
- ret['Branding'] = @branding
236
229
  ret['AdminUsers'] = @admin_users
237
- ret['Organizations'] = @organizations
238
- ret['ExternalAdminUserSources'] = @external_admin_user_sources
239
- ret['ListenAddresses'] = @listen_addresses
240
- ret['TrustXForwardedFor'] = @trust_xforwarded_for
241
- ret['IPRateLimit'] = @iprate_limit
242
- ret['Email'] = @email
243
230
  ret['AuthenticationRole'] = @authentication_role
244
- ret['StorageRole'] = @storage_role
245
- ret['SoftwareBuildRole'] = @software_build_role
231
+ ret['Branding'] = @branding
246
232
  ret['ConstellationRole'] = @constellation_role
247
233
  unless @constellation_role__legacy.nil?
248
234
  ret['OverseerRole'] = @constellation_role__legacy
249
235
  end
236
+ ret['Email'] = @email
237
+ unless @experimental_options.nil?
238
+ ret['ExperimentalOptions'] = @experimental_options
239
+ end
240
+ ret['ExternalAdminUserSources'] = @external_admin_user_sources
241
+ ret['IPRateLimit'] = @iprate_limit
242
+ ret['License'] = @license
243
+ ret['ListenAddresses'] = @listen_addresses
244
+ ret['Organizations'] = @organizations
245
+ ret['PSAConfigs'] = @psaconfigs
250
246
  ret['SelfBackup'] = @self_backup
251
247
  ret['SessionSettings'] = @session_settings
248
+ ret['SoftwareBuildRole'] = @software_build_role
249
+ ret['StorageRole'] = @storage_role
250
+ ret['TrustXForwardedFor'] = @trust_xforwarded_for
251
+ ret['WebhookOptions'] = @webhook_options
252
252
  @unknown_json_fields.each do |k, v|
253
253
  ret[k] = v
254
254
  end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -0,0 +1,106 @@
1
+ # frozen_string_literal: true
2
+
3
+ # Copyright (c) 2020-2023 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
+ # SingleFieldSource is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class SingleFieldSource
14
+
15
+ # @type [String] field_name
16
+ attr_accessor :field_name
17
+
18
+ # @type [String] field_type
19
+ attr_accessor :field_type
20
+
21
+ # @type [Boolean] bool_val
22
+ attr_accessor :bool_val
23
+
24
+ # @type [Number] int_val
25
+ attr_accessor :int_val
26
+
27
+ # @type [String] str_val
28
+ attr_accessor :str_val
29
+
30
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
31
+ attr_accessor :unknown_json_fields
32
+
33
+ def initialize
34
+ clear
35
+ end
36
+
37
+ def clear
38
+ @field_name = ''
39
+ @field_type = ''
40
+ @int_val = 0
41
+ @str_val = ''
42
+ @unknown_json_fields = {}
43
+ end
44
+
45
+ # @param [String] json_string The complete object in JSON format
46
+ def from_json(json_string)
47
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
48
+
49
+ from_hash(JSON.parse(json_string))
50
+ end
51
+
52
+ # @param [Hash] obj The complete object as a Ruby hash
53
+ def from_hash(obj)
54
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
55
+
56
+ obj.each do |k, v|
57
+ case k
58
+ when 'FieldName'
59
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
60
+
61
+ @field_name = v
62
+ when 'FieldType'
63
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
64
+
65
+ @field_type = v
66
+ when 'BoolVal'
67
+ @bool_val = v
68
+ when 'IntVal'
69
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
70
+
71
+ @int_val = v
72
+ when 'StrVal'
73
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
74
+
75
+ @str_val = v
76
+ else
77
+ @unknown_json_fields[k] = v
78
+ end
79
+ end
80
+ end
81
+
82
+ # @return [Hash] The complete object as a Ruby hash
83
+ def to_hash
84
+ ret = {}
85
+ ret['FieldName'] = @field_name
86
+ ret['FieldType'] = @field_type
87
+ ret['BoolVal'] = @bool_val
88
+ ret['IntVal'] = @int_val
89
+ ret['StrVal'] = @str_val
90
+ @unknown_json_fields.each do |k, v|
91
+ ret[k] = v
92
+ end
93
+ ret
94
+ end
95
+
96
+ # @return [Hash] The complete object as a Ruby hash
97
+ def to_h
98
+ to_hash
99
+ end
100
+
101
+ # @return [String] The complete object as a JSON string
102
+ def to_json(options = {})
103
+ to_hash.to_json(options)
104
+ end
105
+ end
106
+ end
@@ -1,6 +1,6 @@
1
1
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 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
  # frozen_string_literal: true
2
2
 
3
- # Copyright (c) 2020-2022 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2023 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT