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
 
@@ -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
@@ -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,84 @@
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
+ # LicenseOptions is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class LicenseOptions
14
+
15
+ # @type [String] email
16
+ attr_accessor :email
17
+
18
+ # @type [String] serial_number
19
+ attr_accessor :serial_number
20
+
21
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
22
+ attr_accessor :unknown_json_fields
23
+
24
+ def initialize
25
+ clear
26
+ end
27
+
28
+ def clear
29
+ @email = ''
30
+ @serial_number = ''
31
+ @unknown_json_fields = {}
32
+ end
33
+
34
+ # @param [String] json_string The complete object in JSON format
35
+ def from_json(json_string)
36
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
37
+
38
+ from_hash(JSON.parse(json_string))
39
+ end
40
+
41
+ # @param [Hash] obj The complete object as a Ruby hash
42
+ def from_hash(obj)
43
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
+
45
+ obj.each do |k, v|
46
+ case k
47
+ when 'Email'
48
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
49
+
50
+ @email = v
51
+ when 'SerialNumber'
52
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
53
+
54
+ @serial_number = v
55
+ else
56
+ @unknown_json_fields[k] = v
57
+ end
58
+ end
59
+ end
60
+
61
+ # @return [Hash] The complete object as a Ruby hash
62
+ def to_hash
63
+ ret = {}
64
+ unless @email.nil?
65
+ ret['Email'] = @email
66
+ end
67
+ ret['SerialNumber'] = @serial_number
68
+ @unknown_json_fields.each do |k, v|
69
+ ret[k] = v
70
+ end
71
+ ret
72
+ end
73
+
74
+ # @return [Hash] The complete object as a Ruby hash
75
+ def to_h
76
+ to_hash
77
+ end
78
+
79
+ # @return [String] The complete object as a JSON string
80
+ def to_json(options = {})
81
+ to_hash.to_json(options)
82
+ end
83
+ end
84
+ end
@@ -1,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,73 @@
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
+ # LocalStorageDirectory is a typed class wrapper around the underlying Comet Server API data structure.
13
+ class LocalStorageDirectory
14
+
15
+ # @type [String] path
16
+ attr_accessor :path
17
+
18
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
19
+ attr_accessor :unknown_json_fields
20
+
21
+ def initialize
22
+ clear
23
+ end
24
+
25
+ def clear
26
+ @path = ''
27
+ @unknown_json_fields = {}
28
+ end
29
+
30
+ # @param [String] json_string The complete object in JSON format
31
+ def from_json(json_string)
32
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
33
+
34
+ from_hash(JSON.parse(json_string))
35
+ end
36
+
37
+ # @param [Hash] obj The complete object as a Ruby hash
38
+ def from_hash(obj)
39
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
40
+
41
+ obj.each do |k, v|
42
+ case k
43
+ when 'Path'
44
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
45
+
46
+ @path = v
47
+ else
48
+ @unknown_json_fields[k] = v
49
+ end
50
+ end
51
+ end
52
+
53
+ # @return [Hash] The complete object as a Ruby hash
54
+ def to_hash
55
+ ret = {}
56
+ ret['Path'] = @path
57
+ @unknown_json_fields.each do |k, v|
58
+ ret[k] = v
59
+ end
60
+ ret
61
+ end
62
+
63
+ # @return [Hash] The complete object as a Ruby hash
64
+ def to_h
65
+ to_hash
66
+ end
67
+
68
+ # @return [String] The complete object as a JSON string
69
+ def to_json(options = {})
70
+ to_hash.to_json(options)
71
+ end
72
+ end
73
+ 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