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

com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateResult.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.12.0.0
Show newest version
@file:Suppress("NAME_SHADOWING", "DEPRECATION")

package com.pulumi.gcp.compute.kotlin.outputs

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

/**
 * A collection of values returned by getRegionInstanceTemplate.
 * @property advancedMachineFeatures
 * @property canIpForward Whether to allow sending and receiving of
 * packets with non-matching source or destination IPs. This defaults to false.
 * @property confidentialInstanceConfigs Enable [Confidential Mode](https://cloud.google.com/compute/confidential-vm/docs/about-cvm) on this VM. Structure is documented below
 * @property description A brief description of this resource.
 * @property disks Disks to attach to instances created from this template.
 * This can be specified multiple times for multiple disks. Structure is
 * documented below.
 * @property effectiveLabels
 * @property enableDisplay Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance.
 * **Note**: `allow_stopping_for_update` must be set to true in order to update this field.
 * @property filter
 * @property guestAccelerators List of the type and count of accelerator cards attached to the instance. Structure documented below.
 * @property id The provider-assigned unique ID for this managed resource.
 * @property instanceDescription A brief description to use for instances
 * created from this template.
 * @property labels (Optional) A set of ket/value label pairs to assign to disk created from
 * this template
 * @property machineType The machine type to create.
 * @property metadata Metadata key/value pairs to make available from
 * within instances created from this template.
 * @property metadataFingerprint The unique fingerprint of the metadata.
 * @property metadataStartupScript An alternative to using the
 * startup-script metadata key, mostly to match the compute_instance resource.
 * This replaces the startup-script metadata key on the created instance and
 * thus the two mechanisms are not allowed to be used simultaneously.
 * @property minCpuPlatform Specifies a minimum CPU platform. Applicable values are the friendly names of CPU platforms, such as
 * `Intel Haswell` or `Intel Skylake`. See the complete list [here](https://cloud.google.com/compute/docs/instances/specify-min-cpu-platform).
 * @property mostRecent
 * @property name
 * @property namePrefix Creates a unique name beginning with the specified
 * prefix. Conflicts with `name`.
 * @property networkInterfaces Networks to attach to instances created from
 * this template. This can be specified multiple times for multiple networks.
 * Structure is documented below.
 * @property networkPerformanceConfigs The network performance configuration setting
 * for the instance, if set. Structure is documented below.
 * @property project The ID of the project in which the resource belongs. If it
 * is not provided, the provider project is used.
 * @property pulumiLabels
 * @property region
 * @property reservationAffinities
 * @property resourceManagerTags
 * @property resourcePolicies (Optional) -- A list of short names of resource policies to attach to this disk for automatic snapshot creations. Currently a max of 1 resource policy is supported.
 * @property schedulings The scheduling strategy to use. More details about
 * this configuration option are detailed below.
 * @property selfLink The URI of the created resource.
 * @property serviceAccounts Service account to attach to the instance. Structure is documented below.
 * @property shieldedInstanceConfigs Enable [Shielded VM](https://cloud.google.com/security/shielded-cloud/shielded-vm) on this instance. Shielded VM provides verifiable integrity to prevent against malware and rootkits. Defaults to disabled. Structure is documented below.
 * **Note**: `shielded_instance_config` can only be used with boot images with shielded vm support. See the complete list [here](https://cloud.google.com/compute/docs/images#shielded-images).
 * @property tags Tags to attach to the instance.
 * @property tagsFingerprint The unique fingerprint of the tags.
 */
