0

I need to add database,root or user,password in the following:

- name: deployed-database-instance
  type: sqladmin.v1beta4.instance
  properties:
    backendType: SECOND_GEN
    databaseVersion: MYSQL_5_7
    settings:
      tier: db-f1-micro
A.JRJ
  • 331
  • 1
  • 5
  • 16

2 Answers2

2

I believe this example from this github repo, would be a good place to start testing. From my test I was able to create a instance, database and a user. See my modified version below, of the example I provided, I have mainly just removed the failover replica and modified the delete user block to insert instead of delete:

{% set deployment_name = env['deployment']  %}
{% set instance_name = deployment_name + '-instance'  %}
{% set database_name = deployment_name + '-db'  %}

resources:
- name: {{ instance_name }}
  type: gcp-types/sqladmin-v1beta4:instances
  properties:
    region: {{ properties['region'] }}  
    settings:
      tier: {{ properties['tier'] }}
      backupConfiguration:
        binaryLogEnabled: true
        enabled: true

- name: {{ database_name }}
  type: gcp-types/sqladmin-v1beta4:databases
  properties:
    name: {{ database_name }}
    instance: $(ref.{{ instance_name }}.name)
    charset: utf8

- name: insert-user-root
  action: gcp-types/sqladmin-v1beta4:sql.users.insert
  metadata:
    runtimePolicy:
    - CREATE
    dependsOn:
    - {{ database_name }}
  properties:
    project: {{ env['project'] }}
    instance: $(ref.{{ env['deployment'] }}-instance.name)
    name: testuser
    host: "%"
    password: testpass    

So what I did was:

1) Clone the repo;

2) Went to directory .\examples\v2\sqladmin\jinja;

3) Modified the sqladmin.jinja file as above;

4) Opened gcloud command prompt and went to said directory in #2;

5) Deployed using 'gcloud deployment-manager deployments create my-database --config sqladmin.yaml'

All you would need to do is play with the name of resources.

Alex
  • 76
  • 4
0

I generated this from Python, but I think in jinja it would be:

properties:
    region: {{ properties['region'] }}  
    rootPassword: '12345'
    settings:
      tier: {{ properties['tier'] }}
      backupConfiguration:
        binaryLogEnabled: true
        enabled: true

I just found this out today, sorry for the late reply.

Mirko
  • 21
  • 3