UNPKG

@pulumiverse/scaleway

Version:

A Pulumi package for creating and managing Scaleway cloud resources.

259 lines 9.56 kB
import * as pulumi from "@pulumi/pulumi"; import * as inputs from "../types/input"; import * as outputs from "../types/output"; /** * Books and manages Autoscaling Instance templates. * * ## Example Usage * * ### Basic * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as scaleway from "@pulumiverse/scaleway"; * * const main = new scaleway.autoscaling.InstanceTemplate("main", { * name: "asg-template", * commercialType: "PLAY2-MICRO", * tags: [ * "terraform-test", * "basic", * ], * volumes: [{ * name: "as-volume", * volumeType: "sbs", * boot: true, * fromSnapshot: { * snapshotId: mainScalewayBlockSnapshot.id, * }, * perfIops: 5000, * }], * publicIpsV4Count: 1, * privateNetworkIds: [mainScalewayVpcPrivateNetwork.id], * }); * ``` * * ## Import * * Autoscaling Instance templates can be imported using `{zone}/{id}`, e.g. * * ```sh * $ pulumi import scaleway:autoscaling/instanceTemplate:InstanceTemplate main fr-par-1/11111111-1111-1111-1111-111111111111 * ``` */ 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 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<pulumi.ID>, state?: InstanceTemplateState, 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; /** * The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercialType` template. */ readonly cloudInit: pulumi.Output<string | undefined>; /** * The name of Instance commercial type. */ readonly commercialType: pulumi.Output<string>; /** * Date and time of Instance group's creation (RFC 3339 format). */ readonly createdAt: pulumi.Output<string>; /** * The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercialType` template. */ readonly imageId: pulumi.Output<string | undefined>; /** * The Instance group template. */ readonly name: pulumi.Output<string>; /** * The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone. */ readonly placementGroupId: pulumi.Output<string | undefined>; /** * The private Network IDs to attach to the new Instance. */ readonly privateNetworkIds: pulumi.Output<string[] | undefined>; /** * `projectId`) The ID of the Project the Instance template is associated with. */ readonly projectId: pulumi.Output<string>; /** * The number of flexible IPv4 addresses to attach to the new Instance. */ readonly publicIpsV4Count: pulumi.Output<number | undefined>; /** * The number of flexible IPv6 addresses to attach to the new Instance. */ readonly publicIpsV6Count: pulumi.Output<number | undefined>; /** * The instance security group ID. */ readonly securityGroupId: pulumi.Output<string | undefined>; /** * The Instance template status */ readonly status: pulumi.Output<string>; /** * The tags associated with the Instance template. */ readonly tags: pulumi.Output<string[] | undefined>; /** * Date and time of Instance group's last update (RFC 3339 format). */ readonly updatedAt: pulumi.Output<string>; /** * The template of Instance volume. */ readonly volumes: pulumi.Output<outputs.autoscaling.InstanceTemplateVolume[] | undefined>; /** * `zone`) The zone in which the Instance template exists. */ readonly zone: pulumi.Output<string | undefined>; /** * 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); } /** * Input properties used for looking up and filtering InstanceTemplate resources. */ export interface InstanceTemplateState { /** * The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercialType` template. */ cloudInit?: pulumi.Input<string | undefined>; /** * The name of Instance commercial type. */ commercialType?: pulumi.Input<string | undefined>; /** * Date and time of Instance group's creation (RFC 3339 format). */ createdAt?: pulumi.Input<string | undefined>; /** * The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercialType` template. */ imageId?: pulumi.Input<string | undefined>; /** * The Instance group template. */ name?: pulumi.Input<string | undefined>; /** * The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone. */ placementGroupId?: pulumi.Input<string | undefined>; /** * The private Network IDs to attach to the new Instance. */ privateNetworkIds?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * `projectId`) The ID of the Project the Instance template is associated with. */ projectId?: pulumi.Input<string | undefined>; /** * The number of flexible IPv4 addresses to attach to the new Instance. */ publicIpsV4Count?: pulumi.Input<number | undefined>; /** * The number of flexible IPv6 addresses to attach to the new Instance. */ publicIpsV6Count?: pulumi.Input<number | undefined>; /** * The instance security group ID. */ securityGroupId?: pulumi.Input<string | undefined>; /** * The Instance template status */ status?: pulumi.Input<string | undefined>; /** * The tags associated with the Instance template. */ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * Date and time of Instance group's last update (RFC 3339 format). */ updatedAt?: pulumi.Input<string | undefined>; /** * The template of Instance volume. */ volumes?: pulumi.Input<pulumi.Input<inputs.autoscaling.InstanceTemplateVolume>[] | undefined>; /** * `zone`) The zone in which the Instance template exists. */ zone?: pulumi.Input<string | undefined>; } /** * The set of arguments for constructing a InstanceTemplate resource. */ export interface InstanceTemplateArgs { /** * The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercialType` template. */ cloudInit?: pulumi.Input<string | undefined>; /** * The name of Instance commercial type. */ commercialType: pulumi.Input<string>; /** * The instance image ID. Can be an ID of a marketplace or personal image. This image must be compatible with `volume` and `commercialType` template. */ imageId?: pulumi.Input<string | undefined>; /** * The Instance group template. */ name?: pulumi.Input<string | undefined>; /** * The instance placement group ID. This is optional, but it is highly recommended to set a preference for Instance location within Availability Zone. */ placementGroupId?: pulumi.Input<string | undefined>; /** * The private Network IDs to attach to the new Instance. */ privateNetworkIds?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * `projectId`) The ID of the Project the Instance template is associated with. */ projectId?: pulumi.Input<string | undefined>; /** * The number of flexible IPv4 addresses to attach to the new Instance. */ publicIpsV4Count?: pulumi.Input<number | undefined>; /** * The number of flexible IPv6 addresses to attach to the new Instance. */ publicIpsV6Count?: pulumi.Input<number | undefined>; /** * The instance security group ID. */ securityGroupId?: pulumi.Input<string | undefined>; /** * The tags associated with the Instance template. */ tags?: pulumi.Input<pulumi.Input<string>[] | undefined>; /** * The template of Instance volume. */ volumes?: pulumi.Input<pulumi.Input<inputs.autoscaling.InstanceTemplateVolume>[] | undefined>; /** * `zone`) The zone in which the Instance template exists. */ zone?: pulumi.Input<string | undefined>; } //# sourceMappingURL=instanceTemplate.d.ts.map