import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Get information about a VM instance template resource within GCE. For more information see * [the official documentation](https://cloud.google.com/compute/docs/instance-templates) * and * [API](https://cloud.google.com/compute/docs/reference/rest/v1/regionInstanceTemplates). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * // by name * const generic = gcp.compute.getRegionInstanceTemplate({ * name: "generic-tpl-20200107", * }); * // using a filter * const generic_regex = gcp.compute.getRegionInstanceTemplate({ * filter: "name != generic-tpl-20200107", * mostRecent: true, * }); * ``` */ export declare function getRegionInstanceTemplate(args?: GetRegionInstanceTemplateArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getRegionInstanceTemplate. */ export interface GetRegionInstanceTemplateArgs { /** * A filter to retrieve the instance templates. * See [API filter parameter documentation](https://cloud.google.com/compute/docs/reference/rest/v1/regionInstanceTemplates/list#body.QUERY_PARAMETERS.filter) for reference. * If multiple instance templates match, either adjust the filter or specify `mostRecent`. One of `name` or `filter` must be provided. */ filter?: string; /** * If `filter` is provided, ensures the most recent template is returned when multiple instance templates match. One of `name` or `filter` must be provided. */ mostRecent?: boolean; /** * The name of the instance template. One of `name` or `filter` must be provided. */ name?: string; /** * The ID of the project in which the resource belongs. * If `project` is not provided, the provider project is used. */ project?: string; /** * The Region in which the resource belongs. * If `region` is not provided, the provider region is used. */ region?: string; } /** * A collection of values returned by getRegionInstanceTemplate. */ export interface GetRegionInstanceTemplateResult { readonly advancedMachineFeatures: outputs.compute.GetRegionInstanceTemplateAdvancedMachineFeature[]; /** * Whether to allow sending and receiving of * packets with non-matching source or destination IPs. This defaults to false. */ readonly canIpForward: boolean; /** * Enable [Confidential Mode](https://cloud.google.com/compute/confidential-vm/docs/about-cvm) on this VM. Structure is documented below */ readonly confidentialInstanceConfigs: outputs.compute.GetRegionInstanceTemplateConfidentialInstanceConfig[]; /** * Creation timestamp in RFC3339 text format. */ readonly creationTimestamp: string; /** * A brief description of this resource. */ readonly description: string; /** * Disks to attach to instances created from this template. * This can be specified multiple times for multiple disks. Structure is * documented below. */ readonly disks: outputs.compute.GetRegionInstanceTemplateDisk[]; readonly effectiveLabels: { [key: string]: string; }; /** * Enable [Virtual Displays](https://cloud.google.com/compute/docs/instances/enable-instance-virtual-display#verify_display_driver) on this instance. * **Note**: `allowStoppingForUpdate` must be set to true in order to update this field. */ readonly enableDisplay: boolean; readonly filter?: string; /** * List of the type and count of accelerator cards attached to the instance. Structure documented below. */ readonly guestAccelerators: outputs.compute.GetRegionInstanceTemplateGuestAccelerator[]; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; /** * A brief description to use for instances * created from this template. */ readonly instanceDescription: string; /** * Action to be taken when a customer's encryption key is revoked. */ readonly keyRevocationActionType: string; /** * (Optional) A set of ket/value label pairs to assign to disk created from * this template */ readonly labels: { [key: string]: string; }; /** * The machine type to create. */ readonly machineType: string; /** * Metadata key/value pairs to make available from * within instances created from this template. */ readonly metadata: { [key: string]: string; }; /** * The unique fingerprint of the metadata. */ readonly metadataFingerprint: string; /** * An alternative to using the * startup-script metadata key, mostly to match the computeInstance resource. * This replaces the startup-script metadata key on the created instance and * thus the two mechanisms are not allowed to be used simultaneously. */ readonly metadataStartupScript: string; /** * 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). */ readonly minCpuPlatform: string; readonly mostRecent?: boolean; readonly name?: string; /** * Creates a unique name beginning with the specified * prefix. Conflicts with `name`. */ readonly namePrefix: string; /** * Networks to attach to instances created from * this template. This can be specified multiple times for multiple networks. * Structure is documented below. */ readonly networkInterfaces: outputs.compute.GetRegionInstanceTemplateNetworkInterface[]; /** * The network performance configuration setting * for the instance, if set. Structure is documented below. */ readonly networkPerformanceConfigs: outputs.compute.GetRegionInstanceTemplateNetworkPerformanceConfig[]; readonly numericId: string; readonly partnerMetadata: { [key: string]: string; }; /** * The ID of the project in which the resource belongs. If it * is not provided, the provider project is used. */ readonly project?: string; readonly pulumiLabels: { [key: string]: string; }; readonly region?: string; readonly reservationAffinities: outputs.compute.GetRegionInstanceTemplateReservationAffinity[]; readonly resourceManagerTags: { [key: string]: string; }; /** * (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. */ readonly resourcePolicies: string[]; /** * The scheduling strategy to use. More details about * this configuration option are detailed below. */ readonly schedulings: outputs.compute.GetRegionInstanceTemplateScheduling[]; /** * The URI of the created resource. */ readonly selfLink: string; /** * Service account to attach to the instance. Structure is documented below. */ readonly serviceAccounts: outputs.compute.GetRegionInstanceTemplateServiceAccount[]; /** * 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**: `shieldedInstanceConfig` 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). */ readonly shieldedInstanceConfigs: outputs.compute.GetRegionInstanceTemplateShieldedInstanceConfig[]; /** * Tags to attach to the instance. */ readonly tags: string[]; /** * The unique fingerprint of the tags. */ readonly tagsFingerprint: string; } /** * Get information about a VM instance template resource within GCE. For more information see * [the official documentation](https://cloud.google.com/compute/docs/instance-templates) * and * [API](https://cloud.google.com/compute/docs/reference/rest/v1/regionInstanceTemplates). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * // by name * const generic = gcp.compute.getRegionInstanceTemplate({ * name: "generic-tpl-20200107", * }); * // using a filter * const generic_regex = gcp.compute.getRegionInstanceTemplate({ * filter: "name != generic-tpl-20200107", * mostRecent: true, * }); * ``` */ export declare function getRegionInstanceTemplateOutput(args?: GetRegionInstanceTemplateOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getRegionInstanceTemplate. */ export interface GetRegionInstanceTemplateOutputArgs { /** * A filter to retrieve the instance templates. * See [API filter parameter documentation](https://cloud.google.com/compute/docs/reference/rest/v1/regionInstanceTemplates/list#body.QUERY_PARAMETERS.filter) for reference. * If multiple instance templates match, either adjust the filter or specify `mostRecent`. One of `name` or `filter` must be provided. */ filter?: pulumi.Input; /** * If `filter` is provided, ensures the most recent template is returned when multiple instance templates match. One of `name` or `filter` must be provided. */ mostRecent?: pulumi.Input; /** * The name of the instance template. One of `name` or `filter` must be provided. */ name?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If `project` is not provided, the provider project is used. */ project?: pulumi.Input; /** * The Region in which the resource belongs. * If `region` is not provided, the provider region is used. */ region?: pulumi.Input; }