comet_backup_ruby_sdk 1.1.0 → 1.6.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 (154) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +39 -0
  3. data/Gemfile.lock +2 -2
  4. data/LICENSE +1 -1
  5. data/RELEASING.md +5 -3
  6. data/comet_backup_ruby_sdk.gemspec +1 -1
  7. data/lib/comet/api_response_error.rb +1 -1
  8. data/lib/comet/comet_server.rb +445 -169
  9. data/lib/comet/definitions.rb +42 -4
  10. data/lib/comet/models/add_bucket_response_message.rb +7 -7
  11. data/lib/comet/models/admin_account_properties_response.rb +4 -4
  12. data/lib/comet/models/admin_email_options.rb +5 -5
  13. data/lib/comet/models/admin_resource_response.rb +6 -6
  14. data/lib/comet/models/admin_security_options.rb +8 -8
  15. data/lib/comet/models/admin_u2fregistration.rb +5 -5
  16. data/lib/comet/models/admin_user_permissions.rb +3 -3
  17. data/lib/comet/models/available_download.rb +5 -5
  18. data/lib/comet/models/azure_destination_location.rb +8 -8
  19. data/lib/comet/models/b2destination_location.rb +8 -8
  20. data/lib/comet/models/b2storage_extra_info.rb +3 -3
  21. data/lib/comet/models/b2transaction_totals.rb +6 -6
  22. data/lib/comet/models/b2virtual_storage_role_settings.rb +6 -6
  23. data/lib/comet/models/backup_job_advanced_options.rb +5 -5
  24. data/lib/comet/models/backup_job_detail.rb +54 -21
  25. data/lib/comet/models/backup_job_progress.rb +8 -8
  26. data/lib/comet/models/backup_rule_config.rb +28 -12
  27. data/lib/comet/models/backup_rule_event_triggers.rb +3 -3
  28. data/lib/comet/models/branding_options.rb +37 -28
  29. data/lib/comet/models/branding_properties.rb +33 -24
  30. data/lib/comet/models/browse_disk_drives_response.rb +5 -5
  31. data/lib/comet/models/browse_edbresponse.rb +5 -5
  32. data/lib/comet/models/browse_hvresponse.rb +5 -5
  33. data/lib/comet/models/browse_office_365objects_response.rb +99 -0
  34. data/lib/comet/models/browse_sqlserver_response.rb +100 -0
  35. data/lib/comet/models/browse_vssresponse.rb +5 -5
  36. data/lib/comet/models/bucket_properties.rb +7 -7
  37. data/lib/comet/models/bucket_usage_info.rb +4 -4
  38. data/lib/comet/models/comet_apiresponse_message.rb +5 -5
  39. data/lib/comet/models/comet_destination_location.rb +6 -6
  40. data/lib/comet/models/constellation_check_report.rb +5 -5
  41. data/lib/comet/models/constellation_stats.rb +7 -7
  42. data/lib/comet/models/constellation_status_apiresponse.rb +5 -5
  43. data/lib/comet/models/content_measurement.rb +5 -5
  44. data/lib/comet/models/content_measurement_component.rb +5 -5
  45. data/lib/comet/models/create_group_policy_response.rb +6 -6
  46. data/lib/comet/models/custom_remote_bucket_settings.rb +75 -0
  47. data/lib/comet/models/default_email_report_policy.rb +3 -3
  48. data/lib/comet/models/default_source_with_osrestriction.rb +83 -0
  49. data/lib/comet/models/destination_config.rb +66 -44
  50. data/lib/comet/models/destination_location.rb +41 -35
  51. data/lib/comet/models/destination_statistics.rb +6 -6
  52. data/lib/comet/models/device_config.rb +4 -4
  53. data/lib/comet/models/disk_drive.rb +14 -14
  54. data/lib/comet/models/dispatcher_admin_sources_response.rb +6 -6
  55. data/lib/comet/models/dispatcher_stored_objects_response.rb +5 -5
  56. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +5 -5
  57. data/lib/comet/models/edbfile_info.rb +6 -6
  58. data/lib/comet/models/email_options.rb +10 -10
  59. data/lib/comet/models/email_report_config.rb +4 -4
  60. data/lib/comet/models/email_report_generated_preview.rb +8 -8
  61. data/lib/comet/models/external_ldapauthentication_source_settings.rb +40 -7
  62. data/lib/comet/models/extra_file_exclusion.rb +5 -5
  63. data/lib/comet/models/ftpdestination_location.rb +10 -10
  64. data/lib/comet/models/get_group_policy_response.rb +6 -6
  65. data/lib/comet/models/get_profile_and_hash_response_message.rb +6 -6
  66. data/lib/comet/models/get_profile_hash_response_message.rb +6 -6
  67. data/lib/comet/models/group_policy.rb +5 -5
  68. data/lib/comet/models/hyper_vmachine_info.rb +5 -5
  69. data/lib/comet/models/install_creds.rb +6 -6
  70. data/lib/comet/models/install_token.rb +8 -8
  71. data/lib/comet/models/install_token_response.rb +5 -5
  72. data/lib/comet/models/job_entry.rb +6 -6
  73. data/lib/comet/models/live_user_connection.rb +9 -9
  74. data/lib/comet/models/local_destination_location.rb +7 -7
  75. data/lib/comet/models/mac_oscode_sign_properties.rb +9 -9
  76. data/lib/comet/models/mongo_dbconnection.rb +16 -16
  77. data/lib/comet/models/mssqlconnection.rb +120 -0
  78. data/lib/comet/models/my_sqlconnection.rb +102 -0
  79. data/lib/comet/models/new_bucket_detail.rb +5 -5
  80. data/lib/comet/models/news_entry.rb +6 -6
  81. data/lib/comet/models/office_365connection.rb +123 -0
  82. data/lib/comet/models/office_365credential.rb +111 -0
  83. data/lib/comet/models/office_365custom_setting.rb +132 -0
  84. data/lib/comet/models/office_365object_info.rb +118 -0
  85. data/lib/comet/models/organization.rb +11 -5
  86. data/lib/comet/models/organization_response.rb +6 -6
  87. data/lib/comet/models/osinfo.rb +6 -6
  88. data/lib/comet/models/partition.rb +14 -14
  89. data/lib/comet/models/private_branding_properties.rb +27 -18
  90. data/lib/comet/models/protected_item_engine_type_policy.rb +4 -4
  91. data/lib/comet/models/public_branding_properties.rb +9 -9
  92. data/lib/comet/models/register_office_application_begin_response.rb +93 -0
  93. data/lib/comet/models/register_office_application_check_response.rb +100 -0
  94. data/lib/comet/models/remote_server_address.rb +18 -8
  95. data/lib/comet/models/remote_storage_option.rb +19 -9
  96. data/lib/comet/models/replicator_state_apiresponse.rb +15 -15
  97. data/lib/comet/models/request_storage_vault_response_message.rb +6 -6
  98. data/lib/comet/models/restore_job_advanced_options.rb +23 -7
  99. data/lib/comet/models/retention_policy.rb +4 -4
  100. data/lib/comet/models/retention_range.rb +11 -11
  101. data/lib/comet/models/s3destination_location.rb +8 -8
  102. data/lib/comet/models/schedule_config.rb +6 -6
  103. data/lib/comet/models/search_clause.rb +7 -7
  104. data/lib/comet/models/self_backup_statistics.rb +108 -0
  105. data/lib/comet/models/server_config_options_branding_fragment.rb +3 -3
  106. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +3 -3
  107. data/lib/comet/models/server_meta_branding_properties.rb +135 -0
  108. data/lib/comet/models/server_meta_version_info.rb +33 -18
  109. data/lib/comet/models/session_key_regenerated_response.rb +7 -7
  110. data/lib/comet/models/sftpdestination_location.rb +10 -10
  111. data/lib/comet/models/size_measurement.rb +6 -6
  112. data/lib/comet/models/software_build_role_options.rb +3 -3
  113. data/lib/comet/models/software_update_news_response.rb +7 -7
  114. data/lib/comet/models/source_basic_info.rb +5 -5
  115. data/lib/comet/models/source_config.rb +27 -11
  116. data/lib/comet/models/source_include_pattern.rb +84 -0
  117. data/lib/comet/models/source_statistics.rb +11 -3
  118. data/lib/comet/models/spanned_destination_location.rb +9 -3
  119. data/lib/comet/models/spanned_storage_extra_info.rb +3 -3
  120. data/lib/comet/models/sshconnection.rb +9 -9
  121. data/lib/comet/models/stat_result.rb +7 -7
  122. data/lib/comet/models/storage_free_space_info.rb +5 -5
  123. data/lib/comet/models/storage_vault_provider_policy.rb +4 -4
  124. data/lib/comet/models/stored_object.rb +96 -11
  125. data/lib/comet/models/streamable_event.rb +8 -6
  126. data/lib/comet/models/swift_destination_location.rb +16 -16
  127. data/lib/comet/models/test_response.rb +5 -5
  128. data/lib/comet/models/totp_regenerated_response.rb +8 -8
  129. data/lib/comet/models/u2fregister_request.rb +5 -5
  130. data/lib/comet/models/u2fregistered_key.rb +6 -6
  131. data/lib/comet/models/u2fregistration_challenge_response.rb +7 -7
  132. data/lib/comet/models/u2fsign_request.rb +6 -6
  133. data/lib/comet/models/u2fsign_response.rb +7 -7
  134. data/lib/comet/models/uninstall_config.rb +3 -3
  135. data/lib/comet/models/update_campaign_device_status.rb +4 -4
  136. data/lib/comet/models/update_campaign_options.rb +3 -3
  137. data/lib/comet/models/update_campaign_properties.rb +5 -5
  138. data/lib/comet/models/update_campaign_status.rb +5 -5
  139. data/lib/comet/models/update_campaign_status_device_entry.rb +6 -6
  140. data/lib/comet/models/user_custom_email_settings.rb +3 -3
  141. data/lib/comet/models/user_on_server.rb +5 -5
  142. data/lib/comet/models/user_policy.rb +22 -7
  143. data/lib/comet/models/user_profile_config.rb +19 -19
  144. data/lib/comet/models/user_profile_fragment.rb +4 -4
  145. data/lib/comet/models/vault_snapshot.rb +12 -6
  146. data/lib/comet/models/vsscomponent.rb +6 -6
  147. data/lib/comet/models/vsswriter_info.rb +4 -4
  148. data/lib/comet/models/wasabi_virtual_storage_role_settings.rb +6 -6
  149. data/lib/comet/models/web_interface_branding_properties.rb +7 -7
  150. data/lib/comet/models/webhook_option.rb +5 -5
  151. data/lib/comet/models/win_smbauth.rb +7 -7
  152. data/lib/comet/models/windows_code_sign_properties.rb +12 -12
  153. data/lib/comet_backup_ruby_sdk.rb +16 -1
  154. metadata +20 -5
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -53,37 +53,37 @@ module Comet
53
53
 
