comet_backup_ruby_sdk 0.2.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 (130) hide show
  1. checksums.yaml +7 -0
  2. data/.rubocop.yml +25 -0
  3. data/Gemfile +15 -0
  4. data/LICENSE +7 -0
  5. data/README.md +81 -0
  6. data/Rakefile +22 -0
  7. data/comet_backup_ruby_sdk.gemspec +35 -0
  8. data/lib/comet/api_response_error.rb +27 -0
  9. data/lib/comet/comet_server.rb +2926 -0
  10. data/lib/comet/definitions.rb +550 -0
  11. data/lib/comet/models/add_bucket_response_message.rb +92 -0
  12. data/lib/comet/models/admin_account_properties_response.rb +76 -0
  13. data/lib/comet/models/admin_resource_response.rb +84 -0
  14. data/lib/comet/models/admin_security_options.rb +139 -0
  15. data/lib/comet/models/admin_u2fregistration.rb +84 -0
  16. data/lib/comet/models/admin_user_permissions.rb +102 -0
  17. data/lib/comet/models/available_download.rb +84 -0
  18. data/lib/comet/models/azure_destination_location.rb +102 -0
  19. data/lib/comet/models/b2destination_location.rb +110 -0
  20. data/lib/comet/models/b2storage_extra_info.rb +77 -0
  21. data/lib/comet/models/b2transaction_totals.rb +80 -0
  22. data/lib/comet/models/backup_job_advanced_options.rb +98 -0
  23. data/lib/comet/models/backup_job_detail.rb +199 -0
  24. data/lib/comet/models/backup_job_progress.rb +92 -0
  25. data/lib/comet/models/backup_rule_config.rb +188 -0
  26. data/lib/comet/models/backup_rule_event_triggers.rb +78 -0
  27. data/lib/comet/models/branding_options.rb +283 -0
  28. data/lib/comet/models/branding_properties.rb +245 -0
  29. data/lib/comet/models/browse_disk_drives_response.rb +91 -0
  30. data/lib/comet/models/browse_edbresponse.rb +91 -0
  31. data/lib/comet/models/browse_hvresponse.rb +91 -0
  32. data/lib/comet/models/browse_vssresponse.rb +91 -0
  33. data/lib/comet/models/bucket_properties.rb +89 -0
  34. data/lib/comet/models/bucket_usage_info.rb +91 -0
  35. data/lib/comet/models/comet_apiresponse_message.rb +76 -0
  36. data/lib/comet/models/comet_destination_location.rb +86 -0
  37. data/lib/comet/models/constellation_check_report.rb +89 -0
  38. data/lib/comet/models/constellation_stats.rb +86 -0
  39. data/lib/comet/models/constellation_status_apiresponse.rb +109 -0
  40. data/lib/comet/models/content_measurement.rb +89 -0
  41. data/lib/comet/models/content_measurement_component.rb +84 -0
  42. data/lib/comet/models/create_group_policy_response.rb +84 -0
  43. data/lib/comet/models/default_email_report_policy.rb +83 -0
  44. data/lib/comet/models/destination_config.rb +465 -0
  45. data/lib/comet/models/destination_location.rb +365 -0
  46. data/lib/comet/models/destination_statistics.rb +102 -0
  47. data/lib/comet/models/device_config.rb +96 -0
  48. data/lib/comet/models/disk_drive.rb +153 -0
  49. data/lib/comet/models/dispatcher_admin_sources_response.rb +92 -0
  50. data/lib/comet/models/dispatcher_stored_objects_response.rb +91 -0
  51. data/lib/comet/models/dispatcher_vault_snapshots_response.rb +91 -0
  52. data/lib/comet/models/edbfile_info.rb +92 -0
  53. data/lib/comet/models/email_options.rb +140 -0
  54. data/lib/comet/models/email_report_config.rb +90 -0
  55. data/lib/comet/models/email_report_generated_preview.rb +100 -0
  56. data/lib/comet/models/extra_file_exclusion.rb +82 -0
  57. data/lib/comet/models/ftpdestination_location.rb +124 -0
  58. data/lib/comet/models/get_group_policy_response.rb +91 -0
  59. data/lib/comet/models/get_profile_and_hash_response_message.rb +91 -0
  60. data/lib/comet/models/get_profile_hash_response_message.rb +84 -0
  61. data/lib/comet/models/group_policy.rb +83 -0
  62. data/lib/comet/models/hyper_vmachine_info.rb +78 -0
  63. data/lib/comet/models/live_user_connection.rb +125 -0
  64. data/lib/comet/models/local_destination_location.rb +92 -0
  65. data/lib/comet/models/mac_oscode_sign_properties.rb +113 -0
  66. data/lib/comet/models/mongo_dbconnection.rb +211 -0
  67. data/lib/comet/models/new_bucket_detail.rb +78 -0
  68. data/lib/comet/models/news_entry.rb +76 -0
  69. data/lib/comet/models/osinfo.rb +92 -0
  70. data/lib/comet/models/partition.rb +148 -0
  71. data/lib/comet/models/private_branding_properties.rb +185 -0
  72. data/lib/comet/models/protected_item_engine_type_policy.rb +84 -0
  73. data/lib/comet/models/public_branding_properties.rb +122 -0
  74. data/lib/comet/models/remote_server_address.rb +135 -0
  75. data/lib/comet/models/remote_storage_option.rb +147 -0
  76. data/lib/comet/models/replicator_state_apiresponse.rb +138 -0
  77. data/lib/comet/models/request_storage_vault_response_message.rb +84 -0
  78. data/lib/comet/models/restore_job_advanced_options.rb +104 -0
  79. data/lib/comet/models/retention_policy.rb +83 -0
  80. data/lib/comet/models/retention_range.rb +110 -0
  81. data/lib/comet/models/s3destination_location.rb +114 -0
  82. data/lib/comet/models/schedule_config.rb +82 -0
  83. data/lib/comet/models/search_clause.rb +111 -0
  84. data/lib/comet/models/server_config_options_branding_fragment.rb +69 -0
  85. data/lib/comet/models/server_config_options_software_build_role_fragment.rb +69 -0
  86. data/lib/comet/models/server_meta_version_info.rb +208 -0
  87. data/lib/comet/models/session_key_regenerated_response.rb +92 -0
  88. data/lib/comet/models/sftpdestination_location.rb +122 -0
  89. data/lib/comet/models/size_measurement.rb +80 -0
  90. data/lib/comet/models/software_build_role_options.rb +74 -0
  91. data/lib/comet/models/software_update_news_response.rb +102 -0
  92. data/lib/comet/models/source_basic_info.rb +93 -0
  93. data/lib/comet/models/source_config.rb +172 -0
  94. data/lib/comet/models/source_statistics.rb +69 -0
  95. data/lib/comet/models/spanned_destination_location.rb +77 -0
  96. data/lib/comet/models/spanned_storage_extra_info.rb +77 -0
  97. data/lib/comet/models/sshconnection.rb +114 -0
  98. data/lib/comet/models/stat_result.rb +86 -0
  99. data/lib/comet/models/storage_free_space_info.rb +98 -0
  100. data/lib/comet/models/storage_vault_provider_policy.rb +82 -0
  101. data/lib/comet/models/stored_object.rb +130 -0
  102. data/lib/comet/models/streamable_event.rb +74 -0
  103. data/lib/comet/models/swift_destination_location.rb +192 -0
  104. data/lib/comet/models/test_response.rb +82 -0
  105. data/lib/comet/models/totp_regenerated_response.rb +100 -0
  106. data/lib/comet/models/u2fregister_request.rb +78 -0
  107. data/lib/comet/models/u2fregistered_key.rb +86 -0
  108. data/lib/comet/models/u2fregistration_challenge_response.rb +122 -0
  109. data/lib/comet/models/u2fsign_request.rb +101 -0
  110. data/lib/comet/models/u2fsign_response.rb +94 -0
  111. data/lib/comet/models/uninstall_config.rb +74 -0
  112. data/lib/comet/models/update_campaign_device_status.rb +68 -0
  113. data/lib/comet/models/update_campaign_options.rb +86 -0
  114. data/lib/comet/models/update_campaign_properties.rb +100 -0
  115. data/lib/comet/models/update_campaign_status.rb +115 -0
  116. data/lib/comet/models/update_campaign_status_device_entry.rb +84 -0
  117. data/lib/comet/models/user_custom_email_settings.rb +77 -0
  118. data/lib/comet/models/user_on_server.rb +76 -0
  119. data/lib/comet/models/user_policy.rb +304 -0
  120. data/lib/comet/models/user_profile_config.rb +300 -0
  121. data/lib/comet/models/user_profile_fragment.rb +70 -0
  122. data/lib/comet/models/vault_snapshot.rb +84 -0
  123. data/lib/comet/models/vsscomponent.rb +92 -0
  124. data/lib/comet/models/vsswriter_info.rb +85 -0
  125. data/lib/comet/models/web_interface_branding_properties.rb +100 -0
  126. data/lib/comet/models/webhook_option.rb +84 -0
  127. data/lib/comet/models/win_smbauth.rb +92 -0
  128. data/lib/comet/models/windows_code_sign_properties.rb +130 -0
  129. data/lib/comet_backup_ruby_sdk.rb +130 -0
  130. metadata +227 -0
@@ -0,0 +1,82 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2020 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
+ # StorageVaultProviderPolicy is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class StorageVaultProviderPolicy
16
+
17
+ # @type [Boolean] should_restrict_provider_list
18
+ attr_accessor :should_restrict_provider_list
19
+
20
+ # @type [Array<Number>] allowed_providers_when_restricted
21
+ attr_accessor :allowed_providers_when_restricted
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
+ @allowed_providers_when_restricted = []
28
+ @unknown_json_fields = {}
29
+ end
30
+
31
+ # @param [String] json_string The complete object in JSON format
32
+ def from_json(json_string)
33
+ raise TypeError 'expected string' unless json_string.is_a? String
34
+
35
+ from_hash(JSON.parse(json_string))
36
+ end
37
+
38
+ # @param [Hash] obj The complete object as a Ruby hash
39
+ def from_hash(obj)
40
+ raise TypeError 'expected hash' unless obj.is_a? Hash
41
+
42
+ obj.each do |k, v|
43
+ case k
44
+ when 'ShouldRestrictProviderList'
45
+ @should_restrict_provider_list = v
46
+ when 'AllowedProvidersWhenRestricted'
47
+ if v.nil?
48
+ @allowed_providers_when_restricted = []
49
+ else
50
+ @allowed_providers_when_restricted = Array.new(v.length)
51
+ v.each_with_index do |v1, i1|
52
+ @allowed_providers_when_restricted[i1] = 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['ShouldRestrictProviderList'] = @should_restrict_provider_list
65
+ ret['AllowedProvidersWhenRestricted'] = @allowed_providers_when_restricted
66
+ @unknown_json_fields.each do |k, v|
67
+ ret[k] = v
68
+ end
69
+ ret
70
+ end
71
+
72
+ # @return [Hash] The complete object as a Ruby hash
73
+ def to_h
74
+ to_hash
75
+ end
76
+
77
+ # @return [String] The complete object as a JSON string
78
+ def to_json(options = {})
79
+ to_hash.to_json(options)
80
+ end
81
+ end
82
+ end
@@ -0,0 +1,130 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2020 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
+ # StoredObject is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class StoredObject
16
+
17
+ # @type [String] name
18
+ attr_accessor :name
19
+
20
+ # @type [Number] modify_time
21
+ attr_accessor :modify_time
22
+
23
+ # @type [String] type
24
+ attr_accessor :type
25
+
26
+ # @type [String] subtree
27
+ attr_accessor :subtree
28
+
29
+ # @type [Number] size
30
+ attr_accessor :size
31
+
32
+ # @type [Boolean] recursive_count_known
33
+ attr_accessor :recursive_count_known
34
+
35
+ # @type [Number] recursive_files
36
+ attr_accessor :recursive_files
37
+
38
+ # @type [Number] recursive_bytes
39
+ attr_accessor :recursive_bytes
40
+
41
+ # @type [Number] recursive_folders
42
+ attr_accessor :recursive_folders
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
+ @unknown_json_fields = {}
49
+ end
50
+
51
+ # @param [String] json_string The complete object in JSON format
52
+ def from_json(json_string)
53
+ raise TypeError 'expected string' unless json_string.is_a? String
54
+
55
+ from_hash(JSON.parse(json_string))
56
+ end
57
+
58
+ # @param [Hash] obj The complete object as a Ruby hash
59
+ def from_hash(obj)
60
+ raise TypeError 'expected hash' unless obj.is_a? Hash
61
+
62
+ obj.each do |k, v|
63
+ case k
64
+ when 'name'
65
+ raise TypeError 'expected string' unless v.is_a? String
66
+
67
+ @name = v
68
+ when 'mtime'
69
+ @modify_time = v
70
+ when 'type'
71
+ raise TypeError 'expected string' unless v.is_a? String
72
+
73
+ @type = v
74
+ when 'subtree'
75
+ raise TypeError 'expected string' unless v.is_a? String
76
+
77
+ @subtree = v
78
+ when 'size'
79
+ @size = v
80
+ when 'r'
81
+ @recursive_count_known = v
82
+ when 'f'
83
+ @recursive_files = v
84
+ when 'b'
85
+ @recursive_bytes = v
86
+ when 'd'
87
+ @recursive_folders = v
88
+ else
89
+ @unknown_json_fields[k] = v
90
+ end
91
+ end
92
+ end
93
+
94
+ # @return [Hash] The complete object as a Ruby hash
95
+ def to_hash
96
+ ret = {}
97
+ ret['name'] = @name
98
+ ret['mtime'] = @modify_time
99
+ ret['type'] = @type
100
+ ret['subtree'] = @subtree
101
+ ret['size'] = @size
102
+ unless @recursive_count_known.nil?
103
+ ret['r'] = @recursive_count_known
104
+ end
105
+ unless @recursive_files.nil?
106
+ ret['f'] = @recursive_files
107
+ end
108
+ unless @recursive_bytes.nil?
109
+ ret['b'] = @recursive_bytes
110
+ end
111
+ unless @recursive_folders.nil?
112
+ ret['d'] = @recursive_folders
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
@@ -0,0 +1,74 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2020 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
+ # StreamableEvent is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class StreamableEvent
16
+
17
+ # @type [Number] type
18
+ attr_accessor :type
19
+
20
+ # @type [Object] data
21
+ attr_accessor :data
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
+ @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 'expected string' 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 'expected hash' unless obj.is_a? Hash
40
+
41
+ obj.each do |k, v|
42
+ case k
43
+ when 'Type'
44
+ @type = v
45
+ when 'Data'
46
+ @data = 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['Type'] = @type
57
+ ret['Data'] = @data
58
+ @unknown_json_fields.each do |k, v|
59
+ ret[k] = v
60
+ end
61
+ ret
62
+ end
63
+
64
+ # @return [Hash] The complete object as a Ruby hash
65
+ def to_h
66
+ to_hash
67
+ end
68
+
69
+ # @return [String] The complete object as a JSON string
70
+ def to_json(options = {})
71
+ to_hash.to_json(options)
72
+ end
73
+ end
74
+ end
@@ -0,0 +1,192 @@
1
+ #!/usr/bin/env ruby --enable-frozen-string-literal
2
+ #
3
+ # Copyright (c) 2020-2020 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
+ # SwiftDestinationLocation is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SwiftDestinationLocation
16
+
17
+ # @type [String] username
18
+ attr_accessor :username
19
+
20
+ # @type [String] apikey
21
+ attr_accessor :apikey
22
+
23
+ # @type [String] region
24
+ attr_accessor :region
25
+
26
+ # @type [String] auth_url
27
+ attr_accessor :auth_url
28
+
29
+ # @type [String] domain
30
+ attr_accessor :domain
31
+
32
+ # @type [String] tenant
33
+ attr_accessor :tenant
34
+
35
+ # @type [String] tenant_domain
36
+ attr_accessor :tenant_domain
37
+
38
+ # @type [String] tenant_id
39
+ attr_accessor :tenant_id
40
+
41
+ # @type [String] trust_id
42
+ attr_accessor :trust_id
43
+
44
+ # @type [String] auth_token
45
+ attr_accessor :auth_token
46
+
47
+ # @type [String] prefix
48
+ attr_accessor :prefix
49
+
50
+ # @type [String] container
51
+ attr_accessor :container
52
+
53
+ # @type [String] default_container_policy
54
+ attr_accessor :default_container_policy
55
+
56
+ # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
57
+ attr_accessor :unknown_json_fields
58
+
59
+ def initialize
60
+ @unknown_json_fields = {}
61
+ end
62
+
63
+ # @param [String] json_string The complete object in JSON format
64
+ def from_json(json_string)
65
+ raise TypeError 'expected string' unless json_string.is_a? String
66
+
67
+ from_hash(JSON.parse(json_string))
68
+ end
69
+
70
+ # @param [Hash] obj The complete object as a Ruby hash
71
+ def from_hash(obj)
72
+ raise TypeError 'expected hash' unless obj.is_a? Hash
73
+
74
+ obj.each do |k, v|
75
+ case k
76
+ when 'Username'
77
+ raise TypeError 'expected string' unless v.is_a? String
78
+
79
+ @username = v
80
+ when 'APIKey'
81
+ raise TypeError 'expected string' unless v.is_a? String
82
+
83
+ @apikey = v
84
+ when 'Region'
85
+ raise TypeError 'expected string' unless v.is_a? String
86
+
87
+ @region = v
88
+ when 'AuthURL'
89
+ raise TypeError 'expected string' unless v.is_a? String
90
+
91
+ @auth_url = v
92
+ when 'Domain'
93
+ raise TypeError 'expected string' unless v.is_a? String
94
+
95
+ @domain = v
96
+ when 'Tenant'
97
+ raise TypeError 'expected string' unless v.is_a? String
98
+
99
+ @tenant = v
100
+ when 'TenantDomain'
101
+ raise TypeError 'expected string' unless v.is_a? String
102
+
103
+ @tenant_domain = v
104
+ when 'TenantID'
105
+ raise TypeError 'expected string' unless v.is_a? String
106
+
107
+ @tenant_id = v
108
+ when 'TrustID'
109
+ raise TypeError 'expected string' unless v.is_a? String
110
+
111
+ @trust_id = v
112
+ when 'AuthToken'
113
+ raise TypeError 'expected string' unless v.is_a? String
114
+
115
+ @auth_token = v
116
+ when 'Prefix'
117
+ raise TypeError 'expected string' unless v.is_a? String
118
+
119
+ @prefix = v
120
+ when 'Container'
121
+ raise TypeError 'expected string' unless v.is_a? String
122
+
123
+ @container = v
124
+ when 'DefaultContainerPolicy'
125
+ raise TypeError 'expected string' unless v.is_a? String
126
+
127
+ @default_container_policy = v
128
+ else
129
+ @unknown_json_fields[k] = v
130
+ end
131
+ end
132
+ end
133
+
134
+ # @return [Hash] The complete object as a Ruby hash
135
+ def to_hash
136
+ ret = {}
137
+ unless @username.nil?
138
+ ret['Username'] = @username
139
+ end
140
+ unless @apikey.nil?
141
+ ret['APIKey'] = @apikey
142
+ end
143
+ unless @region.nil?
144
+ ret['Region'] = @region
145
+ end
146
+ unless @auth_url.nil?
147
+ ret['AuthURL'] = @auth_url
148
+ end
149
+ unless @domain.nil?
150
+ ret['Domain'] = @domain
151
+ end
152
+ unless @tenant.nil?
153
+ ret['Tenant'] = @tenant
154
+ end
155
+ unless @tenant_domain.nil?
156
+ ret['TenantDomain'] = @tenant_domain
157
+ end
158
+ unless @tenant_id.nil?
159
+ ret['TenantID'] = @tenant_id
160
+ end
161
+ unless @trust_id.nil?
162
+ ret['TrustID'] = @trust_id
163
+ end
164
+ unless @auth_token.nil?
165
+ ret['AuthToken'] = @auth_token
166
+ end
167
+ unless @prefix.nil?
168
+ ret['Prefix'] = @prefix
169
+ end
170
+ unless @container.nil?
171
+ ret['Container'] = @container
172
+ end
173
+ unless @default_container_policy.nil?
174
+ ret['DefaultContainerPolicy'] = @default_container_policy
175
+ end
176
+ @unknown_json_fields.each do |k, v|
177
+ ret[k] = v
178
+ end
179
+ ret
180
+ end
181
+
182
+ # @return [Hash] The complete object as a Ruby hash
183
+ def to_h
184
+ to_hash
185
+ end
186
+
187
+ # @return [String] The complete object as a JSON string
188
+ def to_json(options = {})
189
+ to_hash.to_json(options)
190
+ end
191
+ end
192
+ end