Many resources are needed to download a project. Please understand that we have to compensate our server costs. Thank you in advance. Project price only 1 $
You can buy this project and download/modify it how often you want.
@file:Suppress("NAME_SHADOWING", "DEPRECATION")
package com.pulumi.gcp.compute.kotlin.outputs
import kotlin.Boolean
import kotlin.String
import kotlin.Suppress
import kotlin.collections.List
import kotlin.collections.Map
/**
* A collection of values returned by getInstanceTemplate.
* @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 The name of the instance template. If you leave
* this blank, the provider will auto-generate a unique name.
* @property namePrefix Creates a unique name beginning with the specified
* prefix. Conflicts with `name`.
* @property networkInterfaces The URL of the network attachment that this interface should connect to in the following format: projects/{projectNumber}/regions/{region_name}/networkAttachments/{network_attachment_name}. s
* @property networkPerformanceConfigs The network performance configuration setting
* for the instance, if set. Structure is documented below.
* @property partnerMetadata
* @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 An instance template is a global resource that is not
* bound to a zone or a region. However, you can still specify some regional
* resources in an instance template, which restricts the template to the
* region where that resource resides. For example, a custom `subnetwork`
* resource is tied to a specific region. Defaults to the region of the
* Provider if no value is given.
* @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 selfLinkUnique A special URI of the created resource that uniquely identifies this instance template with the following format: `projects/{{project}}/global/instanceTemplates/{{name}}?uniqueId={{uniqueId}}`
* Referencing an instance template via this attribute prevents Time of Check to Time of Use attacks when the instance template resides in a shared/untrusted environment.
* @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 GetInstanceTemplateResult(
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 partnerMetadata: Map,
public val project: String? = null,
public val pulumiLabels: Map,
public val region: String,
public val reservationAffinities: List,
public val resourceManagerTags: Map,
public val resourcePolicies: List,
public val schedulings: List,
public val selfLink: String,
public val selfLinkUnique: String? = null,
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.GetInstanceTemplateResult): GetInstanceTemplateResult = GetInstanceTemplateResult(
advancedMachineFeatures = javaType.advancedMachineFeatures().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.GetInstanceTemplateAdvancedMachineFeature.Companion.toKotlin(args0)
})
}),
canIpForward = javaType.canIpForward(),
confidentialInstanceConfigs = javaType.confidentialInstanceConfigs().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.GetInstanceTemplateConfidentialInstanceConfig.Companion.toKotlin(args0)
})
}),
description = javaType.description(),
disks = javaType.disks().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.GetInstanceTemplateDisk.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.GetInstanceTemplateGuestAccelerator.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.GetInstanceTemplateNetworkInterface.Companion.toKotlin(args0)
})
}),
networkPerformanceConfigs = javaType.networkPerformanceConfigs().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.GetInstanceTemplateNetworkPerformanceConfig.Companion.toKotlin(args0)
})
}),
partnerMetadata = javaType.partnerMetadata().map({ args0 -> args0.key.to(args0.value) }).toMap(),
project = javaType.project().map({ args0 -> args0 }).orElse(null),
pulumiLabels = javaType.pulumiLabels().map({ args0 -> args0.key.to(args0.value) }).toMap(),
region = javaType.region(),
reservationAffinities = javaType.reservationAffinities().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.GetInstanceTemplateReservationAffinity.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.GetInstanceTemplateScheduling.Companion.toKotlin(args0)
})
}),
selfLink = javaType.selfLink(),
selfLinkUnique = javaType.selfLinkUnique().map({ args0 -> args0 }).orElse(null),
serviceAccounts = javaType.serviceAccounts().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.GetInstanceTemplateServiceAccount.Companion.toKotlin(args0)
})
}),
shieldedInstanceConfigs = javaType.shieldedInstanceConfigs().map({ args0 ->
args0.let({ args0 ->
com.pulumi.gcp.compute.kotlin.outputs.GetInstanceTemplateShieldedInstanceConfig.Companion.toKotlin(args0)
})
}),
tags = javaType.tags().map({ args0 -> args0 }),
tagsFingerprint = javaType.tagsFingerprint(),
)
}
}