Class: Google::Apis::SqladminV1::IpConfiguration

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/sqladmin_v1/classes.rb,
lib/google/apis/sqladmin_v1/representations.rb,
lib/google/apis/sqladmin_v1/representations.rb

Overview

IP Management configuration.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initialize(**args) ⇒ IpConfiguration

Returns a new instance of IpConfiguration.



2362
2363
2364
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2362

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#allocated_ip_rangeString

The name of the allocated ip range for the private ip Cloud SQL instance. For example: "google-managed-services-default". If set, the instance ip will be created in the allocated range. The range name must comply with RFC 1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])?. Corresponds to the JSON property allocatedIpRange

Returns:

  • (String)


2298
2299
2300
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2298

def allocated_ip_range
  @allocated_ip_range
end

#authorized_networksArray<Google::Apis::SqladminV1::AclEntry>

The list of external networks that are allowed to connect to the instance using the IP. In 'CIDR' notation, also known as 'slash' notation (for example: 157.197.200.0/24). Corresponds to the JSON property authorizedNetworks



2305
2306
2307
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2305

def authorized_networks
  @authorized_networks
end

#enable_private_path_for_google_cloud_servicesBoolean Also known as: enable_private_path_for_google_cloud_services?

Controls connectivity to private IP instances from Google services, such as BigQuery. Corresponds to the JSON property enablePrivatePathForGoogleCloudServices

Returns:

  • (Boolean)


2311
2312
2313
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2311

def enable_private_path_for_google_cloud_services
  @enable_private_path_for_google_cloud_services
end

#ipv4_enabledBoolean Also known as: ipv4_enabled?

Whether the instance is assigned a public IP address or not. Corresponds to the JSON property ipv4Enabled

Returns:

  • (Boolean)


2317
2318
2319
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2317

def ipv4_enabled
  @ipv4_enabled
end

#private_networkString

The resource link for the VPC network from which the Cloud SQL instance is accessible for private IP. For example, /projects/myProject/global/networks/ default. This setting can be updated, but it cannot be removed after it is set. Corresponds to the JSON property privateNetwork

Returns:

  • (String)


2326
2327
2328
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2326

def private_network
  @private_network
end

#psc_configGoogle::Apis::SqladminV1::PscConfig

PSC settings for a Cloud SQL instance. Corresponds to the JSON property pscConfig



2331
2332
2333
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2331

def psc_config
  @psc_config
end

#require_sslBoolean Also known as: require_ssl?

Whether SSL/TLS connections over IP are enforced. If set to false, then allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate won't be verified. If set to true, then only allow connections encrypted with SSL/TLS and with valid client certificates. If you want to enforce SSL/TLS without enforcing the requirement for valid client certificates, then use the ssl_mode flag instead of the legacy require_ssl flag. Corresponds to the JSON property requireSsl

Returns:

  • (Boolean)


2342
2343
2344
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2342

def require_ssl
  @require_ssl
end

#ssl_modeString

Specify how SSL/TLS is enforced in database connections. This flag is supported only for PostgreSQL. Use the legacy require_ssl flag for enforcing SSL/TLS in MySQL and SQL Server. But, for PostgreSQL, use the ssl_mode flag instead of the legacy require_ssl flag. To avoid the conflict between those flags in PostgreSQL, only the following value pairs are valid: * ssl_mode= ALLOW_UNENCRYPTED_AND_ENCRYPTED and require_ssl=false * ssl_mode= ENCRYPTED_ONLY and require_ssl=false * ssl_mode= TRUSTED_CLIENT_CERTIFICATE_REQUIRED and require_ssl=true Note that the value of ssl_mode gets priority over the value of the legacy require_ssl. For example, for the pair ssl_mode=ENCRYPTED_ONLY, require_ssl=false, the ssl_mode=ENCRYPTED_ONLY means "only accepts SSL connection", while the require_ssl=false means "both non-SSL and SSL connections are allowed". The database respects ssl_mode in this case and only accepts SSL connections. Corresponds to the JSON property sslMode

Returns:

  • (String)


2360
2361
2362
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2360

def ssl_mode
  @ssl_mode
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2367

def update!(**args)
  @allocated_ip_range = args[:allocated_ip_range] if args.key?(:allocated_ip_range)
  @authorized_networks = args[:authorized_networks] if args.key?(:authorized_networks)
  @enable_private_path_for_google_cloud_services = args[:enable_private_path_for_google_cloud_services] if args.key?(:enable_private_path_for_google_cloud_services)
  @ipv4_enabled = args[:ipv4_enabled] if args.key?(:ipv4_enabled)
  @private_network = args[:private_network] if args.key?(:private_network)
  @psc_config = args[:psc_config] if args.key?(:psc_config)
  @require_ssl = args[:require_ssl] if args.key?(:require_ssl)
  @ssl_mode = args[:ssl_mode] if args.key?(:ssl_mode)
end