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.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
20 out Rwcal.YangData_Rwcal_ConnectionStatus status);
25 public abstract RwTypes.RwStatus get_image_list(
26 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
27 out Rwcal.YangData_RwProject_Project_VimResources images);
29 public abstract RwTypes.RwStatus create_image(
30 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
31 Rwcal.YangData_RwProject_Project_VimResources_ImageinfoList image,
34 public abstract RwTypes.RwStatus delete_image(
35 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
38 public abstract RwTypes.RwStatus get_image(
39 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
41 out Rwcal.YangData_RwProject_Project_VimResources_ImageinfoList image);
46 public abstract RwTypes.RwStatus create_vm(
47 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
48 Rwcal.YangData_RwProject_Project_VimResources_VminfoList vm,
51 public abstract RwTypes.RwStatus start_vm(
52 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
55 public abstract RwTypes.RwStatus stop_vm(
56 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
59 public abstract RwTypes.RwStatus delete_vm(
60 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
63 public abstract RwTypes.RwStatus reboot_vm(
64 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
67 public abstract RwTypes.RwStatus get_vm_list(
68 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
69 out Rwcal.YangData_RwProject_Project_VimResources vms);
71 public abstract RwTypes.RwStatus get_vm(
72 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
74 out Rwcal.YangData_RwProject_Project_VimResources_VminfoList vm);
79 public abstract RwTypes.RwStatus create_flavor(
80 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
81 Rwcal.YangData_RwProject_Project_VimResources_FlavorinfoList flavor_info_item,
82 out string flavor_id);
84 public abstract RwTypes.RwStatus delete_flavor(
85 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
88 public abstract RwTypes.RwStatus get_flavor_list(
89 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
90 out Rwcal.YangData_RwProject_Project_VimResources flavors);
92 public abstract RwTypes.RwStatus get_flavor(
93 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
95 out Rwcal.YangData_RwProject_Project_VimResources_FlavorinfoList flavor);
101 public abstract RwTypes.RwStatus create_tenant(
102 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
104 [CCode (array_length = false, array_null_terminated = true)]
105 out string [] tenant_info);
107 public abstract RwTypes.RwStatus delete_tenant(
108 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
111 public abstract RwTypes.RwStatus get_tenant_list(
112 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
113 out Rwcal.YangData_RwProject_Project_VimResources tenants);
118 public abstract RwTypes.RwStatus create_role(
119 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
121 [CCode (array_length = false, array_null_terminated = true)]
122 out string [] role_info);
124 public abstract RwTypes.RwStatus delete_role(
125 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
128 public abstract RwTypes.RwStatus get_role_list(
129 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
130 out Rwcal.YangData_RwProject_Project_VimResources roles);
135 public abstract RwTypes.RwStatus create_port(
136 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
137 Rwcal.YangData_RwProject_Project_VimResources_PortinfoList port,
140 public abstract RwTypes.RwStatus delete_port(
141 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
144 public abstract RwTypes.RwStatus get_port(
145 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
147 out Rwcal.YangData_RwProject_Project_VimResources_PortinfoList port);
149 public abstract RwTypes.RwStatus get_port_list(
150 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
151 out Rwcal.YangData_RwProject_Project_VimResources ports);
156 public abstract RwTypes.RwStatus add_host(
157 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
158 Rwcal.YangData_RwProject_Project_VimResources_HostinfoList host,
161 public abstract RwTypes.RwStatus remove_host(
162 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
165 public abstract RwTypes.RwStatus get_host(
166 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
168 out Rwcal.YangData_RwProject_Project_VimResources_HostinfoList host);
170 public abstract RwTypes.RwStatus get_host_list(
171 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
172 out Rwcal.YangData_RwProject_Project_VimResources hosts);
175 * Network related APIs
177 public abstract RwTypes.RwStatus create_network(
178 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
179 Rwcal.YangData_RwProject_Project_VimResources_NetworkinfoList network,
180 out string network_id);
182 public abstract RwTypes.RwStatus delete_network(
183 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
186 public abstract RwTypes.RwStatus get_network(
187 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
189 out Rwcal.YangData_RwProject_Project_VimResources_NetworkinfoList network);
191 public abstract RwTypes.RwStatus get_network_list(
192 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
193 out Rwcal.YangData_RwProject_Project_VimResources networks);
195 public abstract RwTypes.RwStatus get_management_network(
196 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
197 out Rwcal.YangData_RwProject_Project_VimResources_NetworkinfoList network);
200 * Higher Order CAL APIs
202 public abstract void create_virtual_link(
203 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
204 Rwcal.YangData_RwProject_Project_VirtualLinkReqParams link_params,
205 out RwcalStatus status,
208 public abstract RwTypes.RwStatus delete_virtual_link(
209 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
212 public abstract RwTypes.RwStatus get_virtual_link(
213 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
215 out Rwcal.YangData_RwProject_Project_VnfResources_VirtualLinkInfoList response);
217 public abstract RwTypes.RwStatus get_virtual_link_by_name(
218 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
220 out Rwcal.YangData_RwProject_Project_VnfResources_VirtualLinkInfoList response);
222 public abstract RwTypes.RwStatus get_virtual_link_list(
223 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
224 out Rwcal.YangData_RwProject_Project_VnfResources resources);
227 public abstract void create_vdu(
228 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
229 Rwcal.YangData_RwProject_Project_VduInitParams vdu_params,
230 out RwcalStatus status,
233 public abstract RwTypes.RwStatus modify_vdu(
234 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
235 Rwcal.YangData_RwProject_Project_VduModifyParams vdu_params);
237 public abstract RwTypes.RwStatus delete_vdu(
238 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
241 public abstract void get_vdu(
242 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
245 out RwcalStatus status,
246 out Rwcal.YangData_RwProject_Project_VnfResources_VduInfoList response);
248 public abstract void get_vdu_list(
249 Rwcal.YangData_RwProject_Project_CloudAccounts_CloudAccountList account,
250 out RwcalStatus status,
251 out Rwcal.YangData_RwProject_Project_VnfResources resources);