comet_backup_ruby_sdk 1.15.0 → 2.0.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 (194) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +11 -1
  3. data/Gemfile +2 -4
  4. data/Gemfile.lock +1 -1
  5. data/LICENSE +0 -0
  6. data/Rakefile +2 -4
  7. data/comet_backup_ruby_sdk.gemspec +1 -1
  8. data/lib/comet/api_response_error.rb +2 -4
  9. data/lib/comet/comet_server.rb +14 -10
  10. data/lib/comet/definitions.rb +18 -8
  11. data/lib/comet/models/add_bucket_response_message.rb +2 -4
  12. data/lib/comet/models/admin_account_properties_response.rb +2 -4
  13. data/lib/comet/models/admin_email_options.rb +2 -4
  14. data/lib/comet/models/admin_resource_response.rb +2 -4
  15. data/lib/comet/models/admin_security_options.rb +2 -4
  16. data/lib/comet/models/admin_u2fregistration.rb +2 -4
  17. data/lib/comet/models/admin_user_permissions.rb +2 -4
  18. data/lib/comet/models/admin_web_authn_registration.rb +2 -4
  19. data/lib/comet/models/allowed_admin_user.rb +2 -4
  20. data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +2 -4
  21. data/lib/comet/models/authentication_role_options.rb +139 -0
  22. data/lib/comet/models/available_download.rb +2 -4
  23. data/lib/comet/models/azure_destination_location.rb +2 -4
  24. data/lib/comet/models/b2destination_location.rb +2 -4
  25. data/lib/comet/models/b2storage_extra_info.rb +2 -4
  26. data/lib/comet/models/b2transaction_totals.rb +2 -4
  27. data/lib/comet/models/b2virtual_storage_role_settings.rb +2 -4
  28. data/lib/comet/models/backup_job_advanced_options.rb +2 -4
  29. data/lib/comet/models/backup_job_detail.rb +2 -4
  30. data/lib/comet/models/backup_job_progress.rb +2 -4
  31. data/lib/comet/models/backup_rule_config.rb +2 -4
  32. data/lib/comet/models/backup_rule_event_triggers.rb +2 -4
  33. data/lib/comet/models/branding_options.rb +11 -4
  34. data/lib/comet/models/branding_properties.rb +11 -4
  35. data/lib/comet/models/browse_disk_drives_response.rb +2 -4
  36. data/lib/comet/models/browse_edbresponse.rb +2 -4
  37. data/lib/comet/models/browse_hvresponse.rb +2 -4
  38. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +2 -4
  39. data/lib/comet/models/browse_office_365objects_response.rb +2 -4
  40. data/lib/comet/models/browse_sqlserver_response.rb +2 -4
  41. data/lib/comet/models/browse_vssresponse.rb +2 -4
  42. data/lib/comet/models/bucket_properties.rb +2 -4
  43. data/lib/comet/models/bucket_usage_info.rb +2 -4
  44. data/lib/comet/models/comet_apiresponse_message.rb +2 -4
  45. data/lib/comet/models/comet_destination_location.rb +2 -4
  46. data/lib/comet/models/constellation_check_report.rb +2 -4
  47. data/lib/comet/models/constellation_role_options.rb +91 -0
  48. data/lib/comet/models/constellation_stats.rb +2 -4
  49. data/lib/comet/models/constellation_status_apiresponse.rb +2 -4
  50. data/lib/comet/models/content_measurement.rb +2 -4
  51. data/lib/comet/models/content_measurement_component.rb +2 -4
  52. data/lib/comet/models/create_group_policy_response.rb +2 -4
  53. data/lib/comet/models/custom_remote_bucket_settings.rb +2 -4
  54. data/lib/comet/models/days_of_week_config.rb +2 -4
  55. data/lib/comet/models/default_email_report_policy.rb +2 -4
  56. data/lib/comet/models/default_source_with_osrestriction.rb +2 -4
  57. data/lib/comet/models/destination_config.rb +2 -4
  58. data/lib/comet/models/destination_location.rb +2 -4
  59. data/lib/comet/models/destination_statistics.rb +2 -4
  60. data/lib/comet/models/device_config.rb +2 -4
  61. data/lib/comet/models/disk_drive.rb +2 -4
  62. data/lib/comet/models/dispatcher_admin_sources_response.rb +2 -4
  63. data/lib/comet/models/dispatcher_stored_objects_response.rb +2 -4
  64. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +2 -4
  65. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +2 -4
  66. data/lib/comet/models/edbfile_info.rb +2 -4
  67. data/lib/comet/models/email_options.rb +2 -4
  68. data/lib/comet/models/email_report_config.rb +2 -4
  69. data/lib/comet/models/email_report_generated_preview.rb +2 -4
  70. data/lib/comet/models/external_authentication_source.rb +184 -0
  71. data/lib/comet/models/external_ldapauthentication_source_server.rb +97 -0
  72. data/lib/comet/models/external_ldapauthentication_source_settings.rb +23 -10
  73. data/lib/comet/models/extra_file_exclusion.rb +2 -4
  74. data/lib/comet/models/ftpdestination_location.rb +2 -4
  75. data/lib/comet/models/get_group_policy_response.rb +2 -4
  76. data/lib/comet/models/get_profile_and_hash_response_message.rb +2 -4
  77. data/lib/comet/models/get_profile_hash_response_message.rb +2 -4
  78. data/lib/comet/models/group_policy.rb +2 -4
  79. data/lib/comet/models/hour_sched_config.rb +2 -4
  80. data/lib/comet/models/httpconnector_options.rb +139 -0
  81. data/lib/comet/models/hyper_vmachine_info.rb +2 -4
  82. data/lib/comet/models/install_creds.rb +2 -4
  83. data/lib/comet/models/install_token.rb +2 -4
  84. data/lib/comet/models/install_token_response.rb +2 -4
  85. data/lib/comet/models/job_entry.rb +2 -4
  86. data/lib/comet/models/license_options.rb +84 -0
  87. data/lib/comet/models/live_user_connection.rb +2 -4
  88. data/lib/comet/models/local_destination_location.rb +2 -4
  89. data/lib/comet/models/local_storage_directory.rb +73 -0
  90. data/lib/comet/models/mac_oscode_sign_properties.rb +2 -4
  91. data/lib/comet/models/mongo_dbconnection.rb +2 -4
  92. data/lib/comet/models/mssqlconnection.rb +2 -4
  93. data/lib/comet/models/my_sqlconnection.rb +2 -4
  94. data/lib/comet/models/new_bucket_detail.rb +2 -4
  95. data/lib/comet/models/news_entry.rb +2 -4
  96. data/lib/comet/models/office_365connection.rb +2 -4
  97. data/lib/comet/models/office_365credential.rb +2 -4
  98. data/lib/comet/models/office_365custom_setting.rb +2 -4
  99. data/lib/comet/models/office_365custom_setting_v2.rb +2 -4
  100. data/lib/comet/models/office_365mixed_virtual_account.rb +2 -4
  101. data/lib/comet/models/office_365object_info.rb +2 -4
  102. data/lib/comet/models/organization.rb +5 -7
  103. data/lib/comet/models/organization_response.rb +2 -4
  104. data/lib/comet/models/osinfo.rb +2 -4
  105. data/lib/comet/models/partition.rb +2 -4
  106. data/lib/comet/models/private_branding_properties.rb +11 -4
  107. data/lib/comet/models/protected_item_engine_type_policy.rb +2 -4
  108. data/lib/comet/models/public_branding_properties.rb +2 -4
  109. data/lib/comet/models/ratelimit_options.rb +81 -0
  110. data/lib/comet/models/ratelimit_rule.rb +82 -0
  111. data/lib/comet/models/register_office_application_begin_response.rb +2 -4
  112. data/lib/comet/models/register_office_application_check_response.rb +2 -4
  113. data/lib/comet/models/remote_server_address.rb +2 -4
  114. data/lib/comet/models/remote_storage_option.rb +2 -4
  115. data/lib/comet/models/replica_server.rb +187 -0
  116. data/lib/comet/models/replicator_state_apiresponse.rb +2 -4
  117. data/lib/comet/models/request_storage_vault_response_message.rb +2 -4
  118. data/lib/comet/models/restore_job_advanced_options.rb +2 -4
  119. data/lib/comet/models/retention_policy.rb +2 -4
  120. data/lib/comet/models/retention_range.rb +2 -4
  121. data/lib/comet/models/s3destination_location.rb +2 -4
  122. data/lib/comet/models/s3generic_virtual_storage_role.rb +2 -4
  123. data/lib/comet/models/schedule_config.rb +13 -4
  124. data/lib/comet/models/search_clause.rb +2 -4
  125. data/lib/comet/models/self_backup_options.rb +79 -0
  126. data/lib/comet/models/self_backup_statistics.rb +2 -4
  127. data/lib/comet/models/self_backup_target.rb +137 -0
  128. data/lib/comet/models/server_config_options.rb +253 -0
  129. data/lib/comet/models/server_config_options_branding_fragment.rb +2 -4
  130. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +2 -4
  131. data/lib/comet/models/server_meta_branding_properties.rb +2 -4
  132. data/lib/comet/models/server_meta_version_info.rb +2 -4
  133. data/lib/comet/models/session_key_regenerated_response.rb +2 -4
  134. data/lib/comet/models/session_options.rb +73 -0
  135. data/lib/comet/models/sftpdestination_location.rb +2 -4
  136. data/lib/comet/models/size_measurement.rb +2 -4
  137. data/lib/comet/models/software_build_role_options.rb +2 -4
  138. data/lib/comet/models/software_update_news_response.rb +2 -4
  139. data/lib/comet/models/source_basic_info.rb +2 -4
  140. data/lib/comet/models/source_config.rb +2 -4
  141. data/lib/comet/models/source_include_pattern.rb +2 -4
  142. data/lib/comet/models/source_statistics.rb +2 -4
  143. data/lib/comet/models/spanned_destination_location.rb +2 -4
  144. data/lib/comet/models/spanned_storage_extra_info.rb +2 -4
  145. data/lib/comet/models/sshconnection.rb +2 -4
  146. data/lib/comet/models/stat_result.rb +2 -4
  147. data/lib/comet/models/storage_free_space_info.rb +2 -4
  148. data/lib/comet/models/storage_role_options.rb +110 -0
  149. data/lib/comet/models/storage_vault_provider_policy.rb +2 -4
  150. data/lib/comet/models/stored_object.rb +2 -4
  151. data/lib/comet/models/streamable_event.rb +2 -4
  152. data/lib/comet/models/swift_destination_location.rb +2 -4
  153. data/lib/comet/models/test_response.rb +2 -4
  154. data/lib/comet/models/totp_regenerated_response.rb +2 -4
  155. data/lib/comet/models/u2fregister_request.rb +2 -4
  156. data/lib/comet/models/u2fregistered_key.rb +2 -4
  157. data/lib/comet/models/u2fregistration_challenge_response.rb +2 -4
  158. data/lib/comet/models/u2fsign_request.rb +2 -4
  159. data/lib/comet/models/u2fsign_response.rb +2 -4
  160. data/lib/comet/models/uninstall_config.rb +2 -4
  161. data/lib/comet/models/update_campaign_device_status.rb +2 -4
  162. data/lib/comet/models/update_campaign_options.rb +4 -6
  163. data/lib/comet/models/update_campaign_properties.rb +2 -4
  164. data/lib/comet/models/update_campaign_status.rb +2 -4
  165. data/lib/comet/models/update_campaign_status_device_entry.rb +2 -4
  166. data/lib/comet/models/user_custom_email_settings.rb +2 -4
  167. data/lib/comet/models/user_on_server.rb +2 -4
  168. data/lib/comet/models/user_policy.rb +2 -4
  169. data/lib/comet/models/user_profile_config.rb +2 -4
  170. data/lib/comet/models/user_profile_fragment.rb +2 -4
  171. data/lib/comet/models/vault_snapshot.rb +2 -4
  172. data/lib/comet/models/vmdksnapshot_view_options.rb +2 -4
  173. data/lib/comet/models/vsscomponent.rb +2 -4
  174. data/lib/comet/models/vsswriter_info.rb +2 -4
  175. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +2 -4
  176. data/lib/comet/models/web_authn_authenticator_selection.rb +2 -4
  177. data/lib/comet/models/web_authn_credential.rb +2 -4
  178. data/lib/comet/models/web_authn_credential_assertion.rb +2 -4
  179. data/lib/comet/models/web_authn_credential_descriptor.rb +2 -4
  180. data/lib/comet/models/web_authn_credential_entity.rb +2 -4
  181. data/lib/comet/models/web_authn_credential_parameter.rb +2 -4
  182. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +2 -4
  183. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +2 -4
  184. data/lib/comet/models/web_authn_registration_challenge_response.rb +2 -4
  185. data/lib/comet/models/web_authn_relying_party_entity.rb +2 -4
  186. data/lib/comet/models/web_authn_sign_request.rb +2 -4
  187. data/lib/comet/models/web_authn_sign_response.rb +2 -4
  188. data/lib/comet/models/web_authn_user_entity.rb +2 -4
  189. data/lib/comet/models/web_interface_branding_properties.rb +2 -4
  190. data/lib/comet/models/webhook_option.rb +2 -4
  191. data/lib/comet/models/win_smbauth.rb +2 -4
  192. data/lib/comet/models/windows_code_sign_properties.rb +2 -4
  193. data/lib/comet_backup_ruby_sdk.rb +19 -4
  194. metadata +17 -2
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -0,0 +1,184 @@
1
+ # frozen_string_literal: true
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
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # ExternalAuthenticationSource is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class ExternalAuthenticationSource
14
+
15
+ # @type [String] type
16
+ attr_accessor :type
17
+
18
+ # @type [String] description
19
+ attr_accessor :description
20
+
21
+ # @type [String] remote_address
22
+ attr_accessor :remote_address
23
+
24
+ # @type [String] username
25
+ attr_accessor :username
26
+
27
+ # @type [String] password
28
+ attr_accessor :password
29
+
30
+ # @type [Comet::ExternalLDAPAuthenticationSourceSettings] ldap
31
+ attr_accessor :ldap
32
+
33
+ # @type [Comet::B2VirtualStorageRoleSettings] b2
34
+ attr_accessor :b2
35
+
36
+ # @type [Comet::WasabiVirtualStorageRoleSettings] wasabi
37
+ attr_accessor :wasabi
38
+
39
+ # @type [Comet::CustomRemoteBucketSettings] custom
40
+ attr_accessor :custom
41
+
42
+ # @type [Comet::S3GenericVirtualStorageRole] s3
43
+ attr_accessor :s3
44
+
45
+ # Amazon AWS - Virtual Storage Role
46
+ # @type [Comet::AmazonAWSVirtualStorageRoleSettings] aws
47
+ attr_accessor :aws
48
+
49
+ # @type [Comet::AdminUserPermissions] new_user_permissions
50
+ attr_accessor :new_user_permissions
51
+
52
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
53
+ attr_accessor :unknown_json_fields
54
+
55
+ def initialize
56
+ clear
57
+ end
58
+
59
+ def clear
60
+ @type = ''
61
+ @description = ''
62
+ @remote_address = ''
63
+ @username = ''
64
+ @password = ''
65
+ @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
66
+ @b2 = Comet::B2VirtualStorageRoleSettings.new
67
+ @wasabi = Comet::WasabiVirtualStorageRoleSettings.new
68
+ @custom = Comet::CustomRemoteBucketSettings.new
69
+ @s3 = Comet::S3GenericVirtualStorageRole.new
70
+ @aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
71
+ @new_user_permissions = Comet::AdminUserPermissions.new
72
+ @unknown_json_fields = {}
73
+ end
74
+
75
+ # @param [String] json_string The complete object in JSON format
76
+ def from_json(json_string)
77
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
78
+
79
+ from_hash(JSON.parse(json_string))
80
+ end
81
+
82
+ # @param [Hash] obj The complete object as a Ruby hash
83
+ def from_hash(obj)
84
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
85
+
86
+ obj.each do |k, v|
87
+ case k
88
+ when 'Type'
89
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
90
+
91
+ @type = v
92
+ when 'Description'
93
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
94
+
95
+ @description = v
96
+ when 'RemoteAddress'
97
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
98
+
99
+ @remote_address = v
100
+ when 'Username'
101
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
102
+
103
+ @username = v
104
+ when 'Password'
105
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
106
+
107
+ @password = v
108
+ when 'LDAP'
109
+ @ldap = Comet::ExternalLDAPAuthenticationSourceSettings.new
110
+ @ldap.from_hash(v)
111
+ when 'B2'
112
+ @b2 = Comet::B2VirtualStorageRoleSettings.new
113
+ @b2.from_hash(v)
114
+ when 'Wasabi'
115
+ @wasabi = Comet::WasabiVirtualStorageRoleSettings.new
116
+ @wasabi.from_hash(v)
117
+ when 'Custom'
118
+ @custom = Comet::CustomRemoteBucketSettings.new
119
+ @custom.from_hash(v)
120
+ when 'S3'
121
+ @s3 = Comet::S3GenericVirtualStorageRole.new
122
+ @s3.from_hash(v)
123
+ when 'AWS'
124
+ @aws = Comet::AmazonAWSVirtualStorageRoleSettings.new
125
+ @aws.from_hash(v)
126
+ when 'NewUserPermissions'
127
+ @new_user_permissions = Comet::AdminUserPermissions.new
128
+ @new_user_permissions.from_hash(v)
129
+ else
130
+ @unknown_json_fields[k] = v
131
+ end
132
+ end
133
+ end
134
+
135
+ # @return [Hash] The complete object as a Ruby hash
136
+ def to_hash
137
+ ret = {}
138
+ ret['Type'] = @type
139
+ ret['Description'] = @description
140
+ unless @remote_address.nil?
141
+ ret['RemoteAddress'] = @remote_address
142
+ end
143
+ unless @username.nil?
144
+ ret['Username'] = @username
145
+ end
146
+ unless @password.nil?
147
+ ret['Password'] = @password
148
+ end
149
+ unless @ldap.nil?
150
+ ret['LDAP'] = @ldap
151
+ end
152
+ unless @b2.nil?
153
+ ret['B2'] = @b2
154
+ end
155
+ unless @wasabi.nil?
156
+ ret['Wasabi'] = @wasabi
157
+ end
158
+ unless @custom.nil?
159
+ ret['Custom'] = @custom
160
+ end
161
+ unless @s3.nil?
162
+ ret['S3'] = @s3
163
+ end
164
+ unless @aws.nil?
165
+ ret['AWS'] = @aws
166
+ end
167
+ ret['NewUserPermissions'] = @new_user_permissions
168
+ @unknown_json_fields.each do |k, v|
169
+ ret[k] = v
170
+ end
171
+ ret
172
+ end
173
+
174
+ # @return [Hash] The complete object as a Ruby hash
175
+ def to_h
176
+ to_hash
177
+ end
178
+
179
+ # @return [String] The complete object as a JSON string
180
+ def to_json(options = {})
181
+ to_hash.to_json(options)
182
+ end
183
+ end
184
+ end
@@ -0,0 +1,97 @@
1
+ # frozen_string_literal: true
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
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # ExternalLDAPAuthenticationSourceServer is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class ExternalLDAPAuthenticationSourceServer
14
+
15
+ # @type [String] hostname
16
+ attr_accessor :hostname
17
+
18
+ # @type [Number] port
19
+ attr_accessor :port
20
+
21
+ # @type [String] security_method
22
+ attr_accessor :security_method
23
+
24
+ # @type [Boolean] accept_invalid_ssl
25
+ attr_accessor :accept_invalid_ssl
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
+ @hostname = ''
36
+ @port = 0
37
+ @security_method = ''
38
+ @unknown_json_fields = {}
39
+ end
40
+
41
+ # @param [String] json_string The complete object in JSON format
42
+ def from_json(json_string)
43
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
44
+
45
+ from_hash(JSON.parse(json_string))
46
+ end
47
+
48
+ # @param [Hash] obj The complete object as a Ruby hash
49
+ def from_hash(obj)
50
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
51
+
52
+ obj.each do |k, v|
53
+ case k
54
+ when 'Hostname'
55
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
56
+
57
+ @hostname = v
58
+ when 'Port'
59
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
60
+
61
+ @port = v
62
+ when 'SecurityMethod'
63
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
64
+
65
+ @security_method = v
66
+ when 'AcceptInvalidSSL'
67
+ @accept_invalid_ssl = v
68
+ else
69
+ @unknown_json_fields[k] = v
70
+ end
71
+ end
72
+ end
73
+
74
+ # @return [Hash] The complete object as a Ruby hash
75
+ def to_hash
76
+ ret = {}
77
+ ret['Hostname'] = @hostname
78
+ ret['Port'] = @port
79
+ ret['SecurityMethod'] = @security_method
80
+ ret['AcceptInvalidSSL'] = @accept_invalid_ssl
81
+ @unknown_json_fields.each do |k, v|
82
+ ret[k] = v
83
+ end
84
+ ret
85
+ end
86
+
87
+ # @return [Hash] The complete object as a Ruby hash
88
+ def to_h
89
+ to_hash
90
+ end
91
+
92
+ # @return [String] The complete object as a JSON string
93
+ def to_json(options = {})
94
+ to_hash.to_json(options)
95
+ end
96
+ end
97
+ end
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -23,6 +21,12 @@ module Comet
23
21
  # @type [String] security_method
24
22
  attr_accessor :security_method
25
23
 
24
+ # @type [Boolean] accept_invalid_ssl
25
+ attr_accessor :accept_invalid_ssl
26
+
27
+ # @type [Array<Comet::ExternalLDAPAuthenticationSourceServer>] fallback_servers
28
+ attr_accessor :fallback_servers
29
+
26
30
  # @type [String] bind_user
27
31
  attr_accessor :bind_user
28
32
 
@@ -35,9 +39,6 @@ module Comet
35
39
  # @type [String] search_filter
36
40
  attr_accessor :search_filter
37
41
 
38
- # @type [Boolean] accept_invalid_ssl
39
- attr_accessor :accept_invalid_ssl
40
-
41
42
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
42
43
  attr_accessor :unknown_json_fields
43
44
 
@@ -49,6 +50,7 @@ module Comet
49
50
  @hostname = ''
50
51
  @port = 0
51
52
  @security_method = ''
53
+ @fallback_servers = []
52
54
  @bind_user = ''
53
55
  @bind_password = ''
54
56
  @search_dn = ''
@@ -81,6 +83,18 @@ module Comet
81
83
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
82
84
 
83
85
  @security_method = v
86
+ when 'AcceptInvalidSSL'
87
+ @accept_invalid_ssl = v
88
+ when 'FallbackServers'
89
+ if v.nil?
90
+ @fallback_servers = []
91
+ else
92
+ @fallback_servers = Array.new(v.length)
93
+ v.each_with_index do |v1, i1|
94
+ @fallback_servers[i1] = Comet::ExternalLDAPAuthenticationSourceServer.new
95
+ @fallback_servers[i1].from_hash(v1)
96
+ end
97
+ end
84
98
  when 'BindUser'
85
99
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
86
100
 
@@ -97,8 +111,6 @@ module Comet
97
111
  raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
98
112
 
99
113
  @search_filter = v
100
- when 'AcceptInvalidSSL'
101
- @accept_invalid_ssl = v
102
114
  else
103
115
  @unknown_json_fields[k] = v
104
116
  end
@@ -111,11 +123,12 @@ module Comet
111
123
  ret['Hostname'] = @hostname
112
124
  ret['Port'] = @port
113
125
  ret['SecurityMethod'] = @security_method
126
+ ret['AcceptInvalidSSL'] = @accept_invalid_ssl
127
+ ret['FallbackServers'] = @fallback_servers
114
128
  ret['BindUser'] = @bind_user
115
129
  ret['BindPassword'] = @bind_password
116
130
  ret['SearchDN'] = @search_dn
117
131
  ret['SearchFilter'] = @search_filter
118
- ret['AcceptInvalidSSL'] = @accept_invalid_ssl
119
132
  @unknown_json_fields.each do |k, v|
120
133
  ret[k] = v
121
134
  end
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -1,11 +1,9 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
2
- #
1
+ # frozen_string_literal: true
2
+
3
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
7
- #
8
- # frozen_string_literal: true
9
7
 
10
8
  require 'json'
11
9
 
@@ -0,0 +1,139 @@
1
+ # frozen_string_literal: true
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
+ require 'json'
9
+
10
+ module Comet
11
+
12
+ # HTTPConnectorOptions is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class HTTPConnectorOptions
14
+
15
+ # @type [String] listen_address___donotusedirectly
16
+ attr_accessor :listen_address___donotusedirectly
17
+
18
+ # @type [String] sslcert_path
19
+ attr_accessor :sslcert_path
20
+
21
+ # @type [String] sslintermediate
22
+ attr_accessor :sslintermediate
23
+
24
+ # @type [String] sslcert_key
25
+ attr_accessor :sslcert_key
26
+
27
+ # @type [String] auto_ssldomains
28
+ attr_accessor :auto_ssldomains
29
+
30
+ # @type [String] sslpfx_path
31
+ attr_accessor :sslpfx_path
32
+
33
+ # @type [String] sslpfx_password
34
+ attr_accessor :sslpfx_password
35
+
36
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
37
+ attr_accessor :unknown_json_fields
38
+
39
+ def initialize
40
+ clear
41
+ end
42
+
43
+ def clear
44
+ @listen_address___donotusedirectly = ''
45
+ @sslcert_path = ''
46
+ @sslintermediate = ''
47
+ @sslcert_key = ''
48
+ @auto_ssldomains = ''
49
+ @sslpfx_path = ''
50
+ @sslpfx_password = ''
51
+ @unknown_json_fields = {}
52
+ end
53
+
54
+ # @param [String] json_string The complete object in JSON format
55
+ def from_json(json_string)
56
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
57
+
58
+ from_hash(JSON.parse(json_string))
59
+ end
60
+
61
+ # @param [Hash] obj The complete object as a Ruby hash
62
+ def from_hash(obj)
63
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
64
+
65
+ obj.each do |k, v|
66
+ case k
67
+ when 'ListenAddress'
68
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
69
+
70
+ @listen_address___donotusedirectly = v
71
+ when 'SSLCertPath'
72
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
73
+
74
+ @sslcert_path = v
75
+ when 'SSLIntermediate'
76
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
77
+
78
+ @sslintermediate = v
79
+ when 'SSLCertKey'
80
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
81
+
82
+ @sslcert_key = v
83
+ when 'AutoSSLDomains'
84
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
85
+
86
+ @auto_ssldomains = v
87
+ when 'SSLPfxPath'
88
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
89
+
90
+ @sslpfx_path = v
91
+ when 'SSLPfxPassword'
92
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
93
+
94
+ @sslpfx_password = v
95
+ else
96
+ @unknown_json_fields[k] = v
97
+ end
98
+ end
99
+ end
100
+
101
+ # @return [Hash] The complete object as a Ruby hash
102
+ def to_hash
103
+ ret = {}
104
+ ret['ListenAddress'] = @listen_address___donotusedirectly
105
+ unless @sslcert_path.nil?
106
+ ret['SSLCertPath'] = @sslcert_path
107
+ end
108
+ unless @sslintermediate.nil?
109
+ ret['SSLIntermediate'] = @sslintermediate
110
+ end
111
+ unless @sslcert_key.nil?
112
+ ret['SSLCertKey'] = @sslcert_key
113
+ end
114
+ unless @auto_ssldomains.nil?
115
+ ret['AutoSSLDomains'] = @auto_ssldomains
116
+ end
117
+ unless @sslpfx_path.nil?
118
+ ret['SSLPfxPath'] = @sslpfx_path
119
+ end
120
+ unless @sslpfx_password.nil?
121
+ ret['SSLPfxPassword'] = @sslpfx_password
122
+ end
123
+ @unknown_json_fields.each do |k, v|
124
+ ret[k] = v
125
+ end
126
+ ret
127
+ end
128
+
129
+ # @return [Hash] The complete object as a Ruby hash
130
+ def to_h
131
+ to_hash
132
+ end
133
+
134
+ # @return [String] The complete object as a JSON string
135
+ def to_json(options = {})
136
+ to_hash.to_json(options)
137
+ end
138
+ end
139
+ end