comet_backup_ruby_sdk 1.10.0 → 1.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rubocop.yml +0 -0
  4. data/CHANGELOG.md +27 -1
  5. data/Gemfile.lock +1 -1
  6. data/RELEASING.md +1 -1
  7. data/comet_backup_ruby_sdk.gemspec +1 -1
  8. data/lib/comet/api_response_error.rb +1 -1
  9. data/lib/comet/comet_server.rb +144 -7
  10. data/lib/comet/definitions.rb +72 -14
  11. data/lib/comet/models/add_bucket_response_message.rb +1 -1
  12. data/lib/comet/models/admin_account_properties_response.rb +1 -1
  13. data/lib/comet/models/admin_email_options.rb +1 -1
  14. data/lib/comet/models/admin_resource_response.rb +1 -1
  15. data/lib/comet/models/admin_security_options.rb +26 -1
  16. data/lib/comet/models/admin_u2fregistration.rb +2 -1
  17. data/lib/comet/models/admin_user_permissions.rb +1 -1
  18. data/lib/comet/models/admin_web_authn_registration.rb +121 -0
  19. data/lib/comet/models/allowed_admin_user.rb +214 -0
  20. data/lib/comet/models/available_download.rb +1 -1
  21. data/lib/comet/models/azure_destination_location.rb +1 -1
  22. data/lib/comet/models/b2destination_location.rb +2 -1
  23. data/lib/comet/models/b2storage_extra_info.rb +1 -1
  24. data/lib/comet/models/b2transaction_totals.rb +1 -1
  25. data/lib/comet/models/b2virtual_storage_role_settings.rb +1 -1
  26. data/lib/comet/models/backup_job_advanced_options.rb +10 -1
  27. data/lib/comet/models/backup_job_detail.rb +54 -1
  28. data/lib/comet/models/backup_job_progress.rb +1 -1
  29. data/lib/comet/models/backup_rule_config.rb +10 -1
  30. data/lib/comet/models/backup_rule_event_triggers.rb +1 -1
  31. data/lib/comet/models/branding_options.rb +10 -1
  32. data/lib/comet/models/branding_properties.rb +10 -1
  33. data/lib/comet/models/browse_disk_drives_response.rb +1 -1
  34. data/lib/comet/models/browse_edbresponse.rb +1 -1
  35. data/lib/comet/models/browse_hvresponse.rb +1 -1
  36. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +99 -0
  37. data/lib/comet/models/browse_office_365objects_response.rb +1 -1
  38. data/lib/comet/models/browse_sqlserver_response.rb +1 -1
  39. data/lib/comet/models/browse_vssresponse.rb +1 -1
  40. data/lib/comet/models/bucket_properties.rb +1 -1
  41. data/lib/comet/models/bucket_usage_info.rb +1 -1
  42. data/lib/comet/models/comet_apiresponse_message.rb +1 -1
  43. data/lib/comet/models/comet_destination_location.rb +1 -1
  44. data/lib/comet/models/constellation_check_report.rb +1 -1
  45. data/lib/comet/models/constellation_stats.rb +1 -1
  46. data/lib/comet/models/constellation_status_apiresponse.rb +1 -1
  47. data/lib/comet/models/content_measurement.rb +1 -1
  48. data/lib/comet/models/content_measurement_component.rb +1 -1
  49. data/lib/comet/models/create_group_policy_response.rb +1 -1
  50. data/lib/comet/models/custom_remote_bucket_settings.rb +1 -1
  51. data/lib/comet/models/days_of_week_config.rb +108 -0
  52. data/lib/comet/models/default_email_report_policy.rb +1 -1
  53. data/lib/comet/models/default_source_with_osrestriction.rb +1 -1
  54. data/lib/comet/models/destination_config.rb +1 -1
  55. data/lib/comet/models/destination_location.rb +1 -1
  56. data/lib/comet/models/destination_statistics.rb +1 -1
  57. data/lib/comet/models/device_config.rb +1 -1
  58. data/lib/comet/models/disk_drive.rb +1 -1
  59. data/lib/comet/models/dispatcher_admin_sources_response.rb +1 -1
  60. data/lib/comet/models/dispatcher_stored_objects_response.rb +1 -1
  61. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +1 -1
  62. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +1 -1
  63. data/lib/comet/models/edbfile_info.rb +1 -1
  64. data/lib/comet/models/email_options.rb +1 -1
  65. data/lib/comet/models/email_report_config.rb +1 -1
  66. data/lib/comet/models/email_report_generated_preview.rb +1 -1
  67. data/lib/comet/models/external_ldapauthentication_source_settings.rb +1 -1
  68. data/lib/comet/models/extra_file_exclusion.rb +1 -1
  69. data/lib/comet/models/ftpdestination_location.rb +1 -1
  70. data/lib/comet/models/get_group_policy_response.rb +1 -1
  71. data/lib/comet/models/get_profile_and_hash_response_message.rb +1 -1
  72. data/lib/comet/models/get_profile_hash_response_message.rb +1 -1
  73. data/lib/comet/models/group_policy.rb +1 -1
  74. data/lib/comet/models/hour_sched_config.rb +84 -0
  75. data/lib/comet/models/hyper_vmachine_info.rb +1 -1
  76. data/lib/comet/models/install_creds.rb +1 -1
  77. data/lib/comet/models/install_token.rb +1 -1
  78. data/lib/comet/models/install_token_response.rb +1 -1
  79. data/lib/comet/models/job_entry.rb +2 -1
  80. data/lib/comet/models/live_user_connection.rb +1 -1
  81. data/lib/comet/models/local_destination_location.rb +1 -1
  82. data/lib/comet/models/mac_oscode_sign_properties.rb +70 -1
  83. data/lib/comet/models/mongo_dbconnection.rb +1 -1
  84. data/lib/comet/models/mssqlconnection.rb +1 -1
  85. data/lib/comet/models/my_sqlconnection.rb +1 -1
  86. data/lib/comet/models/new_bucket_detail.rb +1 -1
  87. data/lib/comet/models/news_entry.rb +1 -1
  88. data/lib/comet/models/office_365connection.rb +1 -1
  89. data/lib/comet/models/office_365credential.rb +1 -1
  90. data/lib/comet/models/office_365custom_setting.rb +2 -1
  91. data/lib/comet/models/office_365custom_setting_v2.rb +108 -0
  92. data/lib/comet/models/office_365mixed_virtual_account.rb +211 -0
  93. data/lib/comet/models/office_365object_info.rb +1 -1
  94. data/lib/comet/models/organization.rb +1 -1
  95. data/lib/comet/models/organization_response.rb +1 -1
  96. data/lib/comet/models/osinfo.rb +1 -1
  97. data/lib/comet/models/partition.rb +1 -1
  98. data/lib/comet/models/private_branding_properties.rb +10 -1
  99. data/lib/comet/models/protected_item_engine_type_policy.rb +1 -1
  100. data/lib/comet/models/public_branding_properties.rb +1 -1
  101. data/lib/comet/models/register_office_application_begin_response.rb +1 -1
  102. data/lib/comet/models/register_office_application_check_response.rb +1 -1
  103. data/lib/comet/models/remote_server_address.rb +1 -1
  104. data/lib/comet/models/remote_storage_option.rb +1 -1
  105. data/lib/comet/models/replicator_state_apiresponse.rb +1 -1
  106. data/lib/comet/models/request_storage_vault_response_message.rb +1 -1
  107. data/lib/comet/models/restore_job_advanced_options.rb +1 -1
  108. data/lib/comet/models/retention_policy.rb +1 -1
  109. data/lib/comet/models/retention_range.rb +1 -1
  110. data/lib/comet/models/s3destination_location.rb +1 -1
  111. data/lib/comet/models/schedule_config.rb +37 -1
  112. data/lib/comet/models/search_clause.rb +1 -1
  113. data/lib/comet/models/self_backup_statistics.rb +1 -1
  114. data/lib/comet/models/server_config_options_branding_fragment.rb +1 -1
  115. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +1 -1
  116. data/lib/comet/models/server_meta_branding_properties.rb +1 -1
  117. data/lib/comet/models/server_meta_version_info.rb +1 -1
  118. data/lib/comet/models/session_key_regenerated_response.rb +1 -1
  119. data/lib/comet/models/sftpdestination_location.rb +1 -1
  120. data/lib/comet/models/size_measurement.rb +1 -1
  121. data/lib/comet/models/software_build_role_options.rb +1 -1
  122. data/lib/comet/models/software_update_news_response.rb +1 -1
  123. data/lib/comet/models/source_basic_info.rb +1 -1
  124. data/lib/comet/models/source_config.rb +1 -1
  125. data/lib/comet/models/source_include_pattern.rb +1 -1
  126. data/lib/comet/models/source_statistics.rb +1 -1
  127. data/lib/comet/models/spanned_destination_location.rb +1 -1
  128. data/lib/comet/models/spanned_storage_extra_info.rb +1 -1
  129. data/lib/comet/models/sshconnection.rb +1 -1
  130. data/lib/comet/models/stat_result.rb +10 -1
  131. data/lib/comet/models/storage_free_space_info.rb +1 -1
  132. data/lib/comet/models/storage_vault_provider_policy.rb +1 -1
  133. data/lib/comet/models/stored_object.rb +2 -1
  134. data/lib/comet/models/streamable_event.rb +1 -1
  135. data/lib/comet/models/swift_destination_location.rb +1 -1
  136. data/lib/comet/models/test_response.rb +1 -1
  137. data/lib/comet/models/totp_regenerated_response.rb +1 -1
  138. data/lib/comet/models/u2fregister_request.rb +2 -1
  139. data/lib/comet/models/u2fregistered_key.rb +2 -1
  140. data/lib/comet/models/u2fregistration_challenge_response.rb +2 -1
  141. data/lib/comet/models/u2fsign_request.rb +2 -1
  142. data/lib/comet/models/u2fsign_response.rb +2 -1
  143. data/lib/comet/models/uninstall_config.rb +1 -1
  144. data/lib/comet/models/update_campaign_device_status.rb +1 -1
  145. data/lib/comet/models/update_campaign_options.rb +24 -1
  146. data/lib/comet/models/update_campaign_properties.rb +21 -1
  147. data/lib/comet/models/update_campaign_status.rb +21 -1
  148. data/lib/comet/models/update_campaign_status_device_entry.rb +1 -1
  149. data/lib/comet/models/user_custom_email_settings.rb +1 -1
  150. data/lib/comet/models/user_on_server.rb +1 -1
  151. data/lib/comet/models/user_policy.rb +1 -1
  152. data/lib/comet/models/user_profile_config.rb +10 -1
  153. data/lib/comet/models/user_profile_fragment.rb +1 -1
  154. data/lib/comet/models/vault_snapshot.rb +1 -1
  155. data/lib/comet/models/vmdksnapshot_view_options.rb +90 -0
  156. data/lib/comet/models/vsscomponent.rb +1 -1
  157. data/lib/comet/models/vsswriter_info.rb +1 -1
  158. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +1 -1
  159. data/lib/comet/models/web_authn_authenticator_selection.rb +96 -0
  160. data/lib/comet/models/web_authn_credential.rb +105 -0
  161. data/lib/comet/models/web_authn_credential_assertion.rb +74 -0
  162. data/lib/comet/models/web_authn_credential_descriptor.rb +101 -0
  163. data/lib/comet/models/web_authn_credential_entity.rb +86 -0
  164. data/lib/comet/models/web_authn_credential_parameter.rb +84 -0
  165. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +172 -0
  166. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +140 -0
  167. data/lib/comet/models/web_authn_registration_challenge_response.rb +101 -0
  168. data/lib/comet/models/web_authn_relying_party_entity.rb +95 -0
  169. data/lib/comet/models/web_authn_sign_request.rb +83 -0
  170. data/lib/comet/models/web_authn_sign_response.rb +84 -0
  171. data/lib/comet/models/web_authn_user_entity.rb +105 -0
  172. data/lib/comet/models/web_interface_branding_properties.rb +1 -1
  173. data/lib/comet/models/webhook_option.rb +1 -1
  174. data/lib/comet/models/win_smbauth.rb +1 -1
  175. data/lib/comet/models/windows_code_sign_properties.rb +1 -1
  176. data/lib/comet_backup_ruby_sdk.rb +19 -1
  177. metadata +23 -2
