summaryrefslogtreecommitdiffstats
path: root/tosca2heat/tosca-parser-0.3.0/toscaparser/tests/data/CSAR/tosca_single_instance_wordpress/Definitions/tosca_single_instance_wordpress.yaml
blob: 1dd195adc268c63718b3b3d04c26f0cfb2e994e8 (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
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
tosca_definitions_version: tosca_simple_yaml_1_0

description: >
  TOSCA simple profile with wordpress, web server and mysql on the same server.

imports:
  - wordpress.yaml

topology_template:
  inputs:
    cpus:
      type: integer
      description: Number of CPUs for the server.
      constraints:
        - valid_values: [ 1, 2, 4, 8 ]
    db_name:
      type: string
      description: The name of the database.
    db_user:
      type: string
      description: The user name of the DB user.
    db_pwd:
      type: string
      description: The WordPress database admin account password.
    db_root_pwd:
      type: string
      description: Root password for MySQL.
    db_port:
      type: PortDef
      description: Port for the MySQL database.

  node_templates:
    wordpress:
      type: tosca.nodes.WebApplication.WordPress
      requirements:
        - host: webserver
        - database_endpoint: mysql_database
      interfaces:
        Standard:
           create: ../Scripts/WordPress/install.sh
           configure:
             implementation: ../Scripts/WordPress/configure.sh
             inputs:
               wp_db_name: { get_property: [ mysql_database, name ] }
               wp_db_user: { get_property: [ mysql_database, user ] }
               wp_db_password: { get_property: [ mysql_database, password ] }

    mysql_database:
      type: tosca.nodes.Database
      properties:
        name: { get_input: db_name }
        user: { get_input: db_user }
        password: { get_input: db_pwd }
      requirements:
        - host: mysql_dbms
      interfaces:
        Standard:
           configure:
              implementation: ../Scripts/MYSQLDatabase/configure.sh
              inputs:
                db_name: { get_property: [ SELF, name ] }
                db_user: { get_property: [ SELF, user ] }
                db_password: { get_property: [ SELF, password ] }
                db_root_password: { get_property: [ mysql_dbms, root_password ] }

    mysql_dbms:
      type: tosca.nodes.DBMS
      properties:
        root_password: { get_input: db_root_pwd }
        port: { get_input: db_port }
      requirements:
        - host: server
      interfaces:
        Standard:
          create: ../Scripts/MYSQLDBMS/install.sh
          start: ../Scripts/MYSQLDBMS/start.sh
          configure:
            implementation: ../Scripts/MYSQLDBMS/configure.sh
            inputs:
              root_password: { get_property: [ mysql_dbms, root_password ] }

    webserver:
      type: tosca.nodes.WebServer
      requirements:
        - host: server
      interfaces:
        Standard:
          create: ../Scripts/WebServer/install.sh
          start: ../Scripts/WebServer/start.sh

    server:
      type: tosca.nodes.Compute
      capabilities:
        host:
          properties:
            disk_size: 10 GB
            num_cpus: { get_input: cpus }
            mem_size: 4096 MB
        os:
          properties:
            architecture: x86_64
            type: Linux
            distribution: Fedora
            version: 18.0

  outputs:
    website_url:
      description: IP address for Wordpress wiki.
      value: { get_attribute: [server, private_address] }