
The TOSCA spec versioning has been changed to 1_0 from 1_0_0. Change-Id: Id556911d52ae5407c26fbf4fca0d4252cb432ce1
86 lines
2.2 KiB
YAML
86 lines
2.2 KiB
YAML
tosca_definitions_version: tosca_simple_yaml_1_0
|
|
|
|
description: >
|
|
Service template with topology_template, act as a nested system inside another system.
|
|
|
|
imports:
|
|
- definitions.yaml
|
|
|
|
topology_template:
|
|
description: Template of a database including its hosting stack.
|
|
|
|
inputs:
|
|
mq_server_ip:
|
|
type: string
|
|
description: IP address of the message queuing server to receive messages from.
|
|
receiver_port:
|
|
type: string
|
|
description: Port to be used for receiving messages.
|
|
my_cpus:
|
|
type: integer
|
|
description: Number of CPUs for the server.
|
|
constraints:
|
|
- valid_values: [ 1, 2, 4, 8 ]
|
|
|
|
substitution_mappings:
|
|
node_type: example.TransactionSubsystem
|
|
capabilities:
|
|
message_receiver: [ app, message_receiver ]
|
|
requirements:
|
|
database_endpoint: [ app, database ]
|
|
|
|
node_templates:
|
|
app:
|
|
type: example.SomeApp
|
|
properties:
|
|
admin_user: foo
|
|
pool_size: 10
|
|
capabilities:
|
|
message_receiver:
|
|
properties:
|
|
server_ip: { get_input: mq_server_ip }
|
|
requirements:
|
|
- host:
|
|
node: websrv
|
|
|
|
websrv:
|
|
type: tosca.nodes.WebServer
|
|
capabilities:
|
|
data_endpoint:
|
|
properties:
|
|
port_name: { get_input: receiver_port }
|
|
requirements:
|
|
- host:
|
|
node: server
|
|
|
|
server:
|
|
type: tosca.nodes.Compute
|
|
capabilities:
|
|
host:
|
|
properties:
|
|
disk_size: 10 GB
|
|
num_cpus: { get_input: my_cpus }
|
|
mem_size: 4096 MB
|
|
os:
|
|
properties:
|
|
architecture: x86_64
|
|
type: Linux
|
|
distribution: Ubuntu
|
|
version: 14.04
|
|
|
|
outputs:
|
|
receiver_ip:
|
|
description: private IP address of the message receiver application
|
|
value: { get_attribute: [ server, private_address ] }
|
|
# It seems current _process_intrisic_function can not handle more than 2 arguments, save it for later
|
|
# receiver_port:
|
|
# description: Port of the message receiver endpoint
|
|
# value: { get_attribute: [ app, data_endpoint, port_name ] }
|
|
|
|
groups:
|
|
webserver_group:
|
|
members: [ websrv, server ]
|
|
policies:
|
|
- policy_name: none
|
|
|