1 tosca_definitions_version: tosca_simple_yaml_1_0
4 TOSCA simple profile with a nodejs web server hosting a PayPal sample application which connects
8 template_name: webserver-dbms-2
9 template_author: TOSCA Simple Profile in YAML
10 template_version: '1.0'
13 - custom_types/paypalpizzastore_nodejs_app.yaml
17 ubuntu_node: &ubuntu_node
19 num_cpus: { get_input: my_cpus }
21 os_capabilities: &os_capabilities
32 description: Number of CPUs for the server.
34 - valid_values: [ 1, 2, 4, 8 ]
38 description: The URL to download nodejs.
39 default: https://github.com/sample.git
44 type: tosca.nodes.WebApplication.PayPalPizzaStore
46 github_url: { get_input: github_url }
49 - database_connection: mongo_db
53 implementation: scripts/nodejs/configure.sh
55 github_url: { get_property: [ SELF, github_url ] }
56 mongodb_ip: { get_attribute: [ mongo_server, private_address ] }
57 start: scripts/nodejs/start.sh
60 type: tosca.nodes.WebServer.Nodejs
65 create: scripts/nodejs/create.sh
68 type: tosca.nodes.Database
70 name: 'pizzastore' # ARIA NOTE: missing in spec
75 create: create_database.sh
78 type: tosca.nodes.DBMS
84 Standard: # ARIA NOTE: mistaken in spec
85 create: mongodb/create.sh
87 implementation: mongodb/config.sh
89 mongodb_ip: { get_attribute: [ mongo_server, private_address ] }
90 start: mongodb/start.sh
93 type: tosca.nodes.Compute
96 properties: *os_capabilities
98 properties: *ubuntu_node
101 type: tosca.nodes.Compute
104 properties: *os_capabilities
106 properties: *ubuntu_node
111 description: URL for the nodejs server, http://<IP>:3000
112 value: { get_attribute: [ app_server, private_address ] }
114 description: URL for the mongodb server.
115 value: { get_attribute: [ mongo_server, private_address ] }