Jump to: navigation, search

Difference between revisions of "Graffiti/Dictionary"

m (Capability Types)
m (Capability Types)
Line 18: Line 18:
 
A Capability Type is the following:
 
A Capability Type is the following:
 
* A metadata schema that describes a type of capability a cloud resource may provide
 
* A metadata schema that describes a type of capability a cloud resource may provide
** e.g. “Centos” may be a type of capability
+
** e.g. “CENTOS” may be a type of capability
  
 
* Defines the structure of observable properties in a subset of the JSON Schema draft 04 format
 
* Defines the structure of observable properties in a subset of the JSON Schema draft 04 format
 
** The names, data types and allowed values of properties.
 
** The names, data types and allowed values of properties.
*** e.g. Centos has a version and architecture
+
*** e.g. CENTOShas a version and architecture
  
 
* Hierarchical
 
* Hierarchical
 
** Can inherit properties from parent Capability Types
 
** Can inherit properties from parent Capability Types
** e.g. Centos is software and all software has a version
+
** e.g. CENTOSis software and all software has a version
  
 
* Referenced by requirements
 
* Referenced by requirements
** e.g. My application requires Centos
+
** e.g. My application requires CENTOS
  
 
* Scoped by a [[#Namespaces|namespace]]
 
* Scoped by a [[#Namespaces|namespace]]

Revision as of 23:59, 21 April 2014

Graffiti Dictionary

A common API for services, admins, and users to discover and share their metadata vocabulary. This is the basis for creating an agreement on how to describe the various capabilities the cloud provides. It supports both unstructured properties and structured / hierarchical metadata in the form of "capability types". All definitions in the Dictionary are "namespaced".

See Graffiti/Architecture

Expanded Contextual Overlay

This provides an overlay of Graffiti concepts with Graffiti components.

Graffiti-Architecture-ConceptOverlayExpanded.png

Capability Types

Graffiti embraces the idea that cloud resources may be described using capabilities and requirements, a concept influenced by some parts of OpenStack today as well as by industry specifications like OASIS TOSCA (Please note, Graffiti is NOT an orchestration engine, it only assists in describing and locating existing resources in the cloud.).

A Capability Type is the following:

  • A metadata schema that describes a type of capability a cloud resource may provide
    • e.g. “CENTOS” may be a type of capability
  • Defines the structure of observable properties in a subset of the JSON Schema draft 04 format
    • The names, data types and allowed values of properties.
      • e.g. CENTOShas a version and architecture
  • Hierarchical
    • Can inherit properties from parent Capability Types
    • e.g. CENTOSis software and all software has a version
  • Referenced by requirements
    • e.g. My application requires CENTOS
  • Scoped by a namespace
    • Uniquely named within a namespace
      • Your definition of "Classified" is not the same as mine, so we'll agree to disagree
    • RBAC is done on the namespace, not on individual types
    • Capability Types may derive from Types in other namespaces

Namespaces

Namespaces contain metadata definitions. RBAC is done on the namespace.

Graffiti-DictionaryNamespaces.PNG