comet_backup_ruby_sdk 1.13.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 (195) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +21 -0
  3. data/Gemfile +2 -4
  4. data/Gemfile.lock +1 -1
  5. data/LICENSE +0 -0
  6. data/README.md +3 -2
  7. data/Rakefile +2 -4
  8. data/comet_backup_ruby_sdk.gemspec +1 -1
  9. data/lib/comet/api_response_error.rb +2 -4
  10. data/lib/comet/comet_server.rb +60 -17
  11. data/lib/comet/definitions.rb +50 -7
  12. data/lib/comet/models/add_bucket_response_message.rb +2 -4
  13. data/lib/comet/models/admin_account_properties_response.rb +2 -4
  14. data/lib/comet/models/admin_email_options.rb +2 -4
  15. data/lib/comet/models/admin_resource_response.rb +2 -4
  16. data/lib/comet/models/admin_security_options.rb +2 -4
  17. data/lib/comet/models/admin_u2fregistration.rb +2 -4
  18. data/lib/comet/models/admin_user_permissions.rb +2 -4
  19. data/lib/comet/models/admin_web_authn_registration.rb +2 -4
  20. data/lib/comet/models/allowed_admin_user.rb +2 -4
  21. data/lib/comet/models/amazon_awsvirtual_storage_role_settings.rb +91 -0
  22. data/lib/comet/models/authentication_role_options.rb +139 -0
  23. data/lib/comet/models/available_download.rb +2 -4
  24. data/lib/comet/models/azure_destination_location.rb +2 -4
  25. data/lib/comet/models/b2destination_location.rb +2 -4
  26. data/lib/comet/models/b2storage_extra_info.rb +2 -4
  27. data/lib/comet/models/b2transaction_totals.rb +2 -4
  28. data/lib/comet/models/b2virtual_storage_role_settings.rb +2 -4
  29. data/lib/comet/models/backup_job_advanced_options.rb +2 -4
  30. data/lib/comet/models/backup_job_detail.rb +2 -4
  31. data/lib/comet/models/backup_job_progress.rb +2 -4
  32. data/lib/comet/models/backup_rule_config.rb +2 -4
  33. data/lib/comet/models/backup_rule_event_triggers.rb +2 -4
  34. data/lib/comet/models/branding_options.rb +11 -4
  35. data/lib/comet/models/branding_properties.rb +11 -4
  36. data/lib/comet/models/browse_disk_drives_response.rb +2 -4
  37. data/lib/comet/models/browse_edbresponse.rb +2 -4
  38. data/lib/comet/models/browse_hvresponse.rb +2 -4
  39. data/lib/comet/models/browse_office_365list_virtual_accounts_response.rb +2 -4
  40. data/lib/comet/models/browse_office_365objects_response.rb +2 -4
  41. data/lib/comet/models/browse_sqlserver_response.rb +2 -4
  42. data/lib/comet/models/browse_vssresponse.rb +2 -4
  43. data/lib/comet/models/bucket_properties.rb +2 -4
  44. data/lib/comet/models/bucket_usage_info.rb +2 -4
  45. data/lib/comet/models/comet_apiresponse_message.rb +2 -4
  46. data/lib/comet/models/comet_destination_location.rb +2 -4
  47. data/lib/comet/models/constellation_check_report.rb +2 -4
  48. data/lib/comet/models/constellation_role_options.rb +91 -0
  49. data/lib/comet/models/constellation_stats.rb +2 -4
  50. data/lib/comet/models/constellation_status_apiresponse.rb +2 -4
  51. data/lib/comet/models/content_measurement.rb +2 -4
  52. data/lib/comet/models/content_measurement_component.rb +2 -4
  53. data/lib/comet/models/create_group_policy_response.rb +2 -4
  54. data/lib/comet/models/custom_remote_bucket_settings.rb +2 -4
  55. data/lib/comet/models/days_of_week_config.rb +2 -4
  56. data/lib/comet/models/default_email_report_policy.rb +2 -4
  57. data/lib/comet/models/default_source_with_osrestriction.rb +2 -4
  58. data/lib/comet/models/destination_config.rb +2 -4
  59. data/lib/comet/models/destination_location.rb +2 -4
  60. data/lib/comet/models/destination_statistics.rb +2 -4
  61. data/lib/comet/models/device_config.rb +2 -4
  62. data/lib/comet/models/disk_drive.rb +2 -4
  63. data/lib/comet/models/dispatcher_admin_sources_response.rb +2 -4
  64. data/lib/comet/models/dispatcher_stored_objects_response.rb +2 -4
  65. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +2 -4
  66. data/lib/comet/models/dispatcher_windisk_snapshot_response.rb +2 -4
  67. data/lib/comet/models/edbfile_info.rb +2 -4
  68. data/lib/comet/models/email_options.rb +2 -4
  69. data/lib/comet/models/email_report_config.rb +2 -4
  70. data/lib/comet/models/email_report_generated_preview.rb +2 -4
  71. data/lib/comet/models/external_authentication_source.rb +184 -0
  72. data/lib/comet/models/external_ldapauthentication_source_server.rb +97 -0
  73. data/lib/comet/models/external_ldapauthentication_source_settings.rb +23 -10
  74. data/lib/comet/models/extra_file_exclusion.rb +2 -4
  75. data/lib/comet/models/ftpdestination_location.rb +2 -4
  76. data/lib/comet/models/get_group_policy_response.rb +2 -4
  77. data/lib/comet/models/get_profile_and_hash_response_message.rb +2 -4
  78. data/lib/comet/models/get_profile_hash_response_message.rb +2 -4
  79. data/lib/comet/models/group_policy.rb +2 -4
  80. data/lib/comet/models/hour_sched_config.rb +2 -4
  81. data/lib/comet/models/httpconnector_options.rb +139 -0
  82. data/lib/comet/models/hyper_vmachine_info.rb +2 -4
  83. data/lib/comet/models/install_creds.rb +2 -4
  84. data/lib/comet/models/install_token.rb +2 -4
  85. data/lib/comet/models/install_token_response.rb +2 -4
  86. data/lib/comet/models/job_entry.rb +2 -4
  87. data/lib/comet/models/license_options.rb +84 -0
  88. data/lib/comet/models/live_user_connection.rb +2 -4
  89. data/lib/comet/models/local_destination_location.rb +2 -4
  90. data/lib/comet/models/local_storage_directory.rb +73 -0
  91. data/lib/comet/models/mac_oscode_sign_properties.rb +2 -4
  92. data/lib/comet/models/mongo_dbconnection.rb +2 -4
  93. data/lib/comet/models/mssqlconnection.rb +2 -4
  94. data/lib/comet/models/my_sqlconnection.rb +2 -4
  95. data/lib/comet/models/new_bucket_detail.rb +2 -4
  96. data/lib/comet/models/news_entry.rb +2 -4
  97. data/lib/comet/models/office_365connection.rb +2 -4
  98. data/lib/comet/models/office_365credential.rb +2 -4
  99. data/lib/comet/models/office_365custom_setting.rb +2 -4
  100. data/lib/comet/models/office_365custom_setting_v2.rb +2 -4
  101. data/lib/comet/models/office_365mixed_virtual_account.rb +2 -4
  102. data/lib/comet/models/office_365object_info.rb +2 -4
  103. data/lib/comet/models/organization.rb +5 -7
  104. data/lib/comet/models/organization_response.rb +2 -4
  105. data/lib/comet/models/osinfo.rb +2 -4
  106. data/lib/comet/models/partition.rb +2 -4
  107. data/lib/comet/models/private_branding_properties.rb +11 -4
  108. data/lib/comet/models/protected_item_engine_type_policy.rb +2 -4
  109. data/lib/comet/models/public_branding_properties.rb +2 -4
  110. data/lib/comet/models/ratelimit_options.rb +81 -0
  111. data/lib/comet/models/ratelimit_rule.rb +82 -0
  112. data/lib/comet/models/register_office_application_begin_response.rb +2 -4
  113. data/lib/comet/models/register_office_application_check_response.rb +2 -4
  114. data/lib/comet/models/remote_server_address.rb +23 -4
  115. data/lib/comet/models/remote_storage_option.rb +23 -4
  116. data/lib/comet/models/replica_server.rb +187 -0
  117. data/lib/comet/models/replicator_state_apiresponse.rb +2 -4
  118. data/lib/comet/models/request_storage_vault_response_message.rb +2 -4
  119. data/lib/comet/models/restore_job_advanced_options.rb +2 -4
  120. data/lib/comet/models/retention_policy.rb +2 -4
  121. data/lib/comet/models/retention_range.rb +2 -4
  122. data/lib/comet/models/s3destination_location.rb +2 -4
  123. data/lib/comet/models/s3generic_virtual_storage_role.rb +109 -0
  124. data/lib/comet/models/schedule_config.rb +13 -4
  125. data/lib/comet/models/search_clause.rb +2 -4
  126. data/lib/comet/models/self_backup_options.rb +79 -0
  127. data/lib/comet/models/self_backup_statistics.rb +2 -4
  128. data/lib/comet/models/self_backup_target.rb +137 -0
  129. data/lib/comet/models/server_config_options.rb +253 -0
  130. data/lib/comet/models/server_config_options_branding_fragment.rb +2 -4
  131. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +2 -4
  132. data/lib/comet/models/server_meta_branding_properties.rb +2 -4
  133. data/lib/comet/models/server_meta_version_info.rb +2 -4
  134. data/lib/comet/models/session_key_regenerated_response.rb +2 -4
  135. data/lib/comet/models/session_options.rb +73 -0
  136. data/lib/comet/models/sftpdestination_location.rb +2 -4
  137. data/lib/comet/models/size_measurement.rb +2 -4
  138. data/lib/comet/models/software_build_role_options.rb +2 -4
  139. data/lib/comet/models/software_update_news_response.rb +2 -4
  140. data/lib/comet/models/source_basic_info.rb +2 -4
  141. data/lib/comet/models/source_config.rb +2 -4
  142. data/lib/comet/models/source_include_pattern.rb +2 -4
  143. data/lib/comet/models/source_statistics.rb +2 -4
  144. data/lib/comet/models/spanned_destination_location.rb +2 -4
  145. data/lib/comet/models/spanned_storage_extra_info.rb +2 -4
  146. data/lib/comet/models/sshconnection.rb +2 -4
  147. data/lib/comet/models/stat_result.rb +2 -4
  148. data/lib/comet/models/storage_free_space_info.rb +2 -4
  149. data/lib/comet/models/storage_role_options.rb +110 -0
  150. data/lib/comet/models/storage_vault_provider_policy.rb +2 -4
  151. data/lib/comet/models/stored_object.rb +2 -4
  152. data/lib/comet/models/streamable_event.rb +2 -4
  153. data/lib/comet/models/swift_destination_location.rb +2 -4
  154. data/lib/comet/models/test_response.rb +2 -4
  155. data/lib/comet/models/totp_regenerated_response.rb +2 -4
  156. data/lib/comet/models/u2fregister_request.rb +2 -4
  157. data/lib/comet/models/u2fregistered_key.rb +2 -4
  158. data/lib/comet/models/u2fregistration_challenge_response.rb +2 -4
  159. data/lib/comet/models/u2fsign_request.rb +2 -4
  160. data/lib/comet/models/u2fsign_response.rb +2 -4
  161. data/lib/comet/models/uninstall_config.rb +2 -4
  162. data/lib/comet/models/update_campaign_device_status.rb +2 -4
  163. data/lib/comet/models/update_campaign_options.rb +2 -4
  164. data/lib/comet/models/update_campaign_properties.rb +2 -4
  165. data/lib/comet/models/update_campaign_status.rb +2 -4
  166. data/lib/comet/models/update_campaign_status_device_entry.rb +2 -4
  167. data/lib/comet/models/user_custom_email_settings.rb +2 -4
  168. data/lib/comet/models/user_on_server.rb +2 -4
  169. data/lib/comet/models/user_policy.rb +2 -4
  170. data/lib/comet/models/user_profile_config.rb +2 -4
  171. data/lib/comet/models/user_profile_fragment.rb +2 -4
  172. data/lib/comet/models/vault_snapshot.rb +2 -4
  173. data/lib/comet/models/vmdksnapshot_view_options.rb +2 -4
  174. data/lib/comet/models/vsscomponent.rb +2 -4
  175. data/lib/comet/models/vsswriter_info.rb +2 -4
  176. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +2 -4
  177. data/lib/comet/models/web_authn_authenticator_selection.rb +2 -4
  178. data/lib/comet/models/web_authn_credential.rb +2 -4
  179. data/lib/comet/models/web_authn_credential_assertion.rb +2 -4
  180. data/lib/comet/models/web_authn_credential_descriptor.rb +2 -4
  181. data/lib/comet/models/web_authn_credential_entity.rb +2 -4
  182. data/lib/comet/models/web_authn_credential_parameter.rb +2 -4
  183. data/lib/comet/models/web_authn_public_key_credential_creation_options.rb +2 -4
  184. data/lib/comet/models/web_authn_public_key_credential_request_options.rb +2 -4
  185. data/lib/comet/models/web_authn_registration_challenge_response.rb +2 -4
  186. data/lib/comet/models/web_authn_relying_party_entity.rb +2 -4
  187. data/lib/comet/models/web_authn_sign_request.rb +2 -4
  188. data/lib/comet/models/web_authn_sign_response.rb +2 -4
  189. data/lib/comet/models/web_authn_user_entity.rb +2 -4
  190. data/lib/comet/models/web_interface_branding_properties.rb +2 -4
  191. data/lib/comet/models/webhook_option.rb +2 -4
  192. data/lib/comet/models/win_smbauth.rb +2 -4
  193. data/lib/comet/models/windows_code_sign_properties.rb +2 -4
  194. data/lib/comet_backup_ruby_sdk.rb +19 -4
  195. metadata +19 -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
 
@@ -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
 
@@ -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
 
@@ -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