mirror of
https://github.com/letic/terraform-provider-google.git
synced 2024-07-05 17:52:38 +00:00
add sql private ip to ga provider (#2662)
This commit is contained in:
parent
1cb5ea1734
commit
0cb07dccc8
|
@ -16,6 +16,8 @@ import (
|
||||||
"google.golang.org/api/sqladmin/v1beta4"
|
"google.golang.org/api/sqladmin/v1beta4"
|
||||||
)
|
)
|
||||||
|
|
||||||
|
const privateNetworkLinkRegex = "projects/(" + ProjectRegex + ")/global/networks/((?:[a-z](?:[-a-z0-9]*[a-z0-9])?))$"
|
||||||
|
|
||||||
var sqlDatabaseAuthorizedNetWorkSchemaElem *schema.Resource = &schema.Resource{
|
var sqlDatabaseAuthorizedNetWorkSchemaElem *schema.Resource = &schema.Resource{
|
||||||
Schema: map[string]*schema.Schema{
|
Schema: map[string]*schema.Schema{
|
||||||
"expiration_time": &schema.Schema{
|
"expiration_time": &schema.Schema{
|
||||||
|
@ -181,6 +183,12 @@ func resourceSqlDatabaseInstance() *schema.Resource {
|
||||||
Type: schema.TypeBool,
|
Type: schema.TypeBool,
|
||||||
Optional: true,
|
Optional: true,
|
||||||
},
|
},
|
||||||
|
"private_network": &schema.Schema{
|
||||||
|
Type: schema.TypeString,
|
||||||
|
Optional: true,
|
||||||
|
ValidateFunc: validateRegexp(privateNetworkLinkRegex),
|
||||||
|
DiffSuppressFunc: compareSelfLinkRelativePaths,
|
||||||
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -624,6 +632,7 @@ func expandIpConfiguration(configured []interface{}) *sqladmin.IpConfiguration {
|
||||||
return &sqladmin.IpConfiguration{
|
return &sqladmin.IpConfiguration{
|
||||||
Ipv4Enabled: _ipConfiguration["ipv4_enabled"].(bool),
|
Ipv4Enabled: _ipConfiguration["ipv4_enabled"].(bool),
|
||||||
RequireSsl: _ipConfiguration["require_ssl"].(bool),
|
RequireSsl: _ipConfiguration["require_ssl"].(bool),
|
||||||
|
PrivateNetwork: _ipConfiguration["private_network"].(string),
|
||||||
AuthorizedNetworks: expandAuthorizedNetworks(_ipConfiguration["authorized_networks"].(*schema.Set).List()),
|
AuthorizedNetworks: expandAuthorizedNetworks(_ipConfiguration["authorized_networks"].(*schema.Set).List()),
|
||||||
ForceSendFields: []string{"Ipv4Enabled", "RequireSsl"},
|
ForceSendFields: []string{"Ipv4Enabled", "RequireSsl"},
|
||||||
}
|
}
|
||||||
|
@ -877,8 +886,9 @@ func flattenDatabaseFlags(databaseFlags []*sqladmin.DatabaseFlags) []map[string]
|
||||||
|
|
||||||
func flattenIpConfiguration(ipConfiguration *sqladmin.IpConfiguration) interface{} {
|
func flattenIpConfiguration(ipConfiguration *sqladmin.IpConfiguration) interface{} {
|
||||||
data := map[string]interface{}{
|
data := map[string]interface{}{
|
||||||
"ipv4_enabled": ipConfiguration.Ipv4Enabled,
|
"ipv4_enabled": ipConfiguration.Ipv4Enabled,
|
||||||
"require_ssl": ipConfiguration.RequireSsl,
|
"private_network": ipConfiguration.PrivateNetwork,
|
||||||
|
"require_ssl": ipConfiguration.RequireSsl,
|
||||||
}
|
}
|
||||||
|
|
||||||
if ipConfiguration.AuthorizedNetworks != nil {
|
if ipConfiguration.AuthorizedNetworks != nil {
|
||||||
|
|
|
@ -241,7 +241,7 @@ The optional `settings.ip_configuration` subblock supports:
|
||||||
* `require_ssl` - (Optional) True if mysqld should default to `REQUIRE X509`
|
* `require_ssl` - (Optional) True if mysqld should default to `REQUIRE X509`
|
||||||
for users connecting over IP.
|
for users connecting over IP.
|
||||||
|
|
||||||
* `private_network` - (Optional, [Beta](https://terraform.io/docs/providers/google/provider_versions.html)) The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP.
|
* `private_network` - (Optional) The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP.
|
||||||
|
|
||||||
The optional `settings.ip_configuration.authorized_networks[]` sublist supports:
|
The optional `settings.ip_configuration.authorized_networks[]` sublist supports:
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user