1. Packages
  2. Azure Classic
  3. API Docs
  4. appservice
  5. Plan

We recommend using Azure Native.

Azure Classic v5.49.0 published on Tuesday, Aug 29, 2023 by Pulumi

azure.appservice.Plan

Explore with Pulumi AI

azure logo

We recommend using Azure Native.

Azure Classic v5.49.0 published on Tuesday, Aug 29, 2023 by Pulumi

    Manages an App Service Plan component.

    !> NOTE: This resource has been deprecated in version 3.0 of the AzureRM provider and will be removed in version 4.0. Please use azure.appservice.ServicePlan resource instead.

    Example Usage

    Dedicated)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new()
        {
            Location = "West Europe",
        });
    
        var examplePlan = new Azure.AppService.Plan("examplePlan", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            Sku = new Azure.AppService.Inputs.PlanSkuArgs
            {
                Tier = "Standard",
                Size = "S1",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appservice.NewPlan(ctx, "examplePlan", &appservice.PlanArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Sku: &appservice.PlanSkuArgs{
    				Tier: pulumi.String("Standard"),
    				Size: pulumi.String("S1"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.appservice.Plan;
    import com.pulumi.azure.appservice.PlanArgs;
    import com.pulumi.azure.appservice.inputs.PlanSkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
                .location("West Europe")
                .build());
    
            var examplePlan = new Plan("examplePlan", PlanArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .sku(PlanSkuArgs.builder()
                    .tier("Standard")
                    .size("S1")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_plan = azure.appservice.Plan("examplePlan",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        sku=azure.appservice.PlanSkuArgs(
            tier="Standard",
            size="S1",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const examplePlan = new azure.appservice.Plan("examplePlan", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        sku: {
            tier: "Standard",
            size: "S1",
        },
    });
    
    resources:
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        properties:
          location: West Europe
      examplePlan:
        type: azure:appservice:Plan
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          sku:
            tier: Standard
            size: S1
    

    Shared / Consumption Plan)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new()
        {
            Location = "West Europe",
        });
    
        var examplePlan = new Azure.AppService.Plan("examplePlan", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            Kind = "FunctionApp",
            Sku = new Azure.AppService.Inputs.PlanSkuArgs
            {
                Tier = "Dynamic",
                Size = "Y1",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appservice.NewPlan(ctx, "examplePlan", &appservice.PlanArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Kind:              pulumi.Any("FunctionApp"),
    			Sku: &appservice.PlanSkuArgs{
    				Tier: pulumi.String("Dynamic"),
    				Size: pulumi.String("Y1"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.appservice.Plan;
    import com.pulumi.azure.appservice.PlanArgs;
    import com.pulumi.azure.appservice.inputs.PlanSkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
                .location("West Europe")
                .build());
    
            var examplePlan = new Plan("examplePlan", PlanArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .kind("FunctionApp")
                .sku(PlanSkuArgs.builder()
                    .tier("Dynamic")
                    .size("Y1")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_plan = azure.appservice.Plan("examplePlan",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        kind="FunctionApp",
        sku=azure.appservice.PlanSkuArgs(
            tier="Dynamic",
            size="Y1",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const examplePlan = new azure.appservice.Plan("examplePlan", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        kind: "FunctionApp",
        sku: {
            tier: "Dynamic",
            size: "Y1",
        },
    });
    
    resources:
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        properties:
          location: West Europe
      examplePlan:
        type: azure:appservice:Plan
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          kind: FunctionApp
          sku:
            tier: Dynamic
            size: Y1
    

    Linux)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new()
        {
            Location = "West Europe",
        });
    
        var examplePlan = new Azure.AppService.Plan("examplePlan", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            Kind = "Linux",
            Reserved = true,
            Sku = new Azure.AppService.Inputs.PlanSkuArgs
            {
                Tier = "Standard",
                Size = "S1",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appservice.NewPlan(ctx, "examplePlan", &appservice.PlanArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Kind:              pulumi.Any("Linux"),
    			Reserved:          pulumi.Bool(true),
    			Sku: &appservice.PlanSkuArgs{
    				Tier: pulumi.String("Standard"),
    				Size: pulumi.String("S1"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.appservice.Plan;
    import com.pulumi.azure.appservice.PlanArgs;
    import com.pulumi.azure.appservice.inputs.PlanSkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
                .location("West Europe")
                .build());
    
            var examplePlan = new Plan("examplePlan", PlanArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .kind("Linux")
                .reserved(true)
                .sku(PlanSkuArgs.builder()
                    .tier("Standard")
                    .size("S1")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_plan = azure.appservice.Plan("examplePlan",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        kind="Linux",
        reserved=True,
        sku=azure.appservice.PlanSkuArgs(
            tier="Standard",
            size="S1",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const examplePlan = new azure.appservice.Plan("examplePlan", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        kind: "Linux",
        reserved: true,
        sku: {
            tier: "Standard",
            size: "S1",
        },
    });
    
    resources:
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        properties:
          location: West Europe
      examplePlan:
        type: azure:appservice:Plan
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          kind: Linux
          reserved: true
          sku:
            tier: Standard
            size: S1
    

    Windows Container)

    using System.Collections.Generic;
    using System.Linq;
    using Pulumi;
    using Azure = Pulumi.Azure;
    
    return await Deployment.RunAsync(() => 
    {
        var exampleResourceGroup = new Azure.Core.ResourceGroup("exampleResourceGroup", new()
        {
            Location = "West Europe",
        });
    
        var examplePlan = new Azure.AppService.Plan("examplePlan", new()
        {
            Location = exampleResourceGroup.Location,
            ResourceGroupName = exampleResourceGroup.Name,
            Kind = "xenon",
            IsXenon = true,
            Sku = new Azure.AppService.Inputs.PlanSkuArgs
            {
                Tier = "PremiumContainer",
                Size = "PC2",
            },
        });
    
    });
    
    package main
    
    import (
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/appservice"
    	"github.com/pulumi/pulumi-azure/sdk/v5/go/azure/core"
    	"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
    )
    
    func main() {
    	pulumi.Run(func(ctx *pulumi.Context) error {
    		exampleResourceGroup, err := core.NewResourceGroup(ctx, "exampleResourceGroup", &core.ResourceGroupArgs{
    			Location: pulumi.String("West Europe"),
    		})
    		if err != nil {
    			return err
    		}
    		_, err = appservice.NewPlan(ctx, "examplePlan", &appservice.PlanArgs{
    			Location:          exampleResourceGroup.Location,
    			ResourceGroupName: exampleResourceGroup.Name,
    			Kind:              pulumi.Any("xenon"),
    			IsXenon:           pulumi.Bool(true),
    			Sku: &appservice.PlanSkuArgs{
    				Tier: pulumi.String("PremiumContainer"),
    				Size: pulumi.String("PC2"),
    			},
    		})
    		if err != nil {
    			return err
    		}
    		return nil
    	})
    }
    
    package generated_program;
    
    import com.pulumi.Context;
    import com.pulumi.Pulumi;
    import com.pulumi.core.Output;
    import com.pulumi.azure.core.ResourceGroup;
    import com.pulumi.azure.core.ResourceGroupArgs;
    import com.pulumi.azure.appservice.Plan;
    import com.pulumi.azure.appservice.PlanArgs;
    import com.pulumi.azure.appservice.inputs.PlanSkuArgs;
    import java.util.List;
    import java.util.ArrayList;
    import java.util.Map;
    import java.io.File;
    import java.nio.file.Files;
    import java.nio.file.Paths;
    
    public class App {
        public static void main(String[] args) {
            Pulumi.run(App::stack);
        }
    
        public static void stack(Context ctx) {
            var exampleResourceGroup = new ResourceGroup("exampleResourceGroup", ResourceGroupArgs.builder()        
                .location("West Europe")
                .build());
    
            var examplePlan = new Plan("examplePlan", PlanArgs.builder()        
                .location(exampleResourceGroup.location())
                .resourceGroupName(exampleResourceGroup.name())
                .kind("xenon")
                .isXenon(true)
                .sku(PlanSkuArgs.builder()
                    .tier("PremiumContainer")
                    .size("PC2")
                    .build())
                .build());
    
        }
    }
    
    import pulumi
    import pulumi_azure as azure
    
    example_resource_group = azure.core.ResourceGroup("exampleResourceGroup", location="West Europe")
    example_plan = azure.appservice.Plan("examplePlan",
        location=example_resource_group.location,
        resource_group_name=example_resource_group.name,
        kind="xenon",
        is_xenon=True,
        sku=azure.appservice.PlanSkuArgs(
            tier="PremiumContainer",
            size="PC2",
        ))
    
    import * as pulumi from "@pulumi/pulumi";
    import * as azure from "@pulumi/azure";
    
    const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
    const examplePlan = new azure.appservice.Plan("examplePlan", {
        location: exampleResourceGroup.location,
        resourceGroupName: exampleResourceGroup.name,
        kind: "xenon",
        isXenon: true,
        sku: {
            tier: "PremiumContainer",
            size: "PC2",
        },
    });
    
    resources:
      exampleResourceGroup:
        type: azure:core:ResourceGroup
        properties:
          location: West Europe
      examplePlan:
        type: azure:appservice:Plan
        properties:
          location: ${exampleResourceGroup.location}
          resourceGroupName: ${exampleResourceGroup.name}
          kind: xenon
          isXenon: true
          sku:
            tier: PremiumContainer
            size: PC2
    

    Create Plan Resource

    new Plan(name: string, args: PlanArgs, opts?: CustomResourceOptions);
    @overload
    def Plan(resource_name: str,
             opts: Optional[ResourceOptions] = None,
             app_service_environment_id: Optional[str] = None,
             is_xenon: Optional[bool] = None,
             kind: Optional[str] = None,
             location: Optional[str] = None,
             maximum_elastic_worker_count: Optional[int] = None,
             name: Optional[str] = None,
             per_site_scaling: Optional[bool] = None,
             reserved: Optional[bool] = None,
             resource_group_name: Optional[str] = None,
             sku: Optional[PlanSkuArgs] = None,
             tags: Optional[Mapping[str, str]] = None,
             zone_redundant: Optional[bool] = None)
    @overload
    def Plan(resource_name: str,
             args: PlanArgs,
             opts: Optional[ResourceOptions] = None)
    func NewPlan(ctx *Context, name string, args PlanArgs, opts ...ResourceOption) (*Plan, error)
    public Plan(string name, PlanArgs args, CustomResourceOptions? opts = null)
    public Plan(String name, PlanArgs args)
    public Plan(String name, PlanArgs args, CustomResourceOptions options)
    
    type: azure:appservice:Plan
    properties: # The arguments to resource properties.
    options: # Bag of options to control resource's behavior.
    
    
    name string
    The unique name of the resource.
    args PlanArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    resource_name str
    The unique name of the resource.
    args PlanArgs
    The arguments to resource properties.
    opts ResourceOptions
    Bag of options to control resource's behavior.
    ctx Context
    Context object for the current deployment.
    name string
    The unique name of the resource.
    args PlanArgs
    The arguments to resource properties.
    opts ResourceOption
    Bag of options to control resource's behavior.
    name string
    The unique name of the resource.
    args PlanArgs
    The arguments to resource properties.
    opts CustomResourceOptions
    Bag of options to control resource's behavior.
    name String
    The unique name of the resource.
    args PlanArgs
    The arguments to resource properties.
    options CustomResourceOptions
    Bag of options to control resource's behavior.

    Plan Resource Properties

    To learn more about resource properties and how to use them, see Inputs and Outputs in the Architecture and Concepts docs.

    Inputs

    The Plan resource accepts the following input properties:

    ResourceGroupName string

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    Sku PlanSku

    A sku block as documented below.

    AppServiceEnvironmentId string

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    IsXenon bool

    Whether to create a xenon App Service Plan.

    Kind string | string

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    Location string

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    MaximumElasticWorkerCount int

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    Name string

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    PerSiteScaling bool

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    Reserved bool

    Is this App Service Plan Reserved.

    Tags Dictionary<string, string>

    A mapping of tags to assign to the resource.

    ZoneRedundant bool

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    ResourceGroupName string

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    Sku PlanSkuArgs

    A sku block as documented below.

    AppServiceEnvironmentId string

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    IsXenon bool

    Whether to create a xenon App Service Plan.

    Kind string | string

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    Location string

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    MaximumElasticWorkerCount int

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    Name string

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    PerSiteScaling bool

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    Reserved bool

    Is this App Service Plan Reserved.

    Tags map[string]string

    A mapping of tags to assign to the resource.

    ZoneRedundant bool

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    resourceGroupName String

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    sku PlanSku

    A sku block as documented below.

    appServiceEnvironmentId String

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    isXenon Boolean

    Whether to create a xenon App Service Plan.

    kind String | String

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    location String

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    maximumElasticWorkerCount Integer

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    name String

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    perSiteScaling Boolean

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    reserved Boolean

    Is this App Service Plan Reserved.

    tags Map<String,String>

    A mapping of tags to assign to the resource.

    zoneRedundant Boolean

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    resourceGroupName string

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    sku PlanSku

    A sku block as documented below.

    appServiceEnvironmentId string

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    isXenon boolean

    Whether to create a xenon App Service Plan.

    kind string | Kind

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    location string

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    maximumElasticWorkerCount number

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    name string

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    perSiteScaling boolean

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    reserved boolean

    Is this App Service Plan Reserved.

    tags {[key: string]: string}

    A mapping of tags to assign to the resource.

    zoneRedundant boolean

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    resource_group_name str

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    sku PlanSkuArgs

    A sku block as documented below.

    app_service_environment_id str

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    is_xenon bool

    Whether to create a xenon App Service Plan.

    kind str | str

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    location str

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    maximum_elastic_worker_count int

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    name str

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    per_site_scaling bool

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    reserved bool

    Is this App Service Plan Reserved.

    tags Mapping[str, str]

    A mapping of tags to assign to the resource.

    zone_redundant bool

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    resourceGroupName String

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    sku Property Map

    A sku block as documented below.

    appServiceEnvironmentId String

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    isXenon Boolean

    Whether to create a xenon App Service Plan.

    kind String |

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    location String

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    maximumElasticWorkerCount Number

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    name String

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    perSiteScaling Boolean

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    reserved Boolean

    Is this App Service Plan Reserved.

    tags Map<String>

    A mapping of tags to assign to the resource.

    zoneRedundant Boolean

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    Outputs

    All input properties are implicitly available as output properties. Additionally, the Plan resource produces the following output properties:

    Id string

    The provider-assigned unique ID for this managed resource.

    MaximumNumberOfWorkers int

    The maximum number of workers supported with the App Service Plan's sku.

    Id string

    The provider-assigned unique ID for this managed resource.

    MaximumNumberOfWorkers int

    The maximum number of workers supported with the App Service Plan's sku.

    id String

    The provider-assigned unique ID for this managed resource.

    maximumNumberOfWorkers Integer

    The maximum number of workers supported with the App Service Plan's sku.

    id string

    The provider-assigned unique ID for this managed resource.

    maximumNumberOfWorkers number

    The maximum number of workers supported with the App Service Plan's sku.

    id str

    The provider-assigned unique ID for this managed resource.

    maximum_number_of_workers int

    The maximum number of workers supported with the App Service Plan's sku.

    id String

    The provider-assigned unique ID for this managed resource.

    maximumNumberOfWorkers Number

    The maximum number of workers supported with the App Service Plan's sku.

    Look up Existing Plan Resource

    Get an existing Plan resource’s state with the given name, ID, and optional extra properties used to qualify the lookup.

    public static get(name: string, id: Input<ID>, state?: PlanState, opts?: CustomResourceOptions): Plan
    @staticmethod
    def get(resource_name: str,
            id: str,
            opts: Optional[ResourceOptions] = None,
            app_service_environment_id: Optional[str] = None,
            is_xenon: Optional[bool] = None,
            kind: Optional[str] = None,
            location: Optional[str] = None,
            maximum_elastic_worker_count: Optional[int] = None,
            maximum_number_of_workers: Optional[int] = None,
            name: Optional[str] = None,
            per_site_scaling: Optional[bool] = None,
            reserved: Optional[bool] = None,
            resource_group_name: Optional[str] = None,
            sku: Optional[PlanSkuArgs] = None,
            tags: Optional[Mapping[str, str]] = None,
            zone_redundant: Optional[bool] = None) -> Plan
    func GetPlan(ctx *Context, name string, id IDInput, state *PlanState, opts ...ResourceOption) (*Plan, error)
    public static Plan Get(string name, Input<string> id, PlanState? state, CustomResourceOptions? opts = null)
    public static Plan get(String name, Output<String> id, PlanState state, CustomResourceOptions options)
    Resource lookup is not supported in YAML
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    resource_name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    name
    The unique name of the resulting resource.
    id
    The unique provider ID of the resource to lookup.
    state
    Any extra arguments used during the lookup.
    opts
    A bag of options that control this resource's behavior.
    The following state arguments are supported:
    AppServiceEnvironmentId string

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    IsXenon bool

    Whether to create a xenon App Service Plan.

    Kind string | string

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    Location string

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    MaximumElasticWorkerCount int

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    MaximumNumberOfWorkers int

    The maximum number of workers supported with the App Service Plan's sku.

    Name string

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    PerSiteScaling bool

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    Reserved bool

    Is this App Service Plan Reserved.

    ResourceGroupName string

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    Sku PlanSku

    A sku block as documented below.

    Tags Dictionary<string, string>

    A mapping of tags to assign to the resource.

    ZoneRedundant bool

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    AppServiceEnvironmentId string

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    IsXenon bool

    Whether to create a xenon App Service Plan.

    Kind string | string

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    Location string

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    MaximumElasticWorkerCount int

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    MaximumNumberOfWorkers int

    The maximum number of workers supported with the App Service Plan's sku.

    Name string

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    PerSiteScaling bool

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    Reserved bool

    Is this App Service Plan Reserved.

    ResourceGroupName string

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    Sku PlanSkuArgs

    A sku block as documented below.

    Tags map[string]string

    A mapping of tags to assign to the resource.

    ZoneRedundant bool

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    appServiceEnvironmentId String

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    isXenon Boolean

    Whether to create a xenon App Service Plan.

    kind String | String

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    location String

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    maximumElasticWorkerCount Integer

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    maximumNumberOfWorkers Integer

    The maximum number of workers supported with the App Service Plan's sku.

    name String

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    perSiteScaling Boolean

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    reserved Boolean

    Is this App Service Plan Reserved.

    resourceGroupName String

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    sku PlanSku

    A sku block as documented below.

    tags Map<String,String>

    A mapping of tags to assign to the resource.

    zoneRedundant Boolean

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    appServiceEnvironmentId string

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    isXenon boolean

    Whether to create a xenon App Service Plan.

    kind string | Kind

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    location string

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    maximumElasticWorkerCount number

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    maximumNumberOfWorkers number

    The maximum number of workers supported with the App Service Plan's sku.

    name string

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    perSiteScaling boolean

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    reserved boolean

    Is this App Service Plan Reserved.

    resourceGroupName string

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    sku PlanSku

    A sku block as documented below.

    tags {[key: string]: string}

    A mapping of tags to assign to the resource.

    zoneRedundant boolean

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    app_service_environment_id str

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    is_xenon bool

    Whether to create a xenon App Service Plan.

    kind str | str

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    location str

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    maximum_elastic_worker_count int

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    maximum_number_of_workers int

    The maximum number of workers supported with the App Service Plan's sku.

    name str

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    per_site_scaling bool

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    reserved bool

    Is this App Service Plan Reserved.

    resource_group_name str

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    sku PlanSkuArgs

    A sku block as documented below.

    tags Mapping[str, str]

    A mapping of tags to assign to the resource.

    zone_redundant bool

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    appServiceEnvironmentId String

    The ID of the App Service Environment where the App Service Plan should be located. Changing forces a new resource to be created.

    NOTE: Attaching to an App Service Environment requires the App Service Plan use a Premium SKU (when using an ASEv1) and the Isolated SKU (for an ASEv2).

    isXenon Boolean

    Whether to create a xenon App Service Plan.

    kind String |

    The kind of the App Service Plan to create. Possible values are Windows (also available as App), Linux, elastic (for Premium Consumption), xenon and FunctionApp (for a Consumption Plan). Defaults to Windows. Changing this forces a new resource to be created.

    NOTE: When creating a Linux App Service Plan, the reserved field must be set to true, and when creating a Windows/app App Service Plan the reserved field must be set to false.

    location String

    Specifies the supported Azure location where the resource exists. Changing this forces a new resource to be created.

    maximumElasticWorkerCount Number

    The maximum number of total workers allowed for this ElasticScaleEnabled App Service Plan.

    maximumNumberOfWorkers Number

    The maximum number of workers supported with the App Service Plan's sku.

    name String

    Specifies the name of the App Service Plan component. Changing this forces a new resource to be created.

    perSiteScaling Boolean

    Can Apps assigned to this App Service Plan be scaled independently? If set to false apps assigned to this plan will scale to all instances of the plan.

    reserved Boolean

    Is this App Service Plan Reserved.

    resourceGroupName String

    The name of the resource group in which to create the App Service Plan component. Changing this forces a new resource to be created.

    sku Property Map

    A sku block as documented below.

    tags Map<String>

    A mapping of tags to assign to the resource.

    zoneRedundant Boolean

    Specifies if the App Service Plan should be Zone Redundant. Changing this forces a new resource to be created.

    NOTE: Requires either PremiumV2 or PremiumV3 SKU and that at least 3 instances. For more information, please see the App Service Team Blog.

    Supporting Types

    PlanSku, PlanSkuArgs

    Size string

    Specifies the plan's instance size.

    Tier string

    Specifies the plan's pricing tier.

    Capacity int

    Specifies the number of workers associated with this App Service Plan.

    Size string

    Specifies the plan's instance size.

    Tier string

    Specifies the plan's pricing tier.

    Capacity int

    Specifies the number of workers associated with this App Service Plan.

    size String

    Specifies the plan's instance size.

    tier String

    Specifies the plan's pricing tier.

    capacity Integer

    Specifies the number of workers associated with this App Service Plan.

    size string

    Specifies the plan's instance size.

    tier string

    Specifies the plan's pricing tier.

    capacity number

    Specifies the number of workers associated with this App Service Plan.

    size str

    Specifies the plan's instance size.

    tier str

    Specifies the plan's pricing tier.

    capacity int

    Specifies the number of workers associated with this App Service Plan.

    size String

    Specifies the plan's instance size.

    tier String

    Specifies the plan's pricing tier.

    capacity Number

    Specifies the number of workers associated with this App Service Plan.

    Import

    App Service Plan instances can be imported using the resource id, e.g.

     $ pulumi import azure:appservice/plan:Plan instance1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/serverfarms/instance1
    

    Package Details

    Repository
    Azure Classic pulumi/pulumi-azure
    License
    Apache-2.0
    Notes

    This Pulumi package is based on the azurerm Terraform Provider.

    azure logo

    We recommend using Azure Native.

    Azure Classic v5.49.0 published on Tuesday, Aug 29, 2023 by Pulumi