Defined Models and REST APIs
TOSCA specs
Synchronizer
Change-Id: Icd9dde1b456711ca7e5f0c69ae547072ff5b3120
diff --git a/xos/vrouter.yaml b/xos/vrouter.yaml
new file mode 100644
index 0000000..1f087ce
--- /dev/null
+++ b/xos/vrouter.yaml
@@ -0,0 +1,273 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+# compile this with "m4 vrouter.m4 > vrouter.yaml"
+
+# include macros
+# Note: Tosca derived_from isn't working the way I think it should, it's not
+# inheriting from the parent template. Until we get that figured out, use
+# m4 macros do our inheritance
+
+
+# Service
+
+
+# Subscriber
+
+
+
+
+# end m4 macros
+
+
+
+node_types:
+
+ tosca.nodes.VRouterService:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: The vRouter Service.
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ replaces:
+ type: string
+ required: false
+ descrption: Replaces/renames this object
+ kind:
+ type: string
+ default: generic
+ description: Type of service.
+ view_url:
+ type: string
+ required: false
+ description: URL to follow when icon is clicked in the Service Directory.
+ icon_url:
+ type: string
+ required: false
+ description: ICON to display in the Service Directory.
+ enabled:
+ type: boolean
+ default: true
+ published:
+ type: boolean
+ default: true
+ description: If True then display this Service in the Service Directory.
+ public_key:
+ type: string
+ required: false
+ description: Public key to install into Instances to allows Services to SSH into them.
+ private_key_fn:
+ type: string
+ required: false
+ description: Location of private key file
+ versionNumber:
+ type: string
+ required: false
+ description: Version number of Service.
+ rest_hostname:
+ type: string
+ required: false
+ rest_port:
+ type: string
+ required: false
+ rest_user:
+ type: string
+ required: false
+ rest_pass:
+ type: string
+ required: false
+
+ tosca.nodes.VRouterDevice:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: The vRouter Device.
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ replaces:
+ type: string
+ required: false
+ descrption: Replaces/renames this object
+ openflow_id:
+ type: string
+ required: true
+ config_key:
+ type: string
+ required: false
+ driver:
+ type: string
+ required: true
+
+ tosca.nodes.VRouterPort:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: The vRouter Port.
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ replaces:
+ type: string
+ required: false
+ descrption: Replaces/renames this object
+ openflow_id:
+ type: string
+ required: true
+
+ tosca.nodes.VRouterInterface:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: The vRouter Interface.
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ replaces:
+ type: string
+ required: false
+ descrption: Replaces/renames this object
+ name:
+ type: string
+ required: true
+ mac:
+ type: string
+ required: true
+ vlan:
+ type: string
+ required: false
+
+ tosca.nodes.VRouterIp:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: The vRouter Ip.
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ replaces:
+ type: string
+ required: false
+ descrption: Replaces/renames this object
+ ip:
+ type: string
+ required: true
+
+ tosca.nodes.VRouterApp:
+ derived_from: tosca.nodes.Root
+ description: >
+ CORD: The vRouter ONOS App Config.
+ capabilities:
+ scalable:
+ type: tosca.capabilities.Scalable
+ service:
+ type: tosca.capabilities.xos.Service
+ properties:
+ no-delete:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to delete this object
+ no-create:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to create this object
+ no-update:
+ type: boolean
+ default: false
+ description: Do not allow Tosca to update this object
+ replaces:
+ type: string
+ required: false
+ descrption: Replaces/renames this object
+ name:
+ type: string
+ required: true
+ control_plane_connect_point:
+ type: string
+ required: true
+ ospf_enabled:
+ type: boolean
+ required: true
+
+ tosca.relationships.PortOfDevice:
+ derived_from: tosca.relationships.Root
+ valid_target_types: [ tosca.capabilities.xos.VRouterPort ]
+
+ tosca.relationships.InterfaceOfPort:
+ derived_from: tosca.relationships.Root
+ valid_target_types: [ tosca.capabilities.xos.VRouterInterface ]
+
+ tosca.relationships.IpOfInterface:
+ derived_from: tosca.relationships.Root
+ valid_target_types: [ tosca.capabilities.xos.VRouterIp ]
\ No newline at end of file