Search code examples
google-cloud-platformgoogle-cloud-sqlgoogle-deployment-manager

Is it not possible to create a postgres cloudsql via deployment manager?


I've check in supported-gcp-types and supported-resource-types but I don't see any possibility at all


Solution

  • Deployment Manager supports PostgreSQL.

    You need to specify the backendType as SECOND_GEN, databaseVersion as POSTGRES_9_6 and tier as db-custom-1-3840.

    Documentation

    Example (create-postgresql-instance.jinja):

    {% set deployment_name = env['deployment']  %}
    {% set instance_name = deployment_name + '-instance'  %}
    {% set database_name = deployment_name + '-db'  %}
    {% set region = 'us-central1'  %}
    {% set tier = 'db-custom-1-3840'  %}
    
    resources:
    - name: {{ instance_name }}
      type: gcp-types/sqladmin-v1beta4:instances
      properties:
        region: {{ region }}
        backendType: SECOND_GEN
        databaseVersion: POSTGRES_9_6
        settings:
          tier: {{ tier }}
          backupConfiguration:
            enabled: true
    
    - name: {{ database_name }}
      type: gcp-types/sqladmin-v1beta4:databases
      properties:
        name: {{ database_name }}
        instance: $(ref.{{ instance_name }}.name)
        charset: utf8
    

    Deploy:

    gcloud deployment-manager deployments create mydb --template create-postgresql-instance.jinja