mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-07-03 08:42:39 +00:00
Add support for Cloud SQL CA Cert (#635)
Expose the 'ServerCaCert' object from the Cloud SQL Instance[1] Related: #635 - Solves first point [1] https://cloud.google.com/sql/docs/mysql/admin-api/v1beta4/instances#resource
This commit is contained in:
parent
cc5f77e32e
commit
6e101dd3b7
|
@ -344,7 +344,36 @@ func resourceSqlDatabaseInstance() *schema.Resource {
|
|||
},
|
||||
},
|
||||
},
|
||||
|
||||
"server_ca_cert": &schema.Schema{
|
||||
Type: schema.TypeList,
|
||||
Computed: true,
|
||||
Optional: true,
|
||||
MaxItems: 1,
|
||||
Elem: &schema.Resource{
|
||||
Schema: map[string]*schema.Schema{
|
||||
"cert": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"common_name": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"create_time": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"expiration_time": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
"sha1_fingerprint": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
},
|
||||
},
|
||||
},
|
||||
},
|
||||
"self_link": &schema.Schema{
|
||||
Type: schema.TypeString,
|
||||
Computed: true,
|
||||
|
@ -708,6 +737,10 @@ func resourceSqlDatabaseInstanceRead(d *schema.ResourceData, meta interface{}) e
|
|||
log.Printf("[WARN] Failed to set SQL Database Instance IP Addresses")
|
||||
}
|
||||
|
||||
if err := d.Set("server_ca_cert", flattenServerCaCert(instance.ServerCaCert)); err != nil {
|
||||
log.Printf("[WARN] Failed to set SQL Database CA Certificate")
|
||||
}
|
||||
|
||||
d.Set("master_instance_name", strings.TrimPrefix(instance.MasterInstanceName, project+":"))
|
||||
d.Set("project", project)
|
||||
d.Set("self_link", instance.SelfLink)
|
||||
|
@ -1156,6 +1189,24 @@ func flattenIpAddresses(ipAddresses []*sqladmin.IpMapping) []map[string]interfac
|
|||
return ips
|
||||
}
|
||||
|
||||
func flattenServerCaCert(caCert *sqladmin.SslCert) []map[string]interface{} {
|
||||
var cert []map[string]interface{}
|
||||
|
||||
if caCert != nil {
|
||||
data := map[string]interface{}{
|
||||
"cert": caCert.Cert,
|
||||
"common_name": caCert.CommonName,
|
||||
"create_time": caCert.CreateTime,
|
||||
"expiration_time": caCert.ExpirationTime,
|
||||
"sha1_fingerprint": caCert.Sha1Fingerprint,
|
||||
}
|
||||
|
||||
cert = append(cert, data)
|
||||
}
|
||||
|
||||
return cert
|
||||
}
|
||||
|
||||
func instanceMutexKey(project, instance_name string) string {
|
||||
return fmt.Sprintf("google-sql-database-instance-%s-%s", project, instance_name)
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue
Block a user