blob: c54c12cb8d6a18e00b6b9727ce88a5a8484294dd (
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
|
tosca_definitions_version: tosca_simple_yaml_1_0
description: >
This template is a test template which contains invalid input needed for substitution mappings.
The required properties without default value in substituted node template which be mapped must be
as inputs of nested service template which defines substutition mappings, and the inputs of nested
service template which are not in the properties of the substituted node template must provide
default values.
This template provides an additional input of server_port1/my_cpus/my_input which are not defined
in example.QueuingSubsystem, and the default value are 8080/2/123, all of these are right. But the
required property of server_port defined in example.QueuingSubsystem is not appeared in inputs
definiton, so will raise excepton of "MissingRequiredInputError".
imports:
- ../definitions.yaml
topology_template:
description: Template of a database including its hosting stack.
inputs:
server_ip:
type: string
description: IP address of the message queuing server to receive messages from.
default: 127.0.0.1
server_port1:
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 ]
my_input:
type: integer
description: test for input validation.
default: 123
substitution_mappings:
node_type: example.QueuingSubsystem
requirements:
receiver1: [ tran_app, receiver1 ]
receiver2: [ tran_app, receiver2 ]
node_templates:
tran_app:
type: example.QueuingSubsystem
properties:
server_ip: { get_input: server_ip }
server_port: { get_input: server_port1 }
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 ] }
groups:
tran_server_group:
members: [ tran_app, server ]
type: tosca.groups.Root
|