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

com.pulumi.gcp.composer.kotlin.outputs.EnvironmentConfigPrivateEnvironmentConfig.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.composer.kotlin.outputs

import kotlin.Boolean
import kotlin.String
import kotlin.Suppress

/**
 *
 * @property cloudComposerConnectionSubnetwork When specified, the environment will use Private Service Connect instead of VPC peerings to connect to Cloud SQL in the Tenant Project, and the PSC endpoint in the Customer Project will use an IP address from this subnetwork. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
 * @property cloudComposerNetworkIpv4CidrBlock The CIDR block from which IP range for Cloud Composer Network in tenant project will be reserved. Needs to be disjoint from private_cluster_config.master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-2.*.*-airflow-*.*.* and newer.
 * @property cloudSqlIpv4CidrBlock The CIDR block from which IP range in tenant project will be reserved for Cloud SQL. Needs to be disjoint from web_server_ipv4_cidr_block.
 * @property connectionType Mode of internal communication within the Composer environment. Must be one of "VPC_PEERING" or "PRIVATE_SERVICE_CONNECT".
 * @property enablePrivateEndpoint If true, access to the public endpoint of the GKE cluster is denied. If this field is set to true, ip_allocation_policy.use_ip_aliases must be set to true for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
 * @property enablePrivatelyUsedPublicIps When enabled, IPs from public (non-RFC1918) ranges can be used for ip_allocation_policy.cluster_ipv4_cidr_block and ip_allocation_policy.service_ipv4_cidr_block.
 * @property masterIpv4CidrBlock The IP range in CIDR notation to use for the hosted master network. This range is used for assigning internal IP addresses to the cluster master or set of masters and to the internal load balancer virtual IP. This range must not overlap with any other ranges in use within the cluster's network. If left blank, the default value of '172.16.0.0/28' is used.
 * @property webServerIpv4CidrBlock The CIDR block from which IP range for web server will be reserved. Needs to be disjoint from master_ipv4_cidr_block and cloud_sql_ipv4_cidr_block. This field is supported for Cloud Composer environments in versions composer-1.*.*-airflow-*.*.*.
 */
public data class EnvironmentConfigPrivateEnvironmentConfig(
    public val cloudComposerConnectionSubnetwork: String? = null,
    public val cloudComposerNetworkIpv4CidrBlock: String? = null,
    public val cloudSqlIpv4CidrBlock: String? = null,
    public val connectionType: String? = null,
    public val enablePrivateEndpoint: Boolean? = null,
    public val enablePrivatelyUsedPublicIps: Boolean? = null,
    public val masterIpv4CidrBlock: String? = null,
    public val webServerIpv4CidrBlock: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.composer.outputs.EnvironmentConfigPrivateEnvironmentConfig): EnvironmentConfigPrivateEnvironmentConfig = EnvironmentConfigPrivateEnvironmentConfig(
            cloudComposerConnectionSubnetwork = javaType.cloudComposerConnectionSubnetwork().map({ args0 ->
                args0
            }).orElse(null),
            cloudComposerNetworkIpv4CidrBlock = javaType.cloudComposerNetworkIpv4CidrBlock().map({ args0 ->
                args0
            }).orElse(null),
            cloudSqlIpv4CidrBlock = javaType.cloudSqlIpv4CidrBlock().map({ args0 -> args0 }).orElse(null),
            connectionType = javaType.connectionType().map({ args0 -> args0 }).orElse(null),
            enablePrivateEndpoint = javaType.enablePrivateEndpoint().map({ args0 -> args0 }).orElse(null),
            enablePrivatelyUsedPublicIps = javaType.enablePrivatelyUsedPublicIps().map({ args0 ->
                args0
            }).orElse(null),
            masterIpv4CidrBlock = javaType.masterIpv4CidrBlock().map({ args0 -> args0 }).orElse(null),
            webServerIpv4CidrBlock = javaType.webServerIpv4CidrBlock().map({ args0 -> args0 }).orElse(null),
        )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy