comet_backup_ruby_sdk 1.14.0 → 1.15.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 (181) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +0 -0
  3. data/.rubocop.yml +0 -0
  4. data/CHANGELOG.md +6 -0
  5. data/Gemfile.lock +0 -0
  6. data/RELEASING.md +0 -0
  7. data/comet_backup_ruby_sdk.gemspec +1 -1
  8. data/lib/comet/comet_server.rb +49 -10
  9. data/lib/comet/definitions.rb +37 -4
  10. data/lib/{models/wasabi_virtual_storage_role_settings.rb → comet/models/amazon_awsvirtual_storage_role_settings.rb} +2 -2
  11. data/lib/comet/models/remote_server_address.rb +21 -0
  12. data/lib/comet/models/remote_storage_option.rb +21 -0
  13. data/lib/{models → comet/models}/s3generic_virtual_storage_role.rb +0 -0
  14. metadata +4 -171
  15. data/lib/api_response_error.rb +0 -27
  16. data/lib/comet_server.rb +0 -3785
  17. data/lib/definitions.rb +0 -710
  18. data/lib/models/add_bucket_response_message.rb +0 -102
  19. data/lib/models/admin_account_properties_response.rb +0 -91
  20. data/lib/models/admin_email_options.rb +0 -84
  21. data/lib/models/admin_resource_response.rb +0 -93
  22. data/lib/models/admin_security_options.rb +0 -177
  23. data/lib/models/admin_u2fregistration.rb +0 -93
  24. data/lib/models/admin_user_permissions.rb +0 -106
  25. data/lib/models/admin_web_authn_registration.rb +0 -121
  26. data/lib/models/allowed_admin_user.rb +0 -214
  27. data/lib/models/available_download.rb +0 -90
  28. data/lib/models/azure_destination_location.rb +0 -111
  29. data/lib/models/b2destination_location.rb +0 -130
  30. data/lib/models/b2storage_extra_info.rb +0 -81
  31. data/lib/models/b2transaction_totals.rb +0 -93
  32. data/lib/models/b2virtual_storage_role_settings.rb +0 -99
  33. data/lib/models/backup_job_advanced_options.rb +0 -117
  34. data/lib/models/backup_job_detail.rb +0 -328
  35. data/lib/models/backup_job_progress.rb +0 -111
  36. data/lib/models/backup_rule_config.rb +0 -233
  37. data/lib/models/backup_rule_event_triggers.rb +0 -82
  38. data/lib/models/branding_options.rb +0 -335
  39. data/lib/models/branding_properties.rb +0 -293
  40. data/lib/models/browse_disk_drives_response.rb +0 -99
  41. data/lib/models/browse_edbresponse.rb +0 -99
  42. data/lib/models/browse_hvresponse.rb +0 -99
  43. data/lib/models/browse_office_365list_virtual_accounts_response.rb +0 -99
  44. data/lib/models/browse_office_365objects_response.rb +0 -99
  45. data/lib/models/browse_sqlserver_response.rb +0 -100
  46. data/lib/models/browse_vssresponse.rb +0 -99
  47. data/lib/models/bucket_properties.rb +0 -110
  48. data/lib/models/bucket_usage_info.rb +0 -97
  49. data/lib/models/comet_apiresponse_message.rb +0 -84
  50. data/lib/models/comet_destination_location.rb +0 -93
  51. data/lib/models/constellation_check_report.rb +0 -99
  52. data/lib/models/constellation_stats.rb +0 -102
  53. data/lib/models/constellation_status_apiresponse.rb +0 -114
  54. data/lib/models/content_measurement.rb +0 -99
  55. data/lib/models/content_measurement_component.rb +0 -91
  56. data/lib/models/create_group_policy_response.rb +0 -93
  57. data/lib/models/custom_remote_bucket_settings.rb +0 -75
  58. data/lib/models/days_of_week_config.rb +0 -108
  59. data/lib/models/default_email_report_policy.rb +0 -87
  60. data/lib/models/default_source_with_osrestriction.rb +0 -83
  61. data/lib/models/destination_config.rb +0 -562
  62. data/lib/models/destination_location.rb +0 -421
  63. data/lib/models/destination_statistics.rb +0 -115
  64. data/lib/models/device_config.rb +0 -124
  65. data/lib/models/disk_drive.rb +0 -180
  66. data/lib/models/dispatcher_admin_sources_response.rb +0 -100
  67. data/lib/models/dispatcher_stored_objects_response.rb +0 -99
  68. data/lib/models/dispatcher_vault_snapshots_response.rb +0 -99
  69. data/lib/models/dispatcher_windisk_snapshot_response.rb +0 -99
  70. data/lib/models/edbfile_info.rb +0 -99
  71. data/lib/models/email_options.rb +0 -153
  72. data/lib/models/email_report_config.rb +0 -98
  73. data/lib/models/email_report_generated_preview.rb +0 -136
  74. data/lib/models/external_ldapauthentication_source_settings.rb +0 -135
  75. data/lib/models/extra_file_exclusion.rb +0 -90
  76. data/lib/models/ftpdestination_location.rb +0 -141
  77. data/lib/models/get_group_policy_response.rb +0 -101
  78. data/lib/models/get_profile_and_hash_response_message.rb +0 -101
  79. data/lib/models/get_profile_hash_response_message.rb +0 -93
  80. data/lib/models/group_policy.rb +0 -98
  81. data/lib/models/hour_sched_config.rb +0 -84
  82. data/lib/models/hyper_vmachine_info.rb +0 -84
  83. data/lib/models/install_creds.rb +0 -99
  84. data/lib/models/install_token.rb +0 -117
  85. data/lib/models/install_token_response.rb +0 -92
  86. data/lib/models/job_entry.rb +0 -94
  87. data/lib/models/live_user_connection.rb +0 -149
  88. data/lib/models/local_destination_location.rb +0 -102
  89. data/lib/models/mac_oscode_sign_properties.rb +0 -197
  90. data/lib/models/mongo_dbconnection.rb +0 -230
  91. data/lib/models/mssqlconnection.rb +0 -120
  92. data/lib/models/my_sqlconnection.rb +0 -141
  93. data/lib/models/new_bucket_detail.rb +0 -84
  94. data/lib/models/news_entry.rb +0 -93
  95. data/lib/models/office_365connection.rb +0 -131
  96. data/lib/models/office_365credential.rb +0 -111
  97. data/lib/models/office_365custom_setting.rb +0 -133
  98. data/lib/models/office_365custom_setting_v2.rb +0 -108
  99. data/lib/models/office_365mixed_virtual_account.rb +0 -211
  100. data/lib/models/office_365object_info.rb +0 -118
  101. data/lib/models/organization.rb +0 -151
  102. data/lib/models/organization_response.rb +0 -101
  103. data/lib/models/osinfo.rb +0 -99
  104. data/lib/models/partition.rb +0 -172
  105. data/lib/models/private_branding_properties.rb +0 -227
  106. data/lib/models/protected_item_engine_type_policy.rb +0 -88
  107. data/lib/models/public_branding_properties.rb +0 -132
  108. data/lib/models/register_office_application_begin_response.rb +0 -93
  109. data/lib/models/register_office_application_check_response.rb +0 -100
  110. data/lib/models/remote_server_address.rb +0 -167
  111. data/lib/models/remote_storage_option.rb +0 -188
  112. data/lib/models/replicator_state_apiresponse.rb +0 -174
  113. data/lib/models/request_storage_vault_response_message.rb +0 -93
  114. data/lib/models/restore_job_advanced_options.rb +0 -131
  115. data/lib/models/retention_policy.rb +0 -90
  116. data/lib/models/retention_range.rb +0 -138
  117. data/lib/models/s3destination_location.rb +0 -123
  118. data/lib/models/schedule_config.rb +0 -131
  119. data/lib/models/search_clause.rb +0 -119
  120. data/lib/models/self_backup_statistics.rb +0 -108
  121. data/lib/models/server_config_options_branding_fragment.rb +0 -74
  122. data/lib/models/server_config_options_software_build_role_fragment.rb +0 -74
  123. data/lib/models/server_meta_branding_properties.rb +0 -144
  124. data/lib/models/server_meta_version_info.rb +0 -261
  125. data/lib/models/session_key_regenerated_response.rb +0 -102
  126. data/lib/models/sftpdestination_location.rb +0 -135
  127. data/lib/models/size_measurement.rb +0 -93
  128. data/lib/models/software_build_role_options.rb +0 -78
  129. data/lib/models/software_update_news_response.rb +0 -109
  130. data/lib/models/source_basic_info.rb +0 -101
  131. data/lib/models/source_config.rb +0 -202
  132. data/lib/models/source_include_pattern.rb +0 -84
  133. data/lib/models/source_statistics.rb +0 -82
  134. data/lib/models/spanned_destination_location.rb +0 -87
  135. data/lib/models/spanned_storage_extra_info.rb +0 -81
  136. data/lib/models/sshconnection.rb +0 -126
  137. data/lib/models/stat_result.rb +0 -111
  138. data/lib/models/storage_free_space_info.rb +0 -110
  139. data/lib/models/storage_vault_provider_policy.rb +0 -88
  140. data/lib/models/stored_object.rb +0 -238
  141. data/lib/models/streamable_event.rb +0 -92
  142. data/lib/models/swift_destination_location.rb +0 -209
  143. data/lib/models/test_response.rb +0 -90
  144. data/lib/models/totp_regenerated_response.rb +0 -111
  145. data/lib/models/u2fregister_request.rb +0 -85
  146. data/lib/models/u2fregistered_key.rb +0 -94
  147. data/lib/models/u2fregistration_challenge_response.rb +0 -133
  148. data/lib/models/u2fsign_request.rb +0 -109
  149. data/lib/models/u2fsign_response.rb +0 -103
  150. data/lib/models/uninstall_config.rb +0 -78
  151. data/lib/models/update_campaign_device_status.rb +0 -75
  152. data/lib/models/update_campaign_options.rb +0 -113
  153. data/lib/models/update_campaign_properties.rb +0 -128
  154. data/lib/models/update_campaign_status.rb +0 -143
  155. data/lib/models/update_campaign_status_device_entry.rb +0 -93
  156. data/lib/models/user_custom_email_settings.rb +0 -81
  157. data/lib/models/user_on_server.rb +0 -84
  158. data/lib/models/user_policy.rb +0 -339
  159. data/lib/models/user_profile_config.rb +0 -349
  160. data/lib/models/user_profile_fragment.rb +0 -75
  161. data/lib/models/vault_snapshot.rb +0 -99
  162. data/lib/models/vmdksnapshot_view_options.rb +0 -90
  163. data/lib/models/vsscomponent.rb +0 -99
  164. data/lib/models/vsswriter_info.rb +0 -90
  165. data/lib/models/web_authn_authenticator_selection.rb +0 -96
  166. data/lib/models/web_authn_credential.rb +0 -105
  167. data/lib/models/web_authn_credential_assertion.rb +0 -74
  168. data/lib/models/web_authn_credential_descriptor.rb +0 -101
  169. data/lib/models/web_authn_credential_entity.rb +0 -86
  170. data/lib/models/web_authn_credential_parameter.rb +0 -84
  171. data/lib/models/web_authn_public_key_credential_creation_options.rb +0 -172
  172. data/lib/models/web_authn_public_key_credential_request_options.rb +0 -140
  173. data/lib/models/web_authn_registration_challenge_response.rb +0 -101
  174. data/lib/models/web_authn_relying_party_entity.rb +0 -95
  175. data/lib/models/web_authn_sign_request.rb +0 -83
  176. data/lib/models/web_authn_sign_response.rb +0 -84
  177. data/lib/models/web_authn_user_entity.rb +0 -105
  178. data/lib/models/web_interface_branding_properties.rb +0 -108
  179. data/lib/models/webhook_option.rb +0 -107
  180. data/lib/models/win_smbauth.rb +0 -102
  181. data/lib/models/windows_code_sign_properties.rb +0 -147
@@ -1,130 +0,0 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- # frozen_string_literal: true
9
-
10
- require 'json'
11
-
12
- module Comet
13
-
14
- # B2DestinationLocation is a typed class wrapper around the underlying Comet Server API data structure.
15
- class B2DestinationLocation
16
-
17
- # @type [String] account_id
18
- attr_accessor :account_id
19
-
20
- # @type [String] key
21
- attr_accessor :key
22
-
23
- # @type [String] bucket
24
- attr_accessor :bucket
25
-
26
- # @type [String] prefix
27
- attr_accessor :prefix
28
-
29
- # @type [Number] max_connections
30
- # @deprecated This member has been deprecated since Comet version 21.9.7
31
- attr_accessor :max_connections
32
-
33
- # @type [Boolean] hide_deleted_files
34
- attr_accessor :hide_deleted_files
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
- @account_id = ''
45
- @key = ''
46
- @bucket = ''
47
- @prefix = ''
48
- @max_connections = 0
49
- @unknown_json_fields = {}
50
- end
51
-
52
- # @param [String] json_string The complete object in JSON format
53
- def from_json(json_string)
54
- raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
55
-
56
- from_hash(JSON.parse(json_string))
57
- end
58
-
59
- # @param [Hash] obj The complete object as a Ruby hash
60
- def from_hash(obj)
61
- raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
62
-
63
- obj.each do |k, v|
64
- case k
65
- when 'AccountID'
66
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
67
-
68
- @account_id = v
69
- when 'Key'
70
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
71
-
72
- @key = v
73
- when 'Bucket'
74
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
75
-
76
- @bucket = v
77
- when 'Prefix'
78
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
79
-
80
- @prefix = v
81
- when 'MaxConnections'
82
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
83
-
84
- @max_connections = v
85
- when 'HideDeletedFiles'
86
- @hide_deleted_files = v
87
- else
88
- @unknown_json_fields[k] = v
89
- end
90
- end
91
- end
92
-
93
- # @return [Hash] The complete object as a Ruby hash
94
- def to_hash
95
- ret = {}
96
- unless @account_id.nil?
97
- ret['AccountID'] = @account_id
98
- end
99
- unless @key.nil?
100
- ret['Key'] = @key
101
- end
102
- unless @bucket.nil?
103
- ret['Bucket'] = @bucket
104
- end
105
- unless @prefix.nil?
106
- ret['Prefix'] = @prefix
107
- end
108
- unless @max_connections.nil?
109
- ret['MaxConnections'] = @max_connections
110
- end
111
- unless @hide_deleted_files.nil?
112
- ret['HideDeletedFiles'] = @hide_deleted_files
113
- end
114
- @unknown_json_fields.each do |k, v|
115
- ret[k] = v
116
- end
117
- ret
118
- end
119
-
120
- # @return [Hash] The complete object as a Ruby hash
121
- def to_h
122
- to_hash
123
- end
124
-
125
- # @return [String] The complete object as a JSON string
126
- def to_json(options = {})
127
- to_hash.to_json(options)
128
- end
129
- end
130
- end
@@ -1,81 +0,0 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- # frozen_string_literal: true
9
-
10
- require 'json'
11
-
12
- module Comet
13
-
14
- # B2StorageExtraInfo is a typed class wrapper around the underlying Comet Server API data structure.
15
- class B2StorageExtraInfo
16
-
17
- # @type [Hash{Number => Comet::B2TransactionTotals}] total_transactions_in_time_interval
18
- attr_accessor :total_transactions_in_time_interval
19
-
20
- # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
21
- attr_accessor :unknown_json_fields
22
-
23
- def initialize
24
- clear
25
- end
26
-
27
- def clear
28
- @total_transactions_in_time_interval = {}
29
- @unknown_json_fields = {}
30
- end
31
-
32
- # @param [String] json_string The complete object in JSON format
33
- def from_json(json_string)
34
- raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
35
-
36
- from_hash(JSON.parse(json_string))
37
- end
38
-
39
- # @param [Hash] obj The complete object as a Ruby hash
40
- def from_hash(obj)
41
- raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
42
-
43
- obj.each do |k, v|
44
- case k
45
- when 'TotalTransactionsInTimeInterval'
46
- @total_transactions_in_time_interval = {}
47
- if v.nil?
48
- @total_transactions_in_time_interval = {}
49
- else
50
- v.each do |k1, v1|
51
- @total_transactions_in_time_interval[k1] = Comet::B2TransactionTotals.new
52
- @total_transactions_in_time_interval[k1].from_hash(v1)
53
- end
54
- end
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
- ret['TotalTransactionsInTimeInterval'] = @total_transactions_in_time_interval
65
- @unknown_json_fields.each do |k, v|
66
- ret[k] = v
67
- end
68
- ret
69
- end
70
-
71
- # @return [Hash] The complete object as a Ruby hash
72
- def to_h
73
- to_hash
74
- end
75
-
76
- # @return [String] The complete object as a JSON string
77
- def to_json(options = {})
78
- to_hash.to_json(options)
79
- end
80
- end
81
- end
@@ -1,93 +0,0 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- # frozen_string_literal: true
9
-
10
- require 'json'
11
-
12
- module Comet
13
-
14
- # B2TransactionTotals is a typed class wrapper around the underlying Comet Server API data structure.
15
- class B2TransactionTotals
16
-
17
- # @type [Number] class_a
18
- attr_accessor :class_a
19
-
20
- # @type [Number] class_b
21
- attr_accessor :class_b
22
-
23
- # @type [Number] class_c
24
- attr_accessor :class_c
25
-
26
- # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
27
- attr_accessor :unknown_json_fields
28
-
29
- def initialize
30
- clear
31
- end
32
-
33
- def clear
34
- @class_a = 0
35
- @class_b = 0
36
- @class_c = 0
37
- @unknown_json_fields = {}
38
- end
39
-
40
- # @param [String] json_string The complete object in JSON format
41
- def from_json(json_string)
42
- raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
43
-
44
- from_hash(JSON.parse(json_string))
45
- end
46
-
47
- # @param [Hash] obj The complete object as a Ruby hash
48
- def from_hash(obj)
49
- raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
50
-
51
- obj.each do |k, v|
52
- case k
53
- when 'ClassA'
54
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
55
-
56
- @class_a = v
57
- when 'ClassB'
58
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
59
-
60
- @class_b = v
61
- when 'ClassC'
62
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
63
-
64
- @class_c = v
65
- else
66
- @unknown_json_fields[k] = v
67
- end
68
- end
69
- end
70
-
71
- # @return [Hash] The complete object as a Ruby hash
72
- def to_hash
73
- ret = {}
74
- ret['ClassA'] = @class_a
75
- ret['ClassB'] = @class_b
76
- ret['ClassC'] = @class_c
77
- @unknown_json_fields.each do |k, v|
78
- ret[k] = v
79
- end
80
- ret
81
- end
82
-
83
- # @return [Hash] The complete object as a Ruby hash
84
- def to_h
85
- to_hash
86
- end
87
-
88
- # @return [String] The complete object as a JSON string
89
- def to_json(options = {})
90
- to_hash.to_json(options)
91
- end
92
- end
93
- end
@@ -1,99 +0,0 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- # frozen_string_literal: true
9
-
10
- require 'json'
11
-
12
- module Comet
13
-
14
- # B2VirtualStorageRoleSettings is a typed class wrapper around the underlying Comet Server API data structure.
15
- class B2VirtualStorageRoleSettings
16
-
17
- # @type [String] master_bucket
18
- attr_accessor :master_bucket
19
-
20
- # @type [String] key_id
21
- attr_accessor :key_id
22
-
23
- # @type [String] app_key
24
- attr_accessor :app_key
25
-
26
- # @type [Boolean] hide_deleted_files
27
- attr_accessor :hide_deleted_files
28
-
29
- # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
30
- attr_accessor :unknown_json_fields
31
-
32
- def initialize
33
- clear
34
- end
35
-
36
- def clear
37
- @master_bucket = ''
38
- @key_id = ''
39
- @app_key = ''
40
- @unknown_json_fields = {}
41
- end
42
-
43
- # @param [String] json_string The complete object in JSON format
44
- def from_json(json_string)
45
- raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
46
-
47
- from_hash(JSON.parse(json_string))
48
- end
49
-
50
- # @param [Hash] obj The complete object as a Ruby hash
51
- def from_hash(obj)
52
- raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
53
-
54
- obj.each do |k, v|
55
- case k
56
- when 'MasterBucket'
57
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
58
-
59
- @master_bucket = v
60
- when 'KeyID'
61
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
62
-
63
- @key_id = v
64
- when 'AppKey'
65
- raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
66
-
67
- @app_key = v
68
- when 'HideDeletedFiles'
69
- @hide_deleted_files = v
70
- else
71
- @unknown_json_fields[k] = v
72
- end
73
- end
74
- end
75
-
76
- # @return [Hash] The complete object as a Ruby hash
77
- def to_hash
78
- ret = {}
79
- ret['MasterBucket'] = @master_bucket
80
- ret['KeyID'] = @key_id
81
- ret['AppKey'] = @app_key
82
- ret['HideDeletedFiles'] = @hide_deleted_files
83
- @unknown_json_fields.each do |k, v|
84
- ret[k] = v
85
- end
86
- ret
87
- end
88
-
89
- # @return [Hash] The complete object as a Ruby hash
90
- def to_h
91
- to_hash
92
- end
93
-
94
- # @return [String] The complete object as a JSON string
95
- def to_json(options = {})
96
- to_hash.to_json(options)
97
- end
98
- end
99
- end
@@ -1,117 +0,0 @@
1
- #!/usr/bin/env ruby --enable-frozen-string-literal
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
- # frozen_string_literal: true
9
-
10
- require 'json'
11
-
12
- module Comet
13
-
14
- # BackupJobAdvancedOptions is a typed class wrapper around the underlying Comet Server API data structure.
15
- class BackupJobAdvancedOptions
16
-
17
- # @type [Boolean] skip_already_running
18
- attr_accessor :skip_already_running
19
-
20
- # @type [Number] stop_after
21
- attr_accessor :stop_after
22
-
23
- # @type [Number] limit_vault_speed_bps
24
- attr_accessor :limit_vault_speed_bps
25
-
26
- # @type [Boolean] reduce_disk_concurrency
27
- attr_accessor :reduce_disk_concurrency
28
-
29
- # @type [Boolean] use_on_disk_indexes
30
- attr_accessor :use_on_disk_indexes
31
-
32
- # @type [Boolean] allow_zero_files_success
33
- attr_accessor :allow_zero_files_success
34
-
35
- # @type [Number] auto_retention_level
36
- attr_accessor :auto_retention_level
37
-
38
- # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
39
- attr_accessor :unknown_json_fields
40
-
41
- def initialize
42
- clear
43
- end
44
-
45
- def clear
46
- @stop_after = 0
47
- @limit_vault_speed_bps = 0
48
- @auto_retention_level = 0
49
- @unknown_json_fields = {}
50
- end
51
-
52
- # @param [String] json_string The complete object in JSON format
53
- def from_json(json_string)
54
- raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
55
-
56
- from_hash(JSON.parse(json_string))
57
- end
58
-
59
- # @param [Hash] obj The complete object as a Ruby hash
60
- def from_hash(obj)
61
- raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
62
-
63
- obj.each do |k, v|
64
- case k
65
- when 'SkipAlreadyRunning'
66
- @skip_already_running = v
67
- when 'StopAfter'
68
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
69
-
70
- @stop_after = v
71
- when 'LimitVaultSpeedBps'
72
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
73
-
74
- @limit_vault_speed_bps = v
75
- when 'ReduceDiskConcurrency'
76
- @reduce_disk_concurrency = v
77
- when 'UseOnDiskIndexes'
78
- @use_on_disk_indexes = v
79
- when 'AllowZeroFilesSuccess'
80
- @allow_zero_files_success = v
81
- when 'AutoRetentionLevel'
82
- raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
83
-
84
- @auto_retention_level = v
85
- else
86
- @unknown_json_fields[k] = v
87
- end
88
- end
89
- end
90
-
91
- # @return [Hash] The complete object as a Ruby hash
92
- def to_hash
93
- ret = {}
94
- ret['SkipAlreadyRunning'] = @skip_already_running
95
- ret['StopAfter'] = @stop_after
96
- ret['LimitVaultSpeedBps'] = @limit_vault_speed_bps
97
- ret['ReduceDiskConcurrency'] = @reduce_disk_concurrency
98
- ret['UseOnDiskIndexes'] = @use_on_disk_indexes
99
- ret['AllowZeroFilesSuccess'] = @allow_zero_files_success
100
- ret['AutoRetentionLevel'] = @auto_retention_level
101
- @unknown_json_fields.each do |k, v|
102
- ret[k] = v
103
- end
104
- ret
105
- end
106
-
107
- # @return [Hash] The complete object as a Ruby hash
108
- def to_h
109
- to_hash
110
- end
111
-
112
- # @return [String] The complete object as a JSON string
113
- def to_json(options = {})
114
- to_hash.to_json(options)
115
- end
116
- end
117
- end