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

com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfig.kt Maven / Gradle / Ivy

@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.composer.kotlin.outputs

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

/**
 *
 * @property airflowUri The URI of the Apache Airflow Web UI hosted within the
 * environment.
 * @property dagGcsPrefix The Cloud Storage prefix of the DAGs for the environment.
 * @property dataRetentionConfigs The configuration setting for Airflow data retention mechanism. This field is supported for Cloud Composer environments in versions composer-2.0.32-airflow-2.1.4. or newer
 * @property databaseConfigs The configuration of Cloud SQL instance that is used by the Apache Airflow software. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
 * @property enablePrivateBuildsOnly Optional. If true, builds performed during operations that install Python packages have only private connectivity to Google services. If false, the builds also have access to the internet.
 * @property enablePrivateEnvironment Optional. If true, a private Composer environment will be created.
 * @property encryptionConfigs The encryption options for the Composer environment and its dependencies.
 * @property environmentSize The size of the Cloud Composer environment. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
 * @property gkeCluster The Kubernetes Engine cluster used to run the environment.
 * @property maintenanceWindows The configuration for Cloud Composer maintenance window.
 * @property masterAuthorizedNetworksConfigs Configuration options for the master authorized networks feature. Enabled master authorized networks will disallow all external traffic to access Kubernetes master through HTTPS except traffic from the given CIDR blocks, Google Compute Engine Public IPs and Google Prod IPs.
 * @property nodeConfigs The configuration used for the Kubernetes Engine cluster.
 * @property nodeCount The number of nodes in the Kubernetes Engine cluster that will be used to run this environment. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
 * @property privateEnvironmentConfigs The configuration used for the Private IP Cloud Composer environment.
 * @property recoveryConfigs The recovery configuration settings for the Cloud Composer environment
 * @property resilienceMode Whether high resilience is enabled or not. This field is supported for Cloud Composer environments in versions composer-2.1.15-airflow-*.*.* and newer.
 * @property softwareConfigs The configuration settings for software inside the environment.
 * @property webServerConfigs The configuration settings for the Airflow web server App Engine instance. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
 * @property webServerNetworkAccessControls Network-level access control policy for the Airflow web server.
 * @property workloadsConfigs The workloads configuration settings for the GKE cluster associated with the Cloud Composer environment. Supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
 */
public data class GetEnvironmentConfig(
    public val airflowUri: String,
    public val dagGcsPrefix: String,
    public val dataRetentionConfigs: List,
    public val databaseConfigs: List,
    public val enablePrivateBuildsOnly: Boolean,
    public val enablePrivateEnvironment: Boolean,
    public val encryptionConfigs: List,
    public val environmentSize: String,
    public val gkeCluster: String,
    public val maintenanceWindows: List,
    public val masterAuthorizedNetworksConfigs: List,
    public val nodeConfigs: List,
    public val nodeCount: Int,
    public val privateEnvironmentConfigs: List,
    public val recoveryConfigs: List,
    public val resilienceMode: String,
    public val softwareConfigs: List,
    public val webServerConfigs: List,
    public val webServerNetworkAccessControls: List,
    public val workloadsConfigs: List,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.composer.outputs.GetEnvironmentConfig): GetEnvironmentConfig = GetEnvironmentConfig(
            airflowUri = javaType.airflowUri(),
            dagGcsPrefix = javaType.dagGcsPrefix(),
            dataRetentionConfigs = javaType.dataRetentionConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigDataRetentionConfig.Companion.toKotlin(args0)
                })
            }),
            databaseConfigs = javaType.databaseConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigDatabaseConfig.Companion.toKotlin(args0)
                })
            }),
            enablePrivateBuildsOnly = javaType.enablePrivateBuildsOnly(),
            enablePrivateEnvironment = javaType.enablePrivateEnvironment(),
            encryptionConfigs = javaType.encryptionConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigEncryptionConfig.Companion.toKotlin(args0)
                })
            }),
            environmentSize = javaType.environmentSize(),
            gkeCluster = javaType.gkeCluster(),
            maintenanceWindows = javaType.maintenanceWindows().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigMaintenanceWindow.Companion.toKotlin(args0)
                })
            }),
            masterAuthorizedNetworksConfigs = javaType.masterAuthorizedNetworksConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigMasterAuthorizedNetworksConfig.Companion.toKotlin(args0)
                })
            }),
            nodeConfigs = javaType.nodeConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigNodeConfig.Companion.toKotlin(args0)
                })
            }),
            nodeCount = javaType.nodeCount(),
            privateEnvironmentConfigs = javaType.privateEnvironmentConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigPrivateEnvironmentConfig.Companion.toKotlin(args0)
                })
            }),
            recoveryConfigs = javaType.recoveryConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigRecoveryConfig.Companion.toKotlin(args0)
                })
            }),
            resilienceMode = javaType.resilienceMode(),
            softwareConfigs = javaType.softwareConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigSoftwareConfig.Companion.toKotlin(args0)
                })
            }),
            webServerConfigs = javaType.webServerConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigWebServerConfig.Companion.toKotlin(args0)
                })
            }),
            webServerNetworkAccessControls = javaType.webServerNetworkAccessControls().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigWebServerNetworkAccessControl.Companion.toKotlin(args0)
                })
            }),
            workloadsConfigs = javaType.workloadsConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.composer.kotlin.outputs.GetEnvironmentConfigWorkloadsConfig.Companion.toKotlin(args0)
                })
            }),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy