Slot

class Slot : KotlinCustomResource

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 and site_config blocks on the azure.appservice.AppService resource will be overwritten when promoting a Slot using the azure.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

Properties

Link copied to clipboard
val appServiceName: Output<String>

The name of the App Service within which to create the App Service Slot. Changing this forces a new resource to be created.

Link copied to clipboard

The ID of the App Service Plan within which to create this App Service Slot. Changing this forces a new resource to be created.

Link copied to clipboard
val appSettings: Output<Map<String, String>>

A key-value pair of App Settings.

Link copied to clipboard

A auth_settings block as defined below.

Link copied to clipboard

Should the App Service Slot send session affinity cookies, which route client requests in the same session to the same instance?

Link copied to clipboard

An connection_string block as defined below.

Link copied to clipboard

The Default Hostname associated with the App Service Slot - such as mysite.azurewebsites.net

Link copied to clipboard
val enabled: Output<Boolean>?

Is the App Service Slot Enabled? Defaults to true.

Link copied to clipboard
val httpsOnly: Output<Boolean>?

Can the App Service Slot only be accessed via HTTPS? Defaults to false.

Link copied to clipboard
val id: Output<String>
Link copied to clipboard
val identity: Output<SlotIdentity>?

An identity block as defined below.

Link copied to clipboard

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.

Link copied to clipboard
val location: Output<String>

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

Link copied to clipboard
val logs: Output<SlotLogs>

A logs block as defined below.

Link copied to clipboard
val name: Output<String>

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

Link copied to clipboard
val pulumiChildResources: Set<KotlinResource>
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

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

Link copied to clipboard

A site_config object as defined below.

Link copied to clipboard

A site_credential block as defined below, which contains the site-level credentials used to publish to this App Service slot.

Link copied to clipboard

One or more storage_account blocks as defined below.

Link copied to clipboard
val tags: Output<Map<String, String>>?

A mapping of tags to assign to the resource.

Link copied to clipboard
val urn: Output<String>