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,77 @@
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
+ # SpannedDestinationLocation is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SpannedDestinationLocation
16
+
17
+ # @type [Array<Comet::DestinationLocation>] span_targets
18
+ attr_accessor :span_targets
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
+ @span_targets = []
25
+ @unknown_json_fields = {}
26
+ end
27
+
28
+ # @param [String] json_string The complete object in JSON format
29
+ def from_json(json_string)
30
+ raise TypeError 'expected string' unless json_string.is_a? String
31
+
32
+ from_hash(JSON.parse(json_string))
33
+ end
34
+
35
+ # @param [Hash] obj The complete object as a Ruby hash
36
+ def from_hash(obj)
37
+ raise TypeError 'expected hash' unless obj.is_a? Hash
38
+
39
+ obj.each do |k, v|
40
+ case k
41
+ when 'SpanTargets'
42
+ if v.nil?
43
+ @span_targets = []
44
+ else
45
+ @span_targets = Array.new(v.length)
46
+ v.each_with_index do |v1, i1|
47
+ @span_targets[i1] = Comet::DestinationLocation.new
48
+ @span_targets[i1].from_hash(v1)
49
+ end
50
+ end
51
+ else
52
+ @unknown_json_fields[k] = v
53
+ end
54
+ end
55
+ end
56
+
57
+ # @return [Hash] The complete object as a Ruby hash
58
+ def to_hash
59
+ ret = {}
60
+ ret['SpanTargets'] = @span_targets
61
+ @unknown_json_fields.each do |k, v|
62
+ ret[k] = v
63
+ end
64
+ ret
65
+ end
66
+
67
+ # @return [Hash] The complete object as a Ruby hash
68
+ def to_h
69
+ to_hash
70
+ end
71
+
72
+ # @return [String] The complete object as a JSON string
73
+ def to_json(options = {})
74
+ to_hash.to_json(options)
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,77 @@
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
+ # SpannedStorageExtraInfo is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SpannedStorageExtraInfo
16
+
17
+ # @type [Array<Comet::StorageFreeSpaceInfo>] targets
18
+ attr_accessor :targets
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
+ @targets = []
25
+ @unknown_json_fields = {}
26
+ end
27
+
28
+ # @param [String] json_string The complete object in JSON format
29
+ def from_json(json_string)
30
+ raise TypeError 'expected string' unless json_string.is_a? String
31
+
32
+ from_hash(JSON.parse(json_string))
33
+ end
34
+
35
+ # @param [Hash] obj The complete object as a Ruby hash
36
+ def from_hash(obj)
37
+ raise TypeError 'expected hash' unless obj.is_a? Hash
38
+
39
+ obj.each do |k, v|
40
+ case k
41
+ when 'Targets'
42
+ if v.nil?
43
+ @targets = []
44
+ else
45
+ @targets = Array.new(v.length)
46
+ v.each_with_index do |v1, i1|
47
+ @targets[i1] = Comet::StorageFreeSpaceInfo.new
48
+ @targets[i1].from_hash(v1)
49
+ end
50
+ end
51
+ else
52
+ @unknown_json_fields[k] = v
53
+ end
54
+ end
55
+ end
56
+
57
+ # @return [Hash] The complete object as a Ruby hash
58
+ def to_hash
59
+ ret = {}
60
+ ret['Targets'] = @targets
61
+ @unknown_json_fields.each do |k, v|
62
+ ret[k] = v
63
+ end
64
+ ret
65
+ end
66
+
67
+ # @return [Hash] The complete object as a Ruby hash
68
+ def to_h
69
+ to_hash
70
+ end
71
+
72
+ # @return [String] The complete object as a JSON string
73
+ def to_json(options = {})
74
+ to_hash.to_json(options)
75
+ end
76
+ end
77
+ end
@@ -0,0 +1,114 @@
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
+ # SSHConnection is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SSHConnection
16
+
17
+ # @type [String] sshserver
18
+ attr_accessor :sshserver
19
+
20
+ # @type [String] sshusername
21
+ attr_accessor :sshusername
22
+
23
+ # @type [Number] sshauth_mode
24
+ attr_accessor :sshauth_mode
25
+
26
+ # @type [String] sshpassword
27
+ attr_accessor :sshpassword
28
+
29
+ # @type [String] sshprivate_key
30
+ attr_accessor :sshprivate_key
31
+
32
+ # @type [Boolean] sshcustom_auth__use_known_hosts_file
33
+ attr_accessor :sshcustom_auth__use_known_hosts_file
34
+
35
+ # @type [String] sshcustom_auth__known_hosts_file
36
+ attr_accessor :sshcustom_auth__known_hosts_file
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
+ @unknown_json_fields = {}
43
+ end
44
+
45
+ # @param [String] json_string The complete object in JSON format
46
+ def from_json(json_string)
47
+ raise TypeError 'expected string' unless json_string.is_a? String
48
+
49
+ from_hash(JSON.parse(json_string))
50
+ end
51
+
52
+ # @param [Hash] obj The complete object as a Ruby hash
53
+ def from_hash(obj)
54
+ raise TypeError 'expected hash' unless obj.is_a? Hash
55
+
56
+ obj.each do |k, v|
57
+ case k
58
+ when 'SSHServer'
59
+ raise TypeError 'expected string' unless v.is_a? String
60
+
61
+ @sshserver = v
62
+ when 'SSHUsername'
63
+ raise TypeError 'expected string' unless v.is_a? String
64
+
65
+ @sshusername = v
66
+ when 'SSHAuthMode'
67
+ @sshauth_mode = v
68
+ when 'SSHPassword'
69
+ raise TypeError 'expected string' unless v.is_a? String
70
+
71
+ @sshpassword = v
72
+ when 'SSHPrivateKey'
73
+ raise TypeError 'expected string' unless v.is_a? String
74
+
75
+ @sshprivate_key = v
76
+ when 'SSHCustomAuth_UseKnownHostsFile'
77
+ @sshcustom_auth__use_known_hosts_file = v
78
+ when 'SSHCustomAuth_KnownHostsFile'
79
+ raise TypeError 'expected string' unless v.is_a? String
80
+
81
+ @sshcustom_auth__known_hosts_file = v
82
+ else
83
+ @unknown_json_fields[k] = v
84
+ end
85
+ end
86
+ end
87
+
88
+ # @return [Hash] The complete object as a Ruby hash
89
+ def to_hash
90
+ ret = {}
91
+ ret['SSHServer'] = @sshserver
92
+ ret['SSHUsername'] = @sshusername
93
+ ret['SSHAuthMode'] = @sshauth_mode
94
+ ret['SSHPassword'] = @sshpassword
95
+ ret['SSHPrivateKey'] = @sshprivate_key
96
+ ret['SSHCustomAuth_UseKnownHostsFile'] = @sshcustom_auth__use_known_hosts_file
97
+ ret['SSHCustomAuth_KnownHostsFile'] = @sshcustom_auth__known_hosts_file
98
+ @unknown_json_fields.each do |k, v|
99
+ ret[k] = v
100
+ end
101
+ ret
102
+ end
103
+
104
+ # @return [Hash] The complete object as a Ruby hash
105
+ def to_h
106
+ to_hash
107
+ end
108
+
109
+ # @return [String] The complete object as a JSON string
110
+ def to_json(options = {})
111
+ to_hash.to_json(options)
112
+ end
113
+ end
114
+ end
@@ -0,0 +1,86 @@
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
+ # StatResult is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class StatResult
16
+
17
+ # @type [Number] buckets
18
+ attr_accessor :buckets
19
+
20
+ # @type [Number] users
21
+ attr_accessor :users
22
+
23
+ # @type [Number] devices
24
+ attr_accessor :devices
25
+
26
+ # @type [Number] boosters
27
+ attr_accessor :boosters
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
+ @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 'expected string' 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 'expected hash' unless obj.is_a? Hash
46
+
47
+ obj.each do |k, v|
48
+ case k
49
+ when 'Buckets'
50
+ @buckets = v
51
+ when 'Users'
52
+ @users = v
53
+ when 'Devices'
54
+ @devices = v
55
+ when 'Boosters'
56
+ @boosters = 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['Buckets'] = @buckets
67
+ ret['Users'] = @users
68
+ ret['Devices'] = @devices
69
+ ret['Boosters'] = @boosters
70
+ @unknown_json_fields.each do |k, v|
71
+ ret[k] = v
72
+ end
73
+ ret
74
+ end
75
+
76
+ # @return [Hash] The complete object as a Ruby hash
77
+ def to_h
78
+ to_hash
79
+ end
80
+
81
+ # @return [String] The complete object as a JSON string
82
+ def to_json(options = {})
83
+ to_hash.to_json(options)
84
+ end
85
+ end
86
+ end
@@ -0,0 +1,98 @@
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
+ # StorageFreeSpaceInfo is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class StorageFreeSpaceInfo
16
+
17
+ # @type [Boolean] unlimited
18
+ attr_accessor :unlimited
19
+
20
+ # @type [Number] used_percent
21
+ attr_accessor :used_percent
22
+
23
+ # @type [Number] available_bytes
24
+ attr_accessor :available_bytes
25
+
26
+ # @type [Comet::SpannedStorageExtraInfo] spanned
27
+ attr_accessor :spanned
28
+
29
+ # @type [Comet::B2StorageExtraInfo] b2
30
+ attr_accessor :b2
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
+ @unknown_json_fields = {}
37
+ end
38
+
39
+ # @param [String] json_string The complete object in JSON format
40
+ def from_json(json_string)
41
+ raise TypeError 'expected string' unless json_string.is_a? String
42
+
43
+ from_hash(JSON.parse(json_string))
44
+ end
45
+
46
+ # @param [Hash] obj The complete object as a Ruby hash
47
+ def from_hash(obj)
48
+ raise TypeError 'expected hash' unless obj.is_a? Hash
49
+
50
+ obj.each do |k, v|
51
+ case k
52
+ when 'Unlimited'
53
+ @unlimited = v
54
+ when 'UsedPercent'
55
+ @used_percent = v
56
+ when 'AvailableBytes'
57
+ @available_bytes = v
58
+ when 'Spanned'
59
+ @spanned = Comet::SpannedStorageExtraInfo.new
60
+ @spanned.from_hash(v)
61
+ when 'B2'
62
+ @b2 = Comet::B2StorageExtraInfo.new
63
+ @b2.from_hash(v)
64
+ else
65
+ @unknown_json_fields[k] = v
66
+ end
67
+ end
68
+ end
69
+
70
+ # @return [Hash] The complete object as a Ruby hash
71
+ def to_hash
72
+ ret = {}
73
+ ret['Unlimited'] = @unlimited
74
+ ret['UsedPercent'] = @used_percent
75
+ ret['AvailableBytes'] = @available_bytes
76
+ unless @spanned.nil?
77
+ ret['Spanned'] = @spanned
78
+ end
79
+ unless @b2.nil?
80
+ ret['B2'] = @b2
81
+ end
82
+ @unknown_json_fields.each do |k, v|
83
+ ret[k] = v
84
+ end
85
+ ret
86
+ end
87
+
88
+ # @return [Hash] The complete object as a Ruby hash
89
+ def to_h
90
+ to_hash
91
+ end
92
+
93
+ # @return [String] The complete object as a JSON string
94
+ def to_json(options = {})
95
+ to_hash.to_json(options)
96
+ end
97
+ end
98
+ end