@pulumi/gcp
Version:
A Pulumi package for creating and managing Google Cloud Platform resources.
237 lines (236 loc) • 8.2 kB
TypeScript
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<GetInstanceResult>;
/**
* 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<GetInstanceResult>;
/**
* 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<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?: pulumi.Input<string>;
/**
* The self link of the instance. One of `name` or `selfLink` must be provided.
*/
selfLink?: pulumi.Input<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?: pulumi.Input<string>;
}