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
@@ -43,31 +43,31 @@ module Comet
43
43
 
44
44
  # @param [String] json_string The complete object in JSON format
45
45
  def from_json(json_string)
46
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
46
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
47
47
 
48
48
  from_hash(JSON.parse(json_string))
49
49
  end
50
50
 
51
51
  # @param [Hash] obj The complete object as a Ruby hash
52
52
  def from_hash(obj)
53
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
53
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
54
54
 
55
55
  obj.each do |k, v|
56
56
  case k
57
57
  when 'Status'
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
  @status = v
61
61
  when 'Message'
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
  @message = v
65
65
  when 'SessionKey'
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
  @session_key = v
69
69
  when 'SessionType'
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
  @session_type = v
73
73
  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
@@ -58,45 +58,45 @@ module Comet
58
58
 
59
59
  # @param [String] json_string The complete object in JSON format
60
60
  def from_json(json_string)
61
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
61
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
62
62
 
63
63
  from_hash(JSON.parse(json_string))
64
64
  end
65
65
 
66
66
  # @param [Hash] obj The complete object as a Ruby hash
67
67
  def from_hash(obj)
68
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
68
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
69
69
 
70
70
  obj.each do |k, v|
71
71
  case k
72
72
  when 'SFTPServer'
73
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
73
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
74
74
 
75
75
  @sftpserver = v
76
76
  when 'SFTPUsername'
77
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
77
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
78
78
 
79
79
  @sftpusername = v
80
80
  when 'SFTPRemotePath'
81
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
81
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
82
82
 
83
83
  @sftpremote_path = v
84
84
  when 'SFTPAuthMode'
85
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
85
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
86
86
 
87
87
  @sftpauth_mode = v
88
88
  when 'SFTPPassword'
89
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
89
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
90
90
 
91
91
  @sftppassword = v
92
92
  when 'SFTPPrivateKey'
93
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
93
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
94
94
 
95
95
  @sftpprivate_key = v
96
96
  when 'SFTPCustomAuth_UseKnownHostsFile'
97
97
  @sftpcustom_auth__use_known_hosts_file = v
98
98
  when 'SFTPCustomAuth_KnownHostsFile'
99
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
99
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
100
100
 
101
101
  @sftpcustom_auth__known_hosts_file = v
102
102
  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
@@ -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 'Size'
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
  @size = v
57
57
  when 'MeasureStarted'
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
  @measure_started = v
61
61
  when 'MeasureCompleted'
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
  @measure_completed = 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
@@ -33,14 +33,14 @@ module Comet
33
33
 
34
34
  # @param [String] json_string The complete object in JSON format
35
35
  def from_json(json_string)
36
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
36
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
37
37
 
38
38
  from_hash(JSON.parse(json_string))
39
39
  end
40
40
 
41
41
  # @param [Hash] obj The complete object as a Ruby hash
42
42
  def from_hash(obj)
43
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
43
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
44
44
 
45
45
  obj.each do |k, v|
46
46
  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
@@ -43,27 +43,27 @@ module Comet
43
43
 
44
44
  # @param [String] json_string The complete object in JSON format
45
45
  def from_json(json_string)
46
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
46
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
47
47
 
48
48
  from_hash(JSON.parse(json_string))
49
49
  end
50
50
 
51
51
  # @param [Hash] obj The complete object as a Ruby hash
52
52
  def from_hash(obj)
53
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
53
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
54
54
 
55
55
  obj.each do |k, v|
56
56
  case k
57
57
  when 'latest_stable'
58
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
58
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
59
59
 
60
60
  @latest_stable = v
61
61
  when 'latest_prerelease'
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
  @latest_prerelease = v
65
65
  when 'downloads_url'
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
  @downloads_url = v
69
69
  when 'updates_info'
@@ -72,7 +72,7 @@ module Comet
72
72
  else
73
73
  @whats_new = Array.new(v.length)
74
74
  v.each_with_index do |v1, i1|
75
- raise TypeError "'v1' expected String, got #{v1.class}" unless v1.is_a? String
75
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
76
76
 
77
77
  @whats_new[i1] = v1
78
78
  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
@@ -39,23 +39,23 @@ 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 'Description'
54
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
54
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
55
55
 
56
56
  @description = v
57
57
  when 'Size'
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
  @size = v
61
61
  when 'OverrideDestinationRetention'
@@ -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
@@ -32,6 +32,9 @@ module Comet
32
32
  # @type [Array<String>] pre_exec
33
33
  attr_accessor :pre_exec
34
34
 
35
+ # @type [Array<String>] thaw_exec
36
+ attr_accessor :thaw_exec
37
+
35
38
  # @type [Array<String>] post_exec
36
39
  attr_accessor :post_exec
37
40
 
@@ -58,6 +61,7 @@ module Comet
58
61
  @create_time = 0
59
62
  @modify_time = 0
60
63
  @pre_exec = []
64
+ @thaw_exec = []
61
65
  @post_exec = []
62
66
  @engine_props = {}
63
67
  @override_destination_retention = {}
@@ -67,35 +71,35 @@ module Comet
67
71
 
68
72
  # @param [String] json_string The complete object in JSON format
69
73
  def from_json(json_string)
70
- raise TypeError "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
74
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
71
75
 
72
76
  from_hash(JSON.parse(json_string))
73
77
  end
74
78
 
75
79
  # @param [Hash] obj The complete object as a Ruby hash
76
80
  def from_hash(obj)
77
- raise TypeError "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
81
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
78
82
 
79
83
  obj.each do |k, v|
80
84
  case k
81
85
  when 'Engine'
82
- 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
83
87
 
84
88
  @engine = v
85
89
  when 'Description'
86
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
90
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
87
91
 
88
92
  @description = v
89
93
  when 'OwnerDevice'
90
- raise TypeError "'v' expected String, got #{v.class}" unless v.is_a? String
94
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
91
95
 
92
96
  @owner_device = v
93
97
  when 'CreateTime'
94
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
98
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
95
99
 
96
100
  @create_time = v
97
101
  when 'ModifyTime'
98
- raise TypeError "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
102
+ raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
99
103
 
100
104
  @modify_time = v
101
105
  when 'PreExec'
@@ -104,18 +108,29 @@ module Comet
104
108
  else
105
109
  @pre_exec = Array.new(v.length)
106
110
  v.each_with_index do |v1, i1|
107
- raise TypeError "'v1' expected String, got #{v1.class}" unless v1.is_a? String
111
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
108
112
 
109
113
  @pre_exec[i1] = v1
110
114
  end
111
115
  end
116
+ when 'ThawExec'
117
+ if v.nil?
118
+ @thaw_exec = []
119
+ else
120
+ @thaw_exec = Array.new(v.length)
121
+ v.each_with_index do |v1, i1|
122
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
123
+
124
+ @thaw_exec[i1] = v1
125
+ end
126
+ end
112
127
  when 'PostExec'
113
128
  if v.nil?
114
129
  @post_exec = []
115
130
  else
116
131
  @post_exec = Array.new(v.length)
117
132
  v.each_with_index do |v1, i1|
118
- raise TypeError "'v1' expected String, got #{v1.class}" unless v1.is_a? String
133
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
119
134
 
120
135
  @post_exec[i1] = v1
121
136
  end
@@ -126,7 +141,7 @@ module Comet
126
141
  @engine_props = {}
127
142
  else
128
143
  v.each do |k1, v1|
129
- raise TypeError "'v1' expected String, got #{v1.class}" unless v1.is_a? String
144
+ raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
130
145
 
131
146
  @engine_props[k1] = v1
132
147
  end
@@ -159,6 +174,7 @@ module Comet
159
174
  ret['CreateTime'] = @create_time
160
175
  ret['ModifyTime'] = @modify_time
161
176
  ret['PreExec'] = @pre_exec
177
+ ret['ThawExec'] = @thaw_exec
162
178
  ret['PostExec'] = @post_exec
163
179
  ret['EngineProps'] = @engine_props
164
180
  unless @override_destination_retention.nil?
@@ -0,0 +1,84 @@
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
+ # SourceIncludePattern is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SourceIncludePattern
16
+
17
+ # @type [String] top_directory
18
+ attr_accessor :top_directory
19
+
20
+ # @type [String] value
21
+ attr_accessor :value
22
+
23
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
24
+ attr_accessor :unknown_json_fields
25
+
26
+ def initialize
27
+ clear
28
+ end
29
+
30
+ def clear
31
+ @top_directory = ''
32
+ @value = ''
33
+ @unknown_json_fields = {}
34
+ end
35
+
36
+ # @param [String] json_string The complete object in JSON format
37
+ def from_json(json_string)
38
+ raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
39
+
40
+ from_hash(JSON.parse(json_string))
41
+ end
42
+
43
+ # @param [Hash] obj The complete object as a Ruby hash
44
+ def from_hash(obj)
45
+ raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
46
+
47
+ obj.each do |k, v|
48
+ case k
49
+ when 'TopDirectory'
50
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
51
+
52
+ @top_directory = v
53
+ when 'Value'
54
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
55
+
56
+ @value = v
57
+ else
58
+ @unknown_json_fields[k] = v
59
+ end
60
+ end
61
+ end
62
+
63
+ # @return [Hash] The complete object as a Ruby hash
64
+ def to_hash
65
+ ret = {}
66
+ ret['TopDirectory'] = @top_directory
67
+ ret['Value'] = @value
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