54
54
  # @param [String] json_string The complete object in JSON format
55
55
  def from_json(json_string)
56
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
56
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
57
57
 
58
58
  from_hash(JSON.parse(json_string))
59
59
  end
60
60
 
61
61
  # @param [Hash] obj The complete object as a Ruby hash
62
62
  def from_hash(obj)
63
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
63
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
64
64
 
65
65
  obj.each do |k, v|
66
66
  case k
67
67
  when 'S3Server'
68
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
68
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
69
69
 
70
70
  @s3server = v
71
71
  when 'S3UsesTLS'
72
72
  @s3uses_tls = v
73
73
  when 'S3AccessKey'
74
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
74
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
75
75
 
76
76
  @s3access_key = v
77
77
  when 'S3SecretKey'
78
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
78
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
79
79
 
80
80
  @s3secret_key = v
81
81
  when 'S3BucketName'
82
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
82
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
83
83
 
84
84
  @s3bucket_name = v
85
85
  when 'S3Subdir'
86
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
86
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
87
87
 
88
88
  @s3subdir = v
89
89
  when 'S3UsesV2Signing'
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -39,27 +39,27 @@ module Comet
39
39
 
40
40
  # @param [String] json_string The complete object in JSON format
41
41
  def from_json(json_string)
42
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
42
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
43
43
 
44
44
  from_hash(JSON.parse(json_string))
45
45
  end
46
46
 
47
47
  # @param [Hash] obj The complete object as a Ruby hash
48
48
  def from_hash(obj)
49
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
49
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
50
50
 
51
51
  obj.each do |k, v|
52
52
  case k
53
53
  when 'FrequencyType'
54
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
54
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
55
 
56
56
  @frequency_type = v
57
57
  when 'SecondsPast'
58
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
58
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
59
59
 
60
60
  @seconds_past = v
61
61
  when 'Offset'
62
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
62
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
63
63
 
64
64
  @offset = v
65
65
  else
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -47,31 +47,31 @@ module Comet
47
47
 
48
48
  # @param [String] json_string The complete object in JSON format
49
49
  def from_json(json_string)
50
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
50
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
51
51
 
52
52
  from_hash(JSON.parse(json_string))
53
53
  end
54
54
 
55
55
  # @param [Hash] obj The complete object as a Ruby hash
56
56
  def from_hash(obj)
57
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
57
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
58
58
 
59
59
  obj.each do |k, v|
60
60
  case k
61
61
  when 'ClauseType'
62
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
62
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
63
63
 
64
64
  @clause_type = v
65
65
  when 'RuleField'
66
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
66
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
67
67
 
68
68
  @rule_field = v
69
69
  when 'RuleOperator'
70
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
70
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
71
71
 
72
72
  @rule_operator = v
73
73
  when 'RuleValue'
74
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
74
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
75
75
 
76
76
  @rule_value = v
77
77
  when 'ClauseChildren'
@@ -0,0 +1,108 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2021 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
+ # SelfBackupStatistics is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SelfBackupStatistics
16
+
17
+ # @type [Number] current_run_start
18
+ attr_accessor :current_run_start
19
+
20
+ # @type [Number] last_run_start
21
+ attr_accessor :last_run_start
22
+
23
+ # @type [Number] last_run_end
24
+ attr_accessor :last_run_end
25
+
26
+ # @type [Boolean] last_run_success
27
+ attr_accessor :last_run_success
28
+
29
+ # @type [Number] last_run_size
30
+ attr_accessor :last_run_size
31
+
32
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
33
+ attr_accessor :unknown_json_fields
34
+
35
+ def initialize
36
+ clear
37
+ end
38
+
39
+ def clear
40
+ @current_run_start = 0
41
+ @last_run_start = 0
42
+ @last_run_end = 0
43
+ @last_run_size = 0
44
+ @unknown_json_fields = {}
45
+ end
46
+
47
+ # @param [String] json_string The complete object in JSON format
48
+ def from_json(json_string)
49
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
50
+
51
+ from_hash(JSON.parse(json_string))
52
+ end
53
+
54
+ # @param [Hash] obj The complete object as a Ruby hash
55
+ def from_hash(obj)
56
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
57
+
58
+ obj.each do |k, v|
59
+ case k
60
+ when 'CurrentRunStart'
61
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
62
+
63
+ @current_run_start = v
64
+ when 'LastRunStart'
65
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
66
+
67
+ @last_run_start = v
68
+ when 'LastRunEnd'
69
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
70
+
71
+ @last_run_end = v
72
+ when 'LastRunSuccess'
73
+ @last_run_success = v
74
+ when 'LastRunSize'
75
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
76
+
77
+ @last_run_size = v
78
+ else
79
+ @unknown_json_fields[k] = v
80
+ end
81
+ end
82
+ end
83
+
84
+ # @return [Hash] The complete object as a Ruby hash
85
+ def to_hash
86
+ ret = {}
87
+ ret['CurrentRunStart'] = @current_run_start
88
+ ret['LastRunStart'] = @last_run_start
89
+ ret['LastRunEnd'] = @last_run_end
90
+ ret['LastRunSuccess'] = @last_run_success
91
+ ret['LastRunSize'] = @last_run_size
92
+ @unknown_json_fields.each do |k, v|
93
+ ret[k] = v
94
+ end
95
+ ret
96
+ end
97
+
98
+ # @return [Hash] The complete object as a Ruby hash
99
+ def to_h
100
+ to_hash
101
+ end
102
+
103
+ # @return [String] The complete object as a JSON string
104
+ def to_json(options = {})
105
+ to_hash.to_json(options)
106
+ end
107
+ end
108
+ end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -31,14 +31,14 @@ module Comet
31
31
 
32
32
  # @param [String] json_string The complete object in JSON format
33
33
  def from_json(json_string)
34
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
34
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
35
35
 
36
36
  from_hash(JSON.parse(json_string))
37
37
  end
38
38
 
39
39
  # @param [Hash] obj The complete object as a Ruby hash
40
40
  def from_hash(obj)
41
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
41
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
42
42
 
43
43
  obj.each do |k, v|
44
44
  case k
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -31,14 +31,14 @@ module Comet
31
31
 
32
32
  # @param [String] json_string The complete object in JSON format
33
33
  def from_json(json_string)
34
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
34
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
35
35
 
36
36
  from_hash(JSON.parse(json_string))
37
37
  end
38
38
 
39
39
  # @param [Hash] obj The complete object as a Ruby hash
40
40
  def from_hash(obj)
41
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
41
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
42
42
 
43
43
  obj.each do |k, v|
44
44
  case k
