opennebula-cli 5.12.7 → 6.0.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 (103) hide show
  1. checksums.yaml +4 -4
  2. data/bin/oneacct +9 -4
  3. data/bin/oneacl +8 -5
  4. data/bin/onecluster +10 -7
  5. data/bin/onedatastore +10 -7
  6. data/bin/oneflow +85 -13
  7. data/bin/oneflow-template +45 -8
  8. data/bin/onegroup +10 -7
  9. data/bin/onehook +10 -7
  10. data/bin/onehost +10 -7
  11. data/bin/oneimage +100 -9
  12. data/bin/onemarket +10 -7
  13. data/bin/onemarketapp +114 -11
  14. data/bin/onesecgroup +13 -7
  15. data/bin/oneshowback +18 -10
  16. data/bin/onetemplate +12 -8
  17. data/bin/oneuser +30 -7
  18. data/bin/onevcenter +16 -8
  19. data/bin/onevdc +10 -7
  20. data/bin/onevm +147 -12
  21. data/bin/onevmgroup +13 -7
  22. data/bin/onevnet +8 -5
  23. data/bin/onevntemplate +11 -7
  24. data/bin/onevrouter +10 -7
  25. data/bin/onezone +11 -8
  26. data/lib/cli_helper.rb +17 -8
  27. data/lib/command_parser.rb +1 -1
  28. data/lib/one_helper.rb +398 -37
  29. data/lib/one_helper/oneacct_helper.rb +8 -17
  30. data/lib/one_helper/oneacl_helper.rb +1 -1
  31. data/lib/one_helper/onecluster_helper.rb +1 -1
  32. data/lib/one_helper/onedatastore_helper.rb +11 -1
  33. data/lib/one_helper/oneflow_helper.rb +20 -5
  34. data/lib/one_helper/oneflowtemplate_helper.rb +28 -2
  35. data/lib/one_helper/onegroup_helper.rb +1 -1
  36. data/lib/one_helper/onehook_helper.rb +1 -1
  37. data/lib/one_helper/onehost_helper.rb +1 -5
  38. data/lib/one_helper/oneimage_helper.rb +13 -7
  39. data/lib/one_helper/onemarket_helper.rb +1 -1
  40. data/lib/one_helper/onemarketapp_helper.rb +500 -96
  41. data/lib/one_helper/onequota_helper.rb +1 -1
  42. data/lib/one_helper/onesecgroup_helper.rb +1 -1
  43. data/lib/one_helper/onetemplate_helper.rb +12 -1
  44. data/lib/one_helper/oneuser_helper.rb +11 -3
  45. data/lib/one_helper/onevcenter_helper.rb +176 -146
  46. data/lib/one_helper/onevdc_helper.rb +1 -1
  47. data/lib/one_helper/onevm_helper.rb +4 -3
  48. data/lib/one_helper/onevmgroup_helper.rb +1 -1
  49. data/lib/one_helper/onevnet_helper.rb +1 -1
  50. data/lib/one_helper/onevntemplate_helper.rb +1 -1
  51. data/lib/one_helper/onevrouter_helper.rb +1 -20
  52. data/lib/one_helper/onezone_helper.rb +24 -17
  53. data/share/schemas/xsd/acct.xsd +179 -0
  54. data/share/schemas/xsd/acl_pool.xsd +22 -0
  55. data/share/schemas/xsd/api_info.xsd +43 -0
  56. data/share/schemas/xsd/cluster.xsd +34 -0
  57. data/share/schemas/xsd/cluster_pool.xsd +12 -0
  58. data/share/schemas/xsd/datastore.xsd +67 -0
  59. data/share/schemas/xsd/datastore_pool.xsd +12 -0
  60. data/share/schemas/xsd/document.xsd +42 -0
  61. data/share/schemas/xsd/document_pool.xsd +12 -0
  62. data/share/schemas/xsd/group.xsd +179 -0
  63. data/share/schemas/xsd/group_pool.xsd +194 -0
  64. data/share/schemas/xsd/hook.xsd +59 -0
  65. data/share/schemas/xsd/hook_message_api.xsd +14 -0
  66. data/share/schemas/xsd/hook_message_retry.xsd +12 -0
  67. data/share/schemas/xsd/hook_message_state.xsd +25 -0
  68. data/share/schemas/xsd/hook_pool.xsd +12 -0
  69. data/share/schemas/xsd/host.xsd +164 -0
  70. data/share/schemas/xsd/host_pool.xsd +12 -0
  71. data/share/schemas/xsd/image.xsd +123 -0
  72. data/share/schemas/xsd/image_pool.xsd +12 -0
  73. data/share/schemas/xsd/index.xsd +50 -0
  74. data/share/schemas/xsd/marketplace.xsd +44 -0
  75. data/share/schemas/xsd/marketplace_pool.xsd +12 -0
  76. data/share/schemas/xsd/marketplaceapp.xsd +56 -0
  77. data/share/schemas/xsd/marketplaceapp_pool.xsd +12 -0
  78. data/share/schemas/xsd/monitoring_data.xsd +41 -0
  79. data/share/schemas/xsd/opennebula_configuration.xsd +412 -0
  80. data/share/schemas/xsd/raftstatus.xsd +18 -0
  81. data/share/schemas/xsd/security_group.xsd +74 -0
  82. data/share/schemas/xsd/security_group_pool.xsd +12 -0
  83. data/share/schemas/xsd/showback.xsd +29 -0
  84. data/share/schemas/xsd/user.xsd +186 -0
  85. data/share/schemas/xsd/user_pool.xsd +201 -0
  86. data/share/schemas/xsd/vdc.xsd +76 -0
  87. data/share/schemas/xsd/vdc_pool.xsd +12 -0
  88. data/share/schemas/xsd/vm.xsd +251 -0
  89. data/share/schemas/xsd/vm_group.xsd +59 -0
  90. data/share/schemas/xsd/vm_group_pool.xsd +12 -0
  91. data/share/schemas/xsd/vm_pool.xsd +114 -0
  92. data/share/schemas/xsd/vmtemplate.xsd +52 -0
  93. data/share/schemas/xsd/vmtemplate_pool.xsd +12 -0
  94. data/share/schemas/xsd/vnet.xsd +137 -0
  95. data/share/schemas/xsd/vnet_pool.xsd +85 -0
  96. data/share/schemas/xsd/vntemplate.xsd +50 -0
  97. data/share/schemas/xsd/vntemplate_pool.xsd +12 -0
  98. data/share/schemas/xsd/vrouter.xsd +49 -0
  99. data/share/schemas/xsd/vrouter_pool.xsd +12 -0
  100. data/share/schemas/xsd/zone.xsd +40 -0
  101. data/share/schemas/xsd/zone_pool.xsd +36 -0
  102. metadata +79 -17
  103. data/lib/one_helper/oneprovision_helper.rb +0 -362
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -252,7 +252,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
252
252
  end
253
253
 
254
254
  vm_nics.each do |nic|
255
- %w[IP IP6_GLOBAL IP6_ULA IP6
255
+ %w[IP EXTERNAL_IP IP6_GLOBAL IP6_ULA IP6
256
256
  VROUTER_IP VROUTER_IP6_GLOBAL VROUTER_IP6_ULA].each do |attr|
257
257
  if nic.key?(attr)
258
258
  ips.push(nic[attr])
@@ -985,7 +985,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
985
985
  vm_nics.each do |nic|
986
986
  next if nic.key?('CLI_DONE')
987
987
 
988
- %w[IP6_LINK IP6_ULA IP6_GLOBAL IP6].each do |attr|
988
+ %w[EXTERNAL_IP IP6_LINK IP6_ULA IP6_GLOBAL IP6].each do |attr|
989
989
  next unless nic.key?(attr)
990
990
 
991
991
  shown_ips << nic[attr]
@@ -1013,6 +1013,7 @@ class OneVMHelper < OpenNebulaHelper::OneHelper
1013
1013
  end
1014
1014
 
1015
1015
  shown_ips << nic['IP'] if nic.key?('IP')
1016
+ shown_ips << nic['EXTERNAL_IP'] if nic.key?('EXTERNAL_IP')
1016
1017
 
1017
1018
  nic.merge!(nic_default) {|_k, v1, _v2| v1 }
1018
1019
  array_id += 1
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -38,25 +38,6 @@ class OneVirtualRouterHelper < OpenNebulaHelper::OneHelper
38
38
  "onevrouter.yaml"
39
39
  end
40
40
 
41
- def show_resource(id, options)
42
- resource = retrieve_resource(id)
43
-
44
- if !options[:extended].nil?
45
- rc = resource.info(options[:extended])
46
- else
47
- rc = resource.info
48
- end
49
-
50
- return -1, rc.message if OpenNebula.is_error?(rc)
51
-
52
- if options[:xml]
53
- return 0, resource.to_xml(true)
54
- else
55
- format_resource(resource, options)
56
- return 0
57
- end
58
- end
59
-
60
41
  def format_pool(options)
61
42
  config_file = self.class.table_conf
62
43
 
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2020, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2021, OpenNebula Project, OpenNebula Systems #
3
3
  # #
4
4
  # Licensed under the Apache License, Version 2.0 (the "License"); you may #
5
5
  # not use this file except in compliance with the License. You may obtain #
@@ -38,8 +38,6 @@ class Replicator
38
38
  :service => 'opennebula' },
39
39
  { :name => 'monitord.conf',
40
40
  :service => 'opennebula' },
41
- { :name => 'econe.conf',
42
- :service => 'opennebula-econe' },
43
41
  { :name => 'oneflow-server.conf',
44
42
  :service => 'opennebula-flow' },
45
43
  { :name => 'onegate-server.conf',
@@ -57,7 +55,6 @@ class Replicator
57
55
  FOLDERS = [
58
56
  { :name => 'sunstone-views', :service => 'opennebula-sunstone' },
59
57
  { :name => 'auth', :service => 'opennebula' },
60
- { :name => 'ec2query_templates', :service => 'opennebula' },
61
58
  { :name => 'hm', :service => 'opennebula' },
62
59
  { :name => 'sunstone-views', :service => 'opennebula' },
63
60
  { :name => 'vmm_exec', :service => 'opennebula' }
@@ -99,14 +96,13 @@ class Replicator
99
96
  @opennebula_services = { 'opennebula' => false,
100
97
  'opennebula-sunstone' => false,
101
98
  'opennebula-gate' => false,
102
- 'opennebula-flow' => false,
103
- 'opennebula-econe' => false }
99
+ 'opennebula-flow' => false }
104
100
  end
105
101
 
106
102
  # Process files and folders
107
103
  #
108
- # @param sync_db [Boolean] True to sync database
109
- def process_files(sync_db)
104
+ # @param sync_database [Boolean] True to sync database
105
+ def process_files(sync_database)
110
106
  # Files to be copied
111
107
  copy_onedconf
112
108
 
@@ -122,7 +118,7 @@ class Replicator
122
118
  restart_services
123
119
 
124
120
  # Sync database
125
- sync_db
121
+ sync_db if sync_database
126
122
  end
127
123
 
128
124
  private
@@ -131,14 +127,14 @@ class Replicator
131
127
  #
132
128
  # @param configs [Object] Configuration
133
129
  def fetch_db_config(configs)
134
- configs.store(:backend, configs[:raw]['/TEMPLATE/DB/BACKEND'])
130
+ configs.store(:backend, configs[:raw]['/OPENNEBULA_CONFIGURATION/DB/BACKEND'])
135
131
 
136
132
  if configs[:backend] == 'mysql'
137
- configs.store(:server, configs[:raw]['/TEMPLATE/DB/SERVER'])
138
- configs.store(:user, configs[:raw]['/TEMPLATE/DB/USER'])
139
- configs.store(:password, configs[:raw]['/TEMPLATE/DB/PASSWD'])
140
- configs.store(:dbname, configs[:raw]['/TEMPLATE/DB/DB_NAME'])
141
- configs.store(:port, configs[:raw]['/TEMPLATE/DB/PORT'])
133
+ configs.store(:server, configs[:raw]['/OPENNEBULA_CONFIGURATION/DB/SERVER'])
134
+ configs.store(:user, configs[:raw]['/OPENNEBULA_CONFIGURATION/DB/USER'])
135
+ configs.store(:password, configs[:raw]['/OPENNEBULA_CONFIGURATION/DB/PASSWD'])
136
+ configs.store(:dbname, configs[:raw]['/OPENNEBULA_CONFIGURATION/DB/DB_NAME'])
137
+ configs.store(:port, configs[:raw]['/OPENNEBULA_CONFIGURATION/DB/PORT'])
142
138
  configs[:port] = '3306' if configs[:port] == '0'
143
139
  else
144
140
  STDERR.puts 'No mysql backend configuration found'
@@ -151,9 +147,9 @@ class Replicator
151
147
  # @param configs [Object] Configuration
152
148
  def fetch_fed_config(configs)
153
149
  configs.store(:server_id,
154
- configs[:raw]['/TEMPLATE/FEDERATION/SERVER_ID'])
150
+ configs[:raw]['/OPENNEBULA_CONFIGURATION/FEDERATION/SERVER_ID'])
155
151
  configs.store(:zone_id,
156
- configs[:raw]['/TEMPLATE/FEDERATION/ZONE_ID'])
152
+ configs[:raw]['/OPENNEBULA_CONFIGURATION/FEDERATION/ZONE_ID'])
157
153
  end
158
154
 
159
155
  # Replaces a file with the version located on a remote server
@@ -470,6 +466,17 @@ class OneZoneHelper < OpenNebulaHelper::OneHelper
470
466
 
471
467
  if options[:xml]
472
468
  return 0, resource.to_xml(true)
469
+ elsif options[:json]
470
+ # If body is set, the resource contains a JSON inside
471
+ if options[:body]
472
+ return 0, check_resource_xsd(resource)
473
+ else
474
+ return 0, ::JSON.pretty_generate(
475
+ check_resource_xsd(resource)
476
+ )
477
+ end
478
+ elsif options[:yaml]
479
+ return 0, check_resource_xsd(resource).to_yaml(:indent => 4)
473
480
  else
474
481
  format_resource(resource, options)
475
482
  return 0
@@ -0,0 +1,179 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
3
+ targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
4
+
5
+ <xs:element name="HISTORY_RECORDS">
6
+ <xs:complexType>
7
+ <xs:sequence maxOccurs="1" minOccurs="1">
8
+ <xs:element ref="HISTORY" maxOccurs="unbounded" minOccurs="0"/>
9
+ </xs:sequence>
10
+ </xs:complexType>
11
+ </xs:element>
12
+
13
+ <xs:element name="HISTORY">
14
+ <xs:complexType>
15
+ <xs:sequence>
16
+ <xs:element name="OID" type="xs:integer"/>
17
+ <xs:element name="SEQ" type="xs:integer"/>
18
+ <xs:element name="HOSTNAME" type="xs:string"/>
19
+ <xs:element name="HID" type="xs:integer"/>
20
+ <xs:element name="CID" type="xs:integer"/>
21
+ <xs:element name="STIME" type="xs:integer"/>
22
+ <xs:element name="ETIME" type="xs:integer"/>
23
+ <xs:element name="VM_MAD" type="xs:string"/>
24
+ <xs:element name="TM_MAD" type="xs:string"/>
25
+ <xs:element name="DS_ID" type="xs:integer"/>
26
+ <xs:element name="PSTIME" type="xs:integer"/>
27
+ <xs:element name="PETIME" type="xs:integer"/>
28
+ <xs:element name="RSTIME" type="xs:integer"/>
29
+ <xs:element name="RETIME" type="xs:integer"/>
30
+ <xs:element name="ESTIME" type="xs:integer"/>
31
+ <xs:element name="EETIME" type="xs:integer"/>
32
+
33
+ <!-- ACTION values:
34
+ NONE_ACTION = 0
35
+ MIGRATE_ACTION = 1
36
+ LIVE_MIGRATE_ACTION = 2
37
+ SHUTDOWN_ACTION = 3
38
+ SHUTDOWN_HARD_ACTION = 4
39
+ UNDEPLOY_ACTION = 5
40
+ UNDEPLOY_HARD_ACTION = 6
41
+ HOLD_ACTION = 7
42
+ RELEASE_ACTION = 8
43
+ STOP_ACTION = 9
44
+ SUSPEND_ACTION = 10
45
+ RESUME_ACTION = 11
46
+ BOOT_ACTION = 12
47
+ DELETE_ACTION = 13
48
+ DELETE_RECREATE_ACTION = 14
49
+ REBOOT_ACTION = 15
50
+ REBOOT_HARD_ACTION = 16
51
+ RESCHED_ACTION = 17
52
+ UNRESCHED_ACTION = 18
53
+ POWEROFF_ACTION = 19
54
+ POWEROFF_HARD_ACTION = 20
55
+ DISK_ATTACH_ACTION = 21
56
+ DISK_DETACH_ACTION = 22
57
+ NIC_ATTACH_ACTION = 23
58
+ NIC_DETACH_ACTION = 24
59
+ DISK_SNAPSHOT_CREATE_ACTION = 25
60
+ DISK_SNAPSHOT_DELETE_ACTION = 26
61
+ TERMINATE_ACTION = 27
62
+ TERMINATE_HARD_ACTION = 28
63
+ DISK_RESIZE_ACTION = 29
64
+ DEPLOY_ACTION = 30
65
+ CHOWN_ACTION = 31
66
+ CHMOD_ACTION = 32
67
+ UPDATECONF_ACTION = 33
68
+ RENAME_ACTION = 34
69
+ RESIZE_ACTION = 35
70
+ UPDATE_ACTION = 36
71
+ SNAPSHOT_CREATE_ACTION = 37
72
+ SNAPSHOT_DELETE_ACTION = 38
73
+ SNAPSHOT_REVERT_ACTION = 39
74
+ DISK_SAVEAS_ACTION = 40
75
+ DISK_SNAPSHOT_REVERT_ACTION = 41
76
+ RECOVER_ACTION = 42
77
+ RETRY_ACTION = 43
78
+ MONITOR_ACTION = 44
79
+ DISK_SNAPSHOT_RENAME_ACTION = 45
80
+ -->
81
+ <xs:element name="ACTION" type="xs:integer"/>
82
+ <xs:element name="UID" type="xs:integer"/>
83
+ <xs:element name="GID" type="xs:integer"/>
84
+ <xs:element name="REQUEST_ID" type="xs:string"/>
85
+ <xs:element name="VM">
86
+ <xs:complexType>
87
+ <xs:sequence>
88
+ <xs:element name="ID" type="xs:integer"/>
89
+ <xs:element name="UID" type="xs:integer"/>
90
+ <xs:element name="GID" type="xs:integer"/>
91
+ <xs:element name="UNAME" type="xs:string"/>
92
+ <xs:element name="GNAME" type="xs:string"/>
93
+ <xs:element name="NAME" type="xs:string"/>
94
+ <xs:element name="PERMISSIONS" minOccurs="0" maxOccurs="1">
95
+ <xs:complexType>
96
+ <xs:sequence>
97
+ <xs:element name="OWNER_U" type="xs:integer"/>
98
+ <xs:element name="OWNER_M" type="xs:integer"/>
99
+ <xs:element name="OWNER_A" type="xs:integer"/>
100
+ <xs:element name="GROUP_U" type="xs:integer"/>
101
+ <xs:element name="GROUP_M" type="xs:integer"/>
102
+ <xs:element name="GROUP_A" type="xs:integer"/>
103
+ <xs:element name="OTHER_U" type="xs:integer"/>
104
+ <xs:element name="OTHER_M" type="xs:integer"/>
105
+ <xs:element name="OTHER_A" type="xs:integer"/>
106
+ </xs:sequence>
107
+ </xs:complexType>
108
+ </xs:element>
109
+ <xs:element name="LAST_POLL" type="xs:integer"/>
110
+
111
+ <!-- STATE values,
112
+ see http://docs.opennebula.org/stable/user/references/vm_states.html
113
+ -->
114
+ <xs:element name="STATE" type="xs:integer"/>
115
+
116
+ <!-- LCM_STATE values, this sub-state is relevant only when STATE is
117
+ ACTIVE (4)
118
+ see http://docs.opennebula.org/stable/user/references/vm_states.html
119
+ -->
120
+ <xs:element name="LCM_STATE" type="xs:integer"/>
121
+ <xs:element name="PREV_STATE" type="xs:integer"/>
122
+ <xs:element name="PREV_LCM_STATE" type="xs:integer"/>
123
+ <xs:element name="RESCHED" type="xs:integer"/>
124
+ <xs:element name="STIME" type="xs:integer"/>
125
+ <xs:element name="ETIME" type="xs:integer"/>
126
+ <xs:element name="DEPLOY_ID" type="xs:string"/>
127
+ <xs:element name="MONITORING">
128
+ <!--
129
+ <xs:complexType>
130
+ <xs:all>
131
+ <- Percentage of 1 CPU consumed (two fully consumed cpu is 200) ->
132
+ <xs:element name="CPU" type="xs:decimal" minOccurs="0" maxOccurs="1"/>
133
+
134
+ <- MEMORY consumption in kilobytes ->
135
+ <xs:element name="MEMORY" type="xs:integer" minOccurs="0" maxOccurs="1"/>
136
+
137
+ <- NETTX: Sent bytes to the network ->
138
+ <xs:element name="NETTX" type="xs:integer" minOccurs="0" maxOccurs="1"/>
139
+
140
+ <- NETRX: Received bytes from the network ->
141
+ <xs:element name="NETRX" type="xs:integer" minOccurs="0" maxOccurs="1"/>
142
+ </xs:all>
143
+ </xs:complexType>
144
+ -->
145
+ </xs:element>
146
+ <xs:element name="TEMPLATE" type="xs:anyType"/>
147
+ <xs:element name="USER_TEMPLATE" type="xs:anyType"/>
148
+ <xs:element name="HISTORY_RECORDS">
149
+ </xs:element>
150
+ <xs:element name="SNAPSHOTS" minOccurs="0" maxOccurs="unbounded">
151
+ <xs:complexType>
152
+ <xs:sequence>
153
+ <xs:element name="ALLOW_ORPHANS" type="xs:string"/>
154
+ <xs:element name="CURRENT_BASE" type="xs:integer"/>
155
+ <xs:element name="DISK_ID" type="xs:integer"/>
156
+ <xs:element name="NEXT_SNAPSHOT" type="xs:integer"/>
157
+ <xs:element name="SNAPSHOT" minOccurs="0" maxOccurs="unbounded">
158
+ <xs:complexType>
159
+ <xs:sequence>
160
+ <xs:element name="ACTIVE" type="xs:string" minOccurs="0" maxOccurs="1"/>
161
+ <xs:element name="CHILDREN" type="xs:string" minOccurs="0" maxOccurs="1"/>
162
+ <xs:element name="DATE" type="xs:integer"/>
163
+ <xs:element name="ID" type="xs:integer"/>
164
+ <xs:element name="NAME" type="xs:string" minOccurs="0" maxOccurs="1"/>
165
+ <xs:element name="PARENT" type="xs:integer"/>
166
+ <xs:element name="SIZE" type="xs:integer"/>
167
+ </xs:sequence>
168
+ </xs:complexType>
169
+ </xs:element>
170
+ </xs:sequence>
171
+ </xs:complexType>
172
+ </xs:element>
173
+ </xs:sequence>
174
+ </xs:complexType>
175
+ </xs:element>
176
+ </xs:sequence>
177
+ </xs:complexType>
178
+ </xs:element>
179
+ </xs:schema>
@@ -0,0 +1,22 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
3
+ targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
4
+ <xs:element name="ACL_POOL">
5
+ <xs:complexType>
6
+ <xs:sequence maxOccurs="1" minOccurs="1">
7
+ <xs:element name="ACL" maxOccurs="unbounded" minOccurs="0">
8
+ <xs:complexType>
9
+ <xs:sequence>
10
+ <xs:element name="ID" type="xs:integer"/>
11
+ <xs:element name="USER" type="xs:string"/>
12
+ <xs:element name="RESOURCE" type="xs:string"/>
13
+ <xs:element name="RIGHTS" type="xs:string"/>
14
+ <xs:element name="ZONE" type="xs:string"/>
15
+ <xs:element name="STRING" type="xs:string"/>
16
+ </xs:sequence>
17
+ </xs:complexType>
18
+ </xs:element>
19
+ </xs:sequence>
20
+ </xs:complexType>
21
+ </xs:element>
22
+ </xs:schema>
@@ -0,0 +1,43 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!-- The information sent to the hook when $API is used in an API Hook follos the following schema -->
3
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="http://opennebula.org/XMLSchema" elementFormDefault="qualified" targetNamespace="http://opennebula.org/XMLSchema">
4
+ <xs:element name="CALL_INFO">
5
+ <xs:complexType>
6
+ <xs:sequence>
7
+ <xs:element name="RESULT" type="xs:integer"/>
8
+ <xs:element name="PARAMETERS" minOccurs="0" maxOccurs="1">
9
+ <xs:complexType>
10
+ <xs:sequence>
11
+ <!-- The list of IN and OUT parameters will match the API call parameters defined here: http://docs.opennebula.org/5.9/integration/system_interfaces/api.html -->
12
+ <xs:element name="PARAMETER" minOccurs="0" maxOccurs="unbounded">
13
+ <xs:complexType>
14
+ <xs:sequence>
15
+ <xs:element name="POSITION" type="xs:integer"/>
16
+ <xs:element name="TYPE" type="xs:integer">
17
+ <xs:simpleType>
18
+ <xs:restriction base="xs:string">
19
+ <xs:enumeration value="IN"/>
20
+ <xs:enumeration value="OUT"/>
21
+ </xs:restriction>
22
+ </xs:simpleType>
23
+ </xs:element>
24
+ <xs:element name="VALUE" type="xs:string"/>
25
+ </xs:sequence>
26
+ </xs:complexType>
27
+ </xs:element>
28
+ </xs:sequence>
29
+ </xs:complexType>
30
+ </xs:element>
31
+ <!-- This info is only included when the API hook is set on a one.*.delete or one.*.allocate API call -->
32
+ <xs:element name="EXTRA" minOccurs="0" maxOccurs="1">
33
+ <xs:complexType>
34
+ <xs:sequence>
35
+ <!-- EXTRA section will contain the template of the allocated/deleted resource as defined here; https://github.com/OpenNebula/one/tree/master/share/doc/xsd -->
36
+ <xs:any minOccurs="0" maxOccurs="unbounded" processContents="skip"/>
37
+ </xs:sequence>
38
+ </xs:complexType>
39
+ </xs:element>
40
+ </xs:sequence>
41
+ </xs:complexType>
42
+ </xs:element>
43
+ </xs:schema>
@@ -0,0 +1,34 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"
3
+ targetNamespace="http://opennebula.org/XMLSchema" xmlns="http://opennebula.org/XMLSchema">
4
+ <xs:element name="CLUSTER">
5
+ <xs:complexType>
6
+ <xs:sequence>
7
+ <xs:element name="ID" type="xs:integer"/>
8
+ <xs:element name="NAME" type="xs:string"/>
9
+ <xs:element name="HOSTS">
10
+ <xs:complexType>
11
+ <xs:sequence>
12
+ <xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
13
+ </xs:sequence>
14
+ </xs:complexType>
15
+ </xs:element>
16
+ <xs:element name="DATASTORES">
17
+ <xs:complexType>
18
+ <xs:sequence>
19
+ <xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
20
+ </xs:sequence>
21
+ </xs:complexType>
22
+ </xs:element>
23
+ <xs:element name="VNETS">
24
+ <xs:complexType>
25
+ <xs:sequence>
26
+ <xs:element name="ID" type="xs:integer" minOccurs="0" maxOccurs="unbounded"/>
27
+ </xs:sequence>
28
+ </xs:complexType>
29
+ </xs:element>
30
+ <xs:element name="TEMPLATE" type="xs:anyType"/>
31
+ </xs:sequence>
32
+ </xs:complexType>
33
+ </xs:element>
34
+ </xs:schema>