@@ -0,0 +1,84 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+ #
8
+ # frozen_string_literal: true
9
+
10
+ require 'json'
11
+
12
+ module Comet
13
+
14
+ # HourSchedConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class HourSchedConfig
16
+
17
+ # @type [Number] hour
18
+ attr_accessor :hour
19
+
20
+ # @type [Number] minutes
21
+ attr_accessor :minutes
22
+
23
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
24
+ attr_accessor :unknown_json_fields
25
+
26
+ def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @hour = 0
32
+ @minutes = 0
33
+ @unknown_json_fields = {}
34
+ end
35
+
36
+ # @param [String] json_string The complete object in JSON format
37
+ def from_json(json_string)
38
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
39
+
40
+ from_hash(JSON.parse(json_string))
41
+ end
42
+
43
+ # @param [Hash] obj The complete object as a Ruby hash
44
+ def from_hash(obj)
45
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
+
47
+ obj.each do |k, v|
48
+ case k
49
+ when 'Hour'
50
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
51
+
52
+ @hour = v
53
+ when 'Minutes'
54
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
+
56
+ @minutes = v
57
+ else
58
+ @unknown_json_fields[k] = v
59
+ end
60
+ end
61
+ end
62
+
63
+ # @return [Hash] The complete object as a Ruby hash
64
+ def to_hash
65
+ ret = {}
66
+ ret['Hour'] = @hour
67
+ ret['Minutes'] = @minutes
68
+ @unknown_json_fields.each do |k, v|
69
+ ret[k] = v
70
+ end
71
+ ret
72
+ end
73
+
74
+ # @return [Hash] The complete object as a Ruby hash
75
+ def to_h
76
+ to_hash
77
+ end
78
+
79
+ # @return [String] The complete object as a JSON string
80
+ def to_json(options = {})
81
+ to_hash.to_json(options)
82
+ end
83
+ end
84
+ end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -12,6 +12,7 @@ require 'json'
12
12
  module Comet
13
13
 
14
14
  # JobEntry is a typed class wrapper around the underlying Comet Server API data structure.
15
+ # JobEntry is a single entry within a job report.
15
16
  class JobEntry
16
17
 
17
18
  # @type [Number] time
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -17,6 +17,9 @@ module Comet
17
17
  # @type [Number] level
18
18
  attr_accessor :level
19
19
 
20
+ # @type [Boolean] sign_locally
21
+ attr_accessor :sign_locally
22
+
20
23
  # @type [Comet::SSHConnection] sshserver
21
24
  attr_accessor :sshserver
22
25
 
@@ -35,6 +38,27 @@ module Comet
35
38
  # @type [Number] apple_idpass_format
36
39
  attr_accessor :apple_idpass_format
37
40
 
41
+ # @type [String] certificate_file
42
+ attr_accessor :certificate_file
43
+
44
+ # @type [String] app_certificate_file
45
+ attr_accessor :app_certificate_file
46
+
47
+ # @type [String] pfx_file_password
48
+ attr_accessor :pfx_file_password
49
+
50
+ # @type [Number] pfx_file_password_format
51
+ attr_accessor :pfx_file_password_format
52
+
53
+ # @type [String] notary_apiissuer_id
54
+ attr_accessor :notary_apiissuer_id
55
+
56
+ # @type [String] notary_apikey_id
57
+ attr_accessor :notary_apikey_id
58
+
59
+ # @type [String] notary_apikey_file
60
+ attr_accessor :notary_apikey_file
61
+
38
62
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
39
63
  attr_accessor :unknown_json_fields