@@ -0,0 +1,135 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2021 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
+ # ServerMetaBrandingProperties is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class ServerMetaBrandingProperties
16
+
17
+ # @type [String] brand_name
18
+ attr_accessor :brand_name
19
+
20
+ # @type [String] product_name
21
+ attr_accessor :product_name
22
+
23
+ # @type [Boolean] has_image
24
+ attr_accessor :has_image
25
+
26
+ # @type [String] top_color
27
+ attr_accessor :top_color
28
+
29
+ # @type [Boolean] hide_news_area
30
+ attr_accessor :hide_news_area
31
+
32
+ # @type [Boolean] allow_unauthenticated_downloads
33
+ attr_accessor :allow_unauthenticated_downloads
34
+
35
+ # @type [Boolean] allow_authenticated_downloads
36
+ attr_accessor :allow_authenticated_downloads
37
+
38
+ # @type [Number] prune_logs_after_days
39
+ attr_accessor :prune_logs_after_days
40
+
41
+ # @type [Number] expired_in_seconds
42
+ attr_accessor :expired_in_seconds
43
+
44
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
45
+ attr_accessor :unknown_json_fields
46
+
47
+ def initialize
48
+ clear
49
+ end
50
+
51
+ def clear
52
+ @brand_name = ''
53
+ @product_name = ''
54
+ @top_color = ''
55
+ @prune_logs_after_days = 0
56
+ @expired_in_seconds = 0
57
+ @unknown_json_fields = {}
58
+ end
59
+
60
+ # @param [String] json_string The complete object in JSON format
61
+ def from_json(json_string)
62
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
63
+
64
+ from_hash(JSON.parse(json_string))
65
+ end
66
+
67
+ # @param [Hash] obj The complete object as a Ruby hash
68
+ def from_hash(obj)
69
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
70
+
71
+ obj.each do |k, v|
72
+ case k
73
+ when 'BrandName'
74
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
75
+
76
+ @brand_name = v
77
+ when 'ProductName'
78
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
79
+
80
+ @product_name = v
81
+ when 'HasImage'
82
+ @has_image = v
83
+ when 'TopColor'
84
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
85
+
86
+ @top_color = v
87
+ when 'HideNewsArea'
88
+ @hide_news_area = v
89
+ when 'AllowUnauthenticatedDownloads'
90
+ @allow_unauthenticated_downloads = v
91
+ when 'AllowAuthenticatedDownloads'
92
+ @allow_authenticated_downloads = v
93
+ when 'PruneLogsAfterDays'
94
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
95
+
96
+ @prune_logs_after_days = v
97
+ when 'ExpiredInSeconds'
98
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
99
+
100
+ @expired_in_seconds = v
101
+ else
102
+ @unknown_json_fields[k] = v
103
+ end
104
+ end
105
+ end
106
+
107
+ # @return [Hash] The complete object as a Ruby hash
108
+ def to_hash
109
+ ret = {}
110
+ ret['BrandName'] = @brand_name
111
+ ret['ProductName'] = @product_name
112
+ ret['HasImage'] = @has_image
113
+ ret['TopColor'] = @top_color
114
+ ret['HideNewsArea'] = @hide_news_area
115
+ ret['AllowUnauthenticatedDownloads'] = @allow_unauthenticated_downloads
116
+ ret['AllowAuthenticatedDownloads'] = @allow_authenticated_downloads
117
+ ret['PruneLogsAfterDays'] = @prune_logs_after_days
118
+ ret['ExpiredInSeconds'] = @expired_in_seconds
119
+ @unknown_json_fields.each do |k, v|
120
+ ret[k] = v
121
+ end
122
+ ret
123
+ end
124
+
125
+ # @return [Hash] The complete object as a Ruby hash
126
+ def to_h
127
+ to_hash
128
+ end
129
+
130
+ # @return [String] The complete object as a JSON string
131
+ def to_json(options = {})
132
+ to_hash.to_json(options)
133
+ end
134
+ end
135
+ end
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env ruby --enable-frozen-string-literal
2
2
  #
3
- # Copyright (c) 2020-2020 Comet Licensing Ltd.
3
+ # Copyright (c) 2020-2021 Comet Licensing Ltd.
4
4
  # Please see the LICENSE file for usage information.
5
5
  #
6
6
  # SPDX-License-Identifier: MIT
@@ -77,6 +77,9 @@ module Comet
77
77
  # @type [Boolean] scheduled_email_thread_last_wake_sent_emails
78
78
  attr_accessor :scheduled_email_thread_last_wake_sent_emails
79
79
 
80
+ # @type [Array<Comet::SelfBackupStatistics>] self_backup
81
+ attr_accessor :self_backup
82
+
80
83
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
81
84
  attr_accessor :unknown_json_fields
82
85
 
@@ -100,28 +103,29 @@ module Comet
100
103
  @scheduled_email_thread_last_calculate_duration_nanos = 0
101
104
  @scheduled_email_thread_waiting_until = 0
102
105
  @scheduled_email_thread_last_wake_time = 0
106
+ @self_backup = []
103
107
  @unknown_json_fields = {}
104
108
  end
105
109
 
106
110
  # @param [String] json_string The complete object in JSON format
107
111
  def from_json(json_string)
108
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
112
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
109
113
 
110
114
  from_hash(JSON.parse(json_string))
111
115
  end
112
116
 
113
117
  # @param [Hash] obj The complete object as a Ruby hash
114
118
  def from_hash(obj)
115
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
119
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
116
120
 
117
121
  obj.each do |k, v|
118
122
  case k
119
123
  when 'Version'
120
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
124
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
121
125
 
122
126
  @version = v
123
127
  when 'VersionCodename'
124
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
128
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
125
129
 
126
130
  @version_codename = v
127
131
  when 'StorageRole'
@@ -140,61 +144,71 @@ module Comet
140
144
  else
141
145
  @experimental_options = Array.new(v.length)
142
146
  v.each_with_index do |v1, i1|
143
- raise TypeError "'v1' expected String, got #{v1.class}" unless v1.is_a? String
147
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
144
148
 
145
149
  @experimental_options[i1] = v1
146
150
  end
147
151
  end
148
152
  when 'ServerStartTime'
149
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
153
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
150
154
 
151
155
  @server_start_time = v
152
156
  when 'ServerStartHash'
153
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
157
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
154
158
 
155
159
  @server_start_hash = v
156
160
  when 'CurrentTime'
157
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
161
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
158
162
 
159
163
  @current_time = v
160
164
  when 'ServerLicenseHash'
161
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
165
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
162
166
 
163
167
  @server_license_hash = v
164
168
  when 'LicenseValidUntil'
165
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
169
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
166
170
 
167
171
  @license_valid_until = v
168
172
  when 'EmailsSentSuccessfully'
169
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
173
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
170
174
 
171
175
  @emails_sent_successfully = v
172
176
  when 'EmailsSentErrors'
173
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
177
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
174
178
 
175
179
  @emails_sent_errors = v
176
180
  when 'EmailsWaitingInQueue'
177
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
181
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
178
182
 
179
183
  @emails_waiting_in_queue = v
180
184
  when 'ScheduledEmailThreadCurrentState'
181
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
185
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
182
186
 
183
187
  @scheduled_email_thread_current_state = v
184
188
  when 'ScheduledEmailThreadLastCalculateDurationNanos'
185
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
189
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
186
190
 
187
191
  @scheduled_email_thread_last_calculate_duration_nanos = v
188
192
  when 'ScheduledEmailThreadWaitingUntil'
189
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
193
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
190
194
 
191
195
  @scheduled_email_thread_waiting_until = v
192
196
  when 'ScheduledEmailThreadLastWakeTime'
193
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
197
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
194
198
 
195
199
  @scheduled_email_thread_last_wake_time = v
196
200
  when 'ScheduledEmailThreadLastWakeSentEmails'
197
201
  @scheduled_email_thread_last_wake_sent_emails = v
202
+ when 'SelfBackup'
203
+ if v.nil?
204
+ @self_backup = []
205
+ else
206
+ @self_backup = Array.new(v.length)
207
+ v.each_with_index do |v1, i1|
208
+ @self_backup[i1] = Comet::SelfBackupStatistics.new
209
+ @self_backup[i1].from_hash(v1)
210
+ end
211
+ end
198
212
  else
199
213
  @unknown_json_fields[k] = v
200
214
  end
@@ -227,6 +241,7 @@ module Comet
227
241
  ret['ScheduledEmailThreadWaitingUntil'] = @scheduled_email_thread_waiting_until
228
242
  ret['ScheduledEmailThreadLastWakeTime'] = @scheduled_email_thread_last_wake_time
229
243
  ret['ScheduledEmailThreadLastWakeSentEmails'] = @scheduled_email_thread_last_wake_sent_emails
244
+ ret['SelfBackup'] = @self_backup
230
245
  @unknown_json_fields.each do |k, v|
231
246
  ret[k] = v
232
247
  end