comet_backup_ruby_sdk 2.3.0 → 2.4.0

Sign up to get free protection for your applications and to get access to all the features.
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