import * as pulumi from "@pulumi/pulumi"; import * as outputs from "../types/output"; /** * Get information about a VM instance resource within GCE. For more information see * [the official documentation](https://cloud.google.com/compute/docs/instances) * and * [API](https://cloud.google.com/compute/docs/reference/latest/instances). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const appserver = gcp.compute.getInstance({ * name: "primary-application-server", * zone: "us-central1-a", * }); * ``` */ export declare function getInstance(args?: GetInstanceArgs, opts?: pulumi.InvokeOptions): Promise; /** * A collection of arguments for invoking getInstance. */ export interface GetInstanceArgs { /** * The name of the instance. One of `name` or `selfLink` must be provided. */ name?: string; /** * The ID of the project in which the resource belongs. * If `selfLink` is provided, this value is ignored. If neither `selfLink` * nor `project` are provided, the provider project is used. */ project?: string; /** * The self link of the instance. One of `name` or `selfLink` must be provided. */ selfLink?: string; /** * The zone of the instance. If `selfLink` is provided, this * value is ignored. If neither `selfLink` nor `zone` are provided, the * provider zone is used. */ zone?: string; } /** * A collection of values returned by getInstance. */ export interface GetInstanceResult { readonly advancedMachineFeatures: outputs.compute.GetInstanceAdvancedMachineFeature[]; readonly allowStoppingForUpdate: boolean; /** * List of disks attached to the instance. Structure is documented below. */ readonly attachedDisks: outputs.compute.GetInstanceAttachedDisk[]; /** * The boot disk for the instance. Structure is documented below. */ readonly bootDisks: outputs.compute.GetInstanceBootDisk[]; /** * Whether sending and receiving of packets with non-matching source or destination IPs is allowed. */ readonly canIpForward: boolean; readonly confidentialInstanceConfigs: outputs.compute.GetInstanceConfidentialInstanceConfig[]; /** * The CPU platform used by this instance. */ readonly cpuPlatform: string; /** * Creation timestamp in RFC3339 text format. */ readonly creationTimestamp: string; /** * The current status of the instance. This could be one of the following values: PROVISIONING, STAGING, RUNNING, STOPPING, SUSPENDING, SUSPENDED, REPAIRING, and TERMINATED. For more information about the status of the instance, see [Instance life cycle](https://cloud.google.com/compute/docs/instances/instance-life-cycle). */ readonly currentStatus: string; /** * Whether deletion protection is enabled on this instance. */ readonly deletionProtection: boolean; /** * A brief description of the resource. */ readonly description: string; readonly desiredStatus: string; readonly effectiveLabels: { [key: string]: string; }; /** * Whether the instance has virtual displays enabled. */ readonly enableDisplay: boolean; /** * List of the type and count of accelerator cards attached to the instance. Structure is documented below. */ readonly guestAccelerators: outputs.compute.GetInstanceGuestAccelerator[]; readonly hostname: string; /** * The provider-assigned unique ID for this managed resource. */ readonly id: string; readonly instanceEncryptionKeys: outputs.compute.GetInstanceInstanceEncryptionKey[]; /** * The server-assigned unique identifier of this instance. */ readonly instanceId: string; /** * Action to be taken when a customer's encryption key is revoked. */ readonly keyRevocationActionType: string; /** * The unique fingerprint of the labels. */ readonly labelFingerprint: string; /** * A set of key/value label pairs assigned to the disk. */ readonly labels: { [key: string]: string; }; /** * The machine type to create. */ readonly machineType: string; /** * Metadata key/value pairs made available within the instance. */ readonly metadata: { [key: string]: string; }; /** * The unique fingerprint of the metadata. */ readonly metadataFingerprint: string; readonly metadataStartupScript: string; /** * The minimum CPU platform specified for the VM instance. Set to "AUTOMATIC" to remove a previously-set value. */ readonly minCpuPlatform: string; readonly name?: string; /** * The networks attached to the instance. Structure is documented below. */ readonly networkInterfaces: outputs.compute.GetInstanceNetworkInterface[]; /** * The network performance configuration setting for the instance, if set. Structure is documented below. */ readonly networkPerformanceConfigs: outputs.compute.GetInstanceNetworkPerformanceConfig[]; readonly params: outputs.compute.GetInstanceParam[]; readonly partnerMetadata: { [key: string]: string; }; readonly project?: string; readonly pulumiLabels: { [key: string]: string; }; readonly reservationAffinities: outputs.compute.GetInstanceReservationAffinity[]; /** * A list of selfLinks to resource policies attached to the selected `bootDisk` */ readonly resourcePolicies: string[]; /** * The scheduling strategy being used by the instance. Structure is documented below */ readonly schedulings: outputs.compute.GetInstanceScheduling[]; /** * The scratch disks attached to the instance. Structure is documented below. */ readonly scratchDisks: outputs.compute.GetInstanceScratchDisk[]; /** * The URI of the created resource. */ readonly selfLink?: string; /** * The service account to attach to the instance. Structure is documented below. */ readonly serviceAccounts: outputs.compute.GetInstanceServiceAccount[]; /** * The shielded vm config being used by the instance. Structure is documented below. */ readonly shieldedInstanceConfigs: outputs.compute.GetInstanceShieldedInstanceConfig[]; /** * The list of tags attached to the instance. */ readonly tags: string[]; /** * The unique fingerprint of the tags. */ readonly tagsFingerprint: string; readonly zone?: string; } /** * Get information about a VM instance resource within GCE. For more information see * [the official documentation](https://cloud.google.com/compute/docs/instances) * and * [API](https://cloud.google.com/compute/docs/reference/latest/instances). * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as gcp from "@pulumi/gcp"; * * const appserver = gcp.compute.getInstance({ * name: "primary-application-server", * zone: "us-central1-a", * }); * ``` */ export declare function getInstanceOutput(args?: GetInstanceOutputArgs, opts?: pulumi.InvokeOutputOptions): pulumi.Output; /** * A collection of arguments for invoking getInstance. */ export interface GetInstanceOutputArgs { /** * The name of the instance. One of `name` or `selfLink` must be provided. */ name?: pulumi.Input; /** * The ID of the project in which the resource belongs. * If `selfLink` is provided, this value is ignored. If neither `selfLink` * nor `project` are provided, the provider project is used. */ project?: pulumi.Input; /** * The self link of the instance. One of `name` or `selfLink` must be provided. */ selfLink?: pulumi.Input; /** * The zone of the instance. If `selfLink` is provided, this * value is ignored. If neither `selfLink` nor `zone` are provided, the * provider zone is used. */ zone?: pulumi.Input; }