diff options
Diffstat (limited to 'javatoscachecker/checker/src/test/tosca/dcae_uservice_tosca.yaml')
-rw-r--r-- | javatoscachecker/checker/src/test/tosca/dcae_uservice_tosca.yaml | 653 |
1 files changed, 653 insertions, 0 deletions
diff --git a/javatoscachecker/checker/src/test/tosca/dcae_uservice_tosca.yaml b/javatoscachecker/checker/src/test/tosca/dcae_uservice_tosca.yaml new file mode 100644 index 0000000..2c5c028 --- /dev/null +++ b/javatoscachecker/checker/src/test/tosca/dcae_uservice_tosca.yaml @@ -0,0 +1,653 @@ +# First attempt at microservice definitions in tosca-yaml. +# Ted Johnson, Dec. 2015 +## Ralph Knag, config additions , Feb. 2016 + +tosca_definitions_version: tosca_simple_yaml_1_0_0 + +metadata: + template_version: 1.0.2 + + +data_types: +######################################################## +### data types related to schemas + + baseFieldDefinition: + description: base class for field definitions + properties: + name: + required: true + type: string + type: + required: true + type: string + constraints: + - valid_values: [ string, int, float, ipv4, ipv6, date, date_time, list, map, other] + format: + required: false + type: string + default_value: + required: false + type: string + comment: + required: false + type: string + constraints: + description: Properties that the field must satisfy + required: false + type: list + entry_schema: + type: string + constraints: + list_delimiter: + description: delimiter when list data packed into a string type. + required: false + type: string +# subtype can be used for policy override allowed? + subType: + required: false + type : string + constraints: + - valid_values: [ policyOveride, noPolicyOverride ] + + positionalFieldDefinition: + derived_from: baseFieldDefinition + description: fields with a fixed-position schema + properties: + position: + required: true + type: integer + constraints: + - greater_or_equal: 0 + + pathFieldDefinition: + derived_from: baseFieldDefinition + description: fields accessed via navigation + properties: + path: + required: true + type: string + + fieldDefinition: + derived_from: baseFieldDefinition + description: positional or path field + properties: + path: + required: false + type: string + position: + required: false + type: integer + constraints: + - greater_or_equal: 0 + comment: + required: false + type: string + length: + required: false + type: integer + constraints: + - greater_than: 0 + + fieldList: + description: fields in a schema + properties: + fieldList: + required: true + type: list + entry_schema: + type: fieldDefinition + + + +######################################################## +### data types related to data properties + + sortedBy: + description: sorting properties of a data set + properties: + fields: + required: true + type: list + entry_schema: + type: fieldDefinition + sorting: + required: true + type: string + default: fullySorted + constraints: + - valid_values: [ fullySorted, partiallySorted ] + lag: + description: maximum disorder in a partially sorted + required: false + type: integer + constraints: + - greater_or_equal: 0 + + keyFields: + description: key fields of a data set + properties: + fields: + required: true + type: list + entry_schema: + type: fieldDefinition + timestamp: + required: false + type: integer + +############################################################### +############################################################### + +node_types: + + dcaeCatalogNodes: + derived_from: tosca.nodes.Root + properties: + UUID: + required: true + type: string + name: + required: true + type: string + version: + required: true + type: string + constraints: + - pattern: \d+[.]\d+[.]\d+ + schemaVersion: + required: false + type: integer + default: 1 + + +######################################################## +### node types related to schemas + + + baseDataFormat: + description: base data format + derived_from: dcaeCatalogNodes + properties: + fieldList: + required: true + type: list + entry_schema: + type: fieldDefinition + formatType: + type: string + required: true + constraints: + - valid_values: [ fixed_format, variable_format, json ] + formatSubType: + required: true + type: string + fullList: + type: string + required: true + constraints: + - valid_values: [ yes, no ] + default: yes + capabilities: + dataProperties: + type: dcaeCatalog.capabilities.dataFormat + + baseVariableDataFormat: + derived_from: baseDataFormat + description: base class for fixed-position data formats + properties: + formatType: + type: string + required: true + constraints: + - equal: variable_format + + +# probably more needed here - not sure baseDataFormat is sufficient...rhk + jsonDataFormat: + derived_from: baseVariableDataFormat + description: JSON format + properties: + formatSubType: + required: true + type: string + default: json + constraints: + - equal: json + endOfRecord: + required: false + type: string + numFields: + required: false + type: integer + + baseFixedDataFormat: + derived_from: baseDataFormat + description: base class for fixed-position data formats + properties: + formatType: + type: string + required: true + constraints: + - equal: fixed_format + + delimitedAsciiDataFormat: + derived_from: baseFixedDataFormat + description: delimited ascii format + properties: + formatSubType: + required: true + type: string + default: delimitedAscii + constraints: + - equal: delimitedAscii + delimiter: + required: true + type: string + default: | + endOfRecord: + required: false + type: string + numFields: + required: false + type: integer + + fixedWidthAsciiDataFormat: + derived_from: baseFixedDataFormat + description: delimited ascii format + properties: + formatSubType: + required: true + type: string + default: fixedWidthAscii + constraints: + - equal: fixedWidthAscii + endOfRecord: + required: false + type: string + numFields: + required: false + type: integer + + fixedBinaryDataFormat: + derived_from: baseFixedDataFormat + description: binary data, e.g. thrift messages, protocol buffers + properties: + formatSubType: + required: true + type: string + default: fixedBinaryData + constraints: + - equal: fixedBinaryData + binaryFormat: + required: true + type: string + + +############################################### +### Node types related to data properties + + dataProperties: + description: Essential non-schema information about a data set + derived_from: dcaeCatalogNodes + properties: + sort: + required: false + type: sortedBy + keys: + required: false + type: keyFields + timestamp: + description: the field indicating the time when corresponding event occurred + required: false + type: string + duration: + description: the field indicating the length of the described measurement + required: false + type: string + period: + description: how often the data is generated. 0 means continuously. + required: true + type: integer + default: 0 + constraints: + - greater_or_equal: 0 + capabilities: + dataProperties: + type: dcaeCatalog.capabilities.dataProperties + + + keyedDataProperties: + derived_from: dataProperties + description: Data sets that are required to hav a key + properties: + keys: + required: true + type: keyFields + + referenceDataProperties: + derived_from: dataProperties + description: data set from external source that is joined against streaming data + properties: + updateType: + description: how the reference data is refreshed - snapshots, incremental, or both + required: true + type: string + + keyedReferenceDataProperties: + derived_from: referenceDataProperties + description: reference data that maps a key to a value, generally with a valid time interval + properties: + keys: + required: true + type: keyFields + startTimeField: + description: the time when the key --> value mapping became valid + required: false + type: string + endTimeField: + description: time when the key --> value mapping ceased to be valid + required: false + type: string + + +####################################################################### +#### Things which describe how a data source can be accessed + + + + dataDelivery: + description: the means of connecting to a data source. very incomplete. + derived_from: dcaeCatalogNodes + properties: + deliveryMechanism: + description: the general method by which data is delivered from a source. + required: true + type: string + constraints: + - valid_values: [stream, file, database, table ] + polling: + description: push vs. pull + required: true + type: string + constraints: + - valid_values: [ push, pull] + capabilities: + dataDelivery: + type: dcaeCatalog.capabilities.dataDelivery + + streamDataDelivery: + description: a data source that is a streaming source. + derived_from: dataDelivery + properties: + deliveryMechanism: + description: the general method by which data is delivered from a source. + required: true + type: string + constraints: + - equal: stream + polling: + description: push vs. pull + required: true + type: string + constraints: + - equal: push + + + genericCDAPDelivery: + description: a streaming data source delivered via the CDAP generic + derived_from: streamDataDelivery + + + +# A UEB stream is kafka plus security TBD + dmaapMessageDelivery: + description: a streaming data source delivered via a kafka queue + derived_from: streamDataDelivery + properties: + servers: + description: the servers to contact to access the kafka queue. + required: true + type: list + entry_schema: + type: string + constraints: + topic: + description: the stream identifier (topic in kafka terminology) + required: true + type: string + numPartitions: + description: the number of partitions for the kafka topic + required: false + default: 1 + type: integer + PartitioningMethod: + description: the mechanism that assigns records to partitions + required: false + type: string + partitionSubscriptions: + description: if specified, the set of partitions that contain a particular substream + required: false + type: list + entry_schema: + type: integer + + + dmaapDataRouterDelivery: + description: a data source that is delivered via files. + derived_from: dataDelivery + properties: + deliveryMechanism: + description: the general method by which data is delivered from a source. + required: true + type: string + constraints: + - valid_values: [file] + fileName: + description: a name (or naming scheme) of the file + required: true + type: string + + fileDataDelivery: + description: a data source that is delivered via files. + derived_from: dataDelivery + properties: + deliveryMechanism: + description: the general method by which data is delivered from a source. + required: true + type: string + constraints: + - valid_values: [file] + fileName: + description: a name (or naming scheme) of the file + required: true + type: string + + pulledFileDelivery: + description: a data source that is delivered via files pulled from an external source + derived_from: fileDataDelivery + properties: + uri: + description: the thing to access to get a new file + required: true + type: string + trigger: + description: a description of the thing that triggers pulling a new file. + required: true + type: string + + + +#################################### +### Description of a data source (data output) + + dataSource: + description: a generic data source description, link to schema, properties, delivery + derived_from: dcaeCatalogNodes +# properties: + requirements: + - dataFormat: + capability: dcaeCatalog.capabilities.dataFormat + - dataDelivery: + capability: dcaeCatalog.capabilities.dataDelivery + - dataProperties: + capability: dcaeCatalog.capabilities.dataProperties + capabilities: + dataSource: + type: dcaeCatalog.capabilities.dataSource + occurrences: [0, UNBOUNDED] + +########################## +### Description of a data requirement (data input) + dataRequirement: + description: a generic data source description, link to schema, properties, delivery + derived_from: dcaeCatalogNodes +# properties: + requirements: + - dataFormat: + capability: dcaeCatalog.capabilities.dataFormat + occurrences: [1, UNBOUNDED] + - dataProperties: + capability: dcaeCatalog.capabilities.dataProperties + - dataDelivery: + capability: dcaeCatalog.capabilities.dataDelivery + capabilities: + dataRequirement: + type: dcaeCatalog.capabilities.dataRequirement + occurrences: [0, UNBOUNDED] + + + + + +#################################### +### Description of a processingModuleParameters (module parameters excluding input/output descriptions +### allows any baseDataFormat derived input + processingModuleParameters: + description: + derived_from: baseDataFormat + properties: + dataType: + required: true + type: string + capabilities: + moduleParameters: + type: dcaeCatalog.capabilities.processingModuleParameters + + +################################ +### Module Dependencies + + instantiationDependency: + description: code dependencies (possible transitive) + derived_from: dcaeCatalogNodes + properties: + dependencyType: + required: false + type: string + constraints: + - valid_values: [R, Python, CDAP] + dependencyValue: + required: true + type: string + capabilities: + dataProperties: + type: dcaeCatalog.capabilities.instantiationDependency + occurrences: [0, UNBOUNDED] + requirements: + - dependencies: + capability: dcaeCatalog.capabilities.instantiationDependency + occurrences: [0, UNBOUNDED] + +#################################### +### Description of a processingModuleDeployment - deployment attributes + + processingModuleDeployment: + description: deployment attributes + derived_from: dcaeCatalogNodes + properties: + language: + required: true + type: string + version: + type: string + required: true + deploymentType: + required: true + type: string + capabilities: + moduleDeployment: + type: dcaeCatalog.capabilities.processingModuleDeployment + occurrences: [0, UNBOUNDED] + requirements: + - dependencies: + capability: dcaeCatalog.capabilities.instantiationDependency + occurrences: [0, UNBOUNDED] + +#################################### +### Description of a processingModuleMetaData - search tags + + processingModuleMetadata: + description: metadata tags + derived_from: dcaeCatalogNodes + properties: + metaDataList: + required: true + type: list + entry_schema: + type: string + constraints: + capabilities: + metadata: + type: dcaeCatalog.capabilities.processingModuleMetadata + occurrences: [0, UNBOUNDED] + + +#################################### +### Description of a processingModule + + processingModule: + description: full processing module description + derived_from: dcaeCatalogNodes + properties: + moduleDescription: + required: true + type: string + requirements: + - processingModuleparameters: + capability: dcaeCatalog.capabilities.processingModuleParameters + occurrences: [0, UNBOUNDED] + - processingModuleDeployment: + capability: dcaeCatalog.capabilities.processingModuleDeployment + occurrences: [1, UNBOUNDED] + - processingModuleMetadata: + capability: dcaeCatalog.capabilities.processingModuleMetadata + occurrences: [1, UNBOUNDED] + - dataRequirementsList: + capability: dcaeCatalog.capabilities.dataRequirement + occurrences: [1, UNBOUNDED] + - dataSourcesList: + capability: dcaeCatalog.capabilities.dataSource + occurrences: [1, UNBOUNDED] + +capability_types: + dcaeCatalog.capabilities.dataFormat: + derived_from: tosca.capabilities.Root + dcaeCatalog.capabilities.dataProperties: + derived_from: tosca.capabilities.Root + dcaeCatalog.capabilities.dataDelivery: + derived_from: tosca.capabilities.Root + dcaeCatalog.capabilities.instantiationDependency: + derived_from: tosca.capabilities.Root + dcaeCatalog.capabilities.processingModuleMetadata: + derived_from: tosca.capabilities.Root + dcaeCatalog.capabilities.processingModuleParameters: + derived_from: tosca.capabilities.Root + dcaeCatalog.capabilities.processingModuleDeployment: + derived_from: tosca.capabilities.Root + dcaeCatalog.capabilities.dataRequirement: + derived_from: tosca.capabilities.Root + dcaeCatalog.capabilities.dataSource: + derived_from: tosca.capabilities.Root + + |