40
64
 
@@ -50,6 +74,13 @@ module Comet
50
74
  @apple_id = ''
51
75
  @apple_idpass = ''
52
76
  @apple_idpass_format = 0
77
+ @certificate_file = ''
78
+ @app_certificate_file = ''
79
+ @pfx_file_password = ''
80
+ @pfx_file_password_format = 0
81
+ @notary_apiissuer_id = ''
82
+ @notary_apikey_id = ''
83
+ @notary_apikey_file = ''
53
84
  @unknown_json_fields = {}
54
85
  end
55
86
 
@@ -70,6 +101,8 @@ module Comet
70
101
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
102
 
72
103
  @level = v
104
+ when 'SignLocally'
105
+ @sign_locally = v
73
106
  when 'SSHServer'
74
107
  @sshserver = Comet::SSHConnection.new
75
108
  @sshserver.from_hash(v)
@@ -93,6 +126,34 @@ module Comet
93
126
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
94
127
 
95
128
  @apple_idpass_format = v
129
+ when 'CertificateFile'
130
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
131
+
132
+ @certificate_file = v
133
+ when 'AppCertificateFile'
134
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
135
+
136
+ @app_certificate_file = v
137
+ when 'PfxFilePassword'
138
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
139
+
140
+ @pfx_file_password = v
141
+ when 'PfxFilePasswordFormat'
142
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
143
+
144
+ @pfx_file_password_format = v
145
+ when 'NotaryAPIIssuerID'
146
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
147
+
148
+ @notary_apiissuer_id = v
149
+ when 'NotaryAPIKeyID'
150
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
151
+
152
+ @notary_apikey_id = v
153
+ when 'NotaryAPIKeyFile'
154
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
155
+
156
+ @notary_apikey_file = v
96
157
  else
97
158
  @unknown_json_fields[k] = v
98
159
  end
@@ -103,12 +164,20 @@ module Comet
103
164
  def to_hash
104
165
  ret = {}
105
166
  ret['Level'] = @level
167
+ ret['SignLocally'] = @sign_locally
106
168
  ret['SSHServer'] = @sshserver
107
169
  ret['CertificateName'] = @certificate_name
108
170
  ret['AppCertificateName'] = @app_certificate_name
109
171
  ret['AppleID'] = @apple_id
110
172
  ret['AppleIDPass'] = @apple_idpass
111
173
  ret['AppleIDPassFormat'] = @apple_idpass_format
174
+ ret['CertificateFile'] = @certificate_file
175
+ ret['AppCertificateFile'] = @app_certificate_file
176
+ ret['PfxFilePassword'] = @pfx_file_password
177
+ ret['PfxFilePasswordFormat'] = @pfx_file_password_format
178
+ ret['NotaryAPIIssuerID'] = @notary_apiissuer_id
179
+ ret['NotaryAPIKeyID'] = @notary_apikey_id
180
+ ret['NotaryAPIKeyFile'] = @notary_apikey_file
112
181
  @unknown_json_fields.each do |k, v|
113
182
  ret[k] = v
114
183
  end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -12,6 +12,7 @@ require 'json'
12
12
  module Comet
13
13
 
14
14
  # Office365CustomSetting is a typed class wrapper around the underlying Comet Server API data structure.
15
+ # @deprecated This type has been deprecated since Comet version 21.9.xx
15
16
  class Office365CustomSetting
16
17
 
