| 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 ] } |