tosca_definitions_version: tosca_simple_yaml_1 description: > TOSCA simple profile with wordpress, web server and mysql on the same server. imports: - custom_types/not_there.yaml topology_template: inputs: cpus: type: integer description: Number of CPUs for the server. constraints: - valid_values: [ 1, 2, 4, 8 ] default: 1 db_name: type: string description: The name of the database. default: wordpress db_user: type: string description: The user name of the DB user. default: wp_user db_pwd: type: string description: The WordPress database admin account password. default: wp_pass db_root_pwd: type: string description: Root password for MySQL. db_port: type: PortDef description: Port for the MySQL database. default: 3306 node_templates: xyz: type: tosca.nodes.XYZ wordpress: type: tosca.nodes.WebApplication.WordPress requirement: - host: webserver - database_endpoint: mysql_database interfaces: Standard: create: wordpress/wordpress_install.sh configure: implementation: wordpress/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 } capabilities: database_endpoint: properties: port: { get_input: db_port } requirements: - host: mysql_dbms interfaces: Standard: configure: implementation: mysql/mysql_database_configure.sh inputs: db_name: { get_property: [ SELF, name ] } db_user: { get_property: [ SELF, user ] } db_password: { get_property: [ SELF, passwords ] } db_root_password: { get_property: [ mysql_dbms, root_password ] } mysql_dbms: type1: tosca.nodes.DBMS properties: root_password: { get_input: db_root_pwd } port: { get_input: db_port } requirements: - host: server interfaces: Standard: create: implementation: mysql/mysql_dbms_install.sh inputs: db_root_password: { get_property: [ mysql_dbms, root_password ] } start: mysql/mysql_dbms_start.sh configure: implementation: mysql/mysql_dbms_configure.sh inputs: db_port: { get_property: [ mysql_dbms, port ] } webserver: type: tosca.nodes.WebServer requirements: - host: server1 - database_endpoint: node: webserver relationship: type1: tosca.relationships.ConnectsTo interfaces: Standard: create: webserver/webserver_install.sh start: webserver/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: Ubuntu version: 14.04 outputs: website_url: description: URL for Wordpress wiki. value: { get_attribute: [server, private_address] }