diff options
Diffstat (limited to 'azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml')
-rw-r--r-- | azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml | 115 |
1 files changed, 115 insertions, 0 deletions
diff --git a/azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml b/azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml new file mode 100644 index 0000000..91f0b35 --- /dev/null +++ b/azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/webserver-dbms-2/webserver-dbms-2.yaml @@ -0,0 +1,115 @@ +tosca_definitions_version: tosca_simple_yaml_1_0 + +description: >- + TOSCA simple profile with a nodejs web server hosting a PayPal sample application which connects + to a mongodb database. + +metadata: + template_name: webserver-dbms-2 + template_author: TOSCA Simple Profile in YAML + template_version: '1.0' + +imports: + - custom_types/paypalpizzastore_nodejs_app.yaml + +dsl_definitions: + + ubuntu_node: &ubuntu_node + disk_size: 10 GB + num_cpus: { get_input: my_cpus } + mem_size: 4096 MB + os_capabilities: &os_capabilities + architecture: x86_64 + type: Linux + distribution: Ubuntu + version: 14.04 + +topology_template: + + inputs: + my_cpus: + type: integer + description: Number of CPUs for the server. + constraints: + - valid_values: [ 1, 2, 4, 8 ] + default: 1 + github_url: + type: string + description: The URL to download nodejs. + default: https://github.com/sample.git + + node_templates: + + paypal_pizzastore: + type: tosca.nodes.WebApplication.PayPalPizzaStore + properties: + github_url: { get_input: github_url } + requirements: + - host: nodejs + - database_connection: mongo_db + interfaces: + Standard: + configure: + implementation: scripts/nodejs/configure.sh + inputs: + github_url: { get_property: [ SELF, github_url ] } + mongodb_ip: { get_attribute: [ mongo_server, private_address ] } + start: scripts/nodejs/start.sh + + nodejs: + type: tosca.nodes.WebServer.Nodejs + requirements: + - host: app_server + interfaces: + Standard: + create: scripts/nodejs/create.sh + + mongo_db: + type: tosca.nodes.Database + properties: + name: 'pizzastore' # ARIA NOTE: missing in spec + requirements: + - host: mongo_dbms + interfaces: + Standard: + create: create_database.sh + + mongo_dbms: + type: tosca.nodes.DBMS + requirements: + - host: mongo_server + properties: + port: 27017 + interfaces: + Standard: # ARIA NOTE: mistaken in spec + create: mongodb/create.sh + configure: + implementation: mongodb/config.sh + inputs: + mongodb_ip: { get_attribute: [ mongo_server, private_address ] } + start: mongodb/start.sh + + mongo_server: + type: tosca.nodes.Compute + capabilities: + os: + properties: *os_capabilities + host: + properties: *ubuntu_node + + app_server: + type: tosca.nodes.Compute + capabilities: + os: + properties: *os_capabilities + host: + properties: *ubuntu_node + + outputs: + + nodejs_url: + description: URL for the nodejs server, http://<IP>:3000 + value: { get_attribute: [ app_server, private_address ] } + mongodb_url: + description: URL for the mongodb server. + value: { get_attribute: [ mongo_server, private_address ] } |