import * as pulumi from "@pulumi/pulumi"; import { input as inputs, output as outputs } from "../../types"; /** * Creates an instance template in the specified project using the data that is included in the request. If you are creating a new template to update an existing instance group, your new instance template must use the same network or, if applicable, the same subnetwork as the original template. */ export declare class InstanceTemplate extends pulumi.CustomResource { /** * Get an existing InstanceTemplate resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, opts?: pulumi.CustomResourceOptions): InstanceTemplate; /** * Returns true if the given object is an instance of InstanceTemplate. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is InstanceTemplate; /** * [Output Only] The creation timestamp for this instance template in RFC3339 text format. */ readonly creationTimestamp: pulumi.Output; /** * An optional description of this resource. Provide this property when you create the resource. */ readonly description: pulumi.Output; /** * [Output Only] The resource type, which is always compute#instanceTemplate for instance templates. */ readonly kind: pulumi.Output; /** * Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ readonly name: pulumi.Output; /** * The instance properties for this instance template. */ readonly properties: pulumi.Output; /** * [Output Only] The URL for this instance template. The server defines this URL. */ readonly selfLink: pulumi.Output; /** * [Output Only] Server-defined URL for this resource with the resource id. */ readonly selfLinkWithId: pulumi.Output; /** * The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: * - https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance * - projects/project/zones/zone/instances/instance */ readonly sourceInstance: pulumi.Output; /** * The source instance params to use to create this instance template. */ readonly sourceInstanceParams: pulumi.Output; /** * Create a InstanceTemplate resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: InstanceTemplateArgs, opts?: pulumi.CustomResourceOptions); } /** * The set of arguments for constructing a InstanceTemplate resource. */ export interface InstanceTemplateArgs { /** * [Output Only] The creation timestamp for this instance template in RFC3339 text format. */ readonly creationTimestamp?: pulumi.Input; /** * An optional description of this resource. Provide this property when you create the resource. */ readonly description?: pulumi.Input; /** * [Output Only] A unique identifier for this instance template. The server defines this identifier. */ readonly id?: pulumi.Input; readonly instanceTemplate: pulumi.Input; /** * [Output Only] The resource type, which is always compute#instanceTemplate for instance templates. */ readonly kind?: pulumi.Input; /** * Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression `[a-z]([-a-z0-9]*[a-z0-9])?` which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash. */ readonly name?: pulumi.Input; readonly project: pulumi.Input; /** * The instance properties for this instance template. */ readonly properties?: pulumi.Input; /** * [Output Only] The URL for this instance template. The server defines this URL. */ readonly selfLink?: pulumi.Input; /** * [Output Only] Server-defined URL for this resource with the resource id. */ readonly selfLinkWithId?: pulumi.Input; /** * The source instance used to create the template. You can provide this as a partial or full URL to the resource. For example, the following are valid values: * - https://www.googleapis.com/compute/v1/projects/project/zones/zone/instances/instance * - projects/project/zones/zone/instances/instance */ readonly sourceInstance?: pulumi.Input; /** * The source instance params to use to create this instance template. */ readonly sourceInstanceParams?: pulumi.Input; }