Source Control Slot Args
data class SourceControlSlotArgs(val branch: Output<String>? = null, val githubActionConfiguration: Output<SourceControlSlotGithubActionConfigurationArgs>? = null, val repoUrl: Output<String>? = null, val rollbackEnabled: Output<Boolean>? = null, val slotId: Output<String>? = null, val useLocalGit: Output<Boolean>? = null, val useManualIntegration: Output<Boolean>? = null, val useMercurial: Output<Boolean>? = null) : ConvertibleToJava<SourceControlSlotArgs>
Manages an App Service Source Control Slot.
Example Usage
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
const example = new azure.core.ResourceGroup("example", {
name: "example-resources",
location: "West Europe",
});
const exampleServicePlan = new azure.appservice.ServicePlan("example", {
name: "example-plan",
resourceGroupName: example.name,
location: example.location,
osType: "Linux",
skuName: "P1v2",
});
const exampleLinuxWebApp = new azure.appservice.LinuxWebApp("example", {
name: "example-web-app",
resourceGroupName: example.name,
location: exampleServicePlan.location,
servicePlanId: exampleServicePlan.id,
siteConfig: {},
});
const exampleLinuxWebAppSlot = new azure.appservice.LinuxWebAppSlot("example", {
name: "example-slot",
appServiceId: exampleLinuxWebApp.id,
siteConfig: {},
});
const exampleSourceControlSlot = new azure.appservice.SourceControlSlot("example", {
slotId: exampleLinuxWebAppSlot.id,
repoUrl: "https://github.com/Azure-Samples/python-docs-hello-world",
branch: "master",
});
Content copied to clipboard
import pulumi
import pulumi_azure as azure
example = azure.core.ResourceGroup("example",
name="example-resources",
location="West Europe")
example_service_plan = azure.appservice.ServicePlan("example",
name="example-plan",
resource_group_name=example.name,
location=example.location,
os_type="Linux",
sku_name="P1v2")
example_linux_web_app = azure.appservice.LinuxWebApp("example",
name="example-web-app",
resource_group_name=example.name,
location=example_service_plan.location,
service_plan_id=example_service_plan.id,
site_config={})
example_linux_web_app_slot = azure.appservice.LinuxWebAppSlot("example",
name="example-slot",
app_service_id=example_linux_web_app.id,
site_config={})
example_source_control_slot = azure.appservice.SourceControlSlot("example",
slot_id=example_linux_web_app_slot.id,
repo_url="https://github.com/Azure-Samples/python-docs-hello-world",
branch="master")
Content copied to clipboard
using System.Collections.Generic;
using System.Linq;
using Pulumi;
using Azure = Pulumi.Azure;
return await Deployment.RunAsync(() =>
{
var example = new Azure.Core.ResourceGroup("example", new()
{
Name = "example-resources",
Location = "West Europe",
});
var exampleServicePlan = new Azure.AppService.ServicePlan("example", new()
{
Name = "example-plan",
ResourceGroupName = example.Name,
Location = example.Location,
OsType = "Linux",
SkuName = "P1v2",
});
var exampleLinuxWebApp = new Azure.AppService.LinuxWebApp("example", new()
{
Name = "example-web-app",
ResourceGroupName = example.Name,
Location = exampleServicePlan.Location,
ServicePlanId = exampleServicePlan.Id,
SiteConfig = null,
});
var exampleLinuxWebAppSlot = new Azure.AppService.LinuxWebAppSlot("example", new()
{
Name = "example-slot",
AppServiceId = exampleLinuxWebApp.Id,
SiteConfig = null,
});
var exampleSourceControlSlot = new Azure.AppService.SourceControlSlot("example", new()
{
SlotId = exampleLinuxWebAppSlot.Id,
RepoUrl = "https://github.com/Azure-Samples/python-docs-hello-world",
Branch = "master",
});
});
Content copied to clipboard
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/sdk/v3/go/pulumi"
)
func main() {
pulumi.Run(func(ctx *pulumi.Context) error {
example, err := core.NewResourceGroup(ctx, "example", &core.ResourceGroupArgs{
Name: pulumi.String("example-resources"),
Location: pulumi.String("West Europe"),
})
if err != nil {
return err
}
exampleServicePlan, err := appservice.NewServicePlan(ctx, "example", &appservice.ServicePlanArgs{
Name: pulumi.String("example-plan"),
ResourceGroupName: example.Name,
Location: example.Location,
OsType: pulumi.String("Linux"),
SkuName: pulumi.String("P1v2"),
})
if err != nil {
return err
}
exampleLinuxWebApp, err := appservice.NewLinuxWebApp(ctx, "example", &appservice.LinuxWebAppArgs{
Name: pulumi.String("example-web-app"),
ResourceGroupName: example.Name,
Location: exampleServicePlan.Location,
ServicePlanId: exampleServicePlan.ID(),
SiteConfig: &appservice.LinuxWebAppSiteConfigArgs{},
})
if err != nil {
return err
}
exampleLinuxWebAppSlot, err := appservice.NewLinuxWebAppSlot(ctx, "example", &appservice.LinuxWebAppSlotArgs{
Name: pulumi.String("example-slot"),
AppServiceId: exampleLinuxWebApp.ID(),
SiteConfig: &appservice.LinuxWebAppSlotSiteConfigArgs{},
})
if err != nil {
return err
}
_, err = appservice.NewSourceControlSlot(ctx, "example", &appservice.SourceControlSlotArgs{
SlotId: exampleLinuxWebAppSlot.ID(),
RepoUrl: pulumi.String("https://github.com/Azure-Samples/python-docs-hello-world"),
Branch: pulumi.String("master"),
})
if err != nil {
return err
}
return nil
})
}
Content copied to clipboard
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.ServicePlan;
import com.pulumi.azure.appservice.ServicePlanArgs;
import com.pulumi.azure.appservice.LinuxWebApp;
import com.pulumi.azure.appservice.LinuxWebAppArgs;
import com.pulumi.azure.appservice.inputs.LinuxWebAppSiteConfigArgs;
import com.pulumi.azure.appservice.LinuxWebAppSlot;
import com.pulumi.azure.appservice.LinuxWebAppSlotArgs;
import com.pulumi.azure.appservice.inputs.LinuxWebAppSlotSiteConfigArgs;
import com.pulumi.azure.appservice.SourceControlSlot;
import com.pulumi.azure.appservice.SourceControlSlotArgs;
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 example = new ResourceGroup("example", ResourceGroupArgs.builder()
.name("example-resources")
.location("West Europe")
.build());
var exampleServicePlan = new ServicePlan("exampleServicePlan", ServicePlanArgs.builder()
.name("example-plan")
.resourceGroupName(example.name())
.location(example.location())
.osType("Linux")
.skuName("P1v2")
.build());
var exampleLinuxWebApp = new LinuxWebApp("exampleLinuxWebApp", LinuxWebAppArgs.builder()
.name("example-web-app")
.resourceGroupName(example.name())
.location(exampleServicePlan.location())
.servicePlanId(exampleServicePlan.id())
.siteConfig()
.build());
var exampleLinuxWebAppSlot = new LinuxWebAppSlot("exampleLinuxWebAppSlot", LinuxWebAppSlotArgs.builder()
.name("example-slot")
.appServiceId(exampleLinuxWebApp.id())
.siteConfig()
.build());
var exampleSourceControlSlot = new SourceControlSlot("exampleSourceControlSlot", SourceControlSlotArgs.builder()
.slotId(exampleLinuxWebAppSlot.id())
.repoUrl("https://github.com/Azure-Samples/python-docs-hello-world")
.branch("master")
.build());
}
}
Content copied to clipboard
resources:
example:
type: azure:core:ResourceGroup
properties:
name: example-resources
location: West Europe
exampleServicePlan:
type: azure:appservice:ServicePlan
name: example
properties:
name: example-plan
resourceGroupName: ${example.name}
location: ${example.location}
osType: Linux
skuName: P1v2
exampleLinuxWebApp:
type: azure:appservice:LinuxWebApp
name: example
properties:
name: example-web-app
resourceGroupName: ${example.name}
location: ${exampleServicePlan.location}
servicePlanId: ${exampleServicePlan.id}
siteConfig: {}
exampleLinuxWebAppSlot:
type: azure:appservice:LinuxWebAppSlot
name: example
properties:
name: example-slot
appServiceId: ${exampleLinuxWebApp.id}
siteConfig: {}
exampleSourceControlSlot:
type: azure:appservice:SourceControlSlot
name: example
properties:
slotId: ${exampleLinuxWebAppSlot.id}
repoUrl: https://github.com/Azure-Samples/python-docs-hello-world
branch: master
Content copied to clipboard
Import
an App Service Source Control Slot can be imported using the resource id
, e.g.
$ pulumi import azure:appservice/sourceControlSlot:SourceControlSlot example "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/slots/slot1"
Content copied to clipboard
Constructors
Link copied to clipboard
constructor(branch: Output<String>? = null, githubActionConfiguration: Output<SourceControlSlotGithubActionConfigurationArgs>? = null, repoUrl: Output<String>? = null, rollbackEnabled: Output<Boolean>? = null, slotId: Output<String>? = null, useLocalGit: Output<Boolean>? = null, useManualIntegration: Output<Boolean>? = null, useMercurial: Output<Boolean>? = null)
Properties
Link copied to clipboard
A github_action_configuration
block as detailed below. Changing this forces a new resource to be created.
Link copied to clipboard
Should the Deployment Rollback be enabled? Defaults to false
Changing this forces a new resource to be created.
Link copied to clipboard
Should the Slot use local Git configuration. Changing this forces a new resource to be created.
Link copied to clipboard
Should code be deployed manually. Set to true
to disable continuous integration, such as webhooks into online repos such as GitHub. Defaults to false
. Changing this forces a new resource to be created.
Link copied to clipboard
The repository specified is Mercurial. Defaults to false
. Changing this forces a new resource to be created.