vFW and vDNS support added to azure-plugin
[multicloud/azure.git] / azure / aria / aria-extension-cloudify / src / aria / examples / tosca-simple-1.0 / use-cases / webserver-dbms-1 / webserver-dbms-1.yaml
diff --git a/azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/webserver-dbms-1/webserver-dbms-1.yaml b/azure/aria/aria-extension-cloudify/src/aria/examples/tosca-simple-1.0/use-cases/webserver-dbms-1/webserver-dbms-1.yaml
new file mode 100644 (file)
index 0000000..daa24df
--- /dev/null
@@ -0,0 +1,122 @@
+tosca_definitions_version: tosca_simple_yaml_1_0
+
+description: >-
+  TOSCA simple profile with WordPress, a web server, a MySQL DBMS hosting the application's database
+  content on the same server. Does not have input defaults or constraints.
+
+metadata:
+  template_name: webserver-dbms-1
+  template_author: TOSCA Simple Profile in YAML
+  template_version: '1.0'
+
+imports:
+  - ../non-normative-types.yaml
+
+topology_template:
+
+  inputs:
+    cpus:
+      type: integer
+      description: Number of CPUs for the server.
+    db_name:
+      type: string
+      description: The name of the database.
+    db_user:
+      type: string
+      description: The username 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
+    # ARIA NOTE: missing in spec
+    context_root:
+      type: string
+      description: Context root for WordPress.
+
+  node_templates:
+
+    wordpress:
+      type: tosca.nodes.WebApplication.WordPress
+      properties:
+        context_root: { get_input: context_root }
+      requirements:
+        - host: webserver
+        - database_endpoint: mysql_database
+      interfaces:
+        Standard:
+          create: wordpress_install.sh
+          configure:
+            implementation: 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 ] }
+              # In my own template, find requirement/capability, find port property
+              wp_db_port: { get_property: [ SELF, database_endpoint, port ] }
+
+    mysql_database:
+      type: Database
+      properties:
+        name: { get_input: db_name }
+        user: { get_input: db_user }
+        password: { get_input: db_pwd }
+        port: { get_input: db_port }
+      capabilities:
+        database_endpoint:
+          properties:
+            port: { get_input: db_port }
+      requirements:
+        - host: mysql_dbms
+      interfaces:
+        Standard:
+          configure: mysql_database_configure.sh
+
+    mysql_dbms:
+      type: DBMS
+      properties:
+        root_password: { get_input: db_root_pwd }
+        port: { get_input: db_port }
+      requirements:
+        - host: server
+      interfaces:
+        Standard:
+          # ARIA NOTE: not declared in spec
+          #inputs:
+          #  db_root_password: { get_property: [ mysql_dbms, root_password ] }
+          create: mysql_dbms_install.sh
+          start: mysql_dbms_start.sh
+          configure: mysql_dbms_configure.sh
+
+    webserver:
+      type: WebServer
+      requirements:
+        - host: server
+      interfaces:
+        Standard:
+          create: webserver_install.sh
+          start: webserver_start.sh
+
+    server:
+      type: 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: 17.0
+
+  outputs:
+    website_url:
+      description: URL for Wordpress wiki.
+      value: { get_attribute: [ server, public_address ] }