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.



2313
2314
2315
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2313

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)


2247
2248
2249
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2247

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



2254
2255
2256
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2254

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)


2260
2261
2262
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2260

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)


2266
2267
2268
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2266

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)


2275
2276
2277
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2275

def private_network
  @private_network
end

#psc_configGoogle::Apis::SqladminV1::PscConfig

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



2280
2281
2282
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2280

def psc_config
  @psc_config
end

#require_sslBoolean Also known as: require_ssl?

LINT.IfChange(require_ssl_deprecate) Whether SSL/TLS connections over IP are enforced or not. If set to false, allow both non-SSL/non-TLS and SSL/TLS connections. For SSL/TLS connections, the client certificate will not be verified. If set to true, 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, use the ssl_mode flag instead of the legacy require_ssl flag. LINT.ThenChange(//depot/google3/ java/com/google/storage/speckle/boss/admin/actions/InstanceUpdateAction.java: update_api_temp_fix) Corresponds to the JSON property requireSsl

Returns:

  • (Boolean)


2293
2294
2295
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2293

def require_ssl
  @require_ssl
end

#ssl_modeString

Specify how SSL/TLS will be enforced in database connections. This flag is only supported for PostgreSQL. Use the legacy require_ssl flag for enforcing SSL/TLS in MySQL and SQL Server. But, for PostgreSQL, it is recommended to 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, require_ssl=false; ssl_mode= ENCRYPTED_ONLY, require_ssl=false; ssl_mode= TRUSTED_CLIENT_CERTIFICATE_REQUIRED, 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 will respect ssl_mode in this case and only accept SSL connections. Corresponds to the JSON property sslMode

Returns:

  • (String)


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

def ssl_mode
  @ssl_mode
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
# File 'lib/google/apis/sqladmin_v1/classes.rb', line 2318

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