comet_backup_ruby_sdk 1.8.0 → 1.12.0

Sign up to get free protection for your applications and to get access to all the features.
Files changed (174) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +1 -0
  3. data/CHANGELOG.md +31 -0
  4. data/Gemfile.lock +3 -3
  5. data/README.md +1 -1
  6. data/RELEASING.md +1 -0
  7. data/comet_backup_ruby_sdk.gemspec +2 -2
  8. data/lib/comet/api_response_error.rb +1 -1
  9. data/lib/comet/comet_server.rb +197 -4
  10. data/lib/comet/definitions.rb +52 -13
  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 +10 -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 +7 -1
  26. data/lib/comet/models/backup_job_advanced_options.rb +1 -1
  27. data/lib/comet/models/backup_job_detail.rb +43 -1
  28. data/lib/comet/models/backup_job_progress.rb +1 -1
  29. data/lib/comet/models/backup_rule_config.rb +1 -1
  30. data/lib/comet/models/backup_rule_event_triggers.rb +1 -1
  31. data/lib/comet/models/branding_options.rb +1 -1
  32. data/lib/comet/models/branding_properties.rb +1 -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/default_email_report_policy.rb +1 -1
  52. data/lib/comet/models/default_source_with_osrestriction.rb +1 -1
  53. data/lib/comet/models/destination_config.rb +1 -1
  54. data/lib/comet/models/destination_location.rb +1 -1
  55. data/lib/comet/models/destination_statistics.rb +1 -1
  56. data/lib/comet/models/device_config.rb +12 -1
  57. data/lib/comet/models/disk_drive.rb +1 -1
  58. data/lib/comet/models/dispatcher_admin_sources_response.rb +1 -1
  59. data/lib/comet/models/dispatcher_stored_objects_response.rb +1 -1
  60. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +1 -1
  61. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +99 -0
  62. data/lib/comet/models/edbfile_info.rb +1 -1
  63. data/lib/comet/models/email_options.rb +1 -1
  64. data/lib/comet/models/email_report_config.rb +1 -1
  65. data/lib/comet/models/email_report_generated_preview.rb +26 -1
  66. data/lib/comet/models/external_ldapauthentication_source_settings.rb +1 -1
  67. data/lib/comet/models/extra_file_exclusion.rb +1 -1
  68. data/lib/comet/models/ftpdestination_location.rb +1 -1
  69. data/lib/comet/models/get_group_policy_response.rb +1 -1
  70. data/lib/comet/models/get_profile_and_hash_response_message.rb +1 -1
  71. data/lib/comet/models/get_profile_hash_response_message.rb +1 -1
  72. data/lib/comet/models/group_policy.rb +1 -1
  73. data/lib/comet/models/hyper_vmachine_info.rb +1 -1
  74. data/lib/comet/models/install_creds.rb +1 -1
  75. data/lib/comet/models/install_token.rb +1 -1
  76. data/lib/comet/models/install_token_response.rb +1 -1
  77. data/lib/comet/models/job_entry.rb +1 -1
  78. data/lib/comet/models/live_user_connection.rb +1 -1
  79. data/lib/comet/models/local_destination_location.rb +1 -1
  80. data/lib/comet/models/mac_oscode_sign_properties.rb +1 -1
  81. data/lib/comet/models/mongo_dbconnection.rb +1 -1
  82. data/lib/comet/models/mssqlconnection.rb +1 -1
  83. data/lib/comet/models/my_sqlconnection.rb +40 -1
  84. data/lib/comet/models/new_bucket_detail.rb +1 -1
  85. data/lib/comet/models/news_entry.rb +1 -1
  86. data/lib/comet/models/office_365connection.rb +9 -1
  87. data/lib/comet/models/office_365credential.rb +1 -1
  88. data/lib/comet/models/office_365custom_setting.rb +2 -1
  89. data/lib/comet/models/office_365custom_setting_v2.rb +108 -0
  90. data/lib/comet/models/office_365mixed_virtual_account.rb +211 -0
  91. data/lib/comet/models/office_365object_info.rb +1 -1
  92. data/lib/comet/models/organization.rb +1 -1
  93. data/lib/comet/models/organization_response.rb +1 -1
  94. data/lib/comet/models/osinfo.rb +1 -1
  95. data/lib/comet/models/partition.rb +1 -1
  96. data/lib/comet/models/private_branding_properties.rb +1 -1
  97. data/lib/comet/models/protected_item_engine_type_policy.rb +1 -1
  98. data/lib/comet/models/public_branding_properties.rb +1 -1
  99. data/lib/comet/models/register_office_application_begin_response.rb +1 -1
  100. data/lib/comet/models/register_office_application_check_response.rb +1 -1
  101. data/lib/comet/models/remote_server_address.rb +1 -1
  102. data/lib/comet/models/remote_storage_option.rb +1 -1
  103. data/lib/comet/models/replicator_state_apiresponse.rb +1 -1
  104. data/lib/comet/models/request_storage_vault_response_message.rb +1 -1
  105. data/lib/comet/models/restore_job_advanced_options.rb +1 -1
  106. data/lib/comet/models/retention_policy.rb +1 -1
  107. data/lib/comet/models/retention_range.rb +1 -1
  108. data/lib/comet/models/s3destination_location.rb +1 -1
  109. data/lib/comet/models/schedule_config.rb +1 -1
  110. data/lib/comet/models/search_clause.rb +1 -1
  111. data/lib/comet/models/self_backup_statistics.rb +1 -1
  112. data/lib/comet/models/server_config_options_branding_fragment.rb +1 -1
  113. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +1 -1
  114. data/lib/comet/models/server_meta_branding_properties.rb +10 -1
  115. data/lib/comet/models/server_meta_version_info.rb +1 -1
  116. data/lib/comet/models/session_key_regenerated_response.rb +1 -1
  117. data/lib/comet/models/sftpdestination_location.rb +1 -1
  118. data/lib/comet/models/size_measurement.rb +1 -1
  119. data/lib/comet/models/software_build_role_options.rb +1 -1
  120. data/lib/comet/models/software_update_news_response.rb +1 -1
  121. data/lib/comet/models/source_basic_info.rb +1 -1
  122. data/lib/comet/models/source_config.rb +1 -1
  123. data/lib/comet/models/source_include_pattern.rb +1 -1
  124. data/lib/comet/models/source_statistics.rb +1 -1
  125. data/lib/comet/models/spanned_destination_location.rb +1 -1
  126. data/lib/comet/models/spanned_storage_extra_info.rb +1 -1
  127. data/lib/comet/models/sshconnection.rb +1 -1
  128. data/lib/comet/models/stat_result.rb +10 -1
  129. data/lib/comet/models/storage_free_space_info.rb +1 -1
  130. data/lib/comet/models/storage_vault_provider_policy.rb +1 -1
  131. data/lib/comet/models/stored_object.rb +1 -1
  132. data/lib/comet/models/streamable_event.rb +1 -1
  133. data/lib/comet/models/swift_destination_location.rb +1 -1
  134. data/lib/comet/models/test_response.rb +1 -1
  135. data/lib/comet/models/totp_regenerated_response.rb +1 -1
  136. data/lib/comet/models/u2fregister_request.rb +2 -1
  137. data/lib/comet/models/u2fregistered_key.rb +2 -1
  138. data/lib/comet/models/u2fregistration_challenge_response.rb +2 -1
  139. data/lib/comet/models/u2fsign_request.rb +2 -1
  140. data/lib/comet/models/u2fsign_response.rb +2 -1
  141. data/lib/comet/models/uninstall_config.rb +1 -1
  142. data/lib/comet/models/update_campaign_device_status.rb +1 -1
  143. data/lib/comet/models/update_campaign_options.rb +1 -1
  144. data/lib/comet/models/update_campaign_properties.rb +1 -1
  145. data/lib/comet/models/update_campaign_status.rb +1 -1
  146. data/lib/comet/models/update_campaign_status_device_entry.rb +1 -1
  147. data/lib/comet/models/user_custom_email_settings.rb +1 -1
  148. data/lib/comet/models/user_on_server.rb +1 -1
  149. data/lib/comet/models/user_policy.rb +1 -1
  150. data/lib/comet/models/user_profile_config.rb +1 -1
  151. data/lib/comet/models/user_profile_fragment.rb +1 -1
  152. data/lib/comet/models/vault_snapshot.rb +1 -1
  153. data/lib/comet/models/vsscomponent.rb +1 -1
  154. data/lib/comet/models/vsswriter_info.rb +1 -1
  155. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +1 -1
  156. data/lib/comet/models/web_authn_authenticator_selection.rb +96 -0
  157. data/lib/comet/models/web_authn_credential.rb +105 -0
  158. data/lib/comet/models/web_authn_credential_assertion.rb +74 -0
  159. data/lib/comet/models/web_authn_credential_descriptor.rb +101 -0
  160. data/lib/comet/models/web_authn_credential_entity.rb +86 -0
  161. data/lib/comet/models/web_authn_credential_parameter.rb +84 -0
  162. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +172 -0
  163. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +140 -0
  164. data/lib/comet/models/web_authn_registration_challenge_response.rb +101 -0
  165. data/lib/comet/models/web_authn_relying_party_entity.rb +95 -0
  166. data/lib/comet/models/web_authn_sign_request.rb +83 -0
  167. data/lib/comet/models/web_authn_sign_response.rb +84 -0
  168. data/lib/comet/models/web_authn_user_entity.rb +105 -0
  169. data/lib/comet/models/web_interface_branding_properties.rb +1 -1
  170. data/lib/comet/models/webhook_option.rb +1 -1
  171. data/lib/comet/models/win_smbauth.rb +1 -1
  172. data/lib/comet/models/windows_code_sign_properties.rb +1 -1
  173. data/lib/comet_backup_ruby_sdk.rb +20 -1
  174. metadata +24 -4
@@ -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
@@ -26,6 +26,21 @@ module Comet
26
26
  # @type [String] password
27
27
  attr_accessor :password
28
28
 
29
+ # @type [Boolean] use_tls
30
+ attr_accessor :use_tls
31
+
32
+ # @type [Boolean] tlsskip_verify
33
+ attr_accessor :tlsskip_verify
34
+
35
+ # @type [String] tlscustom_server_capath
36
+ attr_accessor :tlscustom_server_capath
37
+
38
+ # @type [String] tlscustom_client_crt_path
39
+ attr_accessor :tlscustom_client_crt_path
40
+
41
+ # @type [String] tlscustom_client_key_path
42
+ attr_accessor :tlscustom_client_key_path
43
+
29
44
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
30
45
  attr_accessor :unknown_json_fields
31
46
 
@@ -38,6 +53,9 @@ module Comet
38
53
  @port = ''
39
54
  @username = ''
40
55
  @password = ''
56
+ @tlscustom_server_capath = ''
57
+ @tlscustom_client_crt_path = ''
58
+ @tlscustom_client_key_path = ''
41
59
  @unknown_json_fields = {}
42
60
  end
43
61
 
@@ -70,6 +88,22 @@ module Comet
70
88
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
71
89
 
72
90
  @password = v
91
+ when 'UseTLS'
92
+ @use_tls = v
93
+ when 'TLSSkipVerify'
94
+ @tlsskip_verify = v
95
+ when 'TLSCustomServerCAPath'
96
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
97
+
98
+ @tlscustom_server_capath = v
99
+ when 'TLSCustomClientCrtPath'
100
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
101
+
102
+ @tlscustom_client_crt_path = v
103
+ when 'TLSCustomClientKeyPath'
104
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
105
+
106
+ @tlscustom_client_key_path = v
73
107
  else
74
108
  @unknown_json_fields[k] = v
75
109
  end
@@ -83,6 +117,11 @@ module Comet
83
117
  ret['Port'] = @port
84
118
  ret['Username'] = @username
85
119
  ret['Password'] = @password
120
+ ret['UseTLS'] = @use_tls
121
+ ret['TLSSkipVerify'] = @tlsskip_verify
122
+ ret['TLSCustomServerCAPath'] = @tlscustom_server_capath
123
+ ret['TLSCustomClientCrtPath'] = @tlscustom_client_crt_path
124
+ ret['TLSCustomClientKeyPath'] = @tlscustom_client_key_path
86
125
  @unknown_json_fields.each do |k, v|
87
126
  ret[k] = v
88
127
  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
@@ -29,6 +29,9 @@ module Comet
29
29
  # @type [Array<String>] site_unique_members
30
30
  attr_accessor :site_unique_members
31
31
 
32
+ # @type [Comet::Office365CustomSettingV2] custom_setting_v2
33
+ attr_accessor :custom_setting_v2
34
+
32
35
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
33
36
  attr_accessor :unknown_json_fields
34
37
 
@@ -42,6 +45,7 @@ module Comet
42
45
  @custom_setting = Comet::Office365CustomSetting.new
43
46
  @mailbox_unique_members = []
44
47
  @site_unique_members = []
48
+ @custom_setting_v2 = Comet::Office365CustomSettingV2.new
45
49
  @unknown_json_fields = {}
46
50
  end
47
51
 
@@ -90,6 +94,9 @@ module Comet
90
94
  @site_unique_members[i1] = v1
91
95
  end
92
96
  end
97
+ when 'CustomSettingV2'
98
+ @custom_setting_v2 = Comet::Office365CustomSettingV2.new
99
+ @custom_setting_v2.from_hash(v)
93
100
  else
94
101
  @unknown_json_fields[k] = v
95
102
  end
@@ -104,6 +111,7 @@ module Comet
104
111
  ret['CustomSetting'] = @custom_setting
105
112
  ret['MailboxUniqueMembers'] = @mailbox_unique_members
106
113
  ret['SiteUniqueMembers'] = @site_unique_members
114
+ ret['CustomSettingV2'] = @custom_setting_v2
107
115
  @unknown_json_fields.each do |k, v|
108
116
  ret[k] = v
109
117
  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
@@ -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
@@ -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
@@ -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
@@ -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