aboutsummaryrefslogtreecommitdiffstats
path: root/test-apis-ci/src/test/resources/CI/tests/uploadComponent/mysql.yml
blob: a2eb4d423ad2b780591be33a8217a91545843a3d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
tosca_definitions_version: tosca_simple_yaml_1_0_0_wd03
description: MySQL RDBMS installation on a specific mounted volume path.
template_name: mysql-uploadComponent
template_version: 1.1.1-SNAPSHOT
template_author: FastConnect

imports:
  - "tosca-normative-types-root:1.0.0.wd03-SNAPSHOT"
  - "tosca-normative-types-compute:1.0.0.wd03-SNAPSHOT"
  - "tosca-normative-types-database:1.0.0.wd03-SNAPSHOT"
  - "tosca-normative-types-DBMS:1.0.0.wd03-SNAPSHOT"

node_types:
  alien.nodes.Mysql-uploadComponent:
    derived_from: tosca.nodes.Database
    description: >
      A node to install MySQL v5.5 database with data
      on a specific attached volume.
    capabilities:
      host:
        type: alien.capabilities.MysqlDatabase
        properties:
          valid_node_types: [ tosca.nodes.WebApplication ]
    requirements:
      - host: tosca.nodes.Compute
        type: tosca.relationships.HostedOn
    tags:
      icon: /images/mysql.png
    properties:
      db_port:
        type: integer
        default: 3306
        description: The port on which the underlying database service will listen to data.
      db_name:
        type: string
        required: true
        default: wordpress
        description: The logical name of the database.
      db_user:
        type: string
        default: pass
        description: The special user account used for database administration.
      db_password:
        type: string
        default: pass
        description: The password associated with the user account provided in the ‘db_user’ property.
      bind_address:
        type: boolean
        default: true
        required: false
        description: If true,the server accepts TCP/IP connections on all server host IPv4 interfaces.
      storage_path:
        type: string
        default: /mountedStorage
        constraints:
          - valid_values: [ "/mountedStorage", "/var/mysql" ]
    interfaces:
      Standard:
        create: scripts/install_mysql.sh
        start:
          inputs:
            VOLUME_HOME: { get_property: [SELF, storage_path] }
            PORT: { get_property: [SELF, db_port] }
            DB_NAME: { get_property: [SELF, db_name] }
            DB_USER: { get_property: [SELF, db_user] }
            DB_PASSWORD: { get_property: [SELF, db_password] }
            BIND_ADRESS: { get_property: [SELF, bind_address] }
          implementation: scripts/start_mysql.sh
      fastconnect.cloudify.extensions:
         start_detection:
          inputs:
            PORT: { get_property: [SELF, db_port] }
          implementation: scripts/mysql_start_detection.groovy
    artifacts:
      - scripts: scripts
        type: tosca.artifacts.File

capability_types:
  alien.capabilities.MysqlDatabase:
      derived_from: tosca.capabilities.Container

artifact_types:
  tosca.artifacts.GroovyScript:
    description: A groovy script (.groovy file)
    file_ext: [groovy]