import * as pulumi from "@pulumi/pulumi"; /** * Manages a Web App Active Slot. * * ## Example Usage * * ### Windows Web App * * ```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 exampleServicePlan = new azure.appservice.ServicePlan("example", { * name: "example-plan", * resourceGroupName: example.name, * location: example.location, * osType: "Windows", * skuName: "P1v2", * }); * const exampleWindowsWebApp = new azure.appservice.WindowsWebApp("example", { * name: "example-windows-web-app", * resourceGroupName: example.name, * location: exampleServicePlan.location, * servicePlanId: exampleServicePlan.id, * siteConfig: {}, * }); * const exampleWindowsWebAppSlot = new azure.appservice.WindowsWebAppSlot("example", { * name: "example-windows-web-app-slot", * appServiceId: exampleWindowsWebApp.name, * siteConfig: {}, * }); * const exampleWebAppActiveSlot = new azure.appservice.WebAppActiveSlot("example", {slotId: exampleWindowsWebAppSlot.id}); * ``` * * ### Linux Web App * * ```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 exampleServicePlan = new azure.appservice.ServicePlan("example", { * name: "example-plan", * resourceGroupName: example.name, * location: example.location, * osType: "Linux", * skuName: "P1v2", * }); * const exampleLinuxWebApp = new azure.appservice.LinuxWebApp("example", { * name: "example-linux-web-app", * resourceGroupName: example.name, * location: exampleServicePlan.location, * servicePlanId: exampleServicePlan.id, * siteConfig: {}, * }); * const exampleLinuxWebAppSlot = new azure.appservice.LinuxWebAppSlot("example", { * name: "example-linux-web-app-slot", * appServiceName: exampleLinuxWebApp.name, * location: exampleServicePlan.location, * servicePlanId: exampleServicePlan.id, * siteConfig: {}, * }); * const exampleWebAppActiveSlot = new azure.appservice.WebAppActiveSlot("example", {slotId: exampleLinuxWebAppSlot.id}); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Web` - 2023-12-01 * * ## Import * * a Web App Active Slot can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:appservice/webAppActiveSlot:WebAppActiveSlot example "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1" * ``` */ export declare class WebAppActiveSlot extends pulumi.CustomResource { /** * Get an existing WebAppActiveSlot 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?: WebAppActiveSlotState, opts?: pulumi.CustomResourceOptions): WebAppActiveSlot; /** * Returns true if the given object is an instance of WebAppActiveSlot. 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 WebAppActiveSlot; /** * The timestamp of the last successful swap with `Production`. */ readonly lastSuccessfulSwap: pulumi.Output; /** * The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to `true`. Changing this forces a new resource to be created. */ readonly overwriteNetworkConfig: pulumi.Output; /** * The ID of the Slot to swap with `Production`. */ readonly slotId: pulumi.Output; /** * Create a WebAppActiveSlot 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: WebAppActiveSlotArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering WebAppActiveSlot resources. */ export interface WebAppActiveSlotState { /** * The timestamp of the last successful swap with `Production`. */ lastSuccessfulSwap?: pulumi.Input; /** * The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to `true`. Changing this forces a new resource to be created. */ overwriteNetworkConfig?: pulumi.Input; /** * The ID of the Slot to swap with `Production`. */ slotId?: pulumi.Input; } /** * The set of arguments for constructing a WebAppActiveSlot resource. */ export interface WebAppActiveSlotArgs { /** * The swap action should overwrite the Production slot's network configuration with the configuration from this slot. Defaults to `true`. Changing this forces a new resource to be created. */ overwriteNetworkConfig?: pulumi.Input; /** * The ID of the Slot to swap with `Production`. */ slotId: pulumi.Input; }