blob: c92e5f845761dd4fe66e8a6e43d152f75f5d896c (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
|
tosca_definitions_version: tosca_simple_yaml_1_0
description: >
This template is a test template which contains invalid output
needed for substitution mappings.
The outputs defined by the topology template have to match the
attributes of the node type or the substituted node template,
and the observable attributes of the substituted node template
have to be defined as attributes of the node type or outputs in
the topology template.
But this template misses output of receiver_port which is not
defined in node type of example.TransactionSubsystem, so it will
be validated error for substitution mappings.
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.
default: 127.0.0.1
receiver_port:
type: integer
description: Port to be used for receiving messages.
default: 8080
my_cpus:
type: integer
description: Number of CPUs for the server.
default: 2
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 ] }
# This output is invalid if comment receiver_out out only for
# substituion mappings
# receiver_port:
# description: receiver_port of the message receiver application
# value: { get_input: receiver_port }
|