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

com.pulumi.gcp.dataproc.kotlin.outputs.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig.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.dataproc.kotlin.outputs

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

/**
 *
 * @property internalIpOnly If true, all instances in the cluster will only have internal IP addresses. By default, clusters are not restricted to internal IP addresses, and will have ephemeral external IP addresses assigned to each instance. This `internal_ip_only` restriction can only be enabled for subnetwork enabled networks, and all off-cluster dependencies must be configured to be accessible without external IP addresses.
 * @property metadata The Compute Engine metadata entries to add to all instances (see (https://cloud.google.com/compute/docs/storing-retrieving-metadata#project_and_instance_metadata)).
 * @property network The Compute Engine network to be used for machine communications. Cannot be specified with subnetwork_uri. If neither `network_uri` nor `subnetwork_uri` is specified, the "default" network of the project is used, if it exists. Cannot be a "Custom Subnet Network" (see /regions/global/default` * `default`
 * @property nodeGroupAffinity Node Group Affinity for sole-tenant clusters.
 * @property privateIpv6GoogleAccess The type of IPv6 access for a cluster. Possible values: PRIVATE_IPV6_GOOGLE_ACCESS_UNSPECIFIED, INHERIT_FROM_SUBNETWORK, OUTBOUND, BIDIRECTIONAL
 * @property reservationAffinity Reservation Affinity for consuming Zonal reservation.
 * @property serviceAccount The (https://cloud.google.com/compute/docs/access/service-accounts#default_service_account) is used.
 * @property serviceAccountScopes The URIs of service account scopes to be included in Compute Engine instances. The following base set of scopes is always included: * https://www.googleapis.com/auth/cloud.useraccounts.readonly * https://www.googleapis.com/auth/devstorage.read_write * https://www.googleapis.com/auth/logging.write If no scopes are specified, the following defaults are also provided: * https://www.googleapis.com/auth/bigquery * https://www.googleapis.com/auth/bigtable.admin.table * https://www.googleapis.com/auth/bigtable.data * https://www.googleapis.com/auth/devstorage.full_control
 * @property shieldedInstanceConfig Shielded Instance Config for clusters using [Compute Engine Shielded VMs](https://cloud.google.com/security/shielded-cloud/shielded-vm). Structure defined below.
 * @property subnetwork The Compute Engine subnetwork to be used for machine communications. Cannot be specified with network_uri. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects//regions/us-east1/subnetworks/sub0` * `sub0`
 * @property tags The Compute Engine tags to add to all instances (see (https://cloud.google.com/compute/docs/label-or-tag-resources#tags)).
 * @property zone The zone where the Compute Engine cluster will be located. On a create request, it is required in the "global" region. If omitted in a non-global Dataproc region, the service will pick a zone in the corresponding Compute Engine region. On a get request, zone will always be present. A full URL, partial URI, or short name are valid. Examples: * `https://www.googleapis.com/compute/v1/projects/` * `us-central1-f`
 */
public data class WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(
    public val internalIpOnly: Boolean? = null,
    public val metadata: Map? = null,
    public val network: String? = null,
    public val nodeGroupAffinity: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity? = null,
    public val privateIpv6GoogleAccess: String? = null,
    public val reservationAffinity: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity? = null,
    public val serviceAccount: String? = null,
    public val serviceAccountScopes: List? = null,
    public val shieldedInstanceConfig: WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig? = null,
    public val subnetwork: String? = null,
    public val tags: List? = null,
    public val zone: String? = null,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.dataproc.outputs.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig): WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig =
            WorkflowTemplatePlacementManagedClusterConfigGceClusterConfig(
                internalIpOnly = javaType.internalIpOnly().map({ args0 -> args0 }).orElse(null),
                metadata = javaType.metadata().map({ args0 -> args0.key.to(args0.value) }).toMap(),
                network = javaType.network().map({ args0 -> args0 }).orElse(null),
                nodeGroupAffinity = javaType.nodeGroupAffinity().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.dataproc.kotlin.outputs.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigNodeGroupAffinity.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                privateIpv6GoogleAccess = javaType.privateIpv6GoogleAccess().map({ args0 -> args0 }).orElse(null),
                reservationAffinity = javaType.reservationAffinity().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.dataproc.kotlin.outputs.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigReservationAffinity.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                serviceAccount = javaType.serviceAccount().map({ args0 -> args0 }).orElse(null),
                serviceAccountScopes = javaType.serviceAccountScopes().map({ args0 -> args0 }),
                shieldedInstanceConfig = javaType.shieldedInstanceConfig().map({ args0 ->
                    args0.let({ args0 ->
                        com.pulumi.gcp.dataproc.kotlin.outputs.WorkflowTemplatePlacementManagedClusterConfigGceClusterConfigShieldedInstanceConfig.Companion.toKotlin(args0)
                    })
                }).orElse(null),
                subnetwork = javaType.subnetwork().map({ args0 -> args0 }).orElse(null),
                tags = javaType.tags().map({ args0 -> args0 }),
                zone = javaType.zone().map({ args0 -> args0 }).orElse(null),
            )
    }
}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy