comet_backup_ruby_sdk 1.12.0 → 1.15.0

Sign up to get free protection for your applications and to get access to all the features.
@@ -12,6 +12,9 @@ require 'json'
12
12
  module Comet
13
13
 
14
14
  # UpdateCampaignOptions is a typed class wrapper around the underlying Comet Server API data structure.
15
+ # This data structure describes which devices should receive a remote software upgrade. Both the
16
+ # target version criteria (UpgradeOlder/ReinstallCurrentVer/DowngradeNewer) and the target device
17
+ # criteria (ApplyDeviceFilter/DeviceFilter) must be met in order for the remote upgrade to be applied.
15
18
  class UpdateCampaignOptions
16
19
 
17
20
  # @type [Boolean] active
@@ -26,6 +29,15 @@ module Comet
26
29
  # @type [Boolean] downgrade_newer
27
30
  attr_accessor :downgrade_newer
28
31
 
32
+ # @type [Boolean] force_upgrade_running
33
+ attr_accessor :force_upgrade_running
34
+
35
+ # @type [Boolean] apply_device_filter
36
+ attr_accessor :apply_device_filter
37
+
38
+ # @type [Comet::SearchClause] device_filter
39
+ attr_accessor :device_filter
40
+
29
41
  # @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
30
42
  attr_accessor :unknown_json_fields
31
43
 
@@ -34,6 +46,7 @@ module Comet
34
46
  end
35
47
 
36
48
  def clear
49
+ @device_filter = Comet::SearchClause.new
37
50
  @unknown_json_fields = {}
38
51
  end
39
52
 
@@ -58,6 +71,13 @@ module Comet
58
71
  @reinstall_current_ver = v
59
72
  when 'DowngradeNewer'
60
73
  @downgrade_newer = v
74
+ when 'ForceUpgradeRunning'
75
+ @force_upgrade_running = v
76
+ when 'ApplyDeviceFilter'
77
+ @apply_device_filter = v
78
+ when 'DeviceFilter'
79
+ @device_filter = Comet::SearchClause.new
80
+ @device_filter.from_hash(v)
61
81
  else
62
82
  @unknown_json_fields[k] = v
63
83
  end
@@ -71,6 +91,9 @@ module Comet
71
91
  ret['UpgradeOlder'] = @upgrade_older
72
92
  ret['ReinstallCurrentVer'] = @reinstall_current_ver
73
93
  ret['DowngradeNewer'] = @downgrade_newer
94
+ ret['ForceUpgradeRunning'] = @force_upgrade_running
95
+ ret['ApplyDeviceFilter'] = @apply_device_filter
96
+ ret['DeviceFilter'] = @device_filter
74
97
  @unknown_json_fields.each do |k, v|
75
98
  ret[k] = v
76
99
  end
@@ -26,6 +26,15 @@ module Comet
26
26
  # @type [Boolean] downgrade_newer
27
27
  attr_accessor :downgrade_newer
28
28
 
29
+ # @type [Boolean] force_upgrade_running
30
+ attr_accessor :force_upgrade_running
31
+
32
+ # @type [Boolean] apply_device_filter
33
+ attr_accessor :apply_device_filter
34
+
35
+ # @type [Comet::SearchClause] device_filter
36
+ attr_accessor :device_filter
37
+
29
38
  # @type [Number] start_time
30
39
  attr_accessor :start_time
31
40
 
@@ -40,6 +49,7 @@ module Comet
40
49
  end
41
50
 
42
51
  def clear
52
+ @device_filter = Comet::SearchClause.new
43
53
  @start_time = 0
44
54
  @target_version = ''
45
55
  @unknown_json_fields = {}
@@ -66,6 +76,13 @@ module Comet
66
76
  @reinstall_current_ver = v
67
77
  when 'DowngradeNewer'
68
78
  @downgrade_newer = v
79
+ when 'ForceUpgradeRunning'
80
+ @force_upgrade_running = v
81
+ when 'ApplyDeviceFilter'
82
+ @apply_device_filter = v
83
+ when 'DeviceFilter'
84
+ @device_filter = Comet::SearchClause.new
85
+ @device_filter.from_hash(v)
69
86
  when 'StartTime'
70
87
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
71
88
 
@@ -87,6 +104,9 @@ module Comet
87
104
  ret['UpgradeOlder'] = @upgrade_older
88
105
  ret['ReinstallCurrentVer'] = @reinstall_current_ver
89
106
  ret['DowngradeNewer'] = @downgrade_newer
107
+ ret['ForceUpgradeRunning'] = @force_upgrade_running
108
+ ret['ApplyDeviceFilter'] = @apply_device_filter
109
+ ret['DeviceFilter'] = @device_filter
90
110
  ret['StartTime'] = @start_time
91
111
  ret['TargetVersion'] = @target_version
92
112
  @unknown_json_fields.each do |k, v|
@@ -26,6 +26,15 @@ module Comet
26
26
  # @type [Boolean] downgrade_newer
27
27
  attr_accessor :downgrade_newer
28
28
 
29
+ # @type [Boolean] force_upgrade_running
30
+ attr_accessor :force_upgrade_running
31
+
32
+ # @type [Boolean] apply_device_filter
33
+ attr_accessor :apply_device_filter
34
+
35
+ # @type [Comet::SearchClause] device_filter
36
+ attr_accessor :device_filter
37
+
29
38
  # @type [Number] start_time
30
39
  attr_accessor :start_time
31
40
 
@@ -43,6 +52,7 @@ module Comet
43
52
  end
44
53
 
45
54
  def clear
55
+ @device_filter = Comet::SearchClause.new
46
56
  @start_time = 0
47
57
  @target_version = ''
48
58
  @devices = []
@@ -70,6 +80,13 @@ module Comet
70
80
  @reinstall_current_ver = v
71
81
  when 'DowngradeNewer'
72
82
  @downgrade_newer = v
83
+ when 'ForceUpgradeRunning'
84
+ @force_upgrade_running = v
85
+ when 'ApplyDeviceFilter'
86
+ @apply_device_filter = v
87
+ when 'DeviceFilter'
88
+ @device_filter = Comet::SearchClause.new
89
+ @device_filter.from_hash(v)
73
90
  when 'StartTime'
74
91
  raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
75
92
 
@@ -101,6 +118,9 @@ module Comet
101
118
  ret['UpgradeOlder'] = @upgrade_older
102
119
  ret['ReinstallCurrentVer'] = @reinstall_current_ver
103
120
  ret['DowngradeNewer'] = @downgrade_newer
121
+ ret['ForceUpgradeRunning'] = @force_upgrade_running
122
+ ret['ApplyDeviceFilter'] = @apply_device_filter
123
+ ret['DeviceFilter'] = @device_filter
104
124
  ret['StartTime'] = @start_time
105
125
  ret['TargetVersion'] = @target_version
106
126
  ret['Devices'] = @devices
@@ -12,6 +12,7 @@ require 'json'
12
12
  module Comet
13
13
 
14
14
  # UserProfileConfig is a typed class wrapper around the underlying Comet Server API data structure.
15
+ # This is the main data structure for a user's profile.
15
16
  class UserProfileConfig
16
17
 
17
18
  # @type [String] username
@@ -26,6 +27,7 @@ module Comet
26
27
  # @type [String] language_code
27
28
  attr_accessor :language_code
28
29
 
30
+ # Tenant
29
31
  # @type [String] organization_id
30
32
  attr_accessor :organization_id
31
33
 
@@ -38,9 +40,11 @@ module Comet
38
40
  # @type [Boolean] send_email_reports
39
41
  attr_accessor :send_email_reports
40
42
 
43
+ # Storage Vaults
41
44
  # @type [Hash{String => Comet::DestinationConfig}] destinations
42
45
  attr_accessor :destinations
43
46
 
47
+ # Protected Items
44
48
  # @type [Hash{String => Comet::SourceConfig}] sources
45
49
  attr_accessor :sources
46
50
 
@@ -62,12 +66,17 @@ module Comet
62
66
  # @type [Number] maximum_devices
63
67
  attr_accessor :maximum_devices
64
68
 
69
+ # If the PolicyID field is set to a non-empty string, the Comet Server will enforce the contents of
70
+ # the Policy field based on the matching server's policy. Otherwise if the PolicyID field is set to an
71
+ # empty string, the administrator may configure any custom values in the Policy field.
65
72
  # @type [String] policy_id
66
73
  attr_accessor :policy_id
67
74
 
68
75
  # @type [Comet::UserPolicy] policy
69
76
  attr_accessor :policy
70
77
 
78
+ # To change the user's password, use the AdminResetUserPassword API instead of accessing these fields
79
+ # directly. Otherwise, other encrypted fields in the user profile may become corrupted.
71
80
  # @type [Number] password_format
72
81
  attr_accessor :password_format
73
82
 
@@ -0,0 +1,90 @@
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
+ # VMDKSnapshotViewOptions is a typed class wrapper around the underlying Comet Server API data structure.
15
+ class VMDKSnapshotViewOptions
16
+
17
+ # @type [Boolean] enabled
18
+ attr_accessor :enabled
19
+
20
+ # @type [String] partition_guid
21
+ attr_accessor :partition_guid
22
+
23
+ # @type [String] list_path
24
+ attr_accessor :list_path
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
+ @partition_guid = ''
35
+ @list_path = ''
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, "'json_string' expected String, got #{json_string.class}" 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, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
49
+
50
+ obj.each do |k, v|
51
+ case k
52
+ when 'Enabled'
53
+ @enabled = v
54
+ when 'PartitionGUID'
55
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
56
+
57
+ @partition_guid = v
58
+ when 'ListPath'
59
+ raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
60
+
61
+ @list_path = v
62
+ else
63
+ @unknown_json_fields[k] = v
64
+ end
65
+ end
66
+ end
67
+
68
+ # @return [Hash] The complete object as a Ruby hash
69
+ def to_hash
70
+ ret = {}
71
+ ret['Enabled'] = @enabled
72
+ ret['PartitionGUID'] = @partition_guid
73
+ ret['ListPath'] = @list_path
74
+ @unknown_json_fields.each do |k, v|
75
+ ret[k] = v
76
+ end
77
+ ret
78
+ end
79
+
80
+ # @return [Hash] The complete object as a Ruby hash
81
+ def to_h
82
+ to_hash
83
+ end
84
+
85
+ # @return [String] The complete object as a JSON string
86
+ def to_json(options = {})
87
+ to_hash.to_json(options)
88
+ end
89
+ end
90
+ end
@@ -50,6 +50,7 @@ require_relative 'comet/models/content_measurement'
50
50
  require_relative 'comet/models/content_measurement_component'
51
51
  require_relative 'comet/models/create_group_policy_response'
52
52
  require_relative 'comet/models/custom_remote_bucket_settings'
53
+ require_relative 'comet/models/days_of_week_config'
53
54
  require_relative 'comet/models/default_email_report_policy'
54
55
  require_relative 'comet/models/default_source_with_osrestriction'
55
56
  require_relative 'comet/models/destination_config'
@@ -72,6 +73,7 @@ require_relative 'comet/models/get_group_policy_response'
72
73
  require_relative 'comet/models/get_profile_and_hash_response_message'
73
74
  require_relative 'comet/models/get_profile_hash_response_message'
74
75
  require_relative 'comet/models/group_policy'
76
+ require_relative 'comet/models/hour_sched_config'
75
77
  require_relative 'comet/models/hyper_vmachine_info'
76
78
  require_relative 'comet/models/install_creds'
77
79
  require_relative 'comet/models/install_token'
@@ -152,6 +154,7 @@ require_relative 'comet/models/user_policy'
152
154
  require_relative 'comet/models/user_profile_config'
153
155
  require_relative 'comet/models/user_profile_fragment'
154
156
  require_relative 'comet/models/vault_snapshot'
157
+ require_relative 'comet/models/vmdksnapshot_view_options'
155
158
  require_relative 'comet/models/vsscomponent'
156
159
  require_relative 'comet/models/vsswriter_info'
157
160
  require_relative 'comet/models/wasabi_virtual_storage_role_settings'
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: comet_backup_ruby_sdk
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.12.0
4
+ version: 1.15.0
5
5
  platform: ruby
6
6
  authors:
7
7
  - Comet Licensing Ltd.
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2022-01-28 00:00:00.000000000 Z
11
+ date: 2022-06-03 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: bundler
@@ -95,6 +95,7 @@ files:
95
95
  - lib/comet/models/admin_user_permissions.rb
96
96
  - lib/comet/models/admin_web_authn_registration.rb
97
97
  - lib/comet/models/allowed_admin_user.rb
98
+ - lib/comet/models/amazon_awsvirtual_storage_role_settings.rb
98
99
  - lib/comet/models/available_download.rb
99
100
  - lib/comet/models/azure_destination_location.rb
100
101
  - lib/comet/models/b2destination_location.rb
@@ -126,6 +127,7 @@ files:
126
127
  - lib/comet/models/content_measurement_component.rb
127
128
  - lib/comet/models/create_group_policy_response.rb
128
129
  - lib/comet/models/custom_remote_bucket_settings.rb
130
+ - lib/comet/models/days_of_week_config.rb
129
131
  - lib/comet/models/default_email_report_policy.rb
130
132
  - lib/comet/models/default_source_with_osrestriction.rb
131
133
  - lib/comet/models/destination_config.rb
@@ -148,6 +150,7 @@ files:
148
150
  - lib/comet/models/get_profile_and_hash_response_message.rb
149
151
  - lib/comet/models/get_profile_hash_response_message.rb
150
152
  - lib/comet/models/group_policy.rb
153
+ - lib/comet/models/hour_sched_config.rb
151
154
  - lib/comet/models/hyper_vmachine_info.rb
152
155
  - lib/comet/models/install_creds.rb
153
156
  - lib/comet/models/install_token.rb
@@ -184,6 +187,7 @@ files:
184
187
  - lib/comet/models/retention_policy.rb
185
188
  - lib/comet/models/retention_range.rb
186
189
  - lib/comet/models/s3destination_location.rb
190
+ - lib/comet/models/s3generic_virtual_storage_role.rb
187
191
  - lib/comet/models/schedule_config.rb
188
192
  - lib/comet/models/search_clause.rb
189
193
  - lib/comet/models/self_backup_statistics.rb
@@ -228,6 +232,7 @@ files:
228
232
  - lib/comet/models/user_profile_config.rb
229
233
  - lib/comet/models/user_profile_fragment.rb
230
234
  - lib/comet/models/vault_snapshot.rb
235
+ - lib/comet/models/vmdksnapshot_view_options.rb
231
236
  - lib/comet/models/vsscomponent.rb
232
237
  - lib/comet/models/vsswriter_info.rb
233
238
  - lib/comet/models/wasabi_virtual_storage_role_settings.rb