import * as pulumi from "@pulumi/pulumi"; /** * Manages a Dev Center Dev Box Definition. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-resources", * location: "West Europe", * }); * const exampleDevCenter = new azure.devcenter.DevCenter("example", { * name: "example-dc", * resourceGroupName: example.name, * location: example.location, * identity: { * type: "SystemAssigned", * }, * }); * const exampleDevBoxDefinition = new azure.devcenter.DevBoxDefinition("example", { * name: "example-dcet", * location: example.location, * devCenterId: exampleDevCenter.id, * imageReferenceId: pulumi.interpolate`${exampleDevCenter.id}/galleries/default/images/microsoftvisualstudio_visualstudioplustools_vs-2022-ent-general-win10-m365-gen2`, * skuName: "general_i_8c32gb256ssd_v2", * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.DevCenter` - 2025-02-01 * * ## Import * * An existing Dev Center Dev Box Definition can be imported into Pulumi using the `resource id`, e.g. * * ```sh * $ pulumi import azure:devcenter/devBoxDefinition:DevBoxDefinition example /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/group1/providers/Microsoft.DevCenter/devCenters/dc1/devBoxDefinitions/et1 * ``` */ export declare class DevBoxDefinition extends pulumi.CustomResource { /** * Get an existing DevBoxDefinition 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?: DevBoxDefinitionState, opts?: pulumi.CustomResourceOptions): DevBoxDefinition; /** * Returns true if the given object is an instance of DevBoxDefinition. 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 DevBoxDefinition; /** * The ID of the associated Dev Center. Changing this forces a new resource to be created. */ readonly devCenterId: pulumi.Output; /** * Whether the Dev Boxes created with this definition are capable of hibernation. Defaults to `false`. * * > **Note:** Not all images are capable of supporting hibernation, for more information see https://aka.ms/devbox/hibernate. */ readonly hibernateSupportEnabled: pulumi.Output; /** * The ID of the image for the Dev Center Dev Box Definition. */ readonly imageReferenceId: pulumi.Output; /** * The Azure Region where the Dev Center Dev Box Definition should exist. Changing this forces a new resource to be created. */ readonly location: pulumi.Output; /** * Specifies the name of this Dev Center Dev Box Definition. Changing this forces a new resource to be created. */ readonly name: pulumi.Output; /** * The name of the SKU for the Dev Center Dev Box Definition. */ readonly skuName: pulumi.Output; /** * A mapping of tags which should be assigned to the Dev Center Dev Box Definition. */ readonly tags: pulumi.Output<{ [key: string]: string; } | undefined>; /** * Create a DevBoxDefinition 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: DevBoxDefinitionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering DevBoxDefinition resources. */ export interface DevBoxDefinitionState { /** * The ID of the associated Dev Center. Changing this forces a new resource to be created. */ devCenterId?: pulumi.Input; /** * Whether the Dev Boxes created with this definition are capable of hibernation. Defaults to `false`. * * > **Note:** Not all images are capable of supporting hibernation, for more information see https://aka.ms/devbox/hibernate. */ hibernateSupportEnabled?: pulumi.Input; /** * The ID of the image for the Dev Center Dev Box Definition. */ imageReferenceId?: pulumi.Input; /** * The Azure Region where the Dev Center Dev Box Definition should exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * Specifies the name of this Dev Center Dev Box Definition. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The name of the SKU for the Dev Center Dev Box Definition. */ skuName?: pulumi.Input; /** * A mapping of tags which should be assigned to the Dev Center Dev Box Definition. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; } /** * The set of arguments for constructing a DevBoxDefinition resource. */ export interface DevBoxDefinitionArgs { /** * The ID of the associated Dev Center. Changing this forces a new resource to be created. */ devCenterId: pulumi.Input; /** * Whether the Dev Boxes created with this definition are capable of hibernation. Defaults to `false`. * * > **Note:** Not all images are capable of supporting hibernation, for more information see https://aka.ms/devbox/hibernate. */ hibernateSupportEnabled?: pulumi.Input; /** * The ID of the image for the Dev Center Dev Box Definition. */ imageReferenceId: pulumi.Input; /** * The Azure Region where the Dev Center Dev Box Definition should exist. Changing this forces a new resource to be created. */ location?: pulumi.Input; /** * Specifies the name of this Dev Center Dev Box Definition. Changing this forces a new resource to be created. */ name?: pulumi.Input; /** * The name of the SKU for the Dev Center Dev Box Definition. */ skuName: pulumi.Input; /** * A mapping of tags which should be assigned to the Dev Center Dev Box Definition. */ tags?: pulumi.Input<{ [key: string]: pulumi.Input; }>; }