2 namespace "urn:opnfv:promise:nfv:mano";
5 import access-control-models { prefix acm; }
6 import nfv-infrastructure { prefix nfvi; }
7 import complex-types { prefix ct; }
8 import ietf-inet-types { prefix inet; }
9 import iana-crypt-hash { prefix ianach; }
12 "NFV Management and Orchestration Data Models with complex types and typed
13 instance identifiers representing the NFVO, VNFM, and the VIM.";
17 "This YANG module is modeled using 'yangforge' which natively provides
18 complex types and typed instance identifiers. This module
19 provides various collections of infrastructure management data
20 models for instance based management";
23 grouping provider-credentials {
26 description "The target URL endpoint for the resource provider";
39 description "Optional specified region for the provider";
43 ct:complex-type ServiceOrchestrator {
44 ct:extends acm:Domain;
49 ct:complex-type ResourceOrchestrator {
50 ct:extends acm:Domain;
55 ct:complex-type VirtualNetworkFunctionManager {
56 ct:extends acm:Domain;
61 ct:complex-type VirtualInfrastructureManager {
62 ct:extends acm:Domain;
65 leaf name { type string; mandatory true; }
68 description 'Conceptual container that will be extended by explicit provider';
69 // ct:instance-list credentials { ct:instance-type AccessCredential; }
70 // ct:instance-list roles { ct:instance-type AccessRole; }
71 // ct:instance-list policies { ct:instance-type AccessPolicy; }
74 ct:instance-list hosts { ct:instance-type nfvi:PhysicalHost; }
75 ct:instance-list hypervisors { ct:instance-type nfvi:Hypervisor; }
78 if-feature has-compute;
79 description "Contains compute related resources";
81 ct:instance-list servers { ct:instance-type nfvi:ServerInstance; }
82 ct:instance-list images { ct:instance-type nfvi:VirtualMachineImage; }
83 ct:instance-list flavors { ct:instance-type nfvi:ComputeFlavor; }
87 if-feature has-networking;
88 description "Contains networking related resources";
90 ct:instance-list networks { ct:instance-type nfvi:Network; }
91 ct:instance-list subnets { ct:instance-type nfvi:SubNetwork; }
92 ct:instance-list ports { ct:instance-type nfvi:SwitchPort; }
93 //ct:instance-list routers { ct:instance-type Router; }
99 ct:instance service { ct:instance-type ServiceOrchestrator; }
100 ct:instance resource { ct:instance-type ResourceOrchestrator; }
103 ct:instance-list managers { ct:instance-type VirtualNetworkFunctionManager; }
106 ct:instance-list managers { ct:instance-type VirtualInfrastructureManager; }
111 description "This operation allows you to add a new VirtualInfrastructureManager into the NFVI stack";
113 uses provider-credentials;
116 description "Select a specific resource provider";
136 description "Unique identifier for the newly added provider found in /promise/providers";
137 type instance-identifier {
138 ct:instance-type VirtualInfrastructureManager;