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,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
+ # ConstellationStats is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class ConstellationStats
16
+
17
+ # @type [Number] last_check_start
18
+ attr_accessor :last_check_start
19
+
20
+ # @type [Number] total_checks_started
21
+ attr_accessor :total_checks_started
22
+
23
+ # @type [Number] total_buckets_deleted
24
+ attr_accessor :total_buckets_deleted
25
+
26
+ # @type [Number] checks_currently_active
27
+ attr_accessor :checks_currently_active
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 'LastCheckStart'
50
+ @last_check_start = v
51
+ when 'TotalChecksStarted'
52
+ @total_checks_started = v
53
+ when 'TotalBucketsDeleted'
54
+ @total_buckets_deleted = v
55
+ when 'ChecksCurrentlyActive'
56
+ @checks_currently_active = 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['LastCheckStart'] = @last_check_start
67
+ ret['TotalChecksStarted'] = @total_checks_started
68
+ ret['TotalBucketsDeleted'] = @total_buckets_deleted
69
+ ret['ChecksCurrentlyActive'] = @checks_currently_active
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,109 @@
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
+ # ConstellationStatusAPIResponse is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class ConstellationStatusAPIResponse
16
+
17
+ # @type [Boolean] deletion_enabled
18
+ attr_accessor :deletion_enabled
19
+
20
+ # @type [Array<String>] targets
21
+ attr_accessor :targets
22
+
23
+ # @type [Array<String>] target_names
24
+ attr_accessor :target_names
25
+
26
+ # @type [Comet::ConstellationStats] stats
27
+ attr_accessor :stats
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
+ @targets = []
34
+ @target_names = []
35
+ @unknown_json_fields = {}
36
+ end
37
+
38
+ # @param [String] json_string The complete object in JSON format
39
+ def from_json(json_string)
40
+ raise TypeError 'expected string' unless json_string.is_a? String
41
+
42
+ from_hash(JSON.parse(json_string))
43
+ end
44
+
45
+ # @param [Hash] obj The complete object as a Ruby hash
46
+ def from_hash(obj)
47
+ raise TypeError 'expected hash' unless obj.is_a? Hash
48
+
49
+ obj.each do |k, v|
50
+ case k
51
+ when 'DeletionEnabled'
52
+ @deletion_enabled = v
53
+ when 'Targets'
54
+ if v.nil?
55
+ @targets = []
56
+ else
57
+ @targets = Array.new(v.length)
58
+ v.each_with_index do |v1, i1|
59
+ raise TypeError 'expected string' unless v1.is_a? String
60
+
61
+ @targets[i1] = v1
62
+ end
63
+ end
64
+ when 'TargetNames'
65
+ if v.nil?
66
+ @target_names = []
67
+ else
68
+ @target_names = Array.new(v.length)
69
+ v.each_with_index do |v1, i1|
70
+ raise TypeError 'expected string' unless v1.is_a? String
71
+
72
+ @target_names[i1] = v1
73
+ end
74
+ end
75
+ when 'Stats'
76
+ @stats = Comet::ConstellationStats.new
77
+ @stats.from_hash(v)
78
+ else
79
+ @unknown_json_fields[k] = v
80
+ end
81
+ end
82
+ end
83
+
84
+ # @return [Hash] The complete object as a Ruby hash
85
+ def to_hash
86
+ ret = {}
87
+ ret['DeletionEnabled'] = @deletion_enabled
88
+ ret['Targets'] = @targets
89
+ unless @target_names.nil?
90
+ ret['TargetNames'] = @target_names
91
+ end
92
+ ret['Stats'] = @stats
93
+ @unknown_json_fields.each do |k, v|
94
+ ret[k] = v
95
+ end
96
+ ret
97
+ end
98
+
99
+ # @return [Hash] The complete object as a Ruby hash
100
+ def to_h
101
+ to_hash
102
+ end
103
+
104
+ # @return [String] The complete object as a JSON string
105
+ def to_json(options = {})
106
+ to_hash.to_json(options)
107
+ end
108
+ end
109
+ end
@@ -0,0 +1,89 @@
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
+ # ContentMeasurement is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class ContentMeasurement
16
+
17
+ # @type [Number] measure_started
18
+ attr_accessor :measure_started
19
+
20
+ # @type [Number] measure_completed
21
+ attr_accessor :measure_completed
22
+
23
+ # @type [Array<Comet::ContentMeasurementComponent>] components
24
+ attr_accessor :components
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
+ @components = []
31
+ @unknown_json_fields = {}
32
+ end
33
+
34
+ # @param [String] json_string The complete object in JSON format
35
+ def from_json(json_string)
36
+ raise TypeError 'expected string' unless json_string.is_a? String
37
+
38
+ from_hash(JSON.parse(json_string))
39
+ end
40
+
41
+ # @param [Hash] obj The complete object as a Ruby hash
42
+ def from_hash(obj)
43
+ raise TypeError 'expected hash' unless obj.is_a? Hash
44
+
45
+ obj.each do |k, v|
46
+ case k
47
+ when 'MeasureStarted'
48
+ @measure_started = v
49
+ when 'MeasureCompleted'
50
+ @measure_completed = v
51
+ when 'Components'
52
+ if v.nil?
53
+ @components = []
54
+ else
55
+ @components = Array.new(v.length)
56
+ v.each_with_index do |v1, i1|
57
+ @components[i1] = Comet::ContentMeasurementComponent.new
58
+ @components[i1].from_hash(v1)
59
+ end
60
+ end
61
+ else
62
+ @unknown_json_fields[k] = v
63
+ end
64
+ end
65
+ end
66
+
67
+ # @return [Hash] The complete object as a Ruby hash
68
+ def to_hash
69
+ ret = {}
70
+ ret['MeasureStarted'] = @measure_started
71
+ ret['MeasureCompleted'] = @measure_completed
72
+ ret['Components'] = @components
73
+ @unknown_json_fields.each do |k, v|
74
+ ret[k] = v
75
+ end
76
+ ret
77
+ end
78
+
79
+ # @return [Hash] The complete object as a Ruby hash
80
+ def to_h
81
+ to_hash
82
+ end
83
+
84
+ # @return [String] The complete object as a JSON string
85
+ def to_json(options = {})
86
+ to_hash.to_json(options)
87
+ end
88
+ end
89
+ end
@@ -0,0 +1,84 @@
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
+ # ContentMeasurementComponent is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class ContentMeasurementComponent
16
+
17
+ # @type [Number] bytes
18
+ attr_accessor :bytes
19
+
20
+ # @type [Array<String>] used_by
21
+ attr_accessor :used_by
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
+ @used_by = []
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 'Bytes'
45
+ @bytes = v
46
+ when 'UsedBy'
47
+ if v.nil?
48
+ @used_by = []
49
+ else
50
+ @used_by = Array.new(v.length)
51
+ v.each_with_index do |v1, i1|
52
+ raise TypeError 'expected string' unless v1.is_a? String
53
+
54
+ @used_by[i1] = v1
55
+ end
56
+ end
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['Bytes'] = @bytes
67
+ ret['UsedBy'] = @used_by
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
@@ -0,0 +1,84 @@
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
+ # CreateGroupPolicyResponse is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class CreateGroupPolicyResponse
16
+
17
+ # @type [Number] status
18
+ attr_accessor :status
19
+
20
+ # @type [String] message
21
+ attr_accessor :message
22
+
23
+ # @type [String] policy_hash
24
+ attr_accessor :policy_hash
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
+ @unknown_json_fields = {}
31
+ end
32
+
33
+ # @param [String] json_string The complete object in JSON format
34
+ def from_json(json_string)
35
+ raise TypeError 'expected string' unless json_string.is_a? String
36
+
37
+ from_hash(JSON.parse(json_string))
38
+ end
39
+
40
+ # @param [Hash] obj The complete object as a Ruby hash
41
+ def from_hash(obj)
42
+ raise TypeError 'expected hash' unless obj.is_a? Hash
43
+
44
+ obj.each do |k, v|
45
+ case k
46
+ when 'Status'
47
+ @status = v
48
+ when 'Message'
49
+ raise TypeError 'expected string' unless v.is_a? String
50
+
51
+ @message = v
52
+ when 'PolicyHash'
53
+ raise TypeError 'expected string' unless v.is_a? String
54
+
55
+ @policy_hash = v
56
+ else
57
+ @unknown_json_fields[k] = v
58
+ end
59
+ end
60
+ end
61
+
62
+ # @return [Hash] The complete object as a Ruby hash
63
+ def to_hash
64
+ ret = {}
65
+ ret['Status'] = @status
66
+ ret['Message'] = @message
67
+ ret['PolicyHash'] = @policy_hash
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