summaryrefslogtreecommitdiffstats
path: root/tosca2heat/tosca-parser/toscaparser/tests/data/topology_template/validate/transactionsubsystem_invalid_unknown_output.yaml
blob: ffca24b01e820d0149aff8f863396dcd0fdfdc3f (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
93
94
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 contains output of my_cpu_output 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 ] }

    receiver_port:
      description: receiver_port of the message receiver application
      value: { get_input: receiver_port }

    my_cpu_output:
      description: this output is only invalid for substitution mappings
      value: { get_input: my_cpus }