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

com.pulumi.gcp.databasemigrationservice.kotlin.outputs.ConnectionProfileCloudsqlSettings.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.databasemigrationservice.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.Map

/**
 *
 * @property activationPolicy The activation policy specifies when the instance is activated; it is applicable only when the instance state is 'RUNNABLE'.
 * Possible values are: `ALWAYS`, `NEVER`.
 * @property autoStorageIncrease If you enable this setting, Cloud SQL checks your available storage every 30 seconds. If the available storage falls below a threshold size, Cloud SQL automatically adds additional storage capacity.
 * If the available storage repeatedly falls below the threshold size, Cloud SQL continues to add storage until it reaches the maximum of 30 TB.
 * @property cmekKeyName The KMS key name used for the csql instance.
 * @property collation The Cloud SQL default instance level collation.
 * @property dataDiskSizeGb The storage capacity available to the database, in GB. The minimum (and default) size is 10GB.
 * @property dataDiskType The type of storage.
 * Possible values are: `PD_SSD`, `PD_HDD`.
 * @property databaseFlags The database flags passed to the Cloud SQL instance at startup.
 * @property databaseVersion The database engine type and version.
 * Currently supported values located at https://cloud.google.com/database-migration/docs/reference/rest/v1/projects.locations.connectionProfiles#sqldatabaseversion
 * @property edition The edition of the given Cloud SQL instance.
 * Possible values are: `ENTERPRISE`, `ENTERPRISE_PLUS`.
 * @property ipConfig The settings for IP Management. This allows to enable or disable the instance IP and manage which external networks can connect to the instance. The IPv4 address cannot be disabled.
 * Structure is documented below.
 * @property rootPassword Input only. Initial root password.
 * **Note**: This property is sensitive and will not be displayed in the plan.
 * @property rootPasswordSet (Output)
 * Output only. Indicates If this connection profile root password is stored.
 * @property sourceId The Database Migration Service source connection profile ID, in the format: projects/my_project_name/locations/us-central1/connectionProfiles/connection_profile_ID
 * @property storageAutoResizeLimit The maximum size to which storage capacity can be automatically increased. The default value is 0, which specifies that there is no limit.
 * @property tier The tier (or machine type) for this instance, for example: db-n1-standard-1 (MySQL instances) or db-custom-1-3840 (PostgreSQL instances).
 * For more information, see https://cloud.google.com/sql/docs/mysql/instance-settings
 * @property userLabels The resource labels for a Cloud SQL instance to use to annotate any related underlying resources such as Compute Engine VMs.
 * @property zone The Google Cloud Platform zone where your Cloud SQL datdabse instance is located.
 */
public data class ConnectionProfileCloudsqlSettings(
    public val activationPolicy: String? = null,
    public val autoStorageIncrease: Boolean? = null,
    public val cmekKeyName: String? = null,
    public val collation: String? = null,
    public val dataDiskSizeGb: String? = null,
    public val dataDiskType: String? = null,
    public val databaseFlags: Map? = null,
    public val databaseVersion: String? = null,
    public val edition: String? = null,
    public val ipConfig: ConnectionProfileCloudsqlSettingsIpConfig? = null,
    public val rootPassword: String? = null,
    public val rootPasswordSet: Boolean? = null,
    public val sourceId: String,
    public val storageAutoResizeLimit: String? = null,
    public val tier: String? = null,
    public val userLabels: Map? = null,
    public val zone: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.databasemigrationservice.outputs.ConnectionProfileCloudsqlSettings): ConnectionProfileCloudsqlSettings = ConnectionProfileCloudsqlSettings(
            activationPolicy = javaType.activationPolicy().map({ args0 -> args0 }).orElse(null),
            autoStorageIncrease = javaType.autoStorageIncrease().map({ args0 -> args0 }).orElse(null),
            cmekKeyName = javaType.cmekKeyName().map({ args0 -> args0 }).orElse(null),
            collation = javaType.collation().map({ args0 -> args0 }).orElse(null),
            dataDiskSizeGb = javaType.dataDiskSizeGb().map({ args0 -> args0 }).orElse(null),
            dataDiskType = javaType.dataDiskType().map({ args0 -> args0 }).orElse(null),
            databaseFlags = javaType.databaseFlags().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            databaseVersion = javaType.databaseVersion().map({ args0 -> args0 }).orElse(null),
            edition = javaType.edition().map({ args0 -> args0 }).orElse(null),
            ipConfig = javaType.ipConfig().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.databasemigrationservice.kotlin.outputs.ConnectionProfileCloudsqlSettingsIpConfig.Companion.toKotlin(args0)
                })
            }).orElse(null),
            rootPassword = javaType.rootPassword().map({ args0 -> args0 }).orElse(null),
            rootPasswordSet = javaType.rootPasswordSet().map({ args0 -> args0 }).orElse(null),
            sourceId = javaType.sourceId(),
            storageAutoResizeLimit = javaType.storageAutoResizeLimit().map({ args0 -> args0 }).orElse(null),
            tier = javaType.tier().map({ args0 -> args0 }).orElse(null),
            userLabels = javaType.userLabels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            zone = javaType.zone().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy