comet_backup_ruby_sdk 2.3.0 → 2.4.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 (208) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rubocop.yml +0 -0
  4. data/CHANGELOG.md +7 -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 +85 -3
  14. data/lib/comet/definitions.rb +12 -5
  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 +1 -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 +1 -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 +1 -1
  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/size_measurement.rb +1 -1
  148. data/lib/comet/models/software_build_role_options.rb +1 -1
  149. data/lib/comet/models/software_update_news_response.rb +1 -1
  150. data/lib/comet/models/source_basic_info.rb +10 -1
  151. data/lib/comet/models/source_config.rb +1 -1
  152. data/lib/comet/models/source_include_pattern.rb +1 -1
  153. data/lib/comet/models/source_statistics.rb +1 -1
  154. data/lib/comet/models/spanned_destination_location.rb +1 -1
  155. data/lib/comet/models/spanned_storage_extra_info.rb +1 -1
  156. data/lib/comet/models/sshconnection.rb +1 -1
  157. data/lib/comet/models/stat_result.rb +1 -1
  158. data/lib/comet/models/storage_free_space_info.rb +1 -1
  159. data/lib/comet/models/storage_role_options.rb +1 -1
  160. data/lib/comet/models/storage_vault_provider_policy.rb +1 -1
  161. data/lib/comet/models/stored_object.rb +1 -1
  162. data/lib/comet/models/storj_destination_location.rb +1 -1
  163. data/lib/comet/models/storj_virtual_storage_role_setting.rb +1 -1
  164. data/lib/comet/models/streamable_event.rb +1 -1
  165. data/lib/comet/models/swift_destination_location.rb +1 -1
  166. data/lib/comet/models/test_response.rb +1 -1
  167. data/lib/comet/models/totp_regenerated_response.rb +1 -1
  168. data/lib/comet/models/u2fregister_request.rb +1 -1
  169. data/lib/comet/models/u2fregistered_key.rb +1 -1
  170. data/lib/comet/models/u2fregistration_challenge_response.rb +1 -1
  171. data/lib/comet/models/u2fsign_request.rb +1 -1
  172. data/lib/comet/models/u2fsign_response.rb +1 -1
  173. data/lib/comet/models/uninstall_config.rb +1 -1
  174. data/lib/comet/models/update_campaign_device_status.rb +1 -1
  175. data/lib/comet/models/update_campaign_options.rb +1 -1
  176. data/lib/comet/models/update_campaign_properties.rb +1 -1
  177. data/lib/comet/models/update_campaign_status.rb +1 -1
  178. data/lib/comet/models/update_campaign_status_device_entry.rb +1 -1
  179. data/lib/comet/models/user_custom_email_settings.rb +1 -1
  180. data/lib/comet/models/user_on_server.rb +1 -1
  181. data/lib/comet/models/user_policy.rb +1 -1
  182. data/lib/comet/models/user_profile_config.rb +10 -1
  183. data/lib/comet/models/user_profile_fragment.rb +1 -1
  184. data/lib/comet/models/user_server_config.rb +1 -1
  185. data/lib/comet/models/vault_snapshot.rb +1 -1
  186. data/lib/comet/models/vmdksnapshot_view_options.rb +1 -1
  187. data/lib/comet/models/vsscomponent.rb +1 -1
  188. data/lib/comet/models/vsswriter_info.rb +1 -1
  189. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +1 -1
  190. data/lib/comet/models/web_authn_authenticator_selection.rb +12 -1
  191. data/lib/comet/models/web_authn_credential.rb +1 -1
  192. data/lib/comet/models/web_authn_credential_assertion.rb +1 -1
  193. data/lib/comet/models/web_authn_credential_descriptor.rb +1 -1
  194. data/lib/comet/models/web_authn_credential_entity.rb +1 -1
  195. data/lib/comet/models/web_authn_credential_parameter.rb +1 -1
  196. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +1 -1
  197. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +1 -1
  198. data/lib/comet/models/web_authn_registration_challenge_response.rb +1 -1
  199. data/lib/comet/models/web_authn_relying_party_entity.rb +1 -1
  200. data/lib/comet/models/web_authn_sign_request.rb +1 -1
  201. data/lib/comet/models/web_authn_sign_response.rb +1 -1
  202. data/lib/comet/models/web_authn_user_entity.rb +1 -1
  203. data/lib/comet/models/web_interface_branding_properties.rb +1 -1
  204. data/lib/comet/models/webhook_option.rb +1 -1
  205. data/lib/comet/models/win_smbauth.rb +1 -1
  206. data/lib/comet/models/windows_code_sign_properties.rb +1 -1
  207. data/lib/comet_backup_ruby_sdk.rb +3 -1
  208. metadata +4 -2
@@ -0,0 +1,73 @@
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
+ # CountJobsResponse is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class CountJobsResponse
14
+
15
+ # @type [Number] count
16
+ attr_accessor :count
17
+
18
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
19
+ attr_accessor :unknown_json_fields
20
+
21
+ def initialize
22
+ clear
23
+ end
24
+
25
+ def clear
26
+ @count = 0
27
+ @unknown_json_fields = {}
28
+ end
29
+
30
+ # @param [String] json_string The complete object in JSON format
31
+ def from_json(json_string)
32
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
33
+
34
+ from_hash(JSON.parse(json_string))
35
+ end
36
+
37
+ # @param [Hash] obj The complete object as a Ruby hash
38
+ def from_hash(obj)
39
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
40
+
41
+ obj.each do |k, v|
42
+ case k
43
+ when 'Count'
44
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
45
+
46
+ @count = v
47
+ else
48
+ @unknown_json_fields[k] = v
49
+ end
50
+ end
51
+ end
52
+
53
+ # @return [Hash] The complete object as a Ruby hash
54
+ def to_hash
55
+ ret = {}
56
+ ret['Count'] = @count
57
+ @unknown_json_fields.each do |k, v|
58
+ ret[k] = v
59
+ end
60
+ ret
61
+ end
62
+
63
+ # @return [Hash] The complete object as a Ruby hash
64
+ def to_h
65
+ to_hash
66
+ end
67
+
68
+ # @return [String] The complete object as a JSON string
69
+ def to_json(options = {})
70
+ to_hash.to_json(options)
71
+ end
72
+ end
73
+ 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
@@ -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,15 +12,18 @@ module Comet
12
12
  # EmailOptions is a typed class wrapper around the underlying Comet Server API data structure.
13
13
  class EmailOptions
14
14
 
15
- # @type [String] mode
16
- attr_accessor :mode
17
-
18
15
  # @type [String] from_email
19
16
  attr_accessor :from_email
20
17
 
21
18
  # @type [String] from_name
22
19
  attr_accessor :from_name
23
20
 
21
+ # @type [String] mode
22
+ attr_accessor :mode
23
+
24
+ # @type [Array<Comet::EmailReportingOption>] email_reporting_options
25
+ attr_accessor :email_reporting_options
26
+
24
27
  # @type [String] smtphost
25
28
  attr_accessor :smtphost
26
29
 
@@ -47,9 +50,10 @@ module Comet
47
50
  end
48
51
 
49
52
  def clear
50
- @mode = ''
51
53
  @from_email = ''
52
54
  @from_name = ''
55
+ @mode = ''
56
+ @email_reporting_options = []
53
57
  @smtphost = ''
54
58
  @smtpport = 0
55
59
  @smtpusername = ''
@@ -70,10 +74,6 @@ module Comet
70
74
 
71
75
  obj.each do |k, v|
72
76
  case k
73
- when 'Mode'
74
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
75
-
76
- @mode = v
77
77
  when 'FromEmail'
78
78
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
79
79
 
@@ -82,6 +82,20 @@ module Comet
82
82
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
83
83
 
84
84
  @from_name = v
85
+ when 'Mode'
86
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
87
+
88
+ @mode = v
89
+ when 'EmailReportingOptions'
90
+ if v.nil?
91
+ @email_reporting_options = []
92
+ else
93
+ @email_reporting_options = Array.new(v.length)
94
+ v.each_with_index do |v1, i1|
95
+ @email_reporting_options[i1] = Comet::EmailReportingOption.new
96
+ @email_reporting_options[i1].from_hash(v1)
97
+ end
98
+ end
85
99
  when 'SMTPHost'
86
100
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
87
101
 
@@ -111,9 +125,12 @@ module Comet
111
125
  # @return [Hash] The complete object as a Ruby hash
112
126
  def to_hash
113
127
  ret = {}
114
- ret['Mode'] = @mode
115
128
  ret['FromEmail'] = @from_email
116
129
  ret['FromName'] = @from_name
130
+ ret['Mode'] = @mode
131
+ unless @email_reporting_options.nil?
132
+ ret['EmailReportingOptions'] = @email_reporting_options
133
+ end
117
134
  unless @smtphost.nil?
118
135
  ret['SMTPHost'] = @smtphost
119
136
  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
@@ -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
+ # EmailReportingOption is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class EmailReportingOption
14
+
15
+ # @type [Comet::EmailReportConfig] email_report_config
16
+ attr_accessor :email_report_config
17
+
18
+ # @type [String] language_code
19
+ attr_accessor :language_code
20
+
21
+ # @type [String] local_timezone
22
+ attr_accessor :local_timezone
23
+
24
+ # @type [Array<String>] recipients
25
+ attr_accessor :recipients
26
+
27
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
28
+ attr_accessor :unknown_json_fields
29
+
30
+ def initialize
31
+ clear
32
+ end
33
+
34
+ def clear
35
+ @email_report_config = Comet::EmailReportConfig.new
36
+ @language_code = ''
37
+ @local_timezone = ''
38
+ @recipients = []
39
+ @unknown_json_fields = {}
40
+ end
41
+
42
+ # @param [String] json_string The complete object in JSON format
43
+ def from_json(json_string)
44
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
45
+
46
+ from_hash(JSON.parse(json_string))
47
+ end
48
+
49
+ # @param [Hash] obj The complete object as a Ruby hash
50
+ def from_hash(obj)
51
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
52
+
53
+ obj.each do |k, v|
54
+ case k
55
+ when 'EmailReportConfig'
56
+ @email_report_config = Comet::EmailReportConfig.new
57
+ @email_report_config.from_hash(v)
58
+ when 'LanguageCode'
59
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
60
+
61
+ @language_code = v
62
+ when 'LocalTimezone'
63
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
64
+
65
+ @local_timezone = v
66
+ when 'Recipients'
67
+ if v.nil?
68
+ @recipients = []
69
+ else
70
+ @recipients = Array.new(v.length)
71
+ v.each_with_index do |v1, i1|
72
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
73
+
74
+ @recipients[i1] = v1
75
+ end
76
+ end
77
+ else
78
+ @unknown_json_fields[k] = v
79
+ end
80
+ end
81
+ end
82
+
83
+ # @return [Hash] The complete object as a Ruby hash
84
+ def to_hash
85
+ ret = {}
86
+ ret['EmailReportConfig'] = @email_report_config
87
+ ret['LanguageCode'] = @language_code
88
+ ret['LocalTimezone'] = @local_timezone
89
+ ret['Recipients'] = @recipients
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
@@ -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
@@ -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