comet_backup_ruby_sdk 1.13.0 → 1.14.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 (180) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rubocop.yml +0 -0
  4. data/CHANGELOG.md +5 -0
  5. data/Gemfile.lock +1 -1
  6. data/README.md +3 -2
  7. data/RELEASING.md +0 -0
  8. data/comet_backup_ruby_sdk.gemspec +1 -1
  9. data/lib/api_response_error.rb +27 -0
  10. data/lib/comet/comet_server.rb +2 -2
  11. data/lib/comet/models/update_campaign_options.rb +2 -2
  12. data/lib/comet_server.rb +3785 -0
  13. data/lib/definitions.rb +710 -0
  14. data/lib/models/add_bucket_response_message.rb +102 -0
  15. data/lib/models/admin_account_properties_response.rb +91 -0
  16. data/lib/models/admin_email_options.rb +84 -0
  17. data/lib/models/admin_resource_response.rb +93 -0
  18. data/lib/models/admin_security_options.rb +177 -0
  19. data/lib/models/admin_u2fregistration.rb +93 -0
  20. data/lib/models/admin_user_permissions.rb +106 -0
  21. data/lib/models/admin_web_authn_registration.rb +121 -0
  22. data/lib/models/allowed_admin_user.rb +214 -0
  23. data/lib/models/available_download.rb +90 -0
  24. data/lib/models/azure_destination_location.rb +111 -0
  25. data/lib/models/b2destination_location.rb +130 -0
  26. data/lib/models/b2storage_extra_info.rb +81 -0
  27. data/lib/models/b2transaction_totals.rb +93 -0
  28. data/lib/models/b2virtual_storage_role_settings.rb +99 -0
  29. data/lib/models/backup_job_advanced_options.rb +117 -0
  30. data/lib/models/backup_job_detail.rb +328 -0
  31. data/lib/models/backup_job_progress.rb +111 -0
  32. data/lib/models/backup_rule_config.rb +233 -0
  33. data/lib/models/backup_rule_event_triggers.rb +82 -0
  34. data/lib/models/branding_options.rb +335 -0
  35. data/lib/models/branding_properties.rb +293 -0
  36. data/lib/models/browse_disk_drives_response.rb +99 -0
  37. data/lib/models/browse_edbresponse.rb +99 -0
  38. data/lib/models/browse_hvresponse.rb +99 -0
  39. data/lib/models/browse_office_365list_virtual_accounts_response.rb +99 -0
  40. data/lib/models/browse_office_365objects_response.rb +99 -0
  41. data/lib/models/browse_sqlserver_response.rb +100 -0
  42. data/lib/models/browse_vssresponse.rb +99 -0
  43. data/lib/models/bucket_properties.rb +110 -0
  44. data/lib/models/bucket_usage_info.rb +97 -0
  45. data/lib/models/comet_apiresponse_message.rb +84 -0
  46. data/lib/models/comet_destination_location.rb +93 -0
  47. data/lib/models/constellation_check_report.rb +99 -0
  48. data/lib/models/constellation_stats.rb +102 -0
  49. data/lib/models/constellation_status_apiresponse.rb +114 -0
  50. data/lib/models/content_measurement.rb +99 -0
  51. data/lib/models/content_measurement_component.rb +91 -0
  52. data/lib/models/create_group_policy_response.rb +93 -0
  53. data/lib/models/custom_remote_bucket_settings.rb +75 -0
  54. data/lib/models/days_of_week_config.rb +108 -0
  55. data/lib/models/default_email_report_policy.rb +87 -0
  56. data/lib/models/default_source_with_osrestriction.rb +83 -0
  57. data/lib/models/destination_config.rb +562 -0
  58. data/lib/models/destination_location.rb +421 -0
  59. data/lib/models/destination_statistics.rb +115 -0
  60. data/lib/models/device_config.rb +124 -0
  61. data/lib/models/disk_drive.rb +180 -0
  62. data/lib/models/dispatcher_admin_sources_response.rb +100 -0
  63. data/lib/models/dispatcher_stored_objects_response.rb +99 -0
  64. data/lib/models/dispatcher_vault_snapshots_response.rb +99 -0
  65. data/lib/models/dispatcher_windisk_snapshot_response.rb +99 -0
  66. data/lib/models/edbfile_info.rb +99 -0
  67. data/lib/models/email_options.rb +153 -0
  68. data/lib/models/email_report_config.rb +98 -0
  69. data/lib/models/email_report_generated_preview.rb +136 -0
  70. data/lib/models/external_ldapauthentication_source_settings.rb +135 -0
  71. data/lib/models/extra_file_exclusion.rb +90 -0
  72. data/lib/models/ftpdestination_location.rb +141 -0
  73. data/lib/models/get_group_policy_response.rb +101 -0
  74. data/lib/models/get_profile_and_hash_response_message.rb +101 -0
  75. data/lib/models/get_profile_hash_response_message.rb +93 -0
  76. data/lib/models/group_policy.rb +98 -0
  77. data/lib/models/hour_sched_config.rb +84 -0
  78. data/lib/models/hyper_vmachine_info.rb +84 -0
  79. data/lib/models/install_creds.rb +99 -0
  80. data/lib/models/install_token.rb +117 -0
  81. data/lib/models/install_token_response.rb +92 -0
  82. data/lib/models/job_entry.rb +94 -0
  83. data/lib/models/live_user_connection.rb +149 -0
  84. data/lib/models/local_destination_location.rb +102 -0
  85. data/lib/models/mac_oscode_sign_properties.rb +197 -0
  86. data/lib/models/mongo_dbconnection.rb +230 -0
  87. data/lib/models/mssqlconnection.rb +120 -0
  88. data/lib/models/my_sqlconnection.rb +141 -0
  89. data/lib/models/new_bucket_detail.rb +84 -0
  90. data/lib/models/news_entry.rb +93 -0
  91. data/lib/models/office_365connection.rb +131 -0
  92. data/lib/models/office_365credential.rb +111 -0
  93. data/lib/models/office_365custom_setting.rb +133 -0
  94. data/lib/models/office_365custom_setting_v2.rb +108 -0
  95. data/lib/models/office_365mixed_virtual_account.rb +211 -0
  96. data/lib/models/office_365object_info.rb +118 -0
  97. data/lib/models/organization.rb +151 -0
  98. data/lib/models/organization_response.rb +101 -0
  99. data/lib/models/osinfo.rb +99 -0
  100. data/lib/models/partition.rb +172 -0
  101. data/lib/models/private_branding_properties.rb +227 -0
  102. data/lib/models/protected_item_engine_type_policy.rb +88 -0
  103. data/lib/models/public_branding_properties.rb +132 -0
  104. data/lib/models/register_office_application_begin_response.rb +93 -0
  105. data/lib/models/register_office_application_check_response.rb +100 -0
  106. data/lib/models/remote_server_address.rb +167 -0
  107. data/lib/models/remote_storage_option.rb +188 -0
  108. data/lib/models/replicator_state_apiresponse.rb +174 -0
  109. data/lib/models/request_storage_vault_response_message.rb +93 -0
  110. data/lib/models/restore_job_advanced_options.rb +131 -0
  111. data/lib/models/retention_policy.rb +90 -0
  112. data/lib/models/retention_range.rb +138 -0
  113. data/lib/models/s3destination_location.rb +123 -0
  114. data/lib/models/s3generic_virtual_storage_role.rb +111 -0
  115. data/lib/models/schedule_config.rb +131 -0
  116. data/lib/models/search_clause.rb +119 -0
  117. data/lib/models/self_backup_statistics.rb +108 -0
  118. data/lib/models/server_config_options_branding_fragment.rb +74 -0
  119. data/lib/models/server_config_options_software_build_role_fragment.rb +74 -0
  120. data/lib/models/server_meta_branding_properties.rb +144 -0
  121. data/lib/models/server_meta_version_info.rb +261 -0
  122. data/lib/models/session_key_regenerated_response.rb +102 -0
  123. data/lib/models/sftpdestination_location.rb +135 -0
  124. data/lib/models/size_measurement.rb +93 -0
  125. data/lib/models/software_build_role_options.rb +78 -0
  126. data/lib/models/software_update_news_response.rb +109 -0
  127. data/lib/models/source_basic_info.rb +101 -0
  128. data/lib/models/source_config.rb +202 -0
  129. data/lib/models/source_include_pattern.rb +84 -0
  130. data/lib/models/source_statistics.rb +82 -0
  131. data/lib/models/spanned_destination_location.rb +87 -0
  132. data/lib/models/spanned_storage_extra_info.rb +81 -0
  133. data/lib/models/sshconnection.rb +126 -0
  134. data/lib/models/stat_result.rb +111 -0
  135. data/lib/models/storage_free_space_info.rb +110 -0
  136. data/lib/models/storage_vault_provider_policy.rb +88 -0
  137. data/lib/models/stored_object.rb +238 -0
  138. data/lib/models/streamable_event.rb +92 -0
  139. data/lib/models/swift_destination_location.rb +209 -0
  140. data/lib/models/test_response.rb +90 -0
  141. data/lib/models/totp_regenerated_response.rb +111 -0
  142. data/lib/models/u2fregister_request.rb +85 -0
  143. data/lib/models/u2fregistered_key.rb +94 -0
  144. data/lib/models/u2fregistration_challenge_response.rb +133 -0
  145. data/lib/models/u2fsign_request.rb +109 -0
  146. data/lib/models/u2fsign_response.rb +103 -0
  147. data/lib/models/uninstall_config.rb +78 -0
  148. data/lib/models/update_campaign_device_status.rb +75 -0
  149. data/lib/models/update_campaign_options.rb +113 -0
  150. data/lib/models/update_campaign_properties.rb +128 -0
  151. data/lib/models/update_campaign_status.rb +143 -0
  152. data/lib/models/update_campaign_status_device_entry.rb +93 -0
  153. data/lib/models/user_custom_email_settings.rb +81 -0
  154. data/lib/models/user_on_server.rb +84 -0
  155. data/lib/models/user_policy.rb +339 -0
  156. data/lib/models/user_profile_config.rb +349 -0
  157. data/lib/models/user_profile_fragment.rb +75 -0
  158. data/lib/models/vault_snapshot.rb +99 -0
  159. data/lib/models/vmdksnapshot_view_options.rb +90 -0
  160. data/lib/models/vsscomponent.rb +99 -0
  161. data/lib/models/vsswriter_info.rb +90 -0
  162. data/lib/models/wasabi_virtual_storage_role_settings.rb +93 -0
  163. data/lib/models/web_authn_authenticator_selection.rb +96 -0
  164. data/lib/models/web_authn_credential.rb +105 -0
  165. data/lib/models/web_authn_credential_assertion.rb +74 -0
  166. data/lib/models/web_authn_credential_descriptor.rb +101 -0
  167. data/lib/models/web_authn_credential_entity.rb +86 -0
  168. data/lib/models/web_authn_credential_parameter.rb +84 -0
  169. data/lib/models/web_authn_public_key_credential_creation_options.rb +172 -0
  170. data/lib/models/web_authn_public_key_credential_request_options.rb +140 -0
  171. data/lib/models/web_authn_registration_challenge_response.rb +101 -0
  172. data/lib/models/web_authn_relying_party_entity.rb +95 -0
  173. data/lib/models/web_authn_sign_request.rb +83 -0
  174. data/lib/models/web_authn_sign_response.rb +84 -0
  175. data/lib/models/web_authn_user_entity.rb +105 -0
  176. data/lib/models/web_interface_branding_properties.rb +108 -0
  177. data/lib/models/webhook_option.rb +107 -0
  178. data/lib/models/win_smbauth.rb +102 -0
  179. data/lib/models/windows_code_sign_properties.rb +147 -0
  180. metadata +171 -2
@@ -0,0 +1,75 @@
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
+ # UserProfileFragment is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class UserProfileFragment
16
+
17
+ # @type [String] username
18
+ attr_accessor :username
19
+
20
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
21
+ attr_accessor :unknown_json_fields
22
+
23
+ def initialize
24
+ clear
25
+ end
26
+
27
+ def clear
28
+ @username = ''
29
+ @unknown_json_fields = {}
30
+ end
31
+
32
+ # @param [String] json_string The complete object in JSON format
33
+ def from_json(json_string)
34
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
35
+
36
+ from_hash(JSON.parse(json_string))
37
+ end
38
+
39
+ # @param [Hash] obj The complete object as a Ruby hash
40
+ def from_hash(obj)
41
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
42
+
43
+ obj.each do |k, v|
44
+ case k
45
+ when 'Username'
46
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
47
+
48
+ @username = v
49
+ else
50
+ @unknown_json_fields[k] = v
51
+ end
52
+ end
53
+ end
54
+
55
+ # @return [Hash] The complete object as a Ruby hash
56
+ def to_hash
57
+ ret = {}
58
+ ret['Username'] = @username
59
+ @unknown_json_fields.each do |k, v|
60
+ ret[k] = v
61
+ end
62
+ ret
63
+ end
64
+
65
+ # @return [Hash] The complete object as a Ruby hash
66
+ def to_h
67
+ to_hash
68
+ end
69
+
70
+ # @return [String] The complete object as a JSON string
71
+ def to_json(options = {})
72
+ to_hash.to_json(options)
73
+ end
74
+ end
75
+ end
@@ -0,0 +1,99 @@
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
+ # VaultSnapshot is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class VaultSnapshot
16
+
17
+ # @type [String] snapshot
18
+ attr_accessor :snapshot
19
+
20
+ # @type [String] source
21
+ attr_accessor :source
22
+
23
+ # @type [Number] create_time
24
+ attr_accessor :create_time
25
+
26
+ # @type [Boolean] has_original_path_info
27
+ attr_accessor :has_original_path_info
28
+
29
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
30
+ attr_accessor :unknown_json_fields
31
+
32
+ def initialize
33
+ clear
34
+ end
35
+
36
+ def clear
37
+ @snapshot = ''
38
+ @source = ''
39
+ @create_time = 0
40
+ @unknown_json_fields = {}
41
+ end
42
+
43
+ # @param [String] json_string The complete object in JSON format
44
+ def from_json(json_string)
45
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
46
+
47
+ from_hash(JSON.parse(json_string))
48
+ end
49
+
50
+ # @param [Hash] obj The complete object as a Ruby hash
51
+ def from_hash(obj)
52
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
53
+
54
+ obj.each do |k, v|
55
+ case k
56
+ when 'Snapshot'
57
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
58
+
59
+ @snapshot = v
60
+ when 'Source'
61
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
62
+
63
+ @source = v
64
+ when 'CreateTime'
65
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
66
+
67
+ @create_time = v
68
+ when 'HasOriginalPathInfo'
69
+ @has_original_path_info = v
70
+ else
71
+ @unknown_json_fields[k] = v
72
+ end
73
+ end
74
+ end
75
+
76
+ # @return [Hash] The complete object as a Ruby hash
77
+ def to_hash
78
+ ret = {}
79
+ ret['Snapshot'] = @snapshot
80
+ ret['Source'] = @source
81
+ ret['CreateTime'] = @create_time
82
+ ret['HasOriginalPathInfo'] = @has_original_path_info
83
+ @unknown_json_fields.each do |k, v|
84
+ ret[k] = v
85
+ end
86
+ ret
87
+ end
88
+
89
+ # @return [Hash] The complete object as a Ruby hash
90
+ def to_h
91
+ to_hash
92
+ end
93
+
94
+ # @return [String] The complete object as a JSON string
95
+ def to_json(options = {})
96
+ to_hash.to_json(options)
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,90 @@
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
+ # VMDKSnapshotViewOptions is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class VMDKSnapshotViewOptions
16
+
17
+ # @type [Boolean] enabled
18
+ attr_accessor :enabled
19
+
20
+ # @type [String] partition_guid
21
+ attr_accessor :partition_guid
22
+
23
+ # @type [String] list_path
24
+ attr_accessor :list_path
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
+ @partition_guid = ''
35
+ @list_path = ''
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 'Enabled'
53
+ @enabled = v
54
+ when 'PartitionGUID'
55
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
56
+
57
+ @partition_guid = v
58
+ when 'ListPath'
59
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
60
+
61
+ @list_path = v
62
+ else
63
+ @unknown_json_fields[k] = v
64
+ end
65
+ end
66
+ end
67
+
68
+ # @return [Hash] The complete object as a Ruby hash
69
+ def to_hash
70
+ ret = {}
71
+ ret['Enabled'] = @enabled
72
+ ret['PartitionGUID'] = @partition_guid
73
+ ret['ListPath'] = @list_path
74
+ @unknown_json_fields.each do |k, v|
75
+ ret[k] = v
76
+ end
77
+ ret
78
+ end
79
+
80
+ # @return [Hash] The complete object as a Ruby hash
81
+ def to_h
82
+ to_hash
83
+ end
84
+
85
+ # @return [String] The complete object as a JSON string
86
+ def to_json(options = {})
87
+ to_hash.to_json(options)
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,99 @@
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
+ # VSSComponent is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class VSSComponent
16
+
17
+ # @type [String] path
18
+ attr_accessor :path
19
+
20
+ # @type [String] name
21
+ attr_accessor :name
22
+
23
+ # @type [String] ctype
24
+ attr_accessor :ctype
25
+
26
+ # @type [Boolean] selectable
27
+ attr_accessor :selectable
28
+
29
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
30
+ attr_accessor :unknown_json_fields
31
+
32
+ def initialize
33
+ clear
34
+ end
35
+
36
+ def clear
37
+ @path = ''
38
+ @name = ''
39
+ @ctype = ''
40
+ @unknown_json_fields = {}
41
+ end
42
+
43
+ # @param [String] json_string The complete object in JSON format
44
+ def from_json(json_string)
45
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
46
+
47
+ from_hash(JSON.parse(json_string))
48
+ end
49
+
50
+ # @param [Hash] obj The complete object as a Ruby hash
51
+ def from_hash(obj)
52
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
53
+
54
+ obj.each do |k, v|
55
+ case k
56
+ when 'Path'
57
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
58
+
59
+ @path = v
60
+ when 'Name'
61
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
62
+
63
+ @name = v
64
+ when 'CType'
65
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
66
+
67
+ @ctype = v
68
+ when 'Selectable'
69
+ @selectable = v
70
+ else
71
+ @unknown_json_fields[k] = v
72
+ end
73
+ end
74
+ end
75
+
76
+ # @return [Hash] The complete object as a Ruby hash
77
+ def to_hash
78
+ ret = {}
79
+ ret['Path'] = @path
80
+ ret['Name'] = @name
81
+ ret['CType'] = @ctype
82
+ ret['Selectable'] = @selectable
83
+ @unknown_json_fields.each do |k, v|
84
+ ret[k] = v
85
+ end
86
+ ret
87
+ end
88
+
89
+ # @return [Hash] The complete object as a Ruby hash
90
+ def to_h
91
+ to_hash
92
+ end
93
+
94
+ # @return [String] The complete object as a JSON string
95
+ def to_json(options = {})
96
+ to_hash.to_json(options)
97
+ end
98
+ end
99
+ end
@@ -0,0 +1,90 @@
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
+ # VSSWriterInfo is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class VSSWriterInfo
16
+
17
+ # @type [String] display_name
18
+ attr_accessor :display_name
19
+
20
+ # @type [Array<Comet::VSSComponent>] components
21
+ attr_accessor :components
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
+ @display_name = ''
32
+ @components = []
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 'DisplayName'
50
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
51
+
52
+ @display_name = v
53
+ when 'Components'
54
+ if v.nil?
55
+ @components = []
56
+ else
57
+ @components = Array.new(v.length)
58
+ v.each_with_index do |v1, i1|
59
+ @components[i1] = Comet::VSSComponent.new
60
+ @components[i1].from_hash(v1)
61
+ end
62
+ end
63
+ else
64
+ @unknown_json_fields[k] = v
65
+ end
66
+ end
67
+ end
68
+
69
+ # @return [Hash] The complete object as a Ruby hash
70
+ def to_hash
71
+ ret = {}
72
+ ret['DisplayName'] = @display_name
73
+ ret['Components'] = @components
74
+ @unknown_json_fields.each do |k, v|
75
+ ret[k] = v
76
+ end
77
+ ret
78
+ end
79
+
80
+ # @return [Hash] The complete object as a Ruby hash
81
+ def to_h
82
+ to_hash
83
+ end
84
+
85
+ # @return [String] The complete object as a JSON string
86
+ def to_json(options = {})
87
+ to_hash.to_json(options)
88
+ end
89
+ end
90
+ end
@@ -0,0 +1,93 @@
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
+ # WasabiVirtualStorageRoleSettings is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class WasabiVirtualStorageRoleSettings
16
+
17
+ # @type [String] master_bucket
18
+ attr_accessor :master_bucket
19
+
20
+ # @type [String] access_key
21
+ attr_accessor :access_key
22
+
23
+ # @type [String] secret_key
24
+ attr_accessor :secret_key
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
+ @master_bucket = ''
35
+ @access_key = ''
36
+ @secret_key = ''
37
+ @unknown_json_fields = {}
38
+ end
39
+
40
+ # @param [String] json_string The complete object in JSON format
41
+ def from_json(json_string)
42
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
43
+
44
+ from_hash(JSON.parse(json_string))
45
+ end
46
+
47
+ # @param [Hash] obj The complete object as a Ruby hash
48
+ def from_hash(obj)
49
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
50
+
51
+ obj.each do |k, v|
52
+ case k
53
+ when 'MasterBucket'
54
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
55
+
56
+ @master_bucket = v
57
+ when 'AccessKey'
58
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
59
+
60
+ @access_key = v
61
+ when 'SecretKey'
62
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
63
+
64
+ @secret_key = v
65
+ else
66
+ @unknown_json_fields[k] = v
67
+ end
68
+ end
69
+ end
70
+
71
+ # @return [Hash] The complete object as a Ruby hash
72
+ def to_hash
73
+ ret = {}
74
+ ret['MasterBucket'] = @master_bucket
75
+ ret['AccessKey'] = @access_key
76
+ ret['SecretKey'] = @secret_key
77
+ @unknown_json_fields.each do |k, v|
78
+ ret[k] = v
79
+ end
80
+ ret
81
+ end
82
+
83
+ # @return [Hash] The complete object as a Ruby hash
84
+ def to_h
85
+ to_hash
86
+ end
87
+
88
+ # @return [String] The complete object as a JSON string
89
+ def to_json(options = {})
90
+ to_hash.to_json(options)
91
+ end
92
+ end
93
+ end
@@ -0,0 +1,96 @@
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
+ # WebAuthnAuthenticatorSelection is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class WebAuthnAuthenticatorSelection
16
+
17
+ # @type [String] authenticator_attachment
18
+ attr_accessor :authenticator_attachment
19
+
20
+ # @type [Boolean] require_resident_key
21
+ attr_accessor :require_resident_key
22
+
23
+ # @type [String] user_verification
24
+ attr_accessor :user_verification
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
+ @authenticator_attachment = ''
35
+ @user_verification = ''
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 'authenticatorAttachment'
53
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
54
+
55
+ @authenticator_attachment = v
56
+ when 'requireResidentKey'
57
+ @require_resident_key = v
58
+ when 'userVerification'
59
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
60
+
61
+ @user_verification = v
62
+ else
63
+ @unknown_json_fields[k] = v
64
+ end
65
+ end
66
+ end
67
+
68
+ # @return [Hash] The complete object as a Ruby hash
69
+ def to_hash
70
+ ret = {}
71
+ unless @authenticator_attachment.nil?
72
+ ret['authenticatorAttachment'] = @authenticator_attachment
73
+ end
74
+ unless @require_resident_key.nil?
75
+ ret['requireResidentKey'] = @require_resident_key
76
+ end
77
+ unless @user_verification.nil?
78
+ ret['userVerification'] = @user_verification
79
+ end
80
+ @unknown_json_fields.each do |k, v|
81
+ ret[k] = v
82
+ end
83
+ ret
84
+ end
85
+
86
+ # @return [Hash] The complete object as a Ruby hash
87
+ def to_h
88
+ to_hash
89
+ end
90
+
91
+ # @return [String] The complete object as a JSON string
92
+ def to_json(options = {})
93
+ to_hash.to_json(options)
94
+ end
95
+ end
96
+ end