public data class GetRegionInstanceTemplateResult(
    public val advancedMachineFeatures: List,
    public val canIpForward: Boolean,
    public val confidentialInstanceConfigs: List,
    public val description: String,
    public val disks: List,
    public val effectiveLabels: Map,
    public val enableDisplay: Boolean,
    public val filter: String? = null,
    public val guestAccelerators: List,
    public val id: String,
    public val instanceDescription: String,
    public val labels: Map,
    public val machineType: String,
    public val metadata: Map,
    public val metadataFingerprint: String,
    public val metadataStartupScript: String,
    public val minCpuPlatform: String,
    public val mostRecent: Boolean? = null,
    public val name: String? = null,
    public val namePrefix: String,
    public val networkInterfaces: List,
    public val networkPerformanceConfigs: List,
    public val project: String? = null,
    public val pulumiLabels: Map,
    public val region: String? = null,
    public val reservationAffinities: List,
    public val resourceManagerTags: Map,
    public val resourcePolicies: List,
    public val schedulings: List,
    public val selfLink: String,
    public val serviceAccounts: List,
    public val shieldedInstanceConfigs: List,
    public val tags: List,
    public val tagsFingerprint: String,
) {
    public companion object {
        public fun toKotlin(javaType: com.pulumi.gcp.compute.outputs.GetRegionInstanceTemplateResult): GetRegionInstanceTemplateResult = GetRegionInstanceTemplateResult(
            advancedMachineFeatures = javaType.advancedMachineFeatures().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateAdvancedMachineFeature.Companion.toKotlin(args0)
                })
            }),
            canIpForward = javaType.canIpForward(),
            confidentialInstanceConfigs = javaType.confidentialInstanceConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateConfidentialInstanceConfig.Companion.toKotlin(args0)
                })
            }),
            description = javaType.description(),
            disks = javaType.disks().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateDisk.Companion.toKotlin(args0)
                })
            }),
            effectiveLabels = javaType.effectiveLabels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            enableDisplay = javaType.enableDisplay(),
            filter = javaType.filter().map({ args0 -> args0 }).orElse(null),
            guestAccelerators = javaType.guestAccelerators().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateGuestAccelerator.Companion.toKotlin(args0)
                })
            }),
            id = javaType.id(),
            instanceDescription = javaType.instanceDescription(),
            labels = javaType.labels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            machineType = javaType.machineType(),
            metadata = javaType.metadata().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            metadataFingerprint = javaType.metadataFingerprint(),
            metadataStartupScript = javaType.metadataStartupScript(),
            minCpuPlatform = javaType.minCpuPlatform(),
            mostRecent = javaType.mostRecent().map({ args0 -> args0 }).orElse(null),
            name = javaType.name().map({ args0 -> args0 }).orElse(null),
            namePrefix = javaType.namePrefix(),
            networkInterfaces = javaType.networkInterfaces().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateNetworkInterface.Companion.toKotlin(args0)
                })
            }),
            networkPerformanceConfigs = javaType.networkPerformanceConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateNetworkPerformanceConfig.Companion.toKotlin(args0)
                })
            }),
            project = javaType.project().map({ args0 -> args0 }).orElse(null),
            pulumiLabels = javaType.pulumiLabels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
            region = javaType.region().map({ args0 -> args0 }).orElse(null),
            reservationAffinities = javaType.reservationAffinities().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateReservationAffinity.Companion.toKotlin(args0)
                })
            }),
            resourceManagerTags = javaType.resourceManagerTags().map({ args0 ->
                args0.key.to(args0.value)
            }).toMap(),
            resourcePolicies = javaType.resourcePolicies().map({ args0 -> args0 }),
            schedulings = javaType.schedulings().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateScheduling.Companion.toKotlin(args0)
                })
            }),
            selfLink = javaType.selfLink(),
            serviceAccounts = javaType.serviceAccounts().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateServiceAccount.Companion.toKotlin(args0)
                })
            }),
            shieldedInstanceConfigs = javaType.shieldedInstanceConfigs().map({ args0 ->
                args0.let({ args0 ->
                    com.pulumi.gcp.compute.kotlin.outputs.GetRegionInstanceTemplateShieldedInstanceConfig.Companion.toKotlin(args0)
                })
            }),
            tags = javaType.tags().map({ args0 -> args0 }),
            tagsFingerprint = javaType.tagsFingerprint(),
        )
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy