3 public class RwcalStatus : GLib.Object {
4 public RwTypes.RwStatus status;
5 public string error_msg;
6 public string traceback;
9 public interface Cloud: GLib.Object {
13 public abstract RwTypes.RwStatus init(RwLog.Ctx log_ctx);
16 * Cloud Account Credentails Validation related API
18 public abstract RwTypes.RwStatus validate_cloud_creds(
19 Rwcal.CloudAccount account,
20 out Rwcal.CloudConnectionStatus status);
25 public abstract RwTypes.RwStatus get_image_list(
26 Rwcal.CloudAccount account,
27 out Rwcal.VimResources images);
29 public abstract RwTypes.RwStatus create_image(
30 Rwcal.CloudAccount account,
31 Rwcal.ImageInfoItem image,
34 public abstract RwTypes.RwStatus delete_image(
35 Rwcal.CloudAccount account,
38 public abstract RwTypes.RwStatus get_image(
39 Rwcal.CloudAccount account,
41 out Rwcal.ImageInfoItem image);
46 public abstract RwTypes.RwStatus create_vm(
47 Rwcal.CloudAccount account,
51 public abstract RwTypes.RwStatus start_vm(
52 Rwcal.CloudAccount account,
55 public abstract RwTypes.RwStatus stop_vm(
56 Rwcal.CloudAccount account,
59 public abstract RwTypes.RwStatus delete_vm(
60 Rwcal.CloudAccount account,
63 public abstract RwTypes.RwStatus reboot_vm(
64 Rwcal.CloudAccount account,
67 public abstract RwTypes.RwStatus get_vm_list(
68 Rwcal.CloudAccount account,
69 out Rwcal.VimResources vms);
71 public abstract RwTypes.RwStatus get_vm(
72 Rwcal.CloudAccount account,
74 out Rwcal.VMInfoItem vm);
79 public abstract RwTypes.RwStatus create_flavor(
80 Rwcal.CloudAccount account,
81 Rwcal.FlavorInfoItem flavor_info_item,
82 out string flavor_id);
84 public abstract RwTypes.RwStatus delete_flavor(
85 Rwcal.CloudAccount account,
88 public abstract RwTypes.RwStatus get_flavor_list(
89 Rwcal.CloudAccount account,
90 out Rwcal.VimResources flavors);
92 public abstract RwTypes.RwStatus get_flavor(
93 Rwcal.CloudAccount account,
95 out Rwcal.FlavorInfoItem flavor);
101 public abstract RwTypes.RwStatus create_tenant(
102 Rwcal.CloudAccount account,
104 [CCode (array_length = false, array_null_terminated = true)]
105 out string [] tenant_info);
107 public abstract RwTypes.RwStatus delete_tenant(
108 Rwcal.CloudAccount account,
111 public abstract RwTypes.RwStatus get_tenant_list(
112 Rwcal.CloudAccount account,
113 out Rwcal.VimResources tenants);
118 public abstract RwTypes.RwStatus create_role(
119 Rwcal.CloudAccount account,
121 [CCode (array_length = false, array_null_terminated = true)]
122 out string [] role_info);
124 public abstract RwTypes.RwStatus delete_role(
125 Rwcal.CloudAccount account,
128 public abstract RwTypes.RwStatus get_role_list(
129 Rwcal.CloudAccount account,
130 out Rwcal.VimResources roles);
135 public abstract RwTypes.RwStatus create_port(
136 Rwcal.CloudAccount account,
137 Rwcal.PortInfoItem port,
140 public abstract RwTypes.RwStatus delete_port(
141 Rwcal.CloudAccount account,
144 public abstract RwTypes.RwStatus get_port(
145 Rwcal.CloudAccount account,
147 out Rwcal.PortInfoItem port);
149 public abstract RwTypes.RwStatus get_port_list(
150 Rwcal.CloudAccount account,
151 out Rwcal.VimResources ports);
156 public abstract RwTypes.RwStatus add_host(
157 Rwcal.CloudAccount account,
158 Rwcal.HostInfoItem host,
161 public abstract RwTypes.RwStatus remove_host(
162 Rwcal.CloudAccount account,
165 public abstract RwTypes.RwStatus get_host(
166 Rwcal.CloudAccount account,
168 out Rwcal.HostInfoItem host);
170 public abstract RwTypes.RwStatus get_host_list(
171 Rwcal.CloudAccount account,
172 out Rwcal.VimResources hosts);
175 * Network related APIs
177 public abstract RwTypes.RwStatus create_network(
178 Rwcal.CloudAccount account,
179 Rwcal.NetworkInfoItem network,
180 out string network_id);
182 public abstract RwTypes.RwStatus delete_network(
183 Rwcal.CloudAccount account,
186 public abstract RwTypes.RwStatus get_network(
187 Rwcal.CloudAccount account,
189 out Rwcal.NetworkInfoItem network);
191 public abstract RwTypes.RwStatus get_network_list(
192 Rwcal.CloudAccount account,
193 out Rwcal.VimResources networks);
195 public abstract RwTypes.RwStatus get_management_network(
196 Rwcal.CloudAccount account,
197 out Rwcal.NetworkInfoItem network);
200 * Higher Order CAL APIs
202 public abstract void create_virtual_link(
203 Rwcal.CloudAccount account,
204 Rwcal.VirtualLinkReqParams link_params,
205 out RwcalStatus status,
208 public abstract RwTypes.RwStatus delete_virtual_link(
209 Rwcal.CloudAccount account,
212 public abstract RwTypes.RwStatus get_virtual_link(
213 Rwcal.CloudAccount account,
215 out Rwcal.VirtualLinkInfoParams response);
217 public abstract RwTypes.RwStatus get_virtual_link_list(
218 Rwcal.CloudAccount account,
219 out Rwcal.VNFResources resources);
222 public abstract void create_vdu(
223 Rwcal.CloudAccount account,
224 Rwcal.VDUInitParams vdu_params,
225 out RwcalStatus status,
228 public abstract RwTypes.RwStatus modify_vdu(
229 Rwcal.CloudAccount account,
230 Rwcal.VDUModifyParams vdu_params);
232 public abstract RwTypes.RwStatus delete_vdu(
233 Rwcal.CloudAccount account,
236 public abstract RwTypes.RwStatus get_vdu(
237 Rwcal.CloudAccount account,
239 out Rwcal.VDUInfoParams response);
241 public abstract RwTypes.RwStatus get_vdu_list(
242 Rwcal.CloudAccount account,
243 out Rwcal.VNFResources resources);