comet_backup_ruby_sdk 2.41.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 +19 -0
- data/Gemfile.lock +1 -1
- data/comet_backup_ruby_sdk.gemspec +1 -1
- data/lib/comet/comet_server.rb +253 -12
- data/lib/comet/definitions.rb +51 -7
- data/lib/comet/models/backup_job_advanced_options.rb +10 -0
- data/lib/comet/models/backup_job_detail.rb +12 -0
- 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/browse_proxmox_nodes_response.rb +99 -0
- data/lib/comet/models/browse_proxmox_response.rb +98 -0
- data/lib/comet/models/browse_proxmox_storage_response.rb +98 -0
- data/lib/comet/models/dispatch_with_job_idresponse.rb +94 -0
- data/lib/comet/models/external_authentication_source.rb +3 -3
- data/lib/comet/models/office_365custom_setting_v2.rb +16 -5
- data/lib/comet/models/partition.rb +20 -0
- 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/proxmox_connection.rb +72 -0
- data/lib/comet/models/proxmox_restore_target_options.rb +92 -0
- data/lib/comet/models/pvebackup_disk.rb +92 -0
- data/lib/comet/models/pvebackup_node.rb +105 -0
- data/lib/comet/models/pvebackup_vm.rb +128 -0
- data/lib/comet/models/pvedisk.rb +138 -0
- data/lib/comet/models/pveparams.rb +140 -0
- data/lib/comet/models/pvestorage_name.rb +83 -0
- data/lib/comet/models/pvevm.rb +150 -0
- data/lib/comet/models/registration_lobby_connection.rb +11 -0
- data/lib/comet/models/remote_server_address.rb +3 -3
- data/lib/comet/models/remote_storage_option.rb +3 -3
- data/lib/comet/models/replica_server.rb +3 -3
- data/lib/comet/models/request_storage_vault_response_message.rb +17 -0
- data/lib/comet/models/restore_job_advanced_options.rb +11 -0
- data/lib/comet/models/retention_range.rb +18 -0
- data/lib/comet/models/schedule_config.rb +18 -0
- data/lib/comet/models/self_backup_export_options.rb +2 -2
- data/lib/comet/models/self_backup_target.rb +2 -2
- data/lib/comet/models/source_config.rb +7 -0
- data/lib/comet/models/user_policy.rb +11 -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 +14 -1
- metadata +16 -2
|
@@ -0,0 +1,138 @@
|
|
|
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
|
+
# PVEDisk is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
class PVEDisk
|
|
14
|
+
|
|
15
|
+
# @type [String] device
|
|
16
|
+
attr_accessor :device
|
|
17
|
+
|
|
18
|
+
# @type [Number] device_num
|
|
19
|
+
attr_accessor :device_num
|
|
20
|
+
|
|
21
|
+
# @type [String] storage_id
|
|
22
|
+
attr_accessor :storage_id
|
|
23
|
+
|
|
24
|
+
# @type [String] volume
|
|
25
|
+
attr_accessor :volume
|
|
26
|
+
|
|
27
|
+
# Bytes
|
|
28
|
+
# @type [Number] size
|
|
29
|
+
attr_accessor :size
|
|
30
|
+
|
|
31
|
+
# @type [String] format
|
|
32
|
+
attr_accessor :format
|
|
33
|
+
|
|
34
|
+
# @type [String] options
|
|
35
|
+
attr_accessor :options
|
|
36
|
+
|
|
37
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
38
|
+
attr_accessor :unknown_json_fields
|
|
39
|
+
|
|
40
|
+
def initialize
|
|
41
|
+
clear
|
|
42
|
+
end
|
|
43
|
+
|
|
44
|
+
def clear
|
|
45
|
+
@device = ''
|
|
46
|
+
@device_num = 0
|
|
47
|
+
@storage_id = ''
|
|
48
|
+
@volume = ''
|
|
49
|
+
@size = 0
|
|
50
|
+
@format = ''
|
|
51
|
+
@options = ''
|
|
52
|
+
@unknown_json_fields = {}
|
|
53
|
+
end
|
|
54
|
+
|
|
55
|
+
# @param [String] json_string The complete object in JSON format
|
|
56
|
+
def from_json(json_string)
|
|
57
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
58
|
+
|
|
59
|
+
from_hash(JSON.parse(json_string))
|
|
60
|
+
end
|
|
61
|
+
|
|
62
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
63
|
+
def from_hash(obj)
|
|
64
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
65
|
+
|
|
66
|
+
obj.each do |k, v|
|
|
67
|
+
case k
|
|
68
|
+
when 'Device'
|
|
69
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
70
|
+
|
|
71
|
+
@device = v
|
|
72
|
+
when 'DeviceNum'
|
|
73
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
74
|
+
|
|
75
|
+
@device_num = v
|
|
76
|
+
when 'StorageID'
|
|
77
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
78
|
+
|
|
79
|
+
@storage_id = v
|
|
80
|
+
when 'Volume'
|
|
81
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
82
|
+
|
|
83
|
+
@volume = v
|
|
84
|
+
when 'Size'
|
|
85
|
+
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
86
|
+
|
|
87
|
+
@size = v
|
|
88
|
+
when 'Format'
|
|
89
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
90
|
+
|
|
91
|
+
@format = v
|
|
92
|
+
when 'Options'
|
|
93
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
94
|
+
|
|
95
|
+
@options = v
|
|
96
|
+
else
|
|
97
|
+
@unknown_json_fields[k] = v
|
|
98
|
+
end
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
|
|
102
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
103
|
+
def to_hash
|
|
104
|
+
ret = {}
|
|
105
|
+
ret['Device'] = @device
|
|
106
|
+
ret['DeviceNum'] = @device_num
|
|
107
|
+
unless @storage_id.nil?
|
|
108
|
+
ret['StorageID'] = @storage_id
|
|
109
|
+
end
|
|
110
|
+
unless @volume.nil?
|
|
111
|
+
ret['Volume'] = @volume
|
|
112
|
+
end
|
|
113
|
+
unless @size.nil?
|
|
114
|
+
ret['Size'] = @size
|
|
115
|
+
end
|
|
116
|
+
unless @format.nil?
|
|
117
|
+
ret['Format'] = @format
|
|
118
|
+
end
|
|
119
|
+
unless @options.nil?
|
|
120
|
+
ret['Options'] = @options
|
|
121
|
+
end
|
|
122
|
+
@unknown_json_fields.each do |k, v|
|
|
123
|
+
ret[k] = v
|
|
124
|
+
end
|
|
125
|
+
ret
|
|
126
|
+
end
|
|
127
|
+
|
|
128
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
129
|
+
def to_h
|
|
130
|
+
to_hash
|
|
131
|
+
end
|
|
132
|
+
|
|
133
|
+
# @return [String] The complete object as a JSON string
|
|
134
|
+
def to_json(options = {})
|
|
135
|
+
to_hash.to_json(options)
|
|
136
|
+
end
|
|
137
|
+
end
|
|
138
|
+
end
|
|
@@ -0,0 +1,140 @@
|
|
|
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
|
+
# 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.
|
|
16
|
+
class PVEParams
|
|
17
|
+
|
|
18
|
+
# @type [Boolean] everything
|
|
19
|
+
attr_accessor :everything
|
|
20
|
+
|
|
21
|
+
# @type [Array<Comet::PVEBackupNode>] exclusions
|
|
22
|
+
attr_accessor :exclusions
|
|
23
|
+
|
|
24
|
+
# One of the PVE_BACKUP_METHOD constants
|
|
25
|
+
# @type [String] method
|
|
26
|
+
attr_accessor :method
|
|
27
|
+
|
|
28
|
+
# Primary node URL + SSH credentials
|
|
29
|
+
# @type [Comet::SSHConnection] sshconnection
|
|
30
|
+
attr_accessor :sshconnection
|
|
31
|
+
|
|
32
|
+
# @type [Array<Comet::PVEBackupNode>] selections
|
|
33
|
+
attr_accessor :selections
|
|
34
|
+
|
|
35
|
+
# @type [Boolean] use_cbt
|
|
36
|
+
attr_accessor :use_cbt
|
|
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
|
+
clear
|
|
43
|
+
end
|
|
44
|
+
|
|
45
|
+
def clear
|
|
46
|
+
@exclusions = []
|
|
47
|
+
@method = ''
|
|
48
|
+
@sshconnection = Comet::SSHConnection.new
|
|
49
|
+
@selections = []
|
|
50
|
+
@unknown_json_fields = {}
|
|
51
|
+
end
|
|
52
|
+
|
|
53
|
+
# @param [String] json_string The complete object in JSON format
|
|
54
|
+
def from_json(json_string)
|
|
55
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
56
|
+
|
|
57
|
+
from_hash(JSON.parse(json_string))
|
|
58
|
+
end
|
|
59
|
+
|
|
60
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
61
|
+
def from_hash(obj)
|
|
62
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
63
|
+
|
|
64
|
+
obj.each do |k, v|
|
|
65
|
+
case k
|
|
66
|
+
when 'Everything'
|
|
67
|
+
@everything = v
|
|
68
|
+
when 'Exclusions'
|
|
69
|
+
if v.nil?
|
|
70
|
+
@exclusions = []
|
|
71
|
+
else
|
|
72
|
+
@exclusions = Array.new(v.length)
|
|
73
|
+
v.each_with_index do |v1, i1|
|
|
74
|
+
@exclusions[i1] = Comet::PVEBackupNode.new
|
|
75
|
+
@exclusions[i1].from_hash(v1)
|
|
76
|
+
end
|
|
77
|
+
end
|
|
78
|
+
when 'Method'
|
|
79
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
80
|
+
|
|
81
|
+
@method = v
|
|
82
|
+
when 'SSHConnection'
|
|
83
|
+
@sshconnection = Comet::SSHConnection.new
|
|
84
|
+
@sshconnection.from_hash(v)
|
|
85
|
+
when 'Selections'
|
|
86
|
+
if v.nil?
|
|
87
|
+
@selections = []
|
|
88
|
+
else
|
|
89
|
+
@selections = Array.new(v.length)
|
|
90
|
+
v.each_with_index do |v1, i1|
|
|
91
|
+
@selections[i1] = Comet::PVEBackupNode.new
|
|
92
|
+
@selections[i1].from_hash(v1)
|
|
93
|
+
end
|
|
94
|
+
end
|
|
95
|
+
when 'UseCBT'
|
|
96
|
+
@use_cbt = v
|
|
97
|
+
else
|
|
98
|
+
@unknown_json_fields[k] = v
|
|
99
|
+
end
|
|
100
|
+
end
|
|
101
|
+
end
|
|
102
|
+
|
|
103
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
104
|
+
def to_hash
|
|
105
|
+
ret = {}
|
|
106
|
+
unless @everything.nil?
|
|
107
|
+
ret['Everything'] = @everything
|
|
108
|
+
end
|
|
109
|
+
unless @exclusions.nil?
|
|
110
|
+
ret['Exclusions'] = @exclusions
|
|
111
|
+
end
|
|
112
|
+
unless @method.nil?
|
|
113
|
+
ret['Method'] = @method
|
|
114
|
+
end
|
|
115
|
+
unless @sshconnection.nil?
|
|
116
|
+
ret['SSHConnection'] = @sshconnection
|
|
117
|
+
end
|
|
118
|
+
unless @selections.nil?
|
|
119
|
+
ret['Selections'] = @selections
|
|
120
|
+
end
|
|
121
|
+
unless @use_cbt.nil?
|
|
122
|
+
ret['UseCBT'] = @use_cbt
|
|
123
|
+
end
|
|
124
|
+
@unknown_json_fields.each do |k, v|
|
|
125
|
+
ret[k] = v
|
|
126
|
+
end
|
|
127
|
+
ret
|
|
128
|
+
end
|
|
129
|
+
|
|
130
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
131
|
+
def to_h
|
|
132
|
+
to_hash
|
|
133
|
+
end
|
|
134
|
+
|
|
135
|
+
# @return [String] The complete object as a JSON string
|
|
136
|
+
def to_json(options = {})
|
|
137
|
+
to_hash.to_json(options)
|
|
138
|
+
end
|
|
139
|
+
end
|
|
140
|
+
end
|
|
@@ -0,0 +1,83 @@
|
|
|
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
|
+
# PVEStorageName is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
# PVEStorageName contains the name and type of storage configured on a Proxmox Cluster
|
|
14
|
+
class PVEStorageName
|
|
15
|
+
|
|
16
|
+
# @type [String] name
|
|
17
|
+
attr_accessor :name
|
|
18
|
+
|
|
19
|
+
# @type [String] type
|
|
20
|
+
attr_accessor :type
|
|
21
|
+
|
|
22
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
23
|
+
attr_accessor :unknown_json_fields
|
|
24
|
+
|
|
25
|
+
def initialize
|
|
26
|
+
clear
|
|
27
|
+
end
|
|
28
|
+
|
|
29
|
+
def clear
|
|
30
|
+
@name = ''
|
|
31
|
+
@type = ''
|
|
32
|
+
@unknown_json_fields = {}
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
# @param [String] json_string The complete object in JSON format
|
|
36
|
+
def from_json(json_string)
|
|
37
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
38
|
+
|
|
39
|
+
from_hash(JSON.parse(json_string))
|
|
40
|
+
end
|
|
41
|
+
|
|
42
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
43
|
+
def from_hash(obj)
|
|
44
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
45
|
+
|
|
46
|
+
obj.each do |k, v|
|
|
47
|
+
case k
|
|
48
|
+
when 'Name'
|
|
49
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
50
|
+
|
|
51
|
+
@name = v
|
|
52
|
+
when 'Type'
|
|
53
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
54
|
+
|
|
55
|
+
@type = 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['Name'] = @name
|
|
66
|
+
ret['Type'] = @type
|
|
67
|
+
@unknown_json_fields.each do |k, v|
|
|
68
|
+
ret[k] = v
|
|
69
|
+
end
|
|
70
|
+
ret
|
|
71
|
+
end
|
|
72
|
+
|
|
73
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
74
|
+
def to_h
|
|
75
|
+
to_hash
|
|
76
|
+
end
|
|
77
|
+
|
|
78
|
+
# @return [String] The complete object as a JSON string
|
|
79
|
+
def to_json(options = {})
|
|
80
|
+
to_hash.to_json(options)
|
|
81
|
+
end
|
|
82
|
+
end
|
|
83
|
+
end
|
|
@@ -0,0 +1,150 @@
|
|
|
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
|
+
# PVEVM is a typed class wrapper around the underlying Comet Server API data structure.
|
|
13
|
+
# PVEVM describes a single Proxmox virtual machine or container.
|
|
14
|
+
class PVEVM
|
|
15
|
+
|
|
16
|
+
# @type [String] cpu
|
|
17
|
+
attr_accessor :cpu
|
|
18
|
+
|
|
19
|
+
# @type [Array<Comet::PVEDisk>] disks
|
|
20
|
+
attr_accessor :disks
|
|
21
|
+
|
|
22
|
+
# @type [String] memory
|
|
23
|
+
attr_accessor :memory
|
|
24
|
+
|
|
25
|
+
# @type [String] name
|
|
26
|
+
attr_accessor :name
|
|
27
|
+
|
|
28
|
+
# @type [String] node
|
|
29
|
+
attr_accessor :node
|
|
30
|
+
|
|
31
|
+
# @type [String] ostype
|
|
32
|
+
attr_accessor :ostype
|
|
33
|
+
|
|
34
|
+
# @type [Boolean] running
|
|
35
|
+
attr_accessor :running
|
|
36
|
+
|
|
37
|
+
# @type [String] type
|
|
38
|
+
attr_accessor :type
|
|
39
|
+
|
|
40
|
+
# String type, but always contains an integer value
|
|
41
|
+
# @type [String] vmid
|
|
42
|
+
attr_accessor :vmid
|
|
43
|
+
|
|
44
|
+
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
45
|
+
attr_accessor :unknown_json_fields
|
|
46
|
+
|
|
47
|
+
def initialize
|
|
48
|
+
clear
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def clear
|
|
52
|
+
@cpu = ''
|
|
53
|
+
@disks = []
|
|
54
|
+
@memory = ''
|
|
55
|
+
@name = ''
|
|
56
|
+
@node = ''
|
|
57
|
+
@ostype = ''
|
|
58
|
+
@type = ''
|
|
59
|
+
@vmid = ''
|
|
60
|
+
@unknown_json_fields = {}
|
|
61
|
+
end
|
|
62
|
+
|
|
63
|
+
# @param [String] json_string The complete object in JSON format
|
|
64
|
+
def from_json(json_string)
|
|
65
|
+
raise TypeError, "'json_string' expected String, got #{json_string.class}" unless json_string.is_a? String
|
|
66
|
+
|
|
67
|
+
from_hash(JSON.parse(json_string))
|
|
68
|
+
end
|
|
69
|
+
|
|
70
|
+
# @param [Hash] obj The complete object as a Ruby hash
|
|
71
|
+
def from_hash(obj)
|
|
72
|
+
raise TypeError, "'obj' expected Hash, got #{obj.class}" unless obj.is_a? Hash
|
|
73
|
+
|
|
74
|
+
obj.each do |k, v|
|
|
75
|
+
case k
|
|
76
|
+
when 'CPU'
|
|
77
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
78
|
+
|
|
79
|
+
@cpu = v
|
|
80
|
+
when 'Disks'
|
|
81
|
+
if v.nil?
|
|
82
|
+
@disks = []
|
|
83
|
+
else
|
|
84
|
+
@disks = Array.new(v.length)
|
|
85
|
+
v.each_with_index do |v1, i1|
|
|
86
|
+
@disks[i1] = Comet::PVEDisk.new
|
|
87
|
+
@disks[i1].from_hash(v1)
|
|
88
|
+
end
|
|
89
|
+
end
|
|
90
|
+
when 'Memory'
|
|
91
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
92
|
+
|
|
93
|
+
@memory = v
|
|
94
|
+
when 'Name'
|
|
95
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
96
|
+
|
|
97
|
+
@name = v
|
|
98
|
+
when 'Node'
|
|
99
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
100
|
+
|
|
101
|
+
@node = v
|
|
102
|
+
when 'OSType'
|
|
103
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
104
|
+
|
|
105
|
+
@ostype = v
|
|
106
|
+
when 'Running'
|
|
107
|
+
@running = v
|
|
108
|
+
when 'Type'
|
|
109
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
110
|
+
|
|
111
|
+
@type = v
|
|
112
|
+
when 'VMID'
|
|
113
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
114
|
+
|
|
115
|
+
@vmid = v
|
|
116
|
+
else
|
|
117
|
+
@unknown_json_fields[k] = v
|
|
118
|
+
end
|
|
119
|
+
end
|
|
120
|
+
end
|
|
121
|
+
|
|
122
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
123
|
+
def to_hash
|
|
124
|
+
ret = {}
|
|
125
|
+
ret['CPU'] = @cpu
|
|
126
|
+
ret['Disks'] = @disks
|
|
127
|
+
ret['Memory'] = @memory
|
|
128
|
+
ret['Name'] = @name
|
|
129
|
+
ret['Node'] = @node
|
|
130
|
+
ret['OSType'] = @ostype
|
|
131
|
+
ret['Running'] = @running
|
|
132
|
+
ret['Type'] = @type
|
|
133
|
+
ret['VMID'] = @vmid
|
|
134
|
+
@unknown_json_fields.each do |k, v|
|
|
135
|
+
ret[k] = v
|
|
136
|
+
end
|
|
137
|
+
ret
|
|
138
|
+
end
|
|
139
|
+
|
|
140
|
+
# @return [Hash] The complete object as a Ruby hash
|
|
141
|
+
def to_h
|
|
142
|
+
to_hash
|
|
143
|
+
end
|
|
144
|
+
|
|
145
|
+
# @return [String] The complete object as a JSON string
|
|
146
|
+
def to_json(options = {})
|
|
147
|
+
to_hash.to_json(options)
|
|
148
|
+
end
|
|
149
|
+
end
|
|
150
|
+
end
|
|
@@ -36,6 +36,9 @@ module Comet
|
|
|
36
36
|
# @type [String] ipaddress
|
|
37
37
|
attr_accessor :ipaddress
|
|
38
38
|
|
|
39
|
+
# @type [String] host
|
|
40
|
+
attr_accessor :host
|
|
41
|
+
|
|
39
42
|
# @type [Number] connection_time
|
|
40
43
|
attr_accessor :connection_time
|
|
41
44
|
|
|
@@ -55,6 +58,7 @@ module Comet
|
|
|
55
58
|
@reported_platform_version = Comet::OSInfo.new
|
|
56
59
|
@device_time_zone = ''
|
|
57
60
|
@ipaddress = ''
|
|
61
|
+
@host = ''
|
|
58
62
|
@connection_time = 0
|
|
59
63
|
@unknown_json_fields = {}
|
|
60
64
|
end
|
|
@@ -103,6 +107,10 @@ module Comet
|
|
|
103
107
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
104
108
|
|
|
105
109
|
@ipaddress = v
|
|
110
|
+
when 'Host'
|
|
111
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
112
|
+
|
|
113
|
+
@host = v
|
|
106
114
|
when 'ConnectionTime'
|
|
107
115
|
raise TypeError, "'v' expected Numeric, got #{v.class}" unless v.is_a? Numeric
|
|
108
116
|
|
|
@@ -130,6 +138,9 @@ module Comet
|
|
|
130
138
|
unless @ipaddress.nil?
|
|
131
139
|
ret['IPAddress'] = @ipaddress
|
|
132
140
|
end
|
|
141
|
+
unless @host.nil?
|
|
142
|
+
ret['Host'] = @host
|
|
143
|
+
end
|
|
133
144
|
ret['ConnectionTime'] = @connection_time
|
|
134
145
|
@unknown_json_fields.each do |k, v|
|
|
135
146
|
ret[k] = v
|
|
@@ -18,15 +18,15 @@ module Comet
|
|
|
18
18
|
# @type [String] description
|
|
19
19
|
attr_accessor :description
|
|
20
20
|
|
|
21
|
-
# For use with Comet Server (Storage
|
|
21
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
22
22
|
# @type [String] remote_address
|
|
23
23
|
attr_accessor :remote_address
|
|
24
24
|
|
|
25
|
-
# For use with Comet Server (Storage
|
|
25
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
26
26
|
# @type [String] username
|
|
27
27
|
attr_accessor :username
|
|
28
28
|
|
|
29
|
-
# For use with Comet Server (Storage
|
|
29
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
30
30
|
# @type [String] password
|
|
31
31
|
attr_accessor :password
|
|
32
32
|
|
|
@@ -18,15 +18,15 @@ module Comet
|
|
|
18
18
|
# @type [String] description
|
|
19
19
|
attr_accessor :description
|
|
20
20
|
|
|
21
|
-
# For use with Comet Server (Storage
|
|
21
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
22
22
|
# @type [String] remote_address
|
|
23
23
|
attr_accessor :remote_address
|
|
24
24
|
|
|
25
|
-
# For use with Comet Server (Storage
|
|
25
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
26
26
|
# @type [String] username
|
|
27
27
|
attr_accessor :username
|
|
28
28
|
|
|
29
|
-
# For use with Comet Server (Storage
|
|
29
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
30
30
|
# @type [String] password
|
|
31
31
|
attr_accessor :password
|
|
32
32
|
|
|
@@ -18,15 +18,15 @@ module Comet
|
|
|
18
18
|
# @type [String] description
|
|
19
19
|
attr_accessor :description
|
|
20
20
|
|
|
21
|
-
# For use with Comet Server (Storage
|
|
21
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
22
22
|
# @type [String] remote_address
|
|
23
23
|
attr_accessor :remote_address
|
|
24
24
|
|
|
25
|
-
# For use with Comet Server (Storage
|
|
25
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
26
26
|
# @type [String] username
|
|
27
27
|
attr_accessor :username
|
|
28
28
|
|
|
29
|
-
# For use with Comet Server (Storage
|
|
29
|
+
# For use with Comet Server (Storage Gateway / Management Console)
|
|
30
30
|
# @type [String] password
|
|
31
31
|
attr_accessor :password
|
|
32
32
|
|
|
@@ -22,6 +22,12 @@ module Comet
|
|
|
22
22
|
# @type [String] destination_id
|
|
23
23
|
attr_accessor :destination_id
|
|
24
24
|
|
|
25
|
+
# @type [String] profile_hash
|
|
26
|
+
attr_accessor :profile_hash
|
|
27
|
+
|
|
28
|
+
# @type [Comet::UserProfileConfig] profile
|
|
29
|
+
attr_accessor :profile
|
|
30
|
+
|
|
25
31
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
26
32
|
attr_accessor :unknown_json_fields
|
|
27
33
|
|
|
@@ -33,6 +39,8 @@ module Comet
|
|
|
33
39
|
@status = 0
|
|
34
40
|
@message = ''
|
|
35
41
|
@destination_id = ''
|
|
42
|
+
@profile_hash = ''
|
|
43
|
+
@profile = Comet::UserProfileConfig.new
|
|
36
44
|
@unknown_json_fields = {}
|
|
37
45
|
end
|
|
38
46
|
|
|
@@ -61,6 +69,13 @@ module Comet
|
|
|
61
69
|
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
62
70
|
|
|
63
71
|
@destination_id = v
|
|
72
|
+
when 'ProfileHash'
|
|
73
|
+
raise TypeError, "'v' expected String, got #{v.class}" unless v.is_a? String
|
|
74
|
+
|
|
75
|
+
@profile_hash = v
|
|
76
|
+
when 'Profile'
|
|
77
|
+
@profile = Comet::UserProfileConfig.new
|
|
78
|
+
@profile.from_hash(v)
|
|
64
79
|
else
|
|
65
80
|
@unknown_json_fields[k] = v
|
|
66
81
|
end
|
|
@@ -73,6 +88,8 @@ module Comet
|
|
|
73
88
|
ret['Status'] = @status
|
|
74
89
|
ret['Message'] = @message
|
|
75
90
|
ret['DestinationID'] = @destination_id
|
|
91
|
+
ret['ProfileHash'] = @profile_hash
|
|
92
|
+
ret['Profile'] = @profile
|
|
76
93
|
@unknown_json_fields.each do |k, v|
|
|
77
94
|
ret[k] = v
|
|
78
95
|
end
|
|
@@ -117,6 +117,10 @@ module Comet
|
|
|
117
117
|
# @type [Comet::HyperVRestoreTargetOptions] hyper_vconnection
|
|
118
118
|
attr_accessor :hyper_vconnection
|
|
119
119
|
|
|
120
|
+
# For RESTORETYPE_VMHOST
|
|
121
|
+
# @type [Comet::ProxmoxRestoreTargetOptions] proxmox_connection
|
|
122
|
+
attr_accessor :proxmox_connection
|
|
123
|
+
|
|
120
124
|
# @type [Hash] Hidden storage to preserve future properties for non-destructive roundtrip operations
|
|
121
125
|
attr_accessor :unknown_json_fields
|
|
122
126
|
|
|
@@ -140,6 +144,7 @@ module Comet
|
|
|
140
144
|
@ms_sql_connection = Comet::MSSQLLoginArgs.new
|
|
141
145
|
@vmware_connection = Comet::VMwareRestoreTargetOptions.new
|
|
142
146
|
@hyper_vconnection = Comet::HyperVRestoreTargetOptions.new
|
|
147
|
+
@proxmox_connection = Comet::ProxmoxRestoreTargetOptions.new
|
|
143
148
|
@unknown_json_fields = {}
|
|
144
149
|
end
|
|
145
150
|
|
|
@@ -237,6 +242,9 @@ module Comet
|
|
|
237
242
|
when 'HyperVConnection'
|
|
238
243
|
@hyper_vconnection = Comet::HyperVRestoreTargetOptions.new
|
|
239
244
|
@hyper_vconnection.from_hash(v)
|
|
245
|
+
when 'ProxmoxConnection'
|
|
246
|
+
@proxmox_connection = Comet::ProxmoxRestoreTargetOptions.new
|
|
247
|
+
@proxmox_connection.from_hash(v)
|
|
240
248
|
else
|
|
241
249
|
@unknown_json_fields[k] = v
|
|
242
250
|
end
|
|
@@ -278,6 +286,9 @@ module Comet
|
|
|
278
286
|
unless @hyper_vconnection.nil?
|
|
279
287
|
ret['HyperVConnection'] = @hyper_vconnection
|
|
280
288
|
end
|
|
289
|
+
unless @proxmox_connection.nil?
|
|
290
|
+
ret['ProxmoxConnection'] = @proxmox_connection
|
|
291
|
+
end
|
|
281
292
|
@unknown_json_fields.each do |k, v|
|
|
282
293
|
ret[k] = v
|
|
283
294
|
end
|