Slot Args
Manages an App Service Slot (within an App Service). !>NOTE: This resource has been deprecated in version 5.0 of the provider and will be removed in version 6.0. Please use azure.appservice.LinuxWebAppSlot
and azure.appservice.WindowsWebAppSlot
resources instead.
Note: When using Slots - the
app_settings
,connection_string
andsite_config
blocks on theazure.appservice.AppService
resource will be overwritten when promoting a Slot using theazure.appservice.ActiveSlot
resource.
Example Usage
NET 4.X)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as random from "@pulumi/random";
const server = new random.RandomId("server", {
keepers: {
azi_id: "1",
},
byteLength: 8,
});
const example = new azure.core.ResourceGroup("example", {
name: "some-resource-group",
location: "West Europe",
});
const examplePlan = new azure.appservice.Plan("example", {
name: "some-app-service-plan",
location: example.location,
resourceGroupName: example.name,
sku: {
tier: "Standard",
size: "S1",
},
});
const exampleAppService = new azure.appservice.AppService("example", {
name: server.hex,
location: example.location,
resourceGroupName: example.name,
appServicePlanId: examplePlan.id,
siteConfig: {
dotnetFrameworkVersion: "v4.0",
},
appSettings: {
SOME_KEY: "some-value",
},
connectionStrings: [{
name: "Database",
type: "SQLServer",
value: "Server=some-server.mydomain.com;Integrated Security=SSPI",
}],
});
const exampleSlot = new azure.appservice.Slot("example", {
name: server.hex,
appServiceName: exampleAppService.name,
location: example.location,
resourceGroupName: example.name,
appServicePlanId: examplePlan.id,
siteConfig: {
dotnetFrameworkVersion: "v4.0",
},
appSettings: {
SOME_KEY: "some-value",
},
connectionStrings: [{
name: "Database",
type: "SQLServer",
value: "Server=some-server.mydomain.com;Integrated Security=SSPI",
}],
});
import pulumi
import pulumi_azure as azure
import pulumi_random as random
server = random.RandomId("server",
keepers={
"azi_id": "1",
},
byte_length=8)
example = azure.core.ResourceGroup("example",
name="some-resource-group",
location="West Europe")
example_plan = azure.appservice.Plan("example",
name="some-app-service-plan",
location=example.location,
resource_group_name=example.name,
sku={
"tier": "Standard",
"size": "S1",
})
example_app_service = azure.appservice.AppService("example",
name=server.hex,
location=example.location,
resource_group_name=example.name,
app_service_plan_id=example_plan.id,
site_config={
"dotnet_framework_version": "v4.0",
},
app_settings={
"SOME_KEY": "some-value",
},
connection_strings=[{
"name": "Database",
"type": "SQLServer",
"value": "Server=some-server.mydomain.com;Integrated Security=SSPI",
}])
example_slot = azure.appservice.Slot("example",
name=server.hex,
app_service_name=example_app_service.name,
location=example.location,
resource_group_name=example.name,
app_service_plan_id=example_plan.id,
site_config={
"dotnet_framework_version": "v4.0",
},
app_settings={
"SOME_KEY": "some-value",
},
connection_strings=[{
"name": "Database",
"type": "SQLServer",
"value": "Server=some-server.mydomain.com;Integrated Security=SSPI",
}])
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var server = new Random.RandomId("server", new()
{
Keepers =
{
{ "azi_id", "1" },
},
ByteLength = 8,
});
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "some-resource-group",
Location = "West Europe",
});
var examplePlan = new Azure.AppService.Plan("example", new()
{
Name = "some-app-service-plan",
Location = example.Location,
ResourceGroupName = example.Name,
Sku = new Azure.AppService.Inputs.PlanSkuArgs
{
Tier = "Standard",
Size = "S1",
},
});
var exampleAppService = new Azure.AppService.AppService("example", new()
{
Name = server.Hex,
Location = example.Location,
ResourceGroupName = example.Name,
AppServicePlanId = examplePlan.Id,
SiteConfig = new Azure.AppService.Inputs.AppServiceSiteConfigArgs
{
DotnetFrameworkVersion = "v4.0",
},
AppSettings =
{
{ "SOME_KEY", "some-value" },
},
ConnectionStrings = new[]
{
new Azure.AppService.Inputs.AppServiceConnectionStringArgs
{
Name = "Database",
Type = "SQLServer",
Value = "Server=some-server.mydomain.com;Integrated Security=SSPI",
},
},
});
var exampleSlot = new Azure.AppService.Slot("example", new()
{
Name = server.Hex,
AppServiceName = exampleAppService.Name,
Location = example.Location,
ResourceGroupName = example.Name,
AppServicePlanId = examplePlan.Id,
SiteConfig = new Azure.AppService.Inputs.SlotSiteConfigArgs
{
DotnetFrameworkVersion = "v4.0",
},
AppSettings =
{
{ "SOME_KEY", "some-value" },
},
ConnectionStrings = new[]
{
new Azure.AppService.Inputs.SlotConnectionStringArgs
{
Name = "Database",
Type = "SQLServer",
Value = "Server=some-server.mydomain.com;Integrated Security=SSPI",
},
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
server, err := random.NewRandomId(ctx, "server", &random.RandomIdArgs{
Keepers: pulumi.StringMap{
"azi_id": pulumi.String("1"),
},
ByteLength: pulumi.Int(8),
})
if err != nil {
return err
}
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("some-resource-group"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
examplePlan, err := appservice.NewPlan(ctx, "example", &appservice.PlanArgs{
Name: pulumi.String("some-app-service-plan"),
Location: example.Location,
ResourceGroupName: example.Name,
Sku: &appservice.PlanSkuArgs{
Tier: pulumi.String("Standard"),
Size: pulumi.String("S1"),
},
})
if err != nil {
return err
}
exampleAppService, err := appservice.NewAppService(ctx, "example", &appservice.AppServiceArgs{
Name: server.Hex,
Location: example.Location,
ResourceGroupName: example.Name,
AppServicePlanId: examplePlan.ID(),
SiteConfig: &appservice.AppServiceSiteConfigArgs{
DotnetFrameworkVersion: pulumi.String("v4.0"),
},
AppSettings: pulumi.StringMap{
"SOME_KEY": pulumi.String("some-value"),
},
ConnectionStrings: appservice.AppServiceConnectionStringArray{
&appservice.AppServiceConnectionStringArgs{
Name: pulumi.String("Database"),
Type: pulumi.String("SQLServer"),
Value: pulumi.String("Server=some-server.mydomain.com;Integrated Security=SSPI"),
},
},
})
if err != nil {
return err
}
_, err = appservice.NewSlot(ctx, "example", &appservice.SlotArgs{
Name: server.Hex,
AppServiceName: exampleAppService.Name,
Location: example.Location,
ResourceGroupName: example.Name,
AppServicePlanId: examplePlan.ID(),
SiteConfig: &appservice.SlotSiteConfigArgs{
DotnetFrameworkVersion: pulumi.String("v4.0"),
},
AppSettings: pulumi.StringMap{
"SOME_KEY": pulumi.String("some-value"),
},
ConnectionStrings: appservice.SlotConnectionStringArray{
&appservice.SlotConnectionStringArgs{
Name: pulumi.String("Database"),
Type: pulumi.String("SQLServer"),
Value: pulumi.String("Server=some-server.mydomain.com;Integrated Security=SSPI"),
},
},
})
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.random.RandomId;
import com.pulumi.random.RandomIdArgs;
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 com.pulumi.azure.appservice.AppService;
import com.pulumi.azure.appservice.AppServiceArgs;
import com.pulumi.azure.appservice.inputs.AppServiceSiteConfigArgs;
import com.pulumi.azure.appservice.inputs.AppServiceConnectionStringArgs;
import com.pulumi.azure.appservice.Slot;
import com.pulumi.azure.appservice.SlotArgs;
import com.pulumi.azure.appservice.inputs.SlotSiteConfigArgs;
import com.pulumi.azure.appservice.inputs.SlotConnectionStringArgs;
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 server = new RandomId("server", RandomIdArgs.builder()
.keepers(Map.of("azi_id", 1))
.byteLength(8)
.build());
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("some-resource-group")
.location("West Europe")
.build());
var examplePlan = new Plan("examplePlan", PlanArgs.builder()
.name("some-app-service-plan")
.location(example.location())
.resourceGroupName(example.name())
.sku(PlanSkuArgs.builder()
.tier("Standard")
.size("S1")
.build())
.build());
var exampleAppService = new AppService("exampleAppService", AppServiceArgs.builder()
.name(server.hex())
.location(example.location())
.resourceGroupName(example.name())
.appServicePlanId(examplePlan.id())
.siteConfig(AppServiceSiteConfigArgs.builder()
.dotnetFrameworkVersion("v4.0")
.build())
.appSettings(Map.of("SOME_KEY", "some-value"))
.connectionStrings(AppServiceConnectionStringArgs.builder()
.name("Database")
.type("SQLServer")
.value("Server=some-server.mydomain.com;Integrated Security=SSPI")
.build())
.build());
var exampleSlot = new Slot("exampleSlot", SlotArgs.builder()
.name(server.hex())
.appServiceName(exampleAppService.name())
.location(example.location())
.resourceGroupName(example.name())
.appServicePlanId(examplePlan.id())
.siteConfig(SlotSiteConfigArgs.builder()
.dotnetFrameworkVersion("v4.0")
.build())
.appSettings(Map.of("SOME_KEY", "some-value"))
.connectionStrings(SlotConnectionStringArgs.builder()
.name("Database")
.type("SQLServer")
.value("Server=some-server.mydomain.com;Integrated Security=SSPI")
.build())
.build());
}
}
resources:
server:
type: random:RandomId
properties:
keepers:
azi_id: 1
byteLength: 8
example:
type: azure:core:ResourceGroup
properties:
name: some-resource-group
location: West Europe
examplePlan:
type: azure:appservice:Plan
name: example
properties:
name: some-app-service-plan
location: ${example.location}
resourceGroupName: ${example.name}
sku:
tier: Standard
size: S1
exampleAppService:
type: azure:appservice:AppService
name: example
properties:
name: ${server.hex}
location: ${example.location}
resourceGroupName: ${example.name}
appServicePlanId: ${examplePlan.id}
siteConfig:
dotnetFrameworkVersion: v4.0
appSettings:
SOME_KEY: some-value
connectionStrings:
- name: Database
type: SQLServer
value: Server=some-server.mydomain.com;Integrated Security=SSPI
exampleSlot:
type: azure:appservice:Slot
name: example
properties:
name: ${server.hex}
appServiceName: ${exampleAppService.name}
location: ${example.location}
resourceGroupName: ${example.name}
appServicePlanId: ${examplePlan.id}
siteConfig:
dotnetFrameworkVersion: v4.0
appSettings:
SOME_KEY: some-value
connectionStrings:
- name: Database
type: SQLServer
value: Server=some-server.mydomain.com;Integrated Security=SSPI
Java 1.8)
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as random from "@pulumi/random";
const server = new random.RandomId("server", {
keepers: {
azi_id: "1",
},
byteLength: 8,
});
const example = new azure.core.ResourceGroup("example", {
name: "some-resource-group",
location: "West Europe",
});
const examplePlan = new azure.appservice.Plan("example", {
name: "some-app-service-plan",
location: example.location,
resourceGroupName: example.name,
sku: {
tier: "Standard",
size: "S1",
},
});
const exampleAppService = new azure.appservice.AppService("example", {
name: server.hex,
location: example.location,
resourceGroupName: example.name,
appServicePlanId: examplePlan.id,
siteConfig: {
javaVersion: "1.8",
javaContainer: "JETTY",
javaContainerVersion: "9.3",
},
});
const exampleSlot = new azure.appservice.Slot("example", {
name: server.hex,
appServiceName: exampleAppService.name,
location: example.location,
resourceGroupName: example.name,
appServicePlanId: examplePlan.id,
siteConfig: {
javaVersion: "1.8",
javaContainer: "JETTY",
javaContainerVersion: "9.3",
},
});
import pulumi
import pulumi_azure as azure
import pulumi_random as random
server = random.RandomId("server",
keepers={
"azi_id": "1",
},
byte_length=8)
example = azure.core.ResourceGroup("example",
name="some-resource-group",
location="West Europe")
example_plan = azure.appservice.Plan("example",
name="some-app-service-plan",
location=example.location,
resource_group_name=example.name,
sku={
"tier": "Standard",
"size": "S1",
})
example_app_service = azure.appservice.AppService("example",
name=server.hex,
location=example.location,
resource_group_name=example.name,
app_service_plan_id=example_plan.id,
site_config={
"java_version": "1.8",
"java_container": "JETTY",
"java_container_version": "9.3",
})
example_slot = azure.appservice.Slot("example",
name=server.hex,
app_service_name=example_app_service.name,
location=example.location,
resource_group_name=example.name,
app_service_plan_id=example_plan.id,
site_config={
"java_version": "1.8",
"java_container": "JETTY",
"java_container_version": "9.3",
})
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
using Random = Pulumi.Random;
return await Deployment.RunAsync(() =>
{
var server = new Random.RandomId("server", new()
{
Keepers =
{
{ "azi_id", "1" },
},
ByteLength = 8,
});
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "some-resource-group",
Location = "West Europe",
});
var examplePlan = new Azure.AppService.Plan("example", new()
{
Name = "some-app-service-plan",
Location = example.Location,
ResourceGroupName = example.Name,
Sku = new Azure.AppService.Inputs.PlanSkuArgs
{
Tier = "Standard",
Size = "S1",
},
});
var exampleAppService = new Azure.AppService.AppService("example", new()
{
Name = server.Hex,
Location = example.Location,
ResourceGroupName = example.Name,
AppServicePlanId = examplePlan.Id,
SiteConfig = new Azure.AppService.Inputs.AppServiceSiteConfigArgs
{
JavaVersion = "1.8",
JavaContainer = "JETTY",
JavaContainerVersion = "9.3",
},
});
var exampleSlot = new Azure.AppService.Slot("example", new()
{
Name = server.Hex,
AppServiceName = exampleAppService.Name,
Location = example.Location,
ResourceGroupName = example.Name,
AppServicePlanId = examplePlan.Id,
SiteConfig = new Azure.AppService.Inputs.SlotSiteConfigArgs
{
JavaVersion = "1.8",
JavaContainer = "JETTY",
JavaContainerVersion = "9.3",
},
});
});
package main
import (
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/appservice"
"github.com/pulumi/pulumi-azure/sdk/v6/go/azure/core"
"github.com/pulumi/pulumi-random/sdk/v4/go/random"
"github.com/pulumi/pulumi/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
server, err := random.NewRandomId(ctx, "server", &random.RandomIdArgs{
Keepers: pulumi.StringMap{
"azi_id": pulumi.String("1"),
},
ByteLength: pulumi.Int(8),
})
if err != nil {
return err
}
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("some-resource-group"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
examplePlan, err := appservice.NewPlan(ctx, "example", &appservice.PlanArgs{
Name: pulumi.String("some-app-service-plan"),
Location: example.Location,
ResourceGroupName: example.Name,
Sku: &appservice.PlanSkuArgs{
Tier: pulumi.String("Standard"),
Size: pulumi.String("S1"),
},
})
if err != nil {
return err
}
exampleAppService, err := appservice.NewAppService(ctx, "example", &appservice.AppServiceArgs{
Name: server.Hex,
Location: example.Location,
ResourceGroupName: example.Name,
AppServicePlanId: examplePlan.ID(),
SiteConfig: &appservice.AppServiceSiteConfigArgs{
JavaVersion: pulumi.String("1.8"),
JavaContainer: pulumi.String("JETTY"),
JavaContainerVersion: pulumi.String("9.3"),
},
})
if err != nil {
return err
}
_, err = appservice.NewSlot(ctx, "example", &appservice.SlotArgs{
Name: server.Hex,
AppServiceName: exampleAppService.Name,
Location: example.Location,
ResourceGroupName: example.Name,
AppServicePlanId: examplePlan.ID(),
SiteConfig: &appservice.SlotSiteConfigArgs{
JavaVersion: pulumi.String("1.8"),
JavaContainer: pulumi.String("JETTY"),
JavaContainerVersion: pulumi.String("9.3"),
},
})
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.random.RandomId;
import com.pulumi.random.RandomIdArgs;
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 com.pulumi.azure.appservice.AppService;
import com.pulumi.azure.appservice.AppServiceArgs;
import com.pulumi.azure.appservice.inputs.AppServiceSiteConfigArgs;
import com.pulumi.azure.appservice.Slot;
import com.pulumi.azure.appservice.SlotArgs;
import com.pulumi.azure.appservice.inputs.SlotSiteConfigArgs;
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 server = new RandomId("server", RandomIdArgs.builder()
.keepers(Map.of("azi_id", 1))
.byteLength(8)
.build());
var example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("some-resource-group")
.location("West Europe")
.build());
var examplePlan = new Plan("examplePlan", PlanArgs.builder()
.name("some-app-service-plan")
.location(example.location())
.resourceGroupName(example.name())
.sku(PlanSkuArgs.builder()
.tier("Standard")
.size("S1")
.build())
.build());
var exampleAppService = new AppService("exampleAppService", AppServiceArgs.builder()
.name(server.hex())
.location(example.location())
.resourceGroupName(example.name())
.appServicePlanId(examplePlan.id())
.siteConfig(AppServiceSiteConfigArgs.builder()
.javaVersion("1.8")
.javaContainer("JETTY")
.javaContainerVersion("9.3")
.build())
.build());
var exampleSlot = new Slot("exampleSlot", SlotArgs.builder()
.name(server.hex())
.appServiceName(exampleAppService.name())
.location(example.location())
.resourceGroupName(example.name())
.appServicePlanId(examplePlan.id())
.siteConfig(SlotSiteConfigArgs.builder()
.javaVersion("1.8")
.javaContainer("JETTY")
.javaContainerVersion("9.3")
.build())
.build());
}
}
resources:
server:
type: random:RandomId
properties:
keepers:
azi_id: 1
byteLength: 8
example:
type: azure:core:ResourceGroup
properties:
name: some-resource-group
location: West Europe
examplePlan:
type: azure:appservice:Plan
name: example
properties:
name: some-app-service-plan
location: ${example.location}
resourceGroupName: ${example.name}
sku:
tier: Standard
size: S1
exampleAppService:
type: azure:appservice:AppService
name: example
properties:
name: ${server.hex}
location: ${example.location}
resourceGroupName: ${example.name}
appServicePlanId: ${examplePlan.id}
siteConfig:
javaVersion: '1.8'
javaContainer: JETTY
javaContainerVersion: '9.3'
exampleSlot:
type: azure:appservice:Slot
name: example
properties:
name: ${server.hex}
appServiceName: ${exampleAppService.name}
location: ${example.location}
resourceGroupName: ${example.name}
appServicePlanId: ${examplePlan.id}
siteConfig:
javaVersion: '1.8'
javaContainer: JETTY
javaContainerVersion: '9.3'
Import
App Service Slots can be imported using the resource id
, e.g.
$ pulumi import azure:appservice/slot:Slot instance1 /subscriptions/00000000-0000-0000-0000-000000000000/resourceGroups/mygroup1/providers/Microsoft.Web/sites/website1/slots/instance1
Constructors
Properties
The name of the App Service within which to create the App Service Slot. Changing this forces a new resource to be created.
The ID of the App Service Plan within which to create this App Service Slot. Changing this forces a new resource to be created.
A key-value pair of App Settings.
A auth_settings
block as defined below.
Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance?
An connection_string
block as defined below.
An identity
block as defined below.
The User Assigned Identity Id used for looking up KeyVault secrets. The identity must be assigned to the application. See Access vaults with a user-assigned identity for more information.
A logs
block as defined below.
The name of the resource group in which to create the App Service Slot component. Changing this forces a new resource to be created.
A site_config
object as defined below.
One or more storage_account
blocks as defined below.