All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.pulumi.gcp.sql.kotlin.outputs.DatabaseInstanceSettingsIpConfiguration.kt Maven / Gradle / Ivy

Go to download

Build cloud applications and infrastructure by combining the safety and reliability of infrastructure as code with the power of the Kotlin programming language.

There is a newer version: 8.10.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.sql.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List

/**
 *
 * @property allocatedIpRange The name of the allocated ip range for the private ip CloudSQL 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](https://datatracker.ietf.org/doc/html/rfc1035). Specifically, the name must be 1-63 characters long and match the regular expression a-z?.
 * @property authorizedNetworks
 * @property enablePrivatePathForGoogleCloudServices Whether Google Cloud services such as BigQuery are allowed to access data in this Cloud SQL instance over a private IP connection. SQLSERVER database type is not supported.
 * @property ipv4Enabled Whether this Cloud SQL instance should be assigned
 * a public IPV4 address. At least `ipv4_enabled` must be enabled or a
 * `private_network` must be configured.
 * @property privateNetwork The VPC network from which the Cloud SQL
 * instance is accessible for private IP. For example, projects/myProject/global/networks/default.
 * Specifying a network enables private IP.
 * At least `ipv4_enabled` must be enabled or a `private_network` must be configured.
 * This setting can be updated, but it cannot be removed after it is set.
 * @property pscConfigs PSC settings for a Cloud SQL instance.
 * @property requireSsl Whether SSL connections over IP are enforced or not. To change this field, also set the corresponding value in `ssl_mode`.
 * @property sslMode Specify how SSL connection should be enforced in DB connections. This field provides more SSL enforcment options compared to `require_ssl`. To change this field, also set the correspoding value in `require_ssl`.
 * * For PostgreSQL instances, the value pairs are listed in the [API reference doc](https://cloud.google.com/sql/docs/postgres/admin-api/rest/v1beta4/instances#ipconfiguration) for `ssl_mode` field.
 * * For MySQL instances, use the same value pairs as the PostgreSQL instances.
 * * For SQL Server instances, set it to `ALLOW_UNENCRYPTED_AND_ENCRYPTED` when `require_ssl=false` and `ENCRYPTED_ONLY` otherwise.
 */
public data class DatabaseInstanceSettingsIpConfiguration(
    public val allocatedIpRange: String? = null,
    public val authorizedNetworks: List? =
        null,
    public val enablePrivatePathForGoogleCloudServices: Boolean? = null,
    public val ipv4Enabled: Boolean? = null,
    public val privateNetwork: String? = null,
    public val pscConfigs: List? = null,
    public val requireSsl: Boolean? = null,
    public val sslMode: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.sql.outputs.DatabaseInstanceSettingsIpConfiguration): DatabaseInstanceSettingsIpConfiguration = DatabaseInstanceSettingsIpConfiguration(
            allocatedIpRange = javaType.allocatedIpRange().map({ args0 -> args0 }).orElse(null),
            authorizedNetworks = javaType.authorizedNetworks().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.sql.kotlin.outputs.DatabaseInstanceSettingsIpConfigurationAuthorizedNetwork.Companion.toKotlin(args0)
                })
            }),
            enablePrivatePathForGoogleCloudServices = javaType.enablePrivatePathForGoogleCloudServices().map({ args0 ->
                args0
            }).orElse(null),
            ipv4Enabled = javaType.ipv4Enabled().map({ args0 -> args0 }).orElse(null),
            privateNetwork = javaType.privateNetwork().map({ args0 -> args0 }).orElse(null),
            pscConfigs = javaType.pscConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.sql.kotlin.outputs.DatabaseInstanceSettingsIpConfigurationPscConfig.Companion.toKotlin(args0)
                })
            }),
            requireSsl = javaType.requireSsl().map({ args0 -> args0 }).orElse(null),
            sslMode = javaType.sslMode().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy