AAI-2441 Swagger to document AAI schema PlantUML
Use Swagger template to generate a file close to PlantUML diagram format
from the AAI schema (OXM file)
Run generate-uml-snapshot.sh to massage it to complete the set of class diagrams
with compositions and another set of diagrams with EdgeRule relationships
Add the generated plantuml text files
Ignore the /plantuml/backups/ files
Change-Id: I7ef8363095bf1adcf0f7ad792051b4e593683609
Issue-ID: AAI-2441
Signed-off-by: Keong Lim <keong.lim@huawei.com>
diff --git a/plantuml/aai_swagger_v15.plantuml b/plantuml/aai_swagger_v15.plantuml
new file mode 100644
index 0000000..9cc325d
--- /dev/null
+++ b/plantuml/aai_swagger_v15.plantuml
@@ -0,0 +1,496 @@
+@startuml
+
+title v15 Active and Available Inventory Relationships Class Diagram
+class Inventory
+class business
+class connectors
+class connector
+class metadata
+class metadatum
+class customers
+class customer
+class service-subscriptions
+class service-subscription
+class service-instances
+class service-instance
+class allotted-resources
+class allotted-resource
+class tunnel-xconnects
+class tunnel-xconnect
+class lines-of-business
+class line-of-business
+class owning-entities
+class owning-entity
+class platforms
+class platform
+class projects
+class project
+class sp-partners
+class sp-partner
+class cloud-infrastructure
+class cloud-regions
+class cloud-region
+class availability-zones
+class availability-zone
+class dvs-switches
+class dvs-switch
+class esr-system-info-list
+class esr-system-info
+class flavors
+class flavor
+class hpa-capabilities
+class hpa-capability
+class hpa-feature-attributes
+class group-assignments
+class group-assignment
+class images
+class image
+class oam-networks
+class oam-network
+class snapshots
+class snapshot
+class tenants
+class tenant
+class nos-servers
+class nos-server
+class vservers
+class vserver
+class l-interfaces
+class l-interface
+class l3-interface-ipv4-address-list
+class l3-interface-ipv6-address-list
+class sriov-vfs
+class sriov-vf
+class vlans
+class vlan
+class volumes
+class volume
+class vip-ipv4-address-list
+class vip-ipv6-address-list
+class volume-groups
+class volume-group
+class complexes
+class complex
+class ctag-pools
+class ctag-pool
+class network-profiles
+class network-profile
+class network-technologies
+class network-technology
+class operational-environments
+class operational-environment
+class pservers
+class pserver
+class hpa-capacity
+class lag-interfaces
+class lag-interface
+class p-interfaces
+class p-interface
+class sriov-pfs
+class sriov-pf
+class virtual-data-centers
+class virtual-data-center
+class common
+class contacts
+class contact
+class external-system
+class esr-ems-list
+class esr-ems
+class esr-thirdparty-sdnc-list
+class esr-thirdparty-sdnc
+class esr-vnfm-list
+class esr-vnfm
+class network
+class collections
+class collection
+class configurations
+class configuration
+class evcs
+class evc
+class forwarder-evcs
+class forwarder-evc
+class vlan-mappings
+class vlan-mapping
+class connectivities
+class connectivity
+class devices
+class device
+class ext-aai-networks
+class ext-aai-network
+class forwarding-paths
+class forwarding-path
+class forwarders
+class forwarder
+class generic-vnfs
+class generic-vnf
+class entitlements
+class entitlement
+class licenses
+class license
+class vf-modules
+class vf-module
+class instance-groups
+class instance-group
+class ipsec-configurations
+class ipsec-configuration
+class vig-servers
+class vig-server
+class l3-networks
+class l3-network
+class aggregate-routes
+class aggregate-route
+class ctag-assignments
+class ctag-assignment
+class segmentation-assignments
+class segmentation-assignment
+class subnets
+class subnet
+class host-routes
+class host-route
+class lag-links
+class lag-link
+class lan-port-configs
+class lan-port-config
+class dhcp-services
+class dhcp-service
+class logical-links
+class logical-link
+class multicast-configurations
+class multicast-configuration
+class network-policies
+class network-policy
+class network-resources
+class network-resource
+class newvces
+class newvce
+class physical-links
+class physical-link
+class pnfs
+class pnf
+class software-versions
+class software-version
+class vrfs
+class vrf
+class route-targets
+class route-target
+class route-table-references
+class route-table-reference
+class sdwan-vpns
+class sdwan-vpn
+class site-pair-sets
+class site-pair-set
+class routing-instances
+class routing-instance
+class site-pairs
+class site-pair
+class classes-of-service
+class class-of-service
+class site-resources
+class site-resource
+class vces
+class vce
+class port-groups
+class port-group
+class cvlan-tags
+class cvlan-tag-entry
+class vlan-tags
+class vlan-tag
+class vnfcs
+class vnfc
+class cps
+class cp
+class vpls-pes
+class vpls-pe
+class vpn-bindings
+class vpn-binding
+class wan-port-configs
+class wan-port-config
+class zones
+class zone
+class service-design-and-creation
+class models
+class model
+class model-vers
+class model-ver
+class model-elements
+class model-element
+class model-constraints
+class model-constraint
+class constrained-element-sets
+class constrained-element-set
+class element-choice-sets
+class element-choice-set
+class named-queries
+class named-query
+class named-query-elements
+class named-query-element
+class property-constraints
+class property-constraint
+class related-lookups
+class related-lookup
+class service-capabilities
+class service-capability
+class services
+class service
+class vnf-images
+class vnf-image
+"Inventory" *-- "business"
+"Inventory" *-- "cloud-infrastructure"
+"Inventory" *-- "common"
+"Inventory" *-- "external-system"
+"Inventory" *-- "network"
+"Inventory" *-- "service-design-and-creation"
+"business" *-- "connectors"
+"connectors" *-- "connector"
+"connector" *-- "metadata"
+"metadata" *-- "metadatum"
+"business" *-- "customers"
+"customers" *-- "customer"
+"customer" *-- "service-subscriptions"
+"service-subscriptions" *-- "service-subscription"
+"service-subscription" *-- "service-instances"
+"service-instances" *-- "service-instance"
+"service-instance" *-- "allotted-resources"
+"allotted-resources" *-- "allotted-resource"
+"allotted-resource" *-- "tunnel-xconnects"
+"tunnel-xconnects" *-- "tunnel-xconnect"
+"service-instance" *-- "metadata"
+"business" *-- "lines-of-business"
+"lines-of-business" *-- "line-of-business"
+"business" *-- "owning-entities"
+"owning-entities" *-- "owning-entity"
+"business" *-- "platforms"
+"platforms" *-- "platform"
+"business" *-- "projects"
+"projects" *-- "project"
+"business" *-- "sp-partners"
+"sp-partners" *-- "sp-partner"
+"cloud-infrastructure" *-- "cloud-regions"
+"cloud-regions" *-- "cloud-region"
+"cloud-region" *-- "availability-zones"
+"availability-zones" *-- "availability-zone"
+"cloud-region" *-- "dvs-switches"
+"dvs-switches" *-- "dvs-switch"
+"cloud-region" *-- "esr-system-info-list"
+"esr-system-info-list" *-- "esr-system-info"
+"cloud-region" *-- "flavors"
+"flavors" *-- "flavor"
+"flavor" *-- "hpa-capabilities"
+"hpa-capabilities" *-- "hpa-capability"
+"hpa-capability" *-- "hpa-feature-attributes"
+"cloud-region" *-- "group-assignments"
+"group-assignments" *-- "group-assignment"
+"cloud-region" *-- "hpa-capabilities"
+"cloud-region" *-- "images"
+"images" *-- "image"
+"image" *-- "metadata"
+"cloud-region" *-- "oam-networks"
+"oam-networks" *-- "oam-network"
+"cloud-region" *-- "snapshots"
+"snapshots" *-- "snapshot"
+"cloud-region" *-- "tenants"
+"tenants" *-- "tenant"
+"tenant" *-- "nos-servers"
+"nos-servers" *-- "nos-server"
+"tenant" *-- "vservers"
+"vservers" *-- "vserver"
+"vserver" *-- "l-interfaces"
+"l-interfaces" *-- "l-interface"
+"l-interface" *-- "l3-interface-ipv4-address-list"
+"l-interface" *-- "l3-interface-ipv6-address-list"
+"l-interface" *-- "sriov-vfs"
+"sriov-vfs" *-- "sriov-vf"
+"l-interface" *-- "vlans"
+"vlans" *-- "vlan"
+"vlan" *-- "l3-interface-ipv4-address-list"
+"vlan" *-- "l3-interface-ipv6-address-list"
+"vserver" *-- "volumes"
+"volumes" *-- "volume"
+"cloud-region" *-- "vip-ipv4-address-list"
+"cloud-region" *-- "vip-ipv6-address-list"
+"cloud-region" *-- "volume-groups"
+"volume-groups" *-- "volume-group"
+"cloud-infrastructure" *-- "complexes"
+"complexes" *-- "complex"
+"complex" *-- "ctag-pools"
+"ctag-pools" *-- "ctag-pool"
+"cloud-infrastructure" *-- "network-profiles"
+"network-profiles" *-- "network-profile"
+"cloud-infrastructure" *-- "network-technologies"
+"network-technologies" *-- "network-technology"
+"cloud-infrastructure" *-- "operational-environments"
+"operational-environments" *-- "operational-environment"
+"cloud-infrastructure" *-- "pservers"
+"pservers" *-- "pserver"
+"pserver" *-- "hpa-capacity"
+"pserver" *-- "lag-interfaces"
+"lag-interfaces" *-- "lag-interface"
+"lag-interface" *-- "l-interfaces"
+"pserver" *-- "p-interfaces"
+"p-interfaces" *-- "p-interface"
+"p-interface" *-- "l-interfaces"
+"p-interface" *-- "sriov-pfs"
+"sriov-pfs" *-- "sriov-pf"
+"cloud-infrastructure" *-- "virtual-data-centers"
+"virtual-data-centers" *-- "virtual-data-center"
+"common" *-- "contacts"
+"contacts" *-- "contact"
+"external-system" *-- "esr-ems-list"
+"esr-ems-list" *-- "esr-ems"
+"esr-ems" *-- "esr-system-info-list"
+"external-system" *-- "esr-thirdparty-sdnc-list"
+"esr-thirdparty-sdnc-list" *-- "esr-thirdparty-sdnc"
+"esr-thirdparty-sdnc" *-- "esr-system-info-list"
+"external-system" *-- "esr-vnfm-list"
+"esr-vnfm-list" *-- "esr-vnfm"
+"esr-vnfm" *-- "esr-system-info-list"
+"network" *-- "collections"
+"collections" *-- "collection"
+"network" *-- "configurations"
+"configurations" *-- "configuration"
+"configuration" *-- "evcs"
+"evcs" *-- "evc"
+"configuration" *-- "forwarder-evcs"
+"forwarder-evcs" *-- "forwarder-evc"
+"forwarder-evc" *-- "vlan-mappings"
+"vlan-mappings" *-- "vlan-mapping"
+"configuration" *-- "metadata"
+"network" *-- "connectivities"
+"connectivities" *-- "connectivity"
+"network" *-- "devices"
+"devices" *-- "device"
+"network" *-- "ext-aai-networks"
+"ext-aai-networks" *-- "ext-aai-network"
+"ext-aai-network" *-- "esr-system-info"
+"network" *-- "forwarding-paths"
+"forwarding-paths" *-- "forwarding-path"
+"forwarding-path" *-- "forwarders"
+"forwarders" *-- "forwarder"
+"network" *-- "generic-vnfs"
+"generic-vnfs" *-- "generic-vnf"
+"generic-vnf" *-- "entitlements"
+"entitlements" *-- "entitlement"
+"generic-vnf" *-- "l-interfaces"
+"generic-vnf" *-- "lag-interfaces"
+"generic-vnf" *-- "licenses"
+"licenses" *-- "license"
+"generic-vnf" *-- "vf-modules"
+"vf-modules" *-- "vf-module"
+"network" *-- "instance-groups"
+"instance-groups" *-- "instance-group"
+"network" *-- "ipsec-configurations"
+"ipsec-configurations" *-- "ipsec-configuration"
+"ipsec-configuration" *-- "vig-servers"
+"vig-servers" *-- "vig-server"
+"network" *-- "l3-networks"
+"l3-networks" *-- "l3-network"
+"l3-network" *-- "aggregate-routes"
+"aggregate-routes" *-- "aggregate-route"
+"l3-network" *-- "ctag-assignments"
+"ctag-assignments" *-- "ctag-assignment"
+"l3-network" *-- "segmentation-assignments"
+"segmentation-assignments" *-- "segmentation-assignment"
+"l3-network" *-- "subnets"
+"subnets" *-- "subnet"
+"subnet" *-- "host-routes"
+"host-routes" *-- "host-route"
+"network" *-- "lag-links"
+"lag-links" *-- "lag-link"
+"network" *-- "lan-port-configs"
+"lan-port-configs" *-- "lan-port-config"
+"lan-port-config" *-- "dhcp-services"
+"dhcp-services" *-- "dhcp-service"
+"network" *-- "logical-links"
+"logical-links" *-- "logical-link"
+"network" *-- "multicast-configurations"
+"multicast-configurations" *-- "multicast-configuration"
+"network" *-- "network-policies"
+"network-policies" *-- "network-policy"
+"network" *-- "network-resources"
+"network-resources" *-- "network-resource"
+"network" *-- "newvces"
+"newvces" *-- "newvce"
+"newvce" *-- "l-interfaces"
+"network" *-- "physical-links"
+"physical-links" *-- "physical-link"
+"network" *-- "pnfs"
+"pnfs" *-- "pnf"
+"pnf" *-- "lag-interfaces"
+"pnf" *-- "p-interfaces"
+"pnf" *-- "software-versions"
+"software-versions" *-- "software-version"
+"pnf" *-- "vrfs"
+"vrfs" *-- "vrf"
+"vrf" *-- "route-targets"
+"route-targets" *-- "route-target"
+"network" *-- "route-table-references"
+"route-table-references" *-- "route-table-reference"
+"network" *-- "sdwan-vpns"
+"sdwan-vpns" *-- "sdwan-vpn"
+"network" *-- "site-pair-sets"
+"site-pair-sets" *-- "site-pair-set"
+"site-pair-set" *-- "routing-instances"
+"routing-instances" *-- "routing-instance"
+"routing-instance" *-- "site-pairs"
+"site-pairs" *-- "site-pair"
+"site-pair" *-- "classes-of-service"
+"classes-of-service" *-- "class-of-service"
+"network" *-- "site-resources"
+"site-resources" *-- "site-resource"
+"network" *-- "vces"
+"vces" *-- "vce"
+"vce" *-- "entitlements"
+"vce" *-- "licenses"
+"vce" *-- "port-groups"
+"port-groups" *-- "port-group"
+"port-group" *-- "cvlan-tags"
+"cvlan-tags" *-- "cvlan-tag-entry"
+"network" *-- "vlan-tags"
+"vlan-tags" *-- "vlan-tag"
+"network" *-- "vnfcs"
+"vnfcs" *-- "vnfc"
+"vnfc" *-- "cps"
+"cps" *-- "cp"
+"cp" *-- "l3-interface-ipv4-address-list"
+"cp" *-- "l3-interface-ipv6-address-list"
+"vnfc" *-- "l3-interface-ipv4-address-list"
+"vnfc" *-- "l3-interface-ipv6-address-list"
+"network" *-- "vpls-pes"
+"vpls-pes" *-- "vpls-pe"
+"vpls-pe" *-- "lag-interfaces"
+"vpls-pe" *-- "p-interfaces"
+"network" *-- "vpn-bindings"
+"vpn-bindings" *-- "vpn-binding"
+"vpn-binding" *-- "route-targets"
+"network" *-- "wan-port-configs"
+"wan-port-configs" *-- "wan-port-config"
+"network" *-- "zones"
+"zones" *-- "zone"
+"service-design-and-creation" *-- "models"
+"models" *-- "model"
+"model" *-- "model-vers"
+"model-vers" *-- "model-ver"
+"model-ver" *-- "metadata"
+"model-ver" *-- "model-elements"
+"model-elements" *-- "model-element"
+"model-element" *-- "model-constraints"
+"model-constraints" *-- "model-constraint"
+"model-constraint" *-- "constrained-element-sets"
+"constrained-element-sets" *-- "constrained-element-set"
+"constrained-element-set" *-- "element-choice-sets"
+"element-choice-sets" *-- "element-choice-set"
+"service-design-and-creation" *-- "named-queries"
+"named-queries" *-- "named-query"
+"named-query" *-- "named-query-elements"
+"named-query-elements" *-- "named-query-element"
+"named-query-element" *-- "property-constraints"
+"property-constraints" *-- "property-constraint"
+"named-query-element" *-- "related-lookups"
+"related-lookups" *-- "related-lookup"
+"service-design-and-creation" *-- "service-capabilities"
+"service-capabilities" *-- "service-capability"
+"service-design-and-creation" *-- "services"
+"services" *-- "service"
+"service-design-and-creation" *-- "vnf-images"
+"vnf-images" *-- "vnf-image"
+@enduml