Skip to content
Snippets Groups Projects
Commit b649752f authored by Matias Richart's avatar Matias Richart
Browse files

Yang completo

parent c993e59c
No related branches found
No related tags found
No related merge requests found
......@@ -3,45 +3,10 @@ module ietf-dcpop-dc {
namespace "urn:ietf:params:xml:ns:yang:ietf-dcpop-dc";
prefix dcpop-dc;
/* Import inet-types */
import ietf-inet-types {
prefix inet;
reference
"RFC 6991: Common YANG Data Types";
}
/* Import network */
import ietf-network {
prefix nw;
reference
"RFC 8345: A YANG Data Model for Network Topologies";
}
/* Import network topology */
import ietf-network-topology {
prefix nt;
reference
"RFC 8345: A YANG Data Model for Network Topologies";
}
/* Import TE Common types */
import ietf-te-types {
prefix te-types;
reference
"RFC 8776: Common YANG Data Types for Traffic Engineering";
}
/* Import TE Topology */
import ietf-te-topology {
prefix tet;
reference
"RFC 8795: YANG Data Model for Traffic Engineering (TE)
Topologies";
"";
}
import ietf-vn {
......@@ -103,11 +68,6 @@ module ietf-dcpop-dc {
grouping datacenter {
description
"Datacenter related information";
leaf id {
type string;
description
"A unique identifier for the referred datacenter";
}
list hypervisor{
key "id";
description
......@@ -126,6 +86,44 @@ module ietf-dcpop-dc {
"The instance information";
}
}
list image{
key "id";
description
"instance identifier";
uses image {
description
"The image information";
}
}
list flavor{
key "id";
description
"instance identifier";
uses flavor {
description
"The flavor information";
}
}
list dc-monitoring-param {
key "name";
description
"";
leaf name{
type string;
}
leaf value-string{
type string;
}
}
list network{
key "id";
description
"network identifier";
uses network {
description
"The network information";
}
}
leaf-list ap {
type leafref {
path "/actn-vn:access-point/actn-vn:ap/actn-vn:ap-id";
......@@ -133,6 +131,21 @@ module ietf-dcpop-dc {
description
"A reference to the access point node in the TE Topology";
}
leaf dcpop-ref {
type leafref {
path "/dcpop/dcpop-id";
}
}
leaf id {
type string;
description
"A unique identifier for the referred datacenter";
}
leaf name {
type string;
description
"";
}
} //datacenter
grouping hypervisor {
......@@ -220,84 +233,12 @@ module ietf-dcpop-dc {
container flavor {
description
"The flavor characteristics of the instance";
leaf disk {
type uint32;
description
"";
}
leaf ram {
type uint32;
description
"";
}
leaf vcpus {
type uint16;
description
"";
}
leaf bandwidth {
type uint32;
description
"";
}
leaf id {
type string;
description
"";
}
leaf name {
type string;
description
"";
}
uses flavor;
}
container image {
description
"The image characteristics of the instance";
leaf checksum {
type string;
description
"";
}
leaf size {
type uint32;
description
"";
}
container format {
description
"";
leaf container {
type enumeration {
enum zero {
value 0;
description
"Ni idea que va aca";
}
}
description
"";
}
leaf disk {
type enumeration {
enum zero {
value 0;
description
"Ni idea que va aca";
}
}
}
}
leaf id {
type string;
description
"";
}
leaf name {
type string;
description
"";
}
uses image;
}
leaf hypervisor {
type leafref {
......@@ -339,6 +280,232 @@ module ietf-dcpop-dc {
}
} //instance
grouping image {
description
"The image characteristics of the instance";
leaf checksum {
type string;
description
"";
}
leaf size {
type uint32;
description
"";
}
container format {
description
"";
leaf container {
type enumeration {
enum zero {
value 0;
description
"Ni idea que va aca";
}
}
description
"";
}
leaf disk {
type enumeration {
enum zero {
value 0;
description
"Ni idea que va aca";
}
}
}
}
leaf id {
type string;
description
"";
}
leaf name {
type string;
description
"";
}
}
grouping flavor {
description
"The flavor characteristics of the instance";
leaf disk {
type uint32;
description
"";
}
leaf ram {
type uint32;
description
"";
}
leaf vcpus {
type uint16;
description
"";
}
leaf bandwidth {
type uint32;
description
"";
}
leaf id {
type string;
description
"";
}
leaf name {
type string;
description
"";
}
}
grouping port{
leaf ip-address{
type inet:ip-address;
}
leaf instance {
type leafref {
path "/dcpop/dc/instance/id";
}
}
leaf project {
type string;
description
"";
}
leaf status {
type enumeration {
enum zero {
value 0;
description
"Ni idea que va aca";
}
}
}
leaf id {
type string;
description
"A unique identifier for the referred instance";
}
leaf name {
type string;
description
"";
}
}
grouping dhcp-agent{
leaf enabled {
type boolean;
}
list pools {
key "ip-address";
leaf ip-address {
type inet:ip-address;
}
}
leaf project {
type string;
description
"";
}
leaf status {
type enumeration {
enum zero {
value 0;
description
"Ni idea que va aca";
}
}
}
leaf id {
type string;
description
"A unique identifier for the referred instance";
}
leaf name {
type string;
description
"";
}
}
grouping subnetwork{
list port {
key "id";
uses port;
}
leaf project {
type string;
description
"";
}
leaf status {
type enumeration {
enum zero {
value 0;
description
"Ni idea que va aca";
}
}
}
leaf id {
type string;
description
"A unique identifier for the referred instance";
}
leaf name {
type string;
description
"";
}
}
grouping network {
list subnetwork {
key "id";
uses subnetwork;
}
list dhcp-agent {
key "id";
uses dhcp-agent;
}
leaf project {
type string;
description
"";
}
leaf status {
type enumeration {
enum zero {
value 0;
description
"Ni idea que va aca";
}
}
}
leaf id {
type string;
description
"A unique identifier for the referred instance";
}
leaf name {
type string;
description
"";
}
leaf dcpop-ref {
type leafref {
path "/dcpop/dcpop-id";
}
}
}
/* Configuration data nodes */
......@@ -354,6 +521,11 @@ module ietf-dcpop-dc {
"The datacanter information";
}
}
leaf dcpop-id {
type string;
description
"A unique identifier for the referred dcpop";
}
reference
" ";
}
......
......@@ -14,39 +14,140 @@ page 1x1
Title ietf-dcpop-dc
package "inet:ietf-inet-types" as inet_ietf_inet_types {
}
package "nw:ietf-network" as nw_ietf_network {
}
package "nt:ietf-network-topology" as nt_ietf_network_topology {
}
package "te-types:ietf-te-types" as te_types_ietf_te_types {
}
package "tet:ietf-te-topology" as tet_ietf_te_topology {
}
package "actn-vn:ietf-vn" as actn_vn_ietf_vn {
}
note top of dcpop_dc_ietf_dcpop_dc : <b>Namespace: </b> urn:ietf:params:xml:ns:yang:ietf-dcpop-dc \n<b>Prefix: </b> dcpop-dc \n<b>Organization : </b>\nIETF Traffic Engineering Architecture and Signaling (TEAS) \nWorking Group \n<b>Contact : </b>\nWG Web: <https://tools.ietf.org/wg/teas/> \nWG List: <mailto:teas@ietf.org> \nEditor: Young Lee <younglee.tx@gmail.com> \n : Dhruv Dhody <dhruv.ietf@gmail.com> \n<b>Revision : </b> 2022-11-16 \n
note top of dcpop_dc_ietf_dcpop_dc : <b>Namespace: </b> urn:ietf:params:xml:ns:yang:ietf-dcpop-dc \n<b>Prefix: </b> dcpop-dc \n<b>Organization : </b>\nIETF Traffic Engineering Architecture and Signaling (TEAS) \nWorking Group \n<b>Contact : </b>\nWG Web: <https://tools.ietf.org/wg/teas/> \nWG List: <mailto:teas@ietf.org> \nEditor: Young Lee <younglee.tx@gmail.com> \n : Dhruv Dhody <dhruv.ietf@gmail.com> \n<b>Revision : </b> 2022-07-11 \n
package "dcpop-dc:ietf-dcpop-dc" as dcpop_dc_ietf_dcpop_dc {
inet_ietf_inet_types +-- dcpop_dc_ietf_dcpop_dc
nw_ietf_network +-- dcpop_dc_ietf_dcpop_dc
nt_ietf_network_topology +-- dcpop_dc_ietf_dcpop_dc
te_types_ietf_te_types +-- dcpop_dc_ietf_dcpop_dc
tet_ietf_te_topology +-- dcpop_dc_ietf_dcpop_dc
actn_vn_ietf_vn +-- dcpop_dc_ietf_dcpop_dc
class "ietf-dcpop-dc" as ietf_dcpop_dc << (M, #33CCFF) module>>
class "dc-id" as dc_id << (T, YellowGreen) typedef>>
dc_id : string
class "datacenter" as ietf_dcpop_dc_I_datacenter_grouping <<(G,Lime) grouping>>
ietf_dcpop_dc_I_datacenter_grouping : dc-id : dc-id
class "hypervisor" as ietf_dcpop_dc_I_datacenter_I_hypervisor << (L, #FF7700) list>>
ietf_dcpop_dc_I_datacenter_grouping *-- "0..N" ietf_dcpop_dc_I_datacenter_I_hypervisor
ietf_dcpop_dc_I_datacenter_I_hypervisor : hypervisor {uses}
class "instance" as ietf_dcpop_dc_I_datacenter_I_instance << (L, #FF7700) list>>
ietf_dcpop_dc_I_datacenter_grouping *-- "0..N" ietf_dcpop_dc_I_datacenter_I_instance
ietf_dcpop_dc_I_datacenter_I_instance : instance {uses}
class "image" as ietf_dcpop_dc_I_datacenter_I_image << (L, #FF7700) list>>
ietf_dcpop_dc_I_datacenter_grouping *-- "0..N" ietf_dcpop_dc_I_datacenter_I_image
ietf_dcpop_dc_I_datacenter_I_image : image {uses}
class "flavor" as ietf_dcpop_dc_I_datacenter_I_flavor << (L, #FF7700) list>>
ietf_dcpop_dc_I_datacenter_grouping *-- "0..N" ietf_dcpop_dc_I_datacenter_I_flavor
ietf_dcpop_dc_I_datacenter_I_flavor : flavor {uses}
class "dc-monitoring-param" as ietf_dcpop_dc_I_datacenter_I_dc_monitoring_param << (L, #FF7700) list>>
ietf_dcpop_dc_I_datacenter_grouping *-- "0..N" ietf_dcpop_dc_I_datacenter_I_dc_monitoring_param
ietf_dcpop_dc_I_datacenter_I_dc_monitoring_param : +name : string {key}
ietf_dcpop_dc_I_datacenter_I_dc_monitoring_param : value-string : string
class "network" as ietf_dcpop_dc_I_datacenter_I_network << (L, #FF7700) list>>
ietf_dcpop_dc_I_datacenter_grouping *-- "0..N" ietf_dcpop_dc_I_datacenter_I_network
ietf_dcpop_dc_I_datacenter_I_network : network {uses}
ietf_dcpop_dc_I_datacenter_grouping : ap []: leafref : /actn-vn:access-point/actn-vn:ap/actn-vn:ap-id
ietf_dcpop_dc_I_datacenter_grouping : dcpop-ref : leafref : /dcpop/dcpop-id
ietf_dcpop_dc_I_datacenter_grouping : +id : string {key}
ietf_dcpop_dc_I_datacenter_grouping : name : string
class "hypervisor" as ietf_dcpop_dc_I_hypervisor_grouping <<(G,Lime) grouping>>
class "ram" as ietf_dcpop_dc_I_hypervisor_I_ram <<container>>
ietf_dcpop_dc_I_hypervisor_grouping *-- "1" ietf_dcpop_dc_I_hypervisor_I_ram
ietf_dcpop_dc_I_hypervisor_I_ram : total : uint32
ietf_dcpop_dc_I_hypervisor_I_ram : used : uint32
ietf_dcpop_dc_I_hypervisor_I_ram : free : uint32
class "disk" as ietf_dcpop_dc_I_hypervisor_I_disk <<container>>
ietf_dcpop_dc_I_hypervisor_grouping *-- "1" ietf_dcpop_dc_I_hypervisor_I_disk
ietf_dcpop_dc_I_hypervisor_I_disk : total : uint32
ietf_dcpop_dc_I_hypervisor_I_disk : used : uint32
ietf_dcpop_dc_I_hypervisor_I_disk : free : uint32
class "vcpu" as ietf_dcpop_dc_I_hypervisor_I_vcpu <<container>>
ietf_dcpop_dc_I_hypervisor_grouping *-- "1" ietf_dcpop_dc_I_hypervisor_I_vcpu
ietf_dcpop_dc_I_hypervisor_I_vcpu : total : uint16
ietf_dcpop_dc_I_hypervisor_I_vcpu : used : uint16
ietf_dcpop_dc_I_hypervisor_I_vcpu : free : uint16
ietf_dcpop_dc_I_hypervisor_grouping : instance []: leafref : /dcpop/dc/instance/id
ietf_dcpop_dc_I_hypervisor_grouping : +id : string {key}
ietf_dcpop_dc_I_hypervisor_grouping : name : string
class "instance" as ietf_dcpop_dc_I_instance_grouping <<(G,Lime) grouping>>
class "flavor" as ietf_dcpop_dc_I_instance_I_flavor <<container>>
ietf_dcpop_dc_I_instance_grouping *-- "1" ietf_dcpop_dc_I_instance_I_flavor
ietf_dcpop_dc_I_instance_I_flavor : flavor {uses}
class "image" as ietf_dcpop_dc_I_instance_I_image <<container>>
ietf_dcpop_dc_I_instance_grouping *-- "1" ietf_dcpop_dc_I_instance_I_image
ietf_dcpop_dc_I_instance_I_image : image {uses}
ietf_dcpop_dc_I_instance_grouping : hypervisor : leafref : /dcpop/dc/hypervisor/id
ietf_dcpop_dc_I_instance_grouping : project : string
ietf_dcpop_dc_I_instance_grouping : status : enumeration : {zero,}
ietf_dcpop_dc_I_instance_grouping : +id : string {key}
ietf_dcpop_dc_I_instance_grouping : name : string
class "image" as ietf_dcpop_dc_I_image_grouping <<(G,Lime) grouping>>
ietf_dcpop_dc_I_image_grouping : checksum : string
ietf_dcpop_dc_I_image_grouping : size : uint32
class "format" as ietf_dcpop_dc_I_image_I_format <<container>>
ietf_dcpop_dc_I_image_grouping *-- "1" ietf_dcpop_dc_I_image_I_format
ietf_dcpop_dc_I_image_I_format : container : enumeration : {zero,}
ietf_dcpop_dc_I_image_I_format : disk : enumeration : {zero,}
ietf_dcpop_dc_I_image_grouping : +id : string {key}
ietf_dcpop_dc_I_image_grouping : name : string
class "flavor" as ietf_dcpop_dc_I_flavor_grouping <<(G,Lime) grouping>>
ietf_dcpop_dc_I_flavor_grouping : disk : uint32
ietf_dcpop_dc_I_flavor_grouping : ram : uint32
ietf_dcpop_dc_I_flavor_grouping : vcpus : uint16
ietf_dcpop_dc_I_flavor_grouping : bandwidth : uint32
ietf_dcpop_dc_I_flavor_grouping : +id : string {key}
ietf_dcpop_dc_I_flavor_grouping : name : string
class "port" as ietf_dcpop_dc_I_port_grouping <<(G,Lime) grouping>>
ietf_dcpop_dc_I_port_grouping : ip-address : inet:ip-address
ietf_dcpop_dc_I_port_grouping : instance : leafref : /dcpop/dc/instance/id
ietf_dcpop_dc_I_port_grouping : project : string
ietf_dcpop_dc_I_port_grouping : status : enumeration : {zero,}
ietf_dcpop_dc_I_port_grouping : +id : string {key}
ietf_dcpop_dc_I_port_grouping : name : string
class "dhcp-agent" as ietf_dcpop_dc_I_dhcp_agent_grouping <<(G,Lime) grouping>>
ietf_dcpop_dc_I_dhcp_agent_grouping : enabled : boolean
class "pools" as ietf_dcpop_dc_I_dhcp_agent_I_pools << (L, #FF7700) list>>
ietf_dcpop_dc_I_dhcp_agent_grouping *-- "0..N" ietf_dcpop_dc_I_dhcp_agent_I_pools
ietf_dcpop_dc_I_dhcp_agent_I_pools : +ip-address : inet:ip-address {key}
ietf_dcpop_dc_I_dhcp_agent_grouping : project : string
ietf_dcpop_dc_I_dhcp_agent_grouping : status : enumeration : {zero,}
ietf_dcpop_dc_I_dhcp_agent_grouping : id : string
ietf_dcpop_dc_I_dhcp_agent_grouping : name : string
class "subnetwork" as ietf_dcpop_dc_I_subnetwork_grouping <<(G,Lime) grouping>>
class "port" as ietf_dcpop_dc_I_subnetwork_I_port << (L, #FF7700) list>>
ietf_dcpop_dc_I_subnetwork_grouping *-- "0..N" ietf_dcpop_dc_I_subnetwork_I_port
ietf_dcpop_dc_I_subnetwork_I_port : port {uses}
ietf_dcpop_dc_I_subnetwork_grouping : project : string
ietf_dcpop_dc_I_subnetwork_grouping : status : enumeration : {zero,}
ietf_dcpop_dc_I_subnetwork_grouping : +id : string {key}
ietf_dcpop_dc_I_subnetwork_grouping : name : string
class "network" as ietf_dcpop_dc_I_network_grouping <<(G,Lime) grouping>>
class "subnetwork" as ietf_dcpop_dc_I_network_I_subnetwork << (L, #FF7700) list>>
ietf_dcpop_dc_I_network_grouping *-- "0..N" ietf_dcpop_dc_I_network_I_subnetwork
ietf_dcpop_dc_I_network_I_subnetwork : subnetwork {uses}
class "dhcp-agent" as ietf_dcpop_dc_I_network_I_dhcp_agent << (L, #FF7700) list>>
ietf_dcpop_dc_I_network_grouping *-- "0..N" ietf_dcpop_dc_I_network_I_dhcp_agent
ietf_dcpop_dc_I_network_I_dhcp_agent : dhcp-agent {uses}
ietf_dcpop_dc_I_network_grouping : project : string
ietf_dcpop_dc_I_network_grouping : status : enumeration : {zero,}
ietf_dcpop_dc_I_network_grouping : +id : string {key}
ietf_dcpop_dc_I_network_grouping : name : string
ietf_dcpop_dc_I_network_grouping : dcpop-ref : leafref : /dcpop/dcpop-id
class "dcpop" as ietf_dcpop_dc_I_dcpop <<container>>
ietf_dcpop_dc *-- "1" ietf_dcpop_dc_I_dcpop
class "dc" as ietf_dcpop_dc_I_dcpop_I_dc << (L, #FF7700) list>>
ietf_dcpop_dc_I_dcpop *-- "0..N" ietf_dcpop_dc_I_dcpop_I_dc
ietf_dcpop_dc_I_dcpop_I_dc : datacenter {uses}
ietf_dcpop_dc_I_dcpop : dcpop-id : string
}
ietf_dcpop_dc_I_datacenter_I_hypervisor --> ietf_dcpop_dc_I_hypervisor_grouping : uses
ietf_dcpop_dc_I_datacenter_I_instance --> ietf_dcpop_dc_I_instance_grouping : uses
ietf_dcpop_dc_I_datacenter_I_image --> ietf_dcpop_dc_I_image_grouping : uses
ietf_dcpop_dc_I_datacenter_I_flavor --> ietf_dcpop_dc_I_flavor_grouping : uses
ietf_dcpop_dc_I_datacenter_I_network --> ietf_dcpop_dc_I_network_grouping : uses
ietf_dcpop_dc_I_instance_I_flavor --> ietf_dcpop_dc_I_flavor_grouping : uses
ietf_dcpop_dc_I_instance_I_image --> ietf_dcpop_dc_I_image_grouping : uses
ietf_dcpop_dc_I_subnetwork_I_port --> ietf_dcpop_dc_I_port_grouping : uses
ietf_dcpop_dc_I_network_I_subnetwork --> ietf_dcpop_dc_I_subnetwork_grouping : uses
ietf_dcpop_dc_I_network_I_dhcp_agent --> ietf_dcpop_dc_I_dhcp_agent_grouping : uses
ietf_dcpop_dc_I_dcpop_I_dc --> ietf_dcpop_dc_I_datacenter_grouping : uses
center footer
<size:20> UML Generated : 2022-11-17 16:51 </size>
<size:20> UML Generated : 2022-11-18 16:25 </size>
endfooter
@enduml
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment