import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * **This resource uses a Beta API** Creates an instance associated with a public cloud project. * * ## Example Usage * * Create a instance. * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as ovh from "@ovhcloud/pulumi-ovh"; * * const instance = new ovh.cloudproject.Instance("instance", { * serviceName: "XXX", * region: "RRRR", * billingPeriod: "hourly", * bootFrom: { * imageId: "UUID", * }, * flavor: { * flavorId: "UUID", * }, * name: "instance name", * sshKey: { * name: "sshname", * }, * network: { * "public": true, * }, * }); * ``` */ export declare class Instance extends pulumi.CustomResource { /** * Get an existing Instance 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 state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: InstanceState, opts?: pulumi.CustomResourceOptions): Instance; /** * Returns true if the given object is an instance of Instance. 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 Instance; /** * Instance IP addresses */ readonly addresses: pulumi.Output; /** * Volumes attached to the instance */ readonly attachedVolumes: pulumi.Output; /** * Create an autobackup workflow after instance start up. */ readonly autoBackup: pulumi.Output; /** * The availability zone where the instance will be created */ readonly availabilityZone: pulumi.Output; /** * Billing period - hourly or monthly */ readonly billingPeriod: pulumi.Output; /** * Boot the instance from an image or a volume */ readonly bootFrom: pulumi.Output; /** * Create multiple instances */ readonly bulk: pulumi.Output; /** * Flavor information */ readonly flavor: pulumi.Output; /** * Flavor id */ readonly flavorId: pulumi.Output; /** * Flavor name */ readonly flavorName: pulumi.Output; /** * Start instance in group */ readonly group: pulumi.Output; /** * Image id */ readonly imageId: pulumi.Output; /** * Instance name */ readonly name: pulumi.Output; /** * Create network interfaces */ readonly network: pulumi.Output; /** * Instance region */ readonly region: pulumi.Output; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used */ readonly serviceName: pulumi.Output; /** * Existing SSH Keypair */ readonly sshKey: pulumi.Output; /** * Add existing SSH Key pair into your Public Cloud project and link it to the instance */ readonly sshKeyCreate: pulumi.Output; /** * Instance status */ readonly status: pulumi.Output; /** * Instance task state */ readonly taskState: pulumi.Output; /** * Configuration information or scripts to use upon launch */ readonly userData: pulumi.Output; /** * Create a Instance 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: InstanceArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering Instance resources. */ export interface InstanceState { /** * Instance IP addresses */ addresses?: pulumi.Input[]>; /** * Volumes attached to the instance */ attachedVolumes?: pulumi.Input[]>; /** * Create an autobackup workflow after instance start up. */ autoBackup?: pulumi.Input; /** * The availability zone where the instance will be created */ availabilityZone?: pulumi.Input; /** * Billing period - hourly or monthly */ billingPeriod?: pulumi.Input; /** * Boot the instance from an image or a volume */ bootFrom?: pulumi.Input; /** * Create multiple instances */ bulk?: pulumi.Input; /** * Flavor information */ flavor?: pulumi.Input; /** * Flavor id */ flavorId?: pulumi.Input; /** * Flavor name */ flavorName?: pulumi.Input; /** * Start instance in group */ group?: pulumi.Input; /** * Image id */ imageId?: pulumi.Input; /** * Instance name */ name?: pulumi.Input; /** * Create network interfaces */ network?: pulumi.Input; /** * Instance region */ region?: pulumi.Input; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used */ serviceName?: pulumi.Input; /** * Existing SSH Keypair */ sshKey?: pulumi.Input; /** * Add existing SSH Key pair into your Public Cloud project and link it to the instance */ sshKeyCreate?: pulumi.Input; /** * Instance status */ status?: pulumi.Input; /** * Instance task state */ taskState?: pulumi.Input; /** * Configuration information or scripts to use upon launch */ userData?: pulumi.Input; } /** * The set of arguments for constructing a Instance resource. */ export interface InstanceArgs { /** * Create an autobackup workflow after instance start up. */ autoBackup?: pulumi.Input; /** * The availability zone where the instance will be created */ availabilityZone?: pulumi.Input; /** * Billing period - hourly or monthly */ billingPeriod: pulumi.Input; /** * Boot the instance from an image or a volume */ bootFrom: pulumi.Input; /** * Create multiple instances */ bulk?: pulumi.Input; /** * Flavor information */ flavor: pulumi.Input; /** * Start instance in group */ group?: pulumi.Input; /** * Instance name */ name?: pulumi.Input; /** * Create network interfaces */ network: pulumi.Input; /** * Instance region */ region: pulumi.Input; /** * The id of the public cloud project. If omitted, the `OVH_CLOUD_PROJECT_SERVICE` environment variable is used */ serviceName?: pulumi.Input; /** * Existing SSH Keypair */ sshKey?: pulumi.Input; /** * Add existing SSH Key pair into your Public Cloud project and link it to the instance */ sshKeyCreate?: pulumi.Input; /** * Configuration information or scripts to use upon launch */ userData?: pulumi.Input; }