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,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
+ # S3DestinationLocation is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class S3DestinationLocation
16
+
17
+ # @type [String] s3server
18
+ attr_accessor :s3server
19
+
20
+ # @type [Boolean] s3uses_tls
21
+ attr_accessor :s3uses_tls
22
+
23
+ # @type [String] s3access_key
24
+ attr_accessor :s3access_key
25
+
26
+ # @type [String] s3secret_key
27
+ attr_accessor :s3secret_key
28
+
29
+ # @type [String] s3bucket_name
30
+ attr_accessor :s3bucket_name
31
+
32
+ # @type [String] s3subdir
33
+ attr_accessor :s3subdir
34
+
35
+ # @type [Boolean] s3uses_v2signing
36
+ attr_accessor :s3uses_v2signing
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 'S3Server'
59
+ raise TypeError 'expected string' unless v.is_a? String
60
+
61
+ @s3server = v
62
+ when 'S3UsesTLS'
63
+ @s3uses_tls = v
64
+ when 'S3AccessKey'
65
+ raise TypeError 'expected string' unless v.is_a? String
66
+
67
+ @s3access_key = v
68
+ when 'S3SecretKey'
69
+ raise TypeError 'expected string' unless v.is_a? String
70
+
71
+ @s3secret_key = v
72
+ when 'S3BucketName'
73
+ raise TypeError 'expected string' unless v.is_a? String
74
+
75
+ @s3bucket_name = v
76
+ when 'S3Subdir'
77
+ raise TypeError 'expected string' unless v.is_a? String
78
+
79
+ @s3subdir = v
80
+ when 'S3UsesV2Signing'
81
+ @s3uses_v2signing = 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['S3Server'] = @s3server
92
+ ret['S3UsesTLS'] = @s3uses_tls
93
+ ret['S3AccessKey'] = @s3access_key
94
+ ret['S3SecretKey'] = @s3secret_key
95
+ ret['S3BucketName'] = @s3bucket_name
96
+ ret['S3Subdir'] = @s3subdir
97
+ ret['S3UsesV2Signing'] = @s3uses_v2signing
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,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
+ # ScheduleConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class ScheduleConfig
16
+
17
+ # @type [Number] frequency_type
18
+ attr_accessor :frequency_type
19
+
20
+ # @type [Number] seconds_past
21
+ attr_accessor :seconds_past
22
+
23
+ # @type [Number] offset
24
+ attr_accessor :offset
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 'FrequencyType'
47
+ @frequency_type = v
48
+ when 'SecondsPast'
49
+ @seconds_past = v
50
+ when 'Offset'
51
+ @offset = v
52
+ else
53
+ @unknown_json_fields[k] = v
54
+ end
55
+ end
56
+ end
57
+
58
+ # @return [Hash] The complete object as a Ruby hash
59
+ def to_hash
60
+ ret = {}
61
+ ret['FrequencyType'] = @frequency_type
62
+ ret['SecondsPast'] = @seconds_past
63
+ unless @offset.nil?
64
+ ret['Offset'] = @offset
65
+ end
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,111 @@
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
+ # SearchClause is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class SearchClause
16
+
17
+ # @type [String] clause_type
18
+ attr_accessor :clause_type
19
+
20
+ # @type [String] rule_field
21
+ attr_accessor :rule_field
22
+
23
+ # @type [String] rule_operator
24
+ attr_accessor :rule_operator
25
+
26
+ # @type [String] rule_value
27
+ attr_accessor :rule_value
28
+
29
+ # @type [Array<Comet::SearchClause>] clause_children
30
+ attr_accessor :clause_children
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
+ @clause_children = []
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 'expected string' 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 'expected hash' unless obj.is_a? Hash
50
+
51
+ obj.each do |k, v|
52
+ case k
53
+ when 'ClauseType'
54
+ raise TypeError 'expected string' unless v.is_a? String
55
+
56
+ @clause_type = v
57
+ when 'RuleField'
58
+ raise TypeError 'expected string' unless v.is_a? String
59
+
60
+ @rule_field = v
61
+ when 'RuleOperator'
62
+ raise TypeError 'expected string' unless v.is_a? String
63
+
64
+ @rule_operator = v
65
+ when 'RuleValue'
66
+ raise TypeError 'expected string' unless v.is_a? String
67
+
68
+ @rule_value = v
69
+ when 'ClauseChildren'
70
+ if v.nil?
71
+ @clause_children = []
72
+ else
73
+ @clause_children = Array.new(v.length)
74
+ v.each_with_index do |v1, i1|
75
+ @clause_children[i1] = Comet::SearchClause.new
76
+ @clause_children[i1].from_hash(v1)
77
+ end
78
+ end
79
+ else
80
+ @unknown_json_fields[k] = v
81
+ end
82
+ end
83
+ end
84
+
85
+ # @return [Hash] The complete object as a Ruby hash
86
+ def to_hash
87
+ ret = {}
88
+ ret['ClauseType'] = @clause_type
89
+ ret['RuleField'] = @rule_field
90
+ ret['RuleOperator'] = @rule_operator
91
+ ret['RuleValue'] = @rule_value
92
+ unless @clause_children.nil?
93
+ ret['ClauseChildren'] = @clause_children
94
+ end
95
+ @unknown_json_fields.each do |k, v|
96
+ ret[k] = v
97
+ end
98
+ ret
99
+ end
100
+
101
+ # @return [Hash] The complete object as a Ruby hash
102
+ def to_h
103
+ to_hash
104
+ end
105
+
106
+ # @return [String] The complete object as a JSON string
107
+ def to_json(options = {})
108
+ to_hash.to_json(options)
109
+ end
110
+ end
111
+ end
@@ -0,0 +1,69 @@
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
+ # ServerConfigOptionsBrandingFragment is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class ServerConfigOptionsBrandingFragment
16
+
17
+ # @type [Comet::BrandingOptions] branding
18
+ attr_accessor :branding
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
+ @unknown_json_fields = {}
25
+ end
26
+
27
+ # @param [String] json_string The complete object in JSON format
28
+ def from_json(json_string)
29
+ raise TypeError 'expected string' unless json_string.is_a? String
30
+
31
+ from_hash(JSON.parse(json_string))
32
+ end
33
+
34
+ # @param [Hash] obj The complete object as a Ruby hash
35
+ def from_hash(obj)
36
+ raise TypeError 'expected hash' unless obj.is_a? Hash
37
+
38
+ obj.each do |k, v|
39
+ case k
40
+ when 'Branding'
41
+ @branding = Comet::BrandingOptions.new
42
+ @branding.from_hash(v)
43
+ else
44
+ @unknown_json_fields[k] = v
45
+ end
46
+ end
47
+ end
48
+
49
+ # @return [Hash] The complete object as a Ruby hash
50
+ def to_hash
51
+ ret = {}
52
+ ret['Branding'] = @branding
53
+ @unknown_json_fields.each do |k, v|
54
+ ret[k] = v
55
+ end
56
+ ret
57
+ end
58
+
59
+ # @return [Hash] The complete object as a Ruby hash
60
+ def to_h
61
+ to_hash
62
+ end
63
+
64
+ # @return [String] The complete object as a JSON string
65
+ def to_json(options = {})
66
+ to_hash.to_json(options)
67
+ end
68
+ end
69
+ end
@@ -0,0 +1,69 @@
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
+ # ServerConfigOptionsSoftwareBuildRoleFragment is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class ServerConfigOptionsSoftwareBuildRoleFragment
16
+
17
+ # @type [Comet::SoftwareBuildRoleOptions] software_build_role
18
+ attr_accessor :software_build_role
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
+ @unknown_json_fields = {}
25
+ end
26
+
27
+ # @param [String] json_string The complete object in JSON format
28
+ def from_json(json_string)
29
+ raise TypeError 'expected string' unless json_string.is_a? String
30
+
31
+ from_hash(JSON.parse(json_string))
32
+ end
33
+
34
+ # @param [Hash] obj The complete object as a Ruby hash
35
+ def from_hash(obj)
36
+ raise TypeError 'expected hash' unless obj.is_a? Hash
37
+
38
+ obj.each do |k, v|
39
+ case k
40
+ when 'SoftwareBuildRole'
41
+ @software_build_role = Comet::SoftwareBuildRoleOptions.new
42
+ @software_build_role.from_hash(v)
43
+ else
44
+ @unknown_json_fields[k] = v
45
+ end
46
+ end
47
+ end
48
+
49
+ # @return [Hash] The complete object as a Ruby hash
50
+ def to_hash
51
+ ret = {}
52
+ ret['SoftwareBuildRole'] = @software_build_role
53
+ @unknown_json_fields.each do |k, v|
54
+ ret[k] = v
55
+ end
56
+ ret
57
+ end
58
+
59
+ # @return [Hash] The complete object as a Ruby hash
60
+ def to_h
61
+ to_hash
62
+ end
63
+
64
+ # @return [String] The complete object as a JSON string
65
+ def to_json(options = {})
66
+ to_hash.to_json(options)
67
+ end
68
+ end
69
+ end