17
18
  # @type [String] mailbox_strategy
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+ #
8
+ # frozen_string_literal: true
9
+
10
+ require 'json'
11
+
12
+ module Comet
13
+
14
+ # Office365CustomSettingV2 is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class Office365CustomSettingV2
16
+
17
+ # @type [Boolean] organization
18
+ attr_accessor :organization
19
+
20
+ # @type [Hash{String => Number}] backup_options
21
+ attr_accessor :backup_options
22
+
23
+ # @type [Hash{String => Number}] member_backup_options
24
+ attr_accessor :member_backup_options
25
+
26
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
27
+ attr_accessor :unknown_json_fields
28
+
29
+ def initialize
30
+ clear
31
+ end
32
+
33
+ def clear
34
+ @backup_options = {}
35
+ @member_backup_options = {}
36
+ @unknown_json_fields = {}
37
+ end
38
+
39
+ # @param [String] json_string The complete object in JSON format
40
+ def from_json(json_string)
41
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
42
+
43
+ from_hash(JSON.parse(json_string))
44
+ end
45
+
46
+ # @param [Hash] obj The complete object as a Ruby hash
47
+ def from_hash(obj)
48
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
49
+
50
+ obj.each do |k, v|
51
+ case k
52
+ when 'Organization'
53
+ @organization = v
54
+ when 'BackupOptions'
55
+ @backup_options = {}
56
+ if v.nil?
57
+ @backup_options = {}
58
+ else
59
+ v.each do |k1, v1|
60
+ raise TypeError, "'v1' expected Numeric, got #{v1.class}" unless v1.is_a? Numeric
61
+
62
+ @backup_options[k1] = v1
63
+ end
64
+ end
65
+ when 'MemberBackupOptions'
66
+ @member_backup_options = {}
67
+ if v.nil?
68
+ @member_backup_options = {}
69
+ else
70
+ v.each do |k1, v1|
71
+ raise TypeError, "'v1' expected Numeric, got #{v1.class}" unless v1.is_a? Numeric
72
+
73
+ @member_backup_options[k1] = v1
74
+ end
75
+ end
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['Organization'] = @organization
86
+ unless @backup_options.nil?
87
+ ret['BackupOptions'] = @backup_options
88
+ end
89
+ unless @member_backup_options.nil?
90
+ ret['MemberBackupOptions'] = @member_backup_options
91
+ end
92
+ @unknown_json_fields.each do |k, v|
93
+ ret[k] = v
94
+ end
95
+ ret
96
+ end
97
+
98
+ # @return [Hash] The complete object as a Ruby hash
99
+ def to_h
100
+ to_hash
101
+ end
102
+
103
+ # @return [String] The complete object as a JSON string
104
+ def to_json(options = {})
105
+ to_hash.to_json(options)
106
+ end
107
+ end
108
+ end
@@ -0,0 +1,211 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
+ # Please see the LICENSE file for usage information.
5
+ #
6
+ # SPDX-License-Identifier: MIT
7
+ #
8
+ # frozen_string_literal: true
9
+
10
+ require 'json'
11
+
12
+ module Comet
13
+
14
+ # Office365MixedVirtualAccount is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class Office365MixedVirtualAccount
16
+
17
+ # @type [String] id
18
+ attr_accessor :id
19
+
20
+ # @type [Number] type
21
+ attr_accessor :type
22
+
23
+ # @type [String] display_name
24
+ attr_accessor :display_name
25
+
26
+ # @type [String] mail
27
+ attr_accessor :mail
28
+
29
+ # @type [String] job_title
30
+ attr_accessor :job_title
31
+
32
+ # @type [String] site_id
33
+ attr_accessor :site_id
34
+
35
+ # @type [String] web_id
36
+ attr_accessor :web_id
37
+
38
+ # @type [String] web_url
39
+ attr_accessor :web_url
40
+
41
+ # @type [Number] enabled_service_option
42
+ attr_accessor :enabled_service_option
43
+
44
+ # @type [Array<String>] members
45
+ attr_accessor :members
46
+
47
+ # @type [Number] service_options
48
+ attr_accessor :service_options
49
+
50
+ # @type [Number] member_service_options
51
+ attr_accessor :member_service_options
52
+
53
+ # @type [Boolean] has_license
54
+ attr_accessor :has_license
55
+
56
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
57
+ attr_accessor :unknown_json_fields
58
+
59
+ def initialize
60
+ clear
61
+ end
62
+
63
+ def clear
64
+ @id = ''
65
+ @type = 0
66
+ @display_name = ''
67
+ @mail = ''
68
+ @job_title = ''
69
+ @site_id = ''
70
+ @web_id = ''
71
+ @web_url = ''
72
+ @enabled_service_option = 0
73
+ @members = []
74
+ @service_options = 0
75
+ @member_service_options = 0
76
+ @unknown_json_fields = {}
77
+ end
78
+
79
+ # @param [String] json_string The complete object in JSON format
80
+ def from_json(json_string)
81
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
82
+
83
+ from_hash(JSON.parse(json_string))
84
+ end
85
+
86
+ # @param [Hash] obj The complete object as a Ruby hash
87
+ def from_hash(obj)
88
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
89
+
90
+ obj.each do |k, v|
91
+ case k
92
+ when 'id'
93
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
94
+
95
+ @id = v
96
+ when 'Type'
97
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
98
+
99
+ @type = v
100
+ when 'DisplayName'
101
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
102
+
103
+ @display_name = v
104
+ when 'Mail'
105
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
106
+
107
+ @mail = v
108
+ when 'JobTitle'
109
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
110
+
111
+ @job_title = v
112
+ when 'SiteID'
113
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
114
+
115
+ @site_id = v
116
+ when 'WebID'
117
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
118
+
119
+ @web_id = v
120
+ when 'WebURL'
121
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
122
+
123
+ @web_url = v
124
+ when 'EnabledServiceOption'
125
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
126
+
127
+ @enabled_service_option = v
128
+ when 'Members'
129
+ if v.nil?
130
+ @members = []
131
+ else
132
+ @members = Array.new(v.length)
133
+ v.each_with_index do |v1, i1|
134
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
135
+
136
+ @members[i1] = v1
137
+ end
138
+ end
139
+ when 'ServiceOptions'
140
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
141
+
142
+ @service_options = v
143
+ when 'MemberServiceOptions'
144
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
145
+
146
+ @member_service_options = v
147
+ when 'hasLicense'
148
+ @has_license = v
149
+ else
150
+ @unknown_json_fields[k] = v
151
+ end
152
+ end
153
+ end
154
+
155
+ # @return [Hash] The complete object as a Ruby hash
156
+ def to_hash
157
+ ret = {}
158
+ ret['id'] = @id
159
+ unless @type.nil?
160
+ ret['Type'] = @type
161
+ end
162
+ unless @display_name.nil?
163
+ ret['DisplayName'] = @display_name
164
+ end
165
+ unless @mail.nil?
166
+ ret['Mail'] = @mail
167
+ end
168
+ unless @job_title.nil?
169
+ ret['JobTitle'] = @job_title
170
+ end
171
+ unless @site_id.nil?
172
+ ret['SiteID'] = @site_id
173
+ end
174
+ unless @web_id.nil?
175
+ ret['WebID'] = @web_id
176
+ end
177
+ unless @web_url.nil?
178
+ ret['WebURL'] = @web_url
179
+ end
180
+ unless @enabled_service_option.nil?
181
+ ret['EnabledServiceOption'] = @enabled_service_option
182
+ end
183
+ unless @members.nil?
184
+ ret['Members'] = @members
185
+ end
186
+ unless @service_options.nil?
187
+ ret['ServiceOptions'] = @service_options
188
+ end
189
+ unless @member_service_options.nil?
190
+ ret['MemberServiceOptions'] = @member_service_options
191
+ end
192
+ unless @has_license.nil?
193
+ ret['hasLicense'] = @has_license
194
+ end
195
+ @unknown_json_fields.each do |k, v|
196
+ ret[k] = v
197
+ end
198
+ ret
199
+ end
200
+
201
+ # @return [Hash] The complete object as a Ruby hash
202
+ def to_h
203
+ to_hash
204
+ end
205
+
206
+ # @return [String] The complete object as a JSON string
207
+ def to_json(options = {})
208
+ to_hash.to_json(options)
209
+ end
210
+ end
211
+ end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2021 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2022 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT