opennebula 7.0.2 → 7.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 +4 -4
  2. data/lib/cloud/CloudClient.rb +3 -3
  3. data/lib/models/role.rb +1 -1
  4. data/lib/models/service.rb +1 -1
  5. data/lib/models/vmrole.rb +1 -1
  6. data/lib/models/vrrole.rb +1 -1
  7. data/lib/models.rb +1 -1
  8. data/lib/opennebula/acl.rb +12 -14
  9. data/lib/opennebula/acl_pool.rb +1 -1
  10. data/lib/opennebula/backupjob.rb +1 -1
  11. data/lib/opennebula/backupjob_pool.rb +1 -1
  12. data/lib/opennebula/cluster.rb +1 -1
  13. data/lib/opennebula/cluster_pool.rb +3 -1
  14. data/lib/opennebula/datastore.rb +1 -1
  15. data/lib/opennebula/datastore_pool.rb +3 -1
  16. data/lib/opennebula/document.rb +2 -2
  17. data/lib/opennebula/document_json.rb +2 -1
  18. data/lib/opennebula/document_pool.rb +1 -1
  19. data/lib/opennebula/document_pool_json.rb +3 -1
  20. data/lib/opennebula/error.rb +9 -3
  21. data/lib/opennebula/flow/grammar.rb +1 -1
  22. data/lib/opennebula/flow/service_pool.rb +3 -1
  23. data/lib/opennebula/flow/service_template.rb +2 -1
  24. data/lib/opennebula/flow/service_template_ext.rb +1 -1
  25. data/lib/opennebula/flow/service_template_pool.rb +1 -1
  26. data/lib/opennebula/flow/validator.rb +1 -1
  27. data/lib/opennebula/flow.rb +1 -1
  28. data/lib/opennebula/group.rb +4 -1
  29. data/lib/opennebula/group_pool.rb +3 -1
  30. data/lib/opennebula/grpc/acl_pb.rb +21 -0
  31. data/lib/opennebula/grpc/acl_services_pb.rb +56 -0
  32. data/lib/opennebula/grpc/backupjob_pb.rb +35 -0
  33. data/lib/opennebula/grpc/backupjob_services_pb.rb +70 -0
  34. data/lib/opennebula/grpc/cluster_pb.rb +33 -0
  35. data/lib/opennebula/grpc/cluster_services_pb.rb +38 -0
  36. data/lib/opennebula/grpc/datastore_pb.rb +27 -0
  37. data/lib/opennebula/grpc/datastore_services_pb.rb +62 -0
  38. data/lib/opennebula/grpc/document_pb.rb +29 -0
  39. data/lib/opennebula/grpc/document_services_pb.rb +64 -0
  40. data/lib/opennebula/grpc/group_pb.rb +27 -0
  41. data/lib/opennebula/grpc/group_services_pb.rb +63 -0
  42. data/lib/opennebula/grpc/hook_pb.rb +28 -0
  43. data/lib/opennebula/grpc/hook_services_pb.rb +63 -0
  44. data/lib/opennebula/grpc/host_pb.rb +27 -0
  45. data/lib/opennebula/grpc/host_services_pb.rb +62 -0
  46. data/lib/opennebula/grpc/image_pb.rb +36 -0
  47. data/lib/opennebula/grpc/image_services_pb.rb +71 -0
  48. data/lib/opennebula/grpc/marketplace_pb.rb +29 -0
  49. data/lib/opennebula/grpc/marketplace_services_pb.rb +64 -0
  50. data/lib/opennebula/grpc/marketplaceapp_pb.rb +32 -0
  51. data/lib/opennebula/grpc/marketplaceapp_services_pb.rb +67 -0
  52. data/lib/opennebula/grpc/secgroup_pb.rb +28 -0
  53. data/lib/opennebula/grpc/secgroup_services_pb.rb +63 -0
  54. data/lib/opennebula/grpc/shared_pb.rb +16 -0
  55. data/lib/opennebula/grpc/system_pb.rb +22 -0
  56. data/lib/opennebula/grpc/system_services_pb.rb +57 -0
  57. data/lib/opennebula/grpc/template_pb.rb +30 -0
  58. data/lib/opennebula/grpc/template_services_pb.rb +65 -0
  59. data/lib/opennebula/grpc/user_pb.rb +32 -0
  60. data/lib/opennebula/grpc/user_services_pb.rb +68 -0
  61. data/lib/opennebula/grpc/vdc_pb.rb +34 -0
  62. data/lib/opennebula/grpc/vdc_services_pb.rb +69 -0
  63. data/lib/opennebula/grpc/vm_pb.rb +66 -0
  64. data/lib/opennebula/grpc/vm_services_pb.rb +102 -0
  65. data/lib/opennebula/grpc/vmgroup_pb.rb +31 -0
  66. data/lib/opennebula/grpc/vmgroup_services_pb.rb +66 -0
  67. data/lib/opennebula/grpc/vn_pb.rb +36 -0
  68. data/lib/opennebula/grpc/vn_services_pb.rb +71 -0
  69. data/lib/opennebula/grpc/vntemplate_pb.rb +30 -0
  70. data/lib/opennebula/grpc/vntemplate_services_pb.rb +65 -0
  71. data/lib/opennebula/grpc/vrouter_pb.rb +31 -0
  72. data/lib/opennebula/grpc/vrouter_services_pb.rb +66 -0
  73. data/lib/opennebula/grpc/zone_pb.rb +36 -0
  74. data/lib/opennebula/grpc/zone_services_pb.rb +68 -0
  75. data/lib/opennebula/hook.rb +1 -1
  76. data/lib/opennebula/hook_log.rb +1 -1
  77. data/lib/opennebula/hook_pool.rb +1 -1
  78. data/lib/opennebula/host.rb +3 -1
  79. data/lib/opennebula/host_pool.rb +3 -1
  80. data/lib/opennebula/image.rb +11 -10
  81. data/lib/opennebula/image_pool.rb +1 -1
  82. data/lib/opennebula/ldap_auth.rb +2 -2
  83. data/lib/opennebula/ldap_auth_spec.rb +1 -1
  84. data/lib/opennebula/lockable_ext.rb +13 -24
  85. data/lib/opennebula/marketplace.rb +1 -1
  86. data/lib/opennebula/marketplace_pool.rb +1 -1
  87. data/lib/opennebula/marketplaceapp.rb +1 -1
  88. data/lib/opennebula/marketplaceapp_ext.rb +4 -1
  89. data/lib/opennebula/marketplaceapp_pool.rb +1 -1
  90. data/lib/opennebula/oneflow_client.rb +1 -1
  91. data/lib/opennebula/oneform_client.rb +320 -0
  92. data/lib/opennebula/pool.rb +3 -2
  93. data/lib/opennebula/pool_element.rb +9 -9
  94. data/lib/opennebula/saml_auth.rb +2 -2
  95. data/lib/opennebula/security_group.rb +1 -1
  96. data/lib/opennebula/security_group_pool.rb +1 -1
  97. data/lib/opennebula/server_cipher_auth.rb +1 -1
  98. data/lib/opennebula/server_x509_auth.rb +1 -1
  99. data/lib/opennebula/ssh_auth.rb +1 -1
  100. data/lib/opennebula/system.rb +1 -1
  101. data/lib/opennebula/template.rb +1 -1
  102. data/lib/opennebula/template_ext.rb +1 -1
  103. data/lib/opennebula/template_pool.rb +1 -1
  104. data/lib/opennebula/user.rb +1 -1
  105. data/lib/opennebula/user_pool.rb +2 -1
  106. data/lib/opennebula/utils.rb +1 -1
  107. data/lib/opennebula/vdc.rb +1 -1
  108. data/lib/opennebula/vdc_pool.rb +1 -1
  109. data/lib/opennebula/version.rb +22 -0
  110. data/lib/opennebula/virtual_machine.rb +35 -3
  111. data/lib/opennebula/virtual_machine_ext.rb +3 -1
  112. data/lib/opennebula/virtual_machine_pool.rb +1 -1
  113. data/lib/opennebula/virtual_network.rb +1 -1
  114. data/lib/opennebula/virtual_network_pool.rb +3 -1
  115. data/lib/opennebula/virtual_router.rb +1 -1
  116. data/lib/opennebula/virtual_router_pool.rb +1 -1
  117. data/lib/opennebula/vm_group.rb +1 -1
  118. data/lib/opennebula/vm_group_pool.rb +1 -1
  119. data/lib/opennebula/vntemplate.rb +1 -1
  120. data/lib/opennebula/vntemplate_pool.rb +1 -1
  121. data/lib/opennebula/wait_ext.rb +2 -1
  122. data/lib/opennebula/x509_auth.rb +1 -1
  123. data/lib/opennebula/xml_element.rb +2 -1
  124. data/lib/opennebula/xml_pool.rb +1 -1
  125. data/lib/opennebula/xml_utils.rb +3 -3
  126. data/lib/opennebula/zone.rb +5 -4
  127. data/lib/opennebula/zone_pool.rb +1 -1
  128. data/lib/opennebula.rb +3 -14
  129. metadata +49 -3
  130. data/lib/opennebula/client.rb +0 -228
@@ -0,0 +1,65 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: vntemplate.proto for package 'one.vntemplate'
3
+ # Original file comments:
4
+ # --------------------------------------------------------------------------
5
+ #
6
+ # Copyright 2002-2026, OpenNebula Project, OpenNebula Systems
7
+ #
8
+ #
9
+ #
10
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
11
+ #
12
+ # not use this file except in compliance with the License. You may obtain
13
+ #
14
+ # a copy of the License at
15
+ #
16
+ #
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ #
21
+ #
22
+ # Unless required by applicable law or agreed to in writing, software
23
+ #
24
+ # distributed under the License is distributed on an "AS IS" BASIS,
25
+ #
26
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27
+ #
28
+ # See the License for the specific language governing permissions and
29
+ #
30
+ # limitations under the License.
31
+ #
32
+ # --------------------------------------------------------------------------
33
+
34
+ require 'grpc'
35
+ require 'vntemplate_pb'
36
+
37
+ module One
38
+ module Vntemplate
39
+ module VNTemplateService
40
+ class Service
41
+
42
+ include ::GRPC::GenericService
43
+
44
+ self.marshal_class_method = :encode
45
+ self.unmarshal_class_method = :decode
46
+ self.service_name = 'one.vntemplate.VNTemplateService'
47
+
48
+ rpc :Allocate, ::One::Vntemplate::AllocateRequest, ::One::ResponseID
49
+ rpc :Delete, ::One::Vntemplate::DeleteRequest, ::One::ResponseID
50
+ rpc :Info, ::One::Vntemplate::InfoRequest, ::One::ResponseXML
51
+ rpc :Update, ::One::Vntemplate::UpdateRequest, ::One::ResponseID
52
+ rpc :Rename, ::One::Vntemplate::RenameRequest, ::One::ResponseID
53
+ rpc :Chmod, ::One::Vntemplate::ChmodRequest, ::One::ResponseID
54
+ rpc :Chown, ::One::Vntemplate::ChownRequest, ::One::ResponseID
55
+ rpc :Lock, ::One::Vntemplate::LockRequest, ::One::ResponseID
56
+ rpc :Unlock, ::One::Vntemplate::UnlockRequest, ::One::ResponseID
57
+ rpc :Clone, ::One::Vntemplate::CloneRequest, ::One::ResponseID
58
+ rpc :Instantiate, ::One::Vntemplate::InstantiateRequest, ::One::ResponseID
59
+ rpc :PoolInfo, ::One::Vntemplate::PoolInfoRequest, ::One::ResponseXML
60
+ end
61
+
62
+ Stub = Service.rpc_stub_class
63
+ end
64
+ end
65
+ end
@@ -0,0 +1,31 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: vrouter.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'shared_pb'
8
+
9
+
10
+ descriptor_data = "\n\rvrouter.proto\x12\x0bone.vrouter\x1a\x0cshared.proto\"7\n\x0f\x41llocateRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x10\n\x08template\x18\x02 \x01(\t\"0\n\rDeleteRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\"?\n\x0bInfoRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0f\n\x07\x64\x65\x63rypt\x18\x03 \x01(\x08\"R\n\rUpdateRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x10\n\x08template\x18\x03 \x01(\t\x12\x0e\n\x06\x61ppend\x18\x04 \x01(\x05\">\n\rRenameRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0c\n\x04name\x18\x03 \x01(\t\"\xe6\x01\n\x0c\x43hmodRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x10\n\x08user_use\x18\x03 \x01(\x11\x12\x13\n\x0buser_manage\x18\x04 \x01(\x11\x12\x12\n\nuser_admin\x18\x05 \x01(\x11\x12\x11\n\tgroup_use\x18\x06 \x01(\x11\x12\x14\n\x0cgroup_manage\x18\x07 \x01(\x11\x12\x13\n\x0bgroup_admin\x18\x08 \x01(\x11\x12\x11\n\tother_use\x18\t \x01(\x11\x12\x14\n\x0cother_manage\x18\n \x01(\x11\x12\x13\n\x0bother_admin\x18\x0b \x01(\x11\"R\n\x0c\x43hownRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0f\n\x07user_id\x18\x03 \x01(\x11\x12\x10\n\x08group_id\x18\x04 \x01(\x11\"K\n\x0bLockRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\r\n\x05level\x18\x03 \x01(\x05\x12\x0c\n\x04test\x18\x04 \x01(\x08\"0\n\rUnlockRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\"\x89\x01\n\x12InstantiateRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\r\n\x05n_vms\x18\x03 \x01(\x05\x12\x13\n\x0btemplate_id\x18\x04 \x01(\x05\x12\x0c\n\x04name\x18\x05 \x01(\t\x12\x0c\n\x04hold\x18\x06 \x01(\x08\x12\x12\n\nstr_uattrs\x18\x07 \x01(\t\"E\n\x10\x41ttachNicRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x10\n\x08template\x18\x03 \x01(\t\"C\n\x10\x44\x65tachNicRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0e\n\x06nic_id\x18\x03 \x01(\x05\"V\n\x0fPoolInfoRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x13\n\x0b\x66ilter_flag\x18\x02 \x01(\x11\x12\r\n\x05start\x18\x03 \x01(\x11\x12\x0b\n\x03\x65nd\x18\x04 \x01(\x11\x32\xf5\x05\n\x14VirtualRouterService\x12\x39\n\x08\x41llocate\x12\x1c.one.vrouter.AllocateRequest\x1a\x0f.one.ResponseID\x12\x35\n\x06\x44\x65lete\x12\x1a.one.vrouter.DeleteRequest\x1a\x0f.one.ResponseID\x12\x32\n\x04Info\x12\x18.one.vrouter.InfoRequest\x1a\x10.one.ResponseXML\x12\x35\n\x06Update\x12\x1a.one.vrouter.UpdateRequest\x1a\x0f.one.ResponseID\x12\x35\n\x06Rename\x12\x1a.one.vrouter.RenameRequest\x1a\x0f.one.ResponseID\x12\x33\n\x05\x43hmod\x12\x19.one.vrouter.ChmodRequest\x1a\x0f.one.ResponseID\x12\x33\n\x05\x43hown\x12\x19.one.vrouter.ChownRequest\x1a\x0f.one.ResponseID\x12\x31\n\x04Lock\x12\x18.one.vrouter.LockRequest\x1a\x0f.one.ResponseID\x12\x35\n\x06Unlock\x12\x1a.one.vrouter.UnlockRequest\x1a\x0f.one.ResponseID\x12?\n\x0bInstantiate\x12\x1f.one.vrouter.InstantiateRequest\x1a\x0f.one.ResponseID\x12;\n\tAttachNic\x12\x1d.one.vrouter.AttachNicRequest\x1a\x0f.one.ResponseID\x12;\n\tDetachNic\x12\x1d.one.vrouter.DetachNicRequest\x1a\x0f.one.ResponseID\x12:\n\x08PoolInfo\x12\x1c.one.vrouter.PoolInfoRequest\x1a\x10.one.ResponseXMLB;Z9github.com/OpenNebula/one/src/oca/go/src/goca/api/vrouterb\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module One
16
+ module Vrouter
17
+ AllocateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.AllocateRequest").msgclass
18
+ DeleteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.DeleteRequest").msgclass
19
+ InfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.InfoRequest").msgclass
20
+ UpdateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.UpdateRequest").msgclass
21
+ RenameRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.RenameRequest").msgclass
22
+ ChmodRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.ChmodRequest").msgclass
23
+ ChownRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.ChownRequest").msgclass
24
+ LockRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.LockRequest").msgclass
25
+ UnlockRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.UnlockRequest").msgclass
26
+ InstantiateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.InstantiateRequest").msgclass
27
+ AttachNicRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.AttachNicRequest").msgclass
28
+ DetachNicRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.DetachNicRequest").msgclass
29
+ PoolInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.vrouter.PoolInfoRequest").msgclass
30
+ end
31
+ end
@@ -0,0 +1,66 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: vrouter.proto for package 'one.vrouter'
3
+ # Original file comments:
4
+ # --------------------------------------------------------------------------
5
+ #
6
+ # Copyright 2002-2026, OpenNebula Project, OpenNebula Systems
7
+ #
8
+ #
9
+ #
10
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
11
+ #
12
+ # not use this file except in compliance with the License. You may obtain
13
+ #
14
+ # a copy of the License at
15
+ #
16
+ #
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ #
21
+ #
22
+ # Unless required by applicable law or agreed to in writing, software
23
+ #
24
+ # distributed under the License is distributed on an "AS IS" BASIS,
25
+ #
26
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27
+ #
28
+ # See the License for the specific language governing permissions and
29
+ #
30
+ # limitations under the License.
31
+ #
32
+ # --------------------------------------------------------------------------
33
+
34
+ require 'grpc'
35
+ require 'vrouter_pb'
36
+
37
+ module One
38
+ module Vrouter
39
+ module VirtualRouterService
40
+ class Service
41
+
42
+ include ::GRPC::GenericService
43
+
44
+ self.marshal_class_method = :encode
45
+ self.unmarshal_class_method = :decode
46
+ self.service_name = 'one.vrouter.VirtualRouterService'
47
+
48
+ rpc :Allocate, ::One::Vrouter::AllocateRequest, ::One::ResponseID
49
+ rpc :Delete, ::One::Vrouter::DeleteRequest, ::One::ResponseID
50
+ rpc :Info, ::One::Vrouter::InfoRequest, ::One::ResponseXML
51
+ rpc :Update, ::One::Vrouter::UpdateRequest, ::One::ResponseID
52
+ rpc :Rename, ::One::Vrouter::RenameRequest, ::One::ResponseID
53
+ rpc :Chmod, ::One::Vrouter::ChmodRequest, ::One::ResponseID
54
+ rpc :Chown, ::One::Vrouter::ChownRequest, ::One::ResponseID
55
+ rpc :Lock, ::One::Vrouter::LockRequest, ::One::ResponseID
56
+ rpc :Unlock, ::One::Vrouter::UnlockRequest, ::One::ResponseID
57
+ rpc :Instantiate, ::One::Vrouter::InstantiateRequest, ::One::ResponseID
58
+ rpc :AttachNic, ::One::Vrouter::AttachNicRequest, ::One::ResponseID
59
+ rpc :DetachNic, ::One::Vrouter::DetachNicRequest, ::One::ResponseID
60
+ rpc :PoolInfo, ::One::Vrouter::PoolInfoRequest, ::One::ResponseXML
61
+ end
62
+
63
+ Stub = Service.rpc_stub_class
64
+ end
65
+ end
66
+ end
@@ -0,0 +1,36 @@
1
+ # frozen_string_literal: true
2
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
3
+ # source: zone.proto
4
+
5
+ require 'google/protobuf'
6
+
7
+ require 'shared_pb'
8
+
9
+
10
+ descriptor_data = "\n\nzone.proto\x12\x08one.zone\x1a\x0cshared.proto\"7\n\x0f\x41llocateRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x10\n\x08template\x18\x02 \x01(\t\"0\n\rDeleteRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\"?\n\x0bInfoRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0f\n\x07\x64\x65\x63rypt\x18\x03 \x01(\x08\"R\n\rUpdateRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x10\n\x08template\x18\x03 \x01(\t\x12\x0e\n\x06\x61ppend\x18\x04 \x01(\x05\">\n\rRenameRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0c\n\x04name\x18\x03 \x01(\t\"C\n\x10\x41\x64\x64ServerRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0e\n\x06zs_str\x18\x03 \x01(\t\"B\n\x10\x44\x65lServerRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\r\n\x05zs_id\x18\x03 \x01(\x05\"D\n\x12ResetServerRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\r\n\x05zs_id\x18\x03 \x01(\x05\"@\n\rEnableRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0e\n\x06\x65nable\x18\x03 \x01(\x08\"\xcc\x01\n\x13ReplicateLogRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x11\n\tleader_id\x18\x02 \x01(\x05\x12\x15\n\rleader_commit\x18\x03 \x01(\x04\x12\x13\n\x0bleader_term\x18\x04 \x01(\r\x12\r\n\x05index\x18\x05 \x01(\x04\x12\x0c\n\x04term\x18\x06 \x01(\r\x12\x12\n\nprev_index\x18\x07 \x01(\x04\x12\x11\n\tprev_term\x18\x08 \x01(\r\x12\x11\n\tfed_index\x18\t \x01(\x04\x12\x0b\n\x03sql\x18\n \x01(\t\"5\n\x14ResponseReplicateLog\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0c\n\x04term\x18\x02 \x01(\r\"\x88\x01\n\x0bVoteRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x16\n\x0e\x63\x61ndidate_term\x18\x02 \x01(\r\x12\x14\n\x0c\x63\x61ndidate_id\x18\x03 \x01(\x05\x12\x1b\n\x13\x63\x61ndidate_log_index\x18\x04 \x01(\x04\x12\x1a\n\x12\x63\x61ndidate_log_term\x18\x05 \x01(\r\"-\n\x0cResponseVote\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\x0c\n\x04term\x18\x02 \x01(\r\"\'\n\x11RaftStatusRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\"V\n\x16ReplicateFedLogRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\r\n\x05index\x18\x02 \x01(\x04\x12\x0c\n\x04prev\x18\x03 \x01(\x04\x12\x0b\n\x03sql\x18\x04 \x01(\t\"9\n\x17ResponseReplicateFedLog\x12\x0f\n\x07success\x18\x01 \x01(\x08\x12\r\n\x05index\x18\x02 \x01(\x04\"?\n\x0fUpdateDBRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t\x12\x0b\n\x03oid\x18\x02 \x01(\x05\x12\x0b\n\x03xml\x18\x03 \x01(\t\"%\n\x0fPoolInfoRequest\x12\x12\n\nsession_id\x18\x01 \x01(\t2\x84\x07\n\x0bZoneService\x12\x36\n\x08\x41llocate\x12\x19.one.zone.AllocateRequest\x1a\x0f.one.ResponseID\x12\x32\n\x06\x44\x65lete\x12\x17.one.zone.DeleteRequest\x1a\x0f.one.ResponseID\x12/\n\x04Info\x12\x15.one.zone.InfoRequest\x1a\x10.one.ResponseXML\x12\x32\n\x06Update\x12\x17.one.zone.UpdateRequest\x1a\x0f.one.ResponseID\x12\x32\n\x06Rename\x12\x17.one.zone.RenameRequest\x1a\x0f.one.ResponseID\x12\x38\n\tAddServer\x12\x1a.one.zone.AddServerRequest\x1a\x0f.one.ResponseID\x12\x38\n\tDelServer\x12\x1a.one.zone.DelServerRequest\x1a\x0f.one.ResponseID\x12<\n\x0bResetServer\x12\x1c.one.zone.ResetServerRequest\x1a\x0f.one.ResponseID\x12\x32\n\x06\x45nable\x12\x17.one.zone.EnableRequest\x1a\x0f.one.ResponseID\x12M\n\x0cReplicateLog\x12\x1d.one.zone.ReplicateLogRequest\x1a\x1e.one.zone.ResponseReplicateLog\x12\x35\n\x04Vote\x12\x15.one.zone.VoteRequest\x1a\x16.one.zone.ResponseVote\x12;\n\nRaftStatus\x12\x1b.one.zone.RaftStatusRequest\x1a\x10.one.ResponseXML\x12V\n\x0fReplicateFedLog\x12 .one.zone.ReplicateFedLogRequest\x1a!.one.zone.ResponseReplicateFedLog\x12\x36\n\x08UpdateDB\x12\x19.one.zone.UpdateDBRequest\x1a\x0f.one.ResponseID\x12\x37\n\x08PoolInfo\x12\x19.one.zone.PoolInfoRequest\x1a\x10.one.ResponseXMLB8Z6github.com/OpenNebula/one/src/oca/go/src/goca/api/zoneb\x06proto3"
11
+
12
+ pool = ::Google::Protobuf::DescriptorPool.generated_pool
13
+ pool.add_serialized_file(descriptor_data)
14
+
15
+ module One
16
+ module Zone
17
+ AllocateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.AllocateRequest").msgclass
18
+ DeleteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.DeleteRequest").msgclass
19
+ InfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.InfoRequest").msgclass
20
+ UpdateRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.UpdateRequest").msgclass
21
+ RenameRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.RenameRequest").msgclass
22
+ AddServerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.AddServerRequest").msgclass
23
+ DelServerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.DelServerRequest").msgclass
24
+ ResetServerRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.ResetServerRequest").msgclass
25
+ EnableRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.EnableRequest").msgclass
26
+ ReplicateLogRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.ReplicateLogRequest").msgclass
27
+ ResponseReplicateLog = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.ResponseReplicateLog").msgclass
28
+ VoteRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.VoteRequest").msgclass
29
+ ResponseVote = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.ResponseVote").msgclass
30
+ RaftStatusRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.RaftStatusRequest").msgclass
31
+ ReplicateFedLogRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.ReplicateFedLogRequest").msgclass
32
+ ResponseReplicateFedLog = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.ResponseReplicateFedLog").msgclass
33
+ UpdateDBRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.UpdateDBRequest").msgclass
34
+ PoolInfoRequest = ::Google::Protobuf::DescriptorPool.generated_pool.lookup("one.zone.PoolInfoRequest").msgclass
35
+ end
36
+ end
@@ -0,0 +1,68 @@
1
+ # Generated by the protocol buffer compiler. DO NOT EDIT!
2
+ # Source: zone.proto for package 'one.zone'
3
+ # Original file comments:
4
+ # --------------------------------------------------------------------------
5
+ #
6
+ # Copyright 2002-2026, OpenNebula Project, OpenNebula Systems
7
+ #
8
+ #
9
+ #
10
+ # Licensed under the Apache License, Version 2.0 (the "License"); you may
11
+ #
12
+ # not use this file except in compliance with the License. You may obtain
13
+ #
14
+ # a copy of the License at
15
+ #
16
+ #
17
+ #
18
+ # http://www.apache.org/licenses/LICENSE-2.0
19
+ #
20
+ #
21
+ #
22
+ # Unless required by applicable law or agreed to in writing, software
23
+ #
24
+ # distributed under the License is distributed on an "AS IS" BASIS,
25
+ #
26
+ # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
27
+ #
28
+ # See the License for the specific language governing permissions and
29
+ #
30
+ # limitations under the License.
31
+ #
32
+ # --------------------------------------------------------------------------
33
+
34
+ require 'grpc'
35
+ require 'zone_pb'
36
+
37
+ module One
38
+ module Zone
39
+ module ZoneService
40
+ class Service
41
+
42
+ include ::GRPC::GenericService
43
+
44
+ self.marshal_class_method = :encode
45
+ self.unmarshal_class_method = :decode
46
+ self.service_name = 'one.zone.ZoneService'
47
+
48
+ rpc :Allocate, ::One::Zone::AllocateRequest, ::One::ResponseID
49
+ rpc :Delete, ::One::Zone::DeleteRequest, ::One::ResponseID
50
+ rpc :Info, ::One::Zone::InfoRequest, ::One::ResponseXML
51
+ rpc :Update, ::One::Zone::UpdateRequest, ::One::ResponseID
52
+ rpc :Rename, ::One::Zone::RenameRequest, ::One::ResponseID
53
+ rpc :AddServer, ::One::Zone::AddServerRequest, ::One::ResponseID
54
+ rpc :DelServer, ::One::Zone::DelServerRequest, ::One::ResponseID
55
+ rpc :ResetServer, ::One::Zone::ResetServerRequest, ::One::ResponseID
56
+ rpc :Enable, ::One::Zone::EnableRequest, ::One::ResponseID
57
+ rpc :ReplicateLog, ::One::Zone::ReplicateLogRequest, ::One::Zone::ResponseReplicateLog
58
+ rpc :Vote, ::One::Zone::VoteRequest, ::One::Zone::ResponseVote
59
+ rpc :RaftStatus, ::One::Zone::RaftStatusRequest, ::One::ResponseXML
60
+ rpc :ReplicateFedLog, ::One::Zone::ReplicateFedLogRequest, ::One::Zone::ResponseReplicateFedLog
61
+ rpc :UpdateDB, ::One::Zone::UpdateDBRequest, ::One::ResponseID
62
+ rpc :PoolInfo, ::One::Zone::PoolInfoRequest, ::One::ResponseXML
63
+ end
64
+
65
+ Stub = Service.rpc_stub_class
66
+ end
67
+ end
68
+ end
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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 #
@@ -129,6 +129,8 @@ module OpenNebula
129
129
  rc = offline
130
130
  return rc if OpenNebula.is_error?(rc)
131
131
 
132
+ sleep 0.5
133
+
132
134
  enable
133
135
  end
134
136
 
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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 #
@@ -41,6 +41,8 @@ module OpenNebula
41
41
 
42
42
  # Factory Method for the Host Pool
43
43
  def factory(element_xml)
44
+ require 'opennebula/host'
45
+
44
46
  OpenNebula::Host.new(element_xml,@client)
45
47
  end
46
48
 
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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 #
@@ -62,19 +62,20 @@ module OpenNebula
62
62
  "LOCKED_USED_PERS" => "lock"
63
63
  }
64
64
 
65
- IMAGE_TYPES=%w{OS CDROM DATABLOCK KERNEL RAMDISK CONTEXT BACKUP}
65
+ IMAGE_TYPES=%w{OS CDROM DATABLOCK KERNEL RAMDISK CONTEXT BACKUP FILESYSTEM}
66
66
 
67
67
  SHORT_IMAGE_TYPES={
68
- "OS" => "OS",
69
- "CDROM" => "CD",
70
- "DATABLOCK" => "DB",
71
- "KERNEL" => "KL",
72
- "RAMDISK" => "RD",
73
- "CONTEXT" => "CX",
74
- "BACKUP" => "BK"
68
+ "OS" => "OS",
69
+ "CDROM" => "CD",
70
+ "DATABLOCK" => "DB",
71
+ "KERNEL" => "KL",
72
+ "RAMDISK" => "RD",
73
+ "CONTEXT" => "CX",
74
+ "BACKUP" => "BK",
75
+ "FILESYSTEM" => "FS"
75
76
  }
76
77
 
77
- DISK_TYPES=%w{FILE CD_ROM BLOCK RBD}
78
+ DISK_TYPES=%w{FILE CD_ROM BLOCK RBD FILE_SYSTEM}
78
79
 
79
80
  # Creates an Image description with just its identifier
80
81
  # this method should be used to create plain Image objects.
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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 #
@@ -16,7 +16,7 @@
16
16
 
17
17
  require 'rubygems'
18
18
  require 'opennebula/xml_utils'
19
- require 'opennebula/client'
19
+ require 'opennebula/lib/client'
20
20
  require 'opennebula/group_pool'
21
21
  require 'net/ldap'
22
22
  require 'yaml'
@@ -1,5 +1,5 @@
1
1
  # ---------------------------------------------------------------------------- #
2
- # Copyright 2002-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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 #
@@ -16,17 +16,6 @@
16
16
 
17
17
  require 'date'
18
18
 
19
- require 'opennebula/document'
20
- require 'opennebula/hook'
21
- require 'opennebula/image'
22
- require 'opennebula/marketplaceapp'
23
- require 'opennebula/template'
24
- require 'opennebula/virtual_machine'
25
- require 'opennebula/virtual_network'
26
- require 'opennebula/virtual_router'
27
- require 'opennebula/vm_group'
28
- require 'opennebula/vntemplate'
29
-
30
19
  # Module to decorate Lockable classes with the following methods:
31
20
  # - Lock
32
21
  # - Unlock
@@ -125,17 +114,17 @@ module OpenNebula::LockableExt
125
114
  def self.lockable?(obj)
126
115
  # Lockable classes
127
116
  lockable = [
128
- OpenNebula::BackupJob,
129
- OpenNebula::Document,
130
- OpenNebula::Hook,
131
- OpenNebula::Image,
132
- OpenNebula::MarketPlaceApp,
133
- OpenNebula::Template,
134
- OpenNebula::VirtualMachine,
135
- OpenNebula::VirtualNetwork,
136
- OpenNebula::VirtualRouter,
137
- OpenNebula::VMGroup,
138
- OpenNebula::VNTemplate
117
+ 'OpenNebula::BackupJob',
118
+ 'OpenNebula::Document',
119
+ 'OpenNebula::Hook',
120
+ 'OpenNebula::Image',
121
+ 'OpenNebula::MarketPlaceApp',
122
+ 'OpenNebula::Template',
123
+ 'OpenNebula::VirtualMachine',
124
+ 'OpenNebula::VirtualNetwork',
125
+ 'OpenNebula::VirtualRouter',
126
+ 'OpenNebula::VMGroup',
127
+ 'OpenNebula::VNTemplate'
139
128
  ]
140
129
 
141
130
  # Get obj class to find parents in lockable class
@@ -147,7 +136,7 @@ module OpenNebula::LockableExt
147
136
  i_class = o_class
148
137
 
149
138
  while i_class
150
- if lockable.include?(i_class)
139
+ if lockable.include?(i_class.name)
151
140
  found = true
152
141
  break
153
142
  end
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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 #
@@ -14,6 +14,9 @@
14
14
  # limitations under the License. #
15
15
  #--------------------------------------------------------------------------- #
16
16
 
17
+ require 'opennebula/template'
18
+ require 'opennebula/image_pool'
19
+
17
20
  # Module to decorate MarketApp class with additional helpers not directly
18
21
  # exposed through the OpenNebula XMLRPC API. The extensions include
19
22
  # - export helper that creates OpenNebula related objects from a given app.
@@ -1,5 +1,5 @@
1
1
  # -------------------------------------------------------------------------- #
2
- # Copyright 2002-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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-2025, OpenNebula Project, OpenNebula Systems #
2
+ # Copyright 2002-2026, 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 #