527b2551a41a556078ebfb498d19ef05b3de33f3
[osm/SO.git] / rwlaunchpad / plugins / rwvns / vala / rwsdn.vala
1 namespace RwSdn {
2
3   public interface Topology: GLib.Object {
4     /*
5      * Init routine
6      */
7     public abstract RwTypes.RwStatus init(RwLog.Ctx log_ctx);
8
9     /*
10      * Credential Validation related APIs
11      */
12     public abstract RwTypes.RwStatus validate_sdn_creds(
13       Rwsdnal.YangData_RwProject_Project_SdnAccounts_SdnAccountList account,
14       out Rwsdnal.YangData_RwProject_Project_SdnAccounts_SdnAccountList_ConnectionStatus status);
15
16     /*
17      * Configuring  related APIs
18      */
19     /* TODO */
20
21     /*
22      * Network related APIs
23      */
24     public abstract RwTypes.RwStatus get_network_list(
25       Rwsdnal.YangData_RwProject_Project_SdnAccounts_SdnAccountList account,
26       out RwTopology.YangData_IetfNetwork network_topology);
27    
28     /*
29      * VNFFG Chain related APIs
30      */
31     public abstract RwTypes.RwStatus create_vnffg_chain(
32       Rwsdnal.YangData_RwProject_Project_SdnAccounts_SdnAccountList account,
33       Rwsdnal.YangData_RwProject_Project_Vnffgs_VnffgChain vnffg_chain,
34       out string vnffg_id);
35
36     /*
37      * VNFFG Chain Terminate related APIs
38      */
39     public abstract RwTypes.RwStatus terminate_vnffg_chain(
40       Rwsdnal.YangData_RwProject_Project_SdnAccounts_SdnAccountList account,
41       string vnffg_id);
42
43
44     /*
45      * Network related APIs
46      */
47     public abstract RwTypes.RwStatus get_vnffg_rendered_paths(
48       Rwsdnal.YangData_RwProject_Project_SdnAccounts_SdnAccountList account,
49       out Rwsdnal.YangData_RwProject_Project_VnffgRenderedPaths rendered_paths);
50
51     /*
52      * Classifier related APIs
53      */
54     public abstract RwTypes.RwStatus create_vnffg_classifier(
55       Rwsdnal.YangData_RwProject_Project_SdnAccounts_SdnAccountList account,
56       Rwsdnal.YangData_RwProject_Project_VnffgClassifiers vnffg_classifier, 
57       [CCode (array_length = false, array_null_terminated = true)]
58       out string [] vnffg_classifier_id);
59
60     /*
61      * Classifier related APIs
62      */
63     public abstract RwTypes.RwStatus terminate_vnffg_classifier(
64       Rwsdnal.YangData_RwProject_Project_SdnAccounts_SdnAccountList account,
65       [CCode (array_length = false, array_null_terminated = true)]
66       string [] vnffg_classifier_id);
67
68
69
70     /*
71      * Node Related APIs
72      */
73      /* TODO */
74
75     /*
76      * Termination-point Related APIs
77      */
78      /* TODO */
79
80     /*
81      * Link Related APIs
82      */
83      /* TODO */
84     
85   }
86 }
87
88