comet_backup_ruby_sdk 2.42.0 → 2.43.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.
- checksums.yaml +4 -4
- data/CHANGELOG.md +13 -0
- data/Gemfile.lock +1 -1
- data/comet_backup_ruby_sdk.gemspec +1 -1
- data/lib/comet/comet_server.rb +158 -8
- data/lib/comet/definitions.rb +13 -3
- data/lib/comet/models/backup_job_advanced_options.rb +10 -0
- data/lib/comet/models/backup_job_detail.rb +12 -12
- data/lib/comet/models/backup_rule_config.rb +10 -0
- data/lib/comet/models/branding_options.rb +30 -0
- data/lib/comet/models/branding_properties.rb +30 -0
- data/lib/comet/models/{pverestore_selection.rb → dispatch_with_job_idresponse.rb} +24 -24
- data/lib/comet/models/private_branding_properties.rb +30 -0
- data/lib/comet/models/protected_item_with_backup_rules_response.rb +119 -0
- data/lib/comet/models/pvebackup_disk.rb +6 -0
- data/lib/comet/models/pvebackup_node.rb +5 -0
- data/lib/comet/models/pvebackup_vm.rb +6 -0
- data/lib/comet/models/pvedisk.rb +4 -3
- data/lib/comet/models/pveparams.rb +13 -11
- data/lib/comet/models/pvevm.rb +2 -0
- data/lib/comet/models/source_config.rb +7 -0
- data/lib/comet/models/user_profile_config.rb +8 -0
- data/lib/comet/models/vault_snapshot.rb +19 -0
- data/lib/comet/models/windows_code_sign_properties.rb +30 -0
- data/lib/comet_backup_ruby_sdk.rb +2 -5
- metadata +4 -4
- data/lib/comet/models/block_info.rb +0 -82
|
@@ -9,17 +9,18 @@ require 'json'
|
|
|
9
9
|
|
|
10
10
|
module Comet
|
|
11
11
|
|
|
12
|
-
#
|
|
13
|
-
class
|
|
12
|
+
# DispatchWithJobIDResponse is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
class DispatchWithJobIDResponse
|
|
14
14
|
|
|
15
|
-
#
|
|
16
|
-
|
|
15
|
+
# If the operation was successful, the status will be in the 200-299 range.
|
|
16
|
+
# @type [Number] status
|
|
17
|
+
attr_accessor :status
|
|
17
18
|
|
|
18
|
-
# @type [String]
|
|
19
|
-
attr_accessor :
|
|
19
|
+
# @type [String] message
|
|
20
|
+
attr_accessor :message
|
|
20
21
|
|
|
21
|
-
# @type [
|
|
22
|
-
attr_accessor :
|
|
22
|
+
# @type [String] job_id
|
|
23
|
+
attr_accessor :job_id
|
|
23
24
|
|
|
24
25
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
25
26
|
attr_accessor :unknown_json_fields
|
|
@@ -29,9 +30,9 @@ module Comet
|
|
|
29
30
|
end
|
|
30
31
|
|
|
31
32
|
def clear
|
|
32
|
-
@
|
|
33
|
-
@
|
|
34
|
-
@
|
|
33
|
+
@status = 0
|
|
34
|
+
@message = ''
|
|
35
|
+
@job_id = ''
|
|
35
36
|
@unknown_json_fields = {}
|
|
36
37
|
end
|
|
37
38
|
|
|
@@ -48,17 +49,18 @@ module Comet
|
|
|
48
49
|
|
|
49
50
|
obj.each do |k, v|
|
|
50
51
|
case k
|
|
51
|
-
when '
|
|
52
|
+
when 'Status'
|
|
53
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
54
|
+
|
|
55
|
+
@status = v
|
|
56
|
+
when 'Message'
|
|
52
57
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
53
58
|
|
|
54
|
-
@
|
|
55
|
-
when '
|
|
59
|
+
@message = v
|
|
60
|
+
when 'JobID'
|
|
56
61
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
57
62
|
|
|
58
|
-
@
|
|
59
|
-
when 'TargetVM'
|
|
60
|
-
@target_vm = Comet::PVEVM.new
|
|
61
|
-
@target_vm.from_hash(v)
|
|
63
|
+
@job_id = v
|
|
62
64
|
else
|
|
63
65
|
@unknown_json_fields[k] = v
|
|
64
66
|
end
|
|
@@ -68,13 +70,11 @@ module Comet
|
|
|
68
70
|
# @return [Hash] The complete object as a Ruby hash
|
|
69
71
|
def to_hash
|
|
70
72
|
ret = {}
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
ret['Name'] = @name
|
|
73
|
+
ret['Status'] = @status
|
|
74
|
+
ret['Message'] = @message
|
|
75
|
+
unless @job_id.nil?
|
|
76
|
+
ret['JobID'] = @job_id
|
|
76
77
|
end
|
|
77
|
-
ret['TargetVM'] = @target_vm
|
|
78
78
|
@unknown_json_fields.each do |k, v|
|
|
79
79
|
ret[k] = v
|
|
80
80
|
end
|
|
@@ -93,6 +93,18 @@ module Comet
|
|
|
93
93
|
# @type [String] windows_code_sign_azure_tenant_id
|
|
94
94
|
attr_accessor :windows_code_sign_azure_tenant_id
|
|
95
95
|
|
|
96
|
+
# URL of the SAS Relic server, with protocol (https://) and trailing slash
|
|
97
|
+
# @type [String] windows_code_sign_relic_server_url
|
|
98
|
+
attr_accessor :windows_code_sign_relic_server_url
|
|
99
|
+
|
|
100
|
+
# The SAS Relic client keypair in PEM format
|
|
101
|
+
# @type [String] windows_code_sign_relic_keypair_file
|
|
102
|
+
attr_accessor :windows_code_sign_relic_keypair_file
|
|
103
|
+
|
|
104
|
+
# The name of the key to select on the remote SAS Relic server
|
|
105
|
+
# @type [String] windows_code_sign_relic_key_name
|
|
106
|
+
attr_accessor :windows_code_sign_relic_key_name
|
|
107
|
+
|
|
96
108
|
# @type [Comet::MacOSCodeSignProperties] mac_oscode_sign
|
|
97
109
|
attr_accessor :mac_oscode_sign
|
|
98
110
|
|
|
@@ -129,6 +141,9 @@ module Comet
|
|
|
129
141
|
@windows_code_sign_azure_app_secret_format = 0
|
|
130
142
|
@windows_code_sign_azure_app_secret = ''
|
|
131
143
|
@windows_code_sign_azure_tenant_id = ''
|
|
144
|
+
@windows_code_sign_relic_server_url = ''
|
|
145
|
+
@windows_code_sign_relic_keypair_file = ''
|
|
146
|
+
@windows_code_sign_relic_key_name = ''
|
|
132
147
|
@mac_oscode_sign = Comet::MacOSCodeSignProperties.new
|
|
133
148
|
@unknown_json_fields = {}
|
|
134
149
|
end
|
|
@@ -246,6 +261,18 @@ module Comet
|
|
|
246
261
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
247
262
|
|
|
248
263
|
@windows_code_sign_azure_tenant_id = v
|
|
264
|
+
when 'WindowsCodeSignRelicServerURL'
|
|
265
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
266
|
+
|
|
267
|
+
@windows_code_sign_relic_server_url = v
|
|
268
|
+
when 'WindowsCodeSignRelicKeypairFile'
|
|
269
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
270
|
+
|
|
271
|
+
@windows_code_sign_relic_keypair_file = v
|
|
272
|
+
when 'WindowsCodeSignRelicKeyName'
|
|
273
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
274
|
+
|
|
275
|
+
@windows_code_sign_relic_key_name = v
|
|
249
276
|
when 'MacOSCodeSign'
|
|
250
277
|
@mac_oscode_sign = Comet::MacOSCodeSignProperties.new
|
|
251
278
|
@mac_oscode_sign.from_hash(v)
|
|
@@ -283,6 +310,9 @@ module Comet
|
|
|
283
310
|
ret['WindowsCodeSignAzureAppSecretFormat'] = @windows_code_sign_azure_app_secret_format
|
|
284
311
|
ret['WindowsCodeSignAzureAppSecret'] = @windows_code_sign_azure_app_secret
|
|
285
312
|
ret['WindowsCodeSignAzureTenantID'] = @windows_code_sign_azure_tenant_id
|
|
313
|
+
ret['WindowsCodeSignRelicServerURL'] = @windows_code_sign_relic_server_url
|
|
314
|
+
ret['WindowsCodeSignRelicKeypairFile'] = @windows_code_sign_relic_keypair_file
|
|
315
|
+
ret['WindowsCodeSignRelicKeyName'] = @windows_code_sign_relic_key_name
|
|
286
316
|
ret['MacOSCodeSign'] = @mac_oscode_sign
|
|
287
317
|
@unknown_json_fields.each do |k, v|
|
|
288
318
|
ret[k] = v
|
|
@@ -0,0 +1,119 @@
|
|
|
1
|
+
# frozen_string_literal: true
|
|
2
|
+
|
|
3
|
+
# Copyright (c) 2020-2025 Comet Licensing Ltd.
|
|
4
|
+
# Please see the LICENSE file for usage information.
|
|
5
|
+
#
|
|
6
|
+
# SPDX-License-Identifier: MIT
|
|
7
|
+
|
|
8
|
+
require 'json'
|
|
9
|
+
|
|
10
|
+
module Comet
|
|
11
|
+
|
|
12
|
+
# ProtectedItemWithBackupRulesResponse is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
class ProtectedItemWithBackupRulesResponse
|
|
14
|
+
|
|
15
|
+
# If the operation was successful, the status will be in the 200-299 range.
|
|
16
|
+
# @type [Number] status
|
|
17
|
+
attr_accessor :status
|
|
18
|
+
|
|
19
|
+
# @type [String] message
|
|
20
|
+
attr_accessor :message
|
|
21
|
+
|
|
22
|
+
# The Protected Item configuration
|
|
23
|
+
# @type [Comet::SourceConfig] source
|
|
24
|
+
attr_accessor :source
|
|
25
|
+
|
|
26
|
+
# All backup rules for the Protected Item
|
|
27
|
+
# @type [Hash{String => Comet::BackupRuleConfig}] backup_rules
|
|
28
|
+
attr_accessor :backup_rules
|
|
29
|
+
|
|
30
|
+
# @type [String] profile_hash
|
|
31
|
+
attr_accessor :profile_hash
|
|
32
|
+
|
|
33
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
34
|
+
attr_accessor :unknown_json_fields
|
|
35
|
+
|
|
36
|
+
def initialize
|
|
37
|
+
clear
|
|
38
|
+
end
|
|
39
|
+
|
|
40
|
+
def clear
|
|
41
|
+
@status = 0
|
|
42
|
+
@message = ''
|
|
43
|
+
@source = Comet::SourceConfig.new
|
|
44
|
+
@backup_rules = {}
|
|
45
|
+
@profile_hash = ''
|
|
46
|
+
@unknown_json_fields = {}
|
|
47
|
+
end
|
|
48
|
+
|
|
49
|
+
# @param [String] json_string The complete object in JSON format
|
|
50
|
+
def from_json(json_string)
|
|
51
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
52
|
+
|
|
53
|
+
from_hash(JSON.parse(json_string))
|
|
54
|
+
end
|
|
55
|
+
|
|
56
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
57
|
+
def from_hash(obj)
|
|
58
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
59
|
+
|
|
60
|
+
obj.each do |k, v|
|
|
61
|
+
case k
|
|
62
|
+
when 'Status'
|
|
63
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
64
|
+
|
|
65
|
+
@status = v
|
|
66
|
+
when 'Message'
|
|
67
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
68
|
+
|
|
69
|
+
@message = v
|
|
70
|
+
when 'Source'
|
|
71
|
+
@source = Comet::SourceConfig.new
|
|
72
|
+
@source.from_hash(v)
|
|
73
|
+
when 'BackupRules'
|
|
74
|
+
@backup_rules = {}
|
|
75
|
+
if v.nil?
|
|
76
|
+
@backup_rules = {}
|
|
77
|
+
else
|
|
78
|
+
v.each do |k1, v1|
|
|
79
|
+
@backup_rules[k1] = Comet::BackupRuleConfig.new
|
|
80
|
+
@backup_rules[k1].from_hash(v1)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
when 'ProfileHash'
|
|
84
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
85
|
+
|
|
86
|
+
@profile_hash = v
|
|
87
|
+
else
|
|
88
|
+
@unknown_json_fields[k] = v
|
|
89
|
+
end
|
|
90
|
+
end
|
|
91
|
+
end
|
|
92
|
+
|
|
93
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
94
|
+
def to_hash
|
|
95
|
+
ret = {}
|
|
96
|
+
ret['Status'] = @status
|
|
97
|
+
ret['Message'] = @message
|
|
98
|
+
ret['Source'] = @source
|
|
99
|
+
unless @backup_rules.nil?
|
|
100
|
+
ret['BackupRules'] = @backup_rules
|
|
101
|
+
end
|
|
102
|
+
ret['ProfileHash'] = @profile_hash
|
|
103
|
+
@unknown_json_fields.each do |k, v|
|
|
104
|
+
ret[k] = v
|
|
105
|
+
end
|
|
106
|
+
ret
|
|
107
|
+
end
|
|
108
|
+
|
|
109
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
110
|
+
def to_h
|
|
111
|
+
to_hash
|
|
112
|
+
end
|
|
113
|
+
|
|
114
|
+
# @return [String] The complete object as a JSON string
|
|
115
|
+
def to_json(options = {})
|
|
116
|
+
to_hash.to_json(options)
|
|
117
|
+
end
|
|
118
|
+
end
|
|
119
|
+
end
|
|
@@ -10,11 +10,17 @@ require 'json'
|
|
|
10
10
|
module Comet
|
|
11
11
|
|
|
12
12
|
# PVEBackupDisk is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
# This type is used in the EngineProps for an "engine1/proxmox" Protected Item. It represents the
|
|
14
|
+
# selection state for a single disk attached to a single Proxmox VM or LXC Container. It is expected
|
|
15
|
+
# to be user-configurable.
|
|
16
|
+
# This type is available in Comet 25.8.0 and later.
|
|
13
17
|
class PVEBackupDisk
|
|
14
18
|
|
|
19
|
+
# For a disk "scsi0", this field should contain: "scsi"
|
|
15
20
|
# @type [String] device
|
|
16
21
|
attr_accessor :device
|
|
17
22
|
|
|
23
|
+
# For a disk "scsi0", this field should contain: 0
|
|
18
24
|
# @type [Number] device_num
|
|
19
25
|
attr_accessor :device_num
|
|
20
26
|
|
|
@@ -10,11 +10,16 @@ require 'json'
|
|
|
10
10
|
module Comet
|
|
11
11
|
|
|
12
12
|
# PVEBackupNode is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
# This type is used in the EngineProps for an "engine1/proxmox" Protected Item. It represents the
|
|
14
|
+
# selection state for a single Proxmox VE node. It is expected to be user-configurable.
|
|
15
|
+
# This type is available in Comet 25.8.0 and later.
|
|
13
16
|
class PVEBackupNode
|
|
14
17
|
|
|
15
18
|
# @type [Array<Comet::PVEBackupVM>] included_vms
|
|
16
19
|
attr_accessor :included_vms
|
|
17
20
|
|
|
21
|
+
# Used as a cache if the device is offline when editing the Protected Item; not considered as part
|
|
22
|
+
# of the selection
|
|
18
23
|
# @type [String] name
|
|
19
24
|
attr_accessor :name
|
|
20
25
|
|
|
@@ -10,17 +10,23 @@ require 'json'
|
|
|
10
10
|
module Comet
|
|
11
11
|
|
|
12
12
|
# PVEBackupVM is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
# This type is used in the EngineProps for an "engine1/proxmox" Protected Item. It represents the
|
|
14
|
+
# selection state for a single Proxmox VM or LXC Container. It is expected to be user-configurable.
|
|
15
|
+
# This type is available in Comet 25.8.0 and later.
|
|
13
16
|
class PVEBackupVM
|
|
14
17
|
|
|
15
18
|
# @type [Array<Comet::PVEBackupDisk>] included_disks
|
|
16
19
|
attr_accessor :included_disks
|
|
17
20
|
|
|
21
|
+
# Used as a cache if the device is offline when editing the Protected Item; not considered as part
|
|
22
|
+
# of the selection
|
|
18
23
|
# @type [String] name
|
|
19
24
|
attr_accessor :name
|
|
20
25
|
|
|
21
26
|
# @type [Boolean] selected
|
|
22
27
|
attr_accessor :selected
|
|
23
28
|
|
|
29
|
+
# One of the PROXMOX_TYPE_ constants
|
|
24
30
|
# @type [String] type
|
|
25
31
|
attr_accessor :type
|
|
26
32
|
|
data/lib/comet/models/pvedisk.rb
CHANGED
|
@@ -24,7 +24,8 @@ module Comet
|
|
|
24
24
|
# @type [String] volume
|
|
25
25
|
attr_accessor :volume
|
|
26
26
|
|
|
27
|
-
#
|
|
27
|
+
# Bytes
|
|
28
|
+
# @type [Number] size
|
|
28
29
|
attr_accessor :size
|
|
29
30
|
|
|
30
31
|
# @type [String] format
|
|
@@ -45,7 +46,7 @@ module Comet
|
|
|
45
46
|
@device_num = 0
|
|
46
47
|
@storage_id = ''
|
|
47
48
|
@volume = ''
|
|
48
|
-
@size =
|
|
49
|
+
@size = 0
|
|
49
50
|
@format = ''
|
|
50
51
|
@options = ''
|
|
51
52
|
@unknown_json_fields = {}
|
|
@@ -81,7 +82,7 @@ module Comet
|
|
|
81
82
|
|
|
82
83
|
@volume = v
|
|
83
84
|
when 'Size'
|
|
84
|
-
raise TypeError, "'v' expected
|
|
85
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
85
86
|
|
|
86
87
|
@size = v
|
|
87
88
|
when 'Format'
|
|
@@ -10,6 +10,9 @@ require 'json'
|
|
|
10
10
|
module Comet
|
|
11
11
|
|
|
12
12
|
# PVEParams is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
# This type is used in the EngineProps for an "engine1/proxmox" Protected Item. It represents the
|
|
14
|
+
# entire Protected Item configuration. It is expected to be user-configurable.
|
|
15
|
+
# This type is available in Comet 25.8.0 and later.
|
|
13
16
|
class PVEParams
|
|
14
17
|
|
|
15
18
|
# @type [Boolean] everything
|
|
@@ -18,18 +21,20 @@ module Comet
|
|
|
18
21
|
# @type [Array<Comet::PVEBackupNode>] exclusions
|
|
19
22
|
attr_accessor :exclusions
|
|
20
23
|
|
|
24
|
+
# One of the PVE_BACKUP_METHOD constants
|
|
21
25
|
# @type [String] method
|
|
22
26
|
attr_accessor :method
|
|
23
27
|
|
|
24
|
-
#
|
|
25
|
-
attr_accessor :quota
|
|
26
|
-
|
|
28
|
+
# Primary node URL + SSH credentials
|
|
27
29
|
# @type [Comet::SSHConnection] sshconnection
|
|
28
30
|
attr_accessor :sshconnection
|
|
29
31
|
|
|
30
32
|
# @type [Array<Comet::PVEBackupNode>] selections
|
|
31
33
|
attr_accessor :selections
|
|
32
34
|
|
|
35
|
+
# @type [Boolean] use_cbt
|
|
36
|
+
attr_accessor :use_cbt
|
|
37
|
+
|
|
33
38
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
34
39
|
attr_accessor :unknown_json_fields
|
|
35
40
|
|
|
@@ -40,7 +45,6 @@ module Comet
|
|
|
40
45
|
def clear
|
|
41
46
|
@exclusions = []
|
|
42
47
|
@method = ''
|
|
43
|
-
@quota = 0
|
|
44
48
|
@sshconnection = Comet::SSHConnection.new
|
|
45
49
|
@selections = []
|
|
46
50
|
@unknown_json_fields = {}
|
|
@@ -75,10 +79,6 @@ module Comet
|
|
|
75
79
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
76
80
|
|
|
77
81
|
@method = v
|
|
78
|
-
when 'Quota'
|
|
79
|
-
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
80
|
-
|
|
81
|
-
@quota = v
|
|
82
82
|
when 'SSHConnection'
|
|
83
83
|
@sshconnection = Comet::SSHConnection.new
|
|
84
84
|
@sshconnection.from_hash(v)
|
|
@@ -92,6 +92,8 @@ module Comet
|
|
|
92
92
|
@selections[i1].from_hash(v1)
|
|
93
93
|
end
|
|
94
94
|
end
|
|
95
|
+
when 'UseCBT'
|
|
96
|
+
@use_cbt = v
|
|
95
97
|
else
|
|
96
98
|
@unknown_json_fields[k] = v
|
|
97
99
|
end
|
|
@@ -110,15 +112,15 @@ module Comet
|
|
|
110
112
|
unless @method.nil?
|
|
111
113
|
ret['Method'] = @method
|
|
112
114
|
end
|
|
113
|
-
unless @quota.nil?
|
|
114
|
-
ret['Quota'] = @quota
|
|
115
|
-
end
|
|
116
115
|
unless @sshconnection.nil?
|
|
117
116
|
ret['SSHConnection'] = @sshconnection
|
|
118
117
|
end
|
|
119
118
|
unless @selections.nil?
|
|
120
119
|
ret['Selections'] = @selections
|
|
121
120
|
end
|
|
121
|
+
unless @use_cbt.nil?
|
|
122
|
+
ret['UseCBT'] = @use_cbt
|
|
123
|
+
end
|
|
122
124
|
@unknown_json_fields.each do |k, v|
|
|
123
125
|
ret[k] = v
|
|
124
126
|
end
|
data/lib/comet/models/pvevm.rb
CHANGED
|
@@ -10,6 +10,7 @@ require 'json'
|
|
|
10
10
|
module Comet
|
|
11
11
|
|
|
12
12
|
# PVEVM is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
# PVEVM describes a single Proxmox virtual machine or container.
|
|
13
14
|
class PVEVM
|
|
14
15
|
|
|
15
16
|
# @type [String] cpu
|
|
@@ -36,6 +37,7 @@ module Comet
|
|
|
36
37
|
# @type [String] type
|
|
37
38
|
attr_accessor :type
|
|
38
39
|
|
|
40
|
+
# String type, but always contains an integer value
|
|
39
41
|
# @type [String] vmid
|
|
40
42
|
attr_accessor :vmid
|
|
41
43
|
|
|
@@ -88,6 +88,13 @@ module Comet
|
|
|
88
88
|
# - LOGNOTRUNC: If present, take a "Log (no truncation)" backup job. Otherwise, take a "Full (copy
|
|
89
89
|
# only)" backup job.
|
|
90
90
|
#
|
|
91
|
+
# For engine1/stdout, Comet understands the following EngineProp keys:
|
|
92
|
+
#
|
|
93
|
+
# - COMMAND: The command to run
|
|
94
|
+
# - WORKDIR: The working directory for the command
|
|
95
|
+
# - SAVEAS: The virtual filename inside the backup snapshot
|
|
96
|
+
# - Any key starting with EXTRACOMMAND- : Additional commands to run. Each value should be a JSON
|
|
97
|
+
# array of 3 strings, equivalent to the COMMAND, WORKDIR, SAVEAS values.
|
|
91
98
|
# @type [Hash{String => String}] engine_props
|
|
92
99
|
attr_accessor :engine_props
|
|
93
100
|
|
|
@@ -181,6 +181,11 @@ module Comet
|
|
|
181
181
|
# @type [String] auto_storage_template_guid
|
|
182
182
|
attr_accessor :auto_storage_template_guid
|
|
183
183
|
|
|
184
|
+
# If enabled, Linux devices in this user account will sandbox all read/write operations to paths
|
|
185
|
+
# inside user home directories
|
|
186
|
+
# @type [Boolean] linux_homedir_sandbox
|
|
187
|
+
attr_accessor :linux_homedir_sandbox
|
|
188
|
+
|
|
184
189
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
185
190
|
attr_accessor :unknown_json_fields
|
|
186
191
|
|
|
@@ -399,6 +404,8 @@ module Comet
|
|
|
399
404
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
400
405
|
|
|
401
406
|
@auto_storage_template_guid = v
|
|
407
|
+
when 'LinuxHomedirSandbox'
|
|
408
|
+
@linux_homedir_sandbox = v
|
|
402
409
|
else
|
|
403
410
|
@unknown_json_fields[k] = v
|
|
404
411
|
end
|
|
@@ -452,6 +459,7 @@ module Comet
|
|
|
452
459
|
ret['ServerConfig'] = @server_config
|
|
453
460
|
end
|
|
454
461
|
ret['AutoStorageTemplateGUID'] = @auto_storage_template_guid
|
|
462
|
+
ret['LinuxHomedirSandbox'] = @linux_homedir_sandbox
|
|
455
463
|
@unknown_json_fields.each do |k, v|
|
|
456
464
|
ret[k] = v
|
|
457
465
|
end
|
|
@@ -29,6 +29,10 @@ module Comet
|
|
|
29
29
|
# @type [Boolean] has_original_path_info
|
|
30
30
|
attr_accessor :has_original_path_info
|
|
31
31
|
|
|
32
|
+
# This field is available in Comet 25.9.4 and later.
|
|
33
|
+
# @type [Array<String>] tags
|
|
34
|
+
attr_accessor :tags
|
|
35
|
+
|
|
32
36
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
33
37
|
attr_accessor :unknown_json_fields
|
|
34
38
|
|
|
@@ -41,6 +45,7 @@ module Comet
|
|
|
41
45
|
@engine_type = ''
|
|
42
46
|
@source = ''
|
|
43
47
|
@create_time = 0
|
|
48
|
+
@tags = []
|
|
44
49
|
@unknown_json_fields = {}
|
|
45
50
|
end
|
|
46
51
|
|
|
@@ -75,6 +80,17 @@ module Comet
|
|
|
75
80
|
@create_time = v
|
|
76
81
|
when 'HasOriginalPathInfo'
|
|
77
82
|
@has_original_path_info = v
|
|
83
|
+
when 'Tags'
|
|
84
|
+
if v.nil?
|
|
85
|
+
@tags = []
|
|
86
|
+
else
|
|
87
|
+
@tags = Array.new(v.length)
|
|
88
|
+
v.each_with_index do |v1, i1|
|
|
89
|
+
raise TypeError, "'v1' expected String, got #{v1.class}" unless v1.is_a? String
|
|
90
|
+
|
|
91
|
+
@tags[i1] = v1
|
|
92
|
+
end
|
|
93
|
+
end
|
|
78
94
|
else
|
|
79
95
|
@unknown_json_fields[k] = v
|
|
80
96
|
end
|
|
@@ -89,6 +105,9 @@ module Comet
|
|
|
89
105
|
ret['Source'] = @source
|
|
90
106
|
ret['CreateTime'] = @create_time
|
|
91
107
|
ret['HasOriginalPathInfo'] = @has_original_path_info
|
|
108
|
+
unless @tags.nil?
|
|
109
|
+
ret['Tags'] = @tags
|
|
110
|
+
end
|
|
92
111
|
@unknown_json_fields.each do |k, v|
|
|
93
112
|
ret[k] = v
|
|
94
113
|
end
|
|
@@ -65,6 +65,18 @@ module Comet
|
|
|
65
65
|
# @type [String] windows_code_sign_azure_tenant_id
|
|
66
66
|
attr_accessor :windows_code_sign_azure_tenant_id
|
|
67
67
|
|
|
68
|
+
# URL of the SAS Relic server, with protocol (https://) and trailing slash
|
|
69
|
+
# @type [String] windows_code_sign_relic_server_url
|
|
70
|
+
attr_accessor :windows_code_sign_relic_server_url
|
|
71
|
+
|
|
72
|
+
# The SAS Relic client keypair in PEM format
|
|
73
|
+
# @type [String] windows_code_sign_relic_keypair_file
|
|
74
|
+
attr_accessor :windows_code_sign_relic_keypair_file
|
|
75
|
+
|
|
76
|
+
# The name of the key to select on the remote SAS Relic server
|
|
77
|
+
# @type [String] windows_code_sign_relic_key_name
|
|
78
|
+
attr_accessor :windows_code_sign_relic_key_name
|
|
79
|
+
|
|
68
80
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
69
81
|
attr_accessor :unknown_json_fields
|
|
70
82
|
|
|
@@ -89,6 +101,9 @@ module Comet
|
|
|
89
101
|
@windows_code_sign_azure_app_secret_format = 0
|
|
90
102
|
@windows_code_sign_azure_app_secret = ''
|
|
91
103
|
@windows_code_sign_azure_tenant_id = ''
|
|
104
|
+
@windows_code_sign_relic_server_url = ''
|
|
105
|
+
@windows_code_sign_relic_keypair_file = ''
|
|
106
|
+
@windows_code_sign_relic_key_name = ''
|
|
92
107
|
@unknown_json_fields = {}
|
|
93
108
|
end
|
|
94
109
|
|
|
@@ -169,6 +184,18 @@ module Comet
|
|
|
169
184
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
170
185
|
|
|
171
186
|
@windows_code_sign_azure_tenant_id = v
|
|
187
|
+
when 'WindowsCodeSignRelicServerURL'
|
|
188
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
189
|
+
|
|
190
|
+
@windows_code_sign_relic_server_url = v
|
|
191
|
+
when 'WindowsCodeSignRelicKeypairFile'
|
|
192
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
193
|
+
|
|
194
|
+
@windows_code_sign_relic_keypair_file = v
|
|
195
|
+
when 'WindowsCodeSignRelicKeyName'
|
|
196
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
197
|
+
|
|
198
|
+
@windows_code_sign_relic_key_name = v
|
|
172
199
|
else
|
|
173
200
|
@unknown_json_fields[k] = v
|
|
174
201
|
end
|
|
@@ -194,6 +221,9 @@ module Comet
|
|
|
194
221
|
ret['WindowsCodeSignAzureAppSecretFormat'] = @windows_code_sign_azure_app_secret_format
|
|
195
222
|
ret['WindowsCodeSignAzureAppSecret'] = @windows_code_sign_azure_app_secret
|
|
196
223
|
ret['WindowsCodeSignAzureTenantID'] = @windows_code_sign_azure_tenant_id
|
|
224
|
+
ret['WindowsCodeSignRelicServerURL'] = @windows_code_sign_relic_server_url
|
|
225
|
+
ret['WindowsCodeSignRelicKeypairFile'] = @windows_code_sign_relic_keypair_file
|
|
226
|
+
ret['WindowsCodeSignRelicKeyName'] = @windows_code_sign_relic_key_name
|
|
197
227
|
@unknown_json_fields.each do |k, v|
|
|
198
228
|
ret[k] = v
|
|
199
229
|
end
|
|
@@ -31,7 +31,6 @@ require_relative 'comet/models/backup_job_detail'
|
|
|
31
31
|
require_relative 'comet/models/backup_job_progress'
|
|
32
32
|
require_relative 'comet/models/backup_rule_config'
|
|
33
33
|
require_relative 'comet/models/backup_rule_event_triggers'
|
|
34
|
-
require_relative 'comet/models/block_info'
|
|
35
34
|
require_relative 'comet/models/branding_options'
|
|
36
35
|
require_relative 'comet/models/branding_properties'
|
|
37
36
|
require_relative 'comet/models/browse_disk_drives_response'
|
|
@@ -63,7 +62,6 @@ require_relative 'comet/models/count_jobs_response'
|
|
|
63
62
|
require_relative 'comet/models/create_group_policy_response'
|
|
64
63
|
require_relative 'comet/models/create_user_group_response'
|
|
65
64
|
require_relative 'comet/models/custom_remote_bucket_settings'
|
|
66
|
-
require_relative 'comet/models/custom_remote_bucket_settings'
|
|
67
65
|
require_relative 'comet/models/days_of_week_config'
|
|
68
66
|
require_relative 'comet/models/default_email_report_policy'
|
|
69
67
|
require_relative 'comet/models/default_source_with_osrestriction'
|
|
@@ -72,6 +70,7 @@ require_relative 'comet/models/destination_location'
|
|
|
72
70
|
require_relative 'comet/models/destination_statistics'
|
|
73
71
|
require_relative 'comet/models/device_config'
|
|
74
72
|
require_relative 'comet/models/disk_drive'
|
|
73
|
+
require_relative 'comet/models/dispatch_with_job_idresponse'
|
|
75
74
|
require_relative 'comet/models/dispatcher_admin_sources_response'
|
|
76
75
|
require_relative 'comet/models/dispatcher_list_snapshot_virtual_machines_response'
|
|
77
76
|
require_relative 'comet/models/dispatcher_stored_objects_response'
|
|
@@ -138,6 +137,7 @@ require_relative 'comet/models/partition_conflict'
|
|
|
138
137
|
require_relative 'comet/models/policy_options'
|
|
139
138
|
require_relative 'comet/models/private_branding_properties'
|
|
140
139
|
require_relative 'comet/models/protected_item_engine_type_policy'
|
|
140
|
+
require_relative 'comet/models/protected_item_with_backup_rules_response'
|
|
141
141
|
require_relative 'comet/models/proxmox_connection'
|
|
142
142
|
require_relative 'comet/models/proxmox_restore_target_options'
|
|
143
143
|
require_relative 'comet/models/psaconfig'
|
|
@@ -147,12 +147,9 @@ require_relative 'comet/models/pvebackup_disk'
|
|
|
147
147
|
require_relative 'comet/models/pvebackup_node'
|
|
148
148
|
require_relative 'comet/models/pvebackup_vm'
|
|
149
149
|
require_relative 'comet/models/pvedisk'
|
|
150
|
-
require_relative 'comet/models/pvedisk'
|
|
151
150
|
require_relative 'comet/models/pveparams'
|
|
152
|
-
require_relative 'comet/models/pverestore_selection'
|
|
153
151
|
require_relative 'comet/models/pvestorage_name'
|
|
154
152
|
require_relative 'comet/models/pvevm'
|
|
155
|
-
require_relative 'comet/models/pvevm'
|
|
156
153
|
require_relative 'comet/models/ratelimit_options'
|
|
157
154
|
require_relative 'comet/models/ratelimit_rule'
|
|
158
155
|
require_relative 'comet/models/register_office_application_begin_response'
|