mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-07-09 11:38:29 +00:00
provider/google: add failover parameter to sql database instance (#14336)
* provider/google: add failover parameter to sql database instance * provider/google: update sql database instance docs
This commit is contained in:
parent
c1ddeac868
commit
0a0d8eb076
|
@ -270,6 +270,11 @@ func resourceSqlDatabaseInstance() *schema.Resource {
|
||||||
Optional: true,
|
Optional: true,
|
||||||
ForceNew: true,
|
ForceNew: true,
|
||||||
},
|
},
|
||||||
|
"failover_target": &schema.Schema{
|
||||||
|
Type: schema.TypeBool,
|
||||||
|
Optional: true,
|
||||||
|
ForceNew: true,
|
||||||
|
},
|
||||||
"master_heartbeat_period": &schema.Schema{
|
"master_heartbeat_period": &schema.Schema{
|
||||||
Type: schema.TypeInt,
|
Type: schema.TypeInt,
|
||||||
Optional: true,
|
Optional: true,
|
||||||
|
@ -526,6 +531,10 @@ func resourceSqlDatabaseInstanceCreate(d *schema.ResourceData, meta interface{})
|
||||||
mySqlReplicaConfiguration := &sqladmin.MySqlReplicaConfiguration{}
|
mySqlReplicaConfiguration := &sqladmin.MySqlReplicaConfiguration{}
|
||||||
_replicaConfiguration := _replicaConfigurationList[0].(map[string]interface{})
|
_replicaConfiguration := _replicaConfigurationList[0].(map[string]interface{})
|
||||||
|
|
||||||
|
if vp, okp := _replicaConfiguration["failover_target"]; okp {
|
||||||
|
replicaConfiguration.FailoverTarget = vp.(bool)
|
||||||
|
}
|
||||||
|
|
||||||
if vp, okp := _replicaConfiguration["ca_certificate"]; okp {
|
if vp, okp := _replicaConfiguration["ca_certificate"]; okp {
|
||||||
mySqlReplicaConfiguration.CaCertificate = vp.(string)
|
mySqlReplicaConfiguration.CaCertificate = vp.(string)
|
||||||
}
|
}
|
||||||
|
@ -835,6 +844,10 @@ func resourceSqlDatabaseInstanceRead(d *schema.ResourceData, meta interface{}) e
|
||||||
mySqlReplicaConfiguration := instance.ReplicaConfiguration.MysqlReplicaConfiguration
|
mySqlReplicaConfiguration := instance.ReplicaConfiguration.MysqlReplicaConfiguration
|
||||||
_replicaConfiguration := _replicaConfigurationList[0].(map[string]interface{})
|
_replicaConfiguration := _replicaConfigurationList[0].(map[string]interface{})
|
||||||
|
|
||||||
|
if vp, okp := _replicaConfiguration["failover_target"]; okp && vp != nil {
|
||||||
|
_replicaConfiguration["failover_target"] = instance.ReplicaConfiguration.FailoverTarget
|
||||||
|
}
|
||||||
|
|
||||||
if vp, okp := _replicaConfiguration["ca_certificate"]; okp && vp != nil {
|
if vp, okp := _replicaConfiguration["ca_certificate"]; okp && vp != nil {
|
||||||
_replicaConfiguration["ca_certificate"] = mySqlReplicaConfiguration.CaCertificate
|
_replicaConfiguration["ca_certificate"] = mySqlReplicaConfiguration.CaCertificate
|
||||||
}
|
}
|
||||||
|
|
|
@ -408,66 +408,73 @@ func testAccCheckGoogleSqlDatabaseInstanceEquals(n string,
|
||||||
return fmt.Errorf("Error settings.pricing_plan mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error settings.pricing_plan mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
if instance.ReplicaConfiguration != nil &&
|
if instance.ReplicaConfiguration != nil {
|
||||||
instance.ReplicaConfiguration.MysqlReplicaConfiguration != nil {
|
server = strconv.FormatBool(instance.ReplicaConfiguration.FailoverTarget)
|
||||||
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.CaCertificate
|
local = attributes["replica_configuration.0.failover_target"]
|
||||||
local = attributes["replica_configuration.0.ca_certificate"]
|
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.ca_certificate mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.failover_target mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.ClientCertificate
|
if instance.ReplicaConfiguration.MysqlReplicaConfiguration != nil {
|
||||||
local = attributes["replica_configuration.0.client_certificate"]
|
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.CaCertificate
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
local = attributes["replica_configuration.0.ca_certificate"]
|
||||||
return fmt.Errorf("Error replica_configuration.client_certificate mismatch, (%s, %s)", server, local)
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
}
|
return fmt.Errorf("Error replica_configuration.ca_certificate mismatch, (%s, %s)", server, local)
|
||||||
|
}
|
||||||
|
|
||||||
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.ClientKey
|
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.ClientCertificate
|
||||||
local = attributes["replica_configuration.0.client_key"]
|
local = attributes["replica_configuration.0.client_certificate"]
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.client_key mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.client_certificate mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
server = strconv.FormatInt(instance.ReplicaConfiguration.MysqlReplicaConfiguration.ConnectRetryInterval, 10)
|
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.ClientKey
|
||||||
local = attributes["replica_configuration.0.connect_retry_interval"]
|
local = attributes["replica_configuration.0.client_key"]
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.connect_retry_interval mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.client_key mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.DumpFilePath
|
server = strconv.FormatInt(instance.ReplicaConfiguration.MysqlReplicaConfiguration.ConnectRetryInterval, 10)
|
||||||
local = attributes["replica_configuration.0.dump_file_path"]
|
local = attributes["replica_configuration.0.connect_retry_interval"]
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.dump_file_path mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.connect_retry_interval mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
server = strconv.FormatInt(instance.ReplicaConfiguration.MysqlReplicaConfiguration.MasterHeartbeatPeriod, 10)
|
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.DumpFilePath
|
||||||
local = attributes["replica_configuration.0.master_heartbeat_period"]
|
local = attributes["replica_configuration.0.dump_file_path"]
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.master_heartbeat_period mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.dump_file_path mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.Password
|
server = strconv.FormatInt(instance.ReplicaConfiguration.MysqlReplicaConfiguration.MasterHeartbeatPeriod, 10)
|
||||||
local = attributes["replica_configuration.0.password"]
|
local = attributes["replica_configuration.0.master_heartbeat_period"]
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.password mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.master_heartbeat_period mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.SslCipher
|
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.Password
|
||||||
local = attributes["replica_configuration.0.ssl_cipher"]
|
local = attributes["replica_configuration.0.password"]
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.ssl_cipher mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.password mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.Username
|
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.SslCipher
|
||||||
local = attributes["replica_configuration.0.username"]
|
local = attributes["replica_configuration.0.ssl_cipher"]
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.username mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.ssl_cipher mismatch, (%s, %s)", server, local)
|
||||||
}
|
}
|
||||||
|
|
||||||
server = strconv.FormatBool(instance.ReplicaConfiguration.MysqlReplicaConfiguration.VerifyServerCertificate)
|
server = instance.ReplicaConfiguration.MysqlReplicaConfiguration.Username
|
||||||
local = attributes["replica_configuration.0.verify_server_certificate"]
|
local = attributes["replica_configuration.0.username"]
|
||||||
if server != local && len(server) > 0 && len(local) > 0 {
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
return fmt.Errorf("Error replica_configuration.verify_server_certificate mismatch, (%s, %s)", server, local)
|
return fmt.Errorf("Error replica_configuration.username mismatch, (%s, %s)", server, local)
|
||||||
|
}
|
||||||
|
|
||||||
|
server = strconv.FormatBool(instance.ReplicaConfiguration.MysqlReplicaConfiguration.VerifyServerCertificate)
|
||||||
|
local = attributes["replica_configuration.0.verify_server_certificate"]
|
||||||
|
if server != local && len(server) > 0 && len(local) > 0 {
|
||||||
|
return fmt.Errorf("Error replica_configuration.verify_server_certificate mismatch, (%s, %s)", server, local)
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user