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