Module appservice

@pulumi/azure > appservice

class ActiveSlot

extends CustomResource

Promotes an App Service Slot to Production within an App Service.

Note: When using Slots - the app_settings, connection_string and site_config blocks on the azurerm_app_service resource will be overwritten when promoting a Slot using the azurerm_app_service_active_slot resource.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as random from "@pulumi/random";

const testAppService = new azure.appservice.AppService("test", {});
const testPlan = new azure.appservice.Plan("test", {});
const testSlot = new azure.appservice.Slot("test", {});
const testResourceGroup = new azure.core.ResourceGroup("test", {});
const server = new random.RandomId("server", {});
const testActiveSlot = new azure.appservice.ActiveSlot("test", {
    appServiceName: testAppService.name,
    appServiceSlotName: testSlot.name,
    resourceGroupName: testResourceGroup.name,
});

constructor

new ActiveSlot(name: string, args: ActiveSlotArgs, opts?: pulumi.CustomResourceOptions)

Create a ActiveSlot resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: ActiveSlotState, opts?: pulumi.CustomResourceOptions): ActiveSlot

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property appServiceName

public appServiceName: pulumi.Output<string>;

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

property appServiceSlotName

public appServiceSlotName: pulumi.Output<string>;

The name of the App Service Slot which should be promoted to the Production Slot within the App Service.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

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

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class AppService

extends CustomResource

Manages an App Service (within an App Service Plan).

Note: When using Slots - the app_settings, connection_string and site_config blocks on the azurerm_app_service resource will be overwritten when promoting a Slot using the azurerm_app_service_active_slot resource.

Example Usage

This example provisions a Windows App Service. Other examples of the azurerm_app_service resource can be found in the ./examples/app-service directory within the Github Repository

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "West Europe",
    name: "example-resources",
});
const testPlan = new azure.appservice.Plan("test", {
    location: testResourceGroup.location,
    name: "example-appserviceplan",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "S1",
        tier: "Standard",
    },
});
const testAppService = new azure.appservice.AppService("test", {
    appServicePlanId: testPlan.id,
    appSettings: {
        SOME_KEY: "some-value",
    },
    connectionStrings: [{
        name: "Database",
        type: "SQLServer",
        value: "Server=some-server.mydomain.com;Integrated Security=SSPI",
    }],
    location: testResourceGroup.location,
    name: "example-app-service",
    resourceGroupName: testResourceGroup.name,
    siteConfig: {
        dotnetFrameworkVersion: "v4.0",
        scmType: "LocalGit",
    },
});

constructor

new AppService(name: string, args: AppServiceArgs, opts?: pulumi.CustomResourceOptions)

Create a AppService resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: AppServiceState, opts?: pulumi.CustomResourceOptions): AppService

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property appServicePlanId

public appServicePlanId: pulumi.Output<string>;

The ID of the App Service Plan within which to create this App Service.

property appSettings

public appSettings: pulumi.Output<{[key: string]: any}>;

A key-value pair of App Settings.

property authSettings

public authSettings: pulumi.Output<{
    activeDirectory: undefined | {
        allowedAudiences: string[];
        clientId: string;
        clientSecret: undefined | string;
    };
    additionalLoginParams: undefined | {[key: string]: any};
    allowedExternalRedirectUrls: string[];
    defaultProvider: undefined | string;
    enabled: boolean;
    facebook: undefined | {
        appId: string;
        appSecret: string;
        oauthScopes: string[];
    };
    google: undefined | {
        clientId: string;
        clientSecret: string;
        oauthScopes: string[];
    };
    issuer: undefined | string;
    microsoft: undefined | {
        clientId: string;
        clientSecret: string;
        oauthScopes: string[];
    };
    runtimeVersion: undefined | string;
    tokenRefreshExtensionHours: undefined | number;
    tokenStoreEnabled: undefined | false | true;
    twitter: undefined | {
        consumerKey: string;
        consumerSecret: string;
    };
    unauthenticatedClientAction: undefined | string;
}>;

property clientAffinityEnabled

public clientAffinityEnabled: pulumi.Output<boolean>;

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

property clientCertEnabled

public clientCertEnabled: pulumi.Output<boolean | undefined>;

Does the App Service require client certificates for incoming requests? Defaults to false.

property connectionStrings

public connectionStrings: pulumi.Output<{
    name: string;
    type: string;
    value: string;
}[]>;

One or more connection_string blocks as defined below.

property defaultSiteHostname

public defaultSiteHostname: pulumi.Output<string>;

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

property enabled

public enabled: pulumi.Output<boolean | undefined>;

Is the App Service Enabled?

property httpsOnly

public httpsOnly: pulumi.Output<boolean | undefined>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<{
    principalId: string;
    tenantId: string;
    type: string;
}>;

A Managed Service Identity block as defined below.

property location

public location: pulumi.Output<string>;

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

property name

public name: pulumi.Output<string>;

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

property outboundIpAddresses

public outboundIpAddresses: pulumi.Output<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12

property possibleOutboundIpAddresses

public possibleOutboundIpAddresses: pulumi.Output<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the App Service.

property siteConfig

public siteConfig: pulumi.Output<{
    alwaysOn: undefined | false | true;
    appCommandLine: undefined | string;
    cors: {
        allowedOrigins: string[];
        supportCredentials: undefined | false | true;
    };
    defaultDocuments: string[];
    dotnetFrameworkVersion: undefined | string;
    ftpsState: string;
    http2Enabled: undefined | false | true;
    ipRestrictions: {
        ipAddress: string;
        subnetMask: undefined | string;
    }[];
    javaContainer: undefined | string;
    javaContainerVersion: undefined | string;
    javaVersion: undefined | string;
    linuxFxVersion: string;
    localMysqlEnabled: boolean;
    managedPipelineMode: string;
    minTlsVersion: string;
    phpVersion: undefined | string;
    pythonVersion: undefined | string;
    remoteDebuggingEnabled: undefined | false | true;
    remoteDebuggingVersion: string;
    scmType: undefined | string;
    use32BitWorkerProcess: undefined | false | true;
    virtualNetworkName: undefined | string;
    websocketsEnabled: boolean;
}>;

A site_config block as defined below.

property siteCredential

public siteCredential: pulumi.Output<{
    password: string;
    username: string;
}>;

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

property sourceControl

public sourceControl: pulumi.Output<{
    branch: string;
    repoUrl: string;
}>;

A source_control block as defined below, which contains the Source Control information when scm_type is set to LocalGit.

property tags

public tags: pulumi.Output<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class CallbackFunctionApp

extends FunctionApp

A CallbackFunctionApp is a special type of azure.appservice.FunctionApp that can be created out of an actual JavaScript function instance. The function instance will be analyzed and packaged up (including dependencies) into a form that can be used by AWS Lambda. See https://github.com/pulumi/docs/blob/master/reference/serializing-functions.md for additional details on this process.

constructor

new CallbackFunctionApp(name: string, bindings: pulumi.Input<BindingDefinition[]>, args: CallbackFunctionAppArgs<C, E, R>, opts: pulumi.CustomResourceOptions)

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FunctionAppState, opts?: pulumi.CustomResourceOptions): FunctionApp

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property account

public account: storageForTypesOnly.Account;

Storage account where the FunctionApp’s zipbBlob is uploaded to.

property appServicePlanId

public appServicePlanId: pulumi.Output<string>;

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

property appSettings

public appSettings: pulumi.Output<{[key: string]: any} | undefined>;

A key-value pair of App Settings.

property clientAffinityEnabled

public clientAffinityEnabled: pulumi.Output<boolean>;

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

property connectionStrings

public connectionStrings: pulumi.Output<{
    name: string;
    type: string;
    value: string;
}[]>;

An connection_string block as defined below.

property container

public container: storageForTypesOnly.Container;

Storage container where the FunctionApp’s zipbBlob is uploaded to.

property defaultHostname

public defaultHostname: pulumi.Output<string>;

The default hostname associated with the Function App - such as mysite.azurewebsites.net

property enableBuiltinLogging

public enableBuiltinLogging: pulumi.Output<boolean | undefined>;

Should the built-in logging of this Function App be enabled? Defaults to true.

property enabled

public enabled: pulumi.Output<boolean | undefined>;

Is the Function App enabled?

property httpsOnly

public httpsOnly: pulumi.Output<boolean | undefined>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<{
    principalId: string;
    tenantId: string;
    type: string;
}>;

An identity block as defined below.

property kind

public kind: pulumi.Output<string>;

The Function App kind - such as functionapp,linux,container

property location

public location: pulumi.Output<string>;

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

property name

public name: pulumi.Output<string>;

The name of the Connection String.

property outboundIpAddresses

public outboundIpAddresses: pulumi.Output<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12

property plan

public plan: appservice.Plan;

The plan this FunctionApp runs under.

property possibleOutboundIpAddresses

public possibleOutboundIpAddresses: pulumi.Output<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the Function App.

property siteConfig

public siteConfig: pulumi.Output<{
    alwaysOn: undefined | false | true;
    linuxFxVersion: string;
    use32BitWorkerProcess: undefined | false | true;
    websocketsEnabled: undefined | false | true;
}>;

A site_config object as defined below.

property siteCredential

public siteCredential: pulumi.Output<{
    password: string;
    username: string;
}>;

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

property storageConnectionString

public storageConnectionString: pulumi.Output<string>;

The connection string of the backend storage account which will be used by this Function App (such as the dashboard, logs).

property tags

public tags: pulumi.Output<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<string | undefined>;

The runtime version associated with the Function App. Defaults to ~1.

property zipBlob

public zipBlob: storageForTypesOnly.ZipBlob;

The blob containing all the code for this FunctionApp.

class CustomHostnameBinding

extends CustomResource

Manages a Hostname Binding within an App Service.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as random from "@pulumi/random";

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "West Europe",
    name: "some-resource-group",
});
const server = new random.RandomId("server", {
    byteLength: 8,
    keepers: {
        azi_id: 1,
    },
});
const testPlan = new azure.appservice.Plan("test", {
    location: testResourceGroup.location,
    name: "some-app-service-plan",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "S1",
        tier: "Standard",
    },
});
const testAppService = new azure.appservice.AppService("test", {
    appServicePlanId: testPlan.id,
    location: testResourceGroup.location,
    name: server.hex,
    resourceGroupName: testResourceGroup.name,
});
const testCustomHostnameBinding = new azure.appservice.CustomHostnameBinding("test", {
    appServiceName: testAppService.name,
    hostname: "www.mywebsite.com",
    resourceGroupName: testResourceGroup.name,
});

constructor

new CustomHostnameBinding(name: string, args: CustomHostnameBindingArgs, opts?: pulumi.CustomResourceOptions)

Create a CustomHostnameBinding resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: CustomHostnameBindingState, opts?: pulumi.CustomResourceOptions): CustomHostnameBinding

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property appServiceName

public appServiceName: pulumi.Output<string>;

The name of the App Service in which to add the Custom Hostname Binding. Changing this forces a new resource to be created.

property hostname

public hostname: pulumi.Output<string>;

Specifies the Custom Hostname to use for the App Service, example www.example.com. Changing this forces a new resource to be created.

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

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

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class EventSubscription

extends ComponentResource

Base type for all subscription types. An event subscription represents a connection between some azure resource an an FunctionApp that will be triggered when something happens to that resource.

constructor

new EventSubscription(type: string, name: string, bindings: pulumi.Input<BindingDefinition[]>, args: CallbackFunctionAppArgs<C, E, R>, opts: pulumi.ComponentResourceOptions)

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property functionApp

public functionApp: CallbackFunctionApp<C, E, R>;

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class FunctionApp

extends CustomResource

Manages a Function App.

Example Usage (with App Service Plan)

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "westus2",
    name: "azure-functions-test-rg",
});
const testPlan = new azure.appservice.Plan("test", {
    location: testResourceGroup.location,
    name: "azure-functions-test-service-plan",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "S1",
        tier: "Standard",
    },
});
const testAccount = new azure.storage.Account("test", {
    accountReplicationType: "LRS",
    accountTier: "Standard",
    location: testResourceGroup.location,
    name: "functionsapptestsa",
    resourceGroupName: testResourceGroup.name,
});
const testFunctionApp = new azure.appservice.FunctionApp("test", {
    appServicePlanId: testPlan.id,
    location: testResourceGroup.location,
    name: "test-azure-functions",
    resourceGroupName: testResourceGroup.name,
    storageConnectionString: testAccount.primaryConnectionString,
});

Example Usage (in a Consumption Plan)

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "westus2",
    name: "azure-functions-cptest-rg",
});
const testPlan = new azure.appservice.Plan("test", {
    kind: "FunctionApp",
    location: testResourceGroup.location,
    name: "azure-functions-test-service-plan",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "Y1",
        tier: "Dynamic",
    },
});
const testAccount = new azure.storage.Account("test", {
    accountReplicationType: "LRS",
    accountTier: "Standard",
    location: testResourceGroup.location,
    name: "functionsapptestsa",
    resourceGroupName: testResourceGroup.name,
});
const testFunctionApp = new azure.appservice.FunctionApp("test", {
    appServicePlanId: testPlan.id,
    location: testResourceGroup.location,
    name: "test-azure-functions",
    resourceGroupName: testResourceGroup.name,
    storageConnectionString: testAccount.primaryConnectionString,
});

constructor

new FunctionApp(name: string, args: FunctionAppArgs, opts?: pulumi.CustomResourceOptions)

Create a FunctionApp resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: FunctionAppState, opts?: pulumi.CustomResourceOptions): FunctionApp

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property appServicePlanId

public appServicePlanId: pulumi.Output<string>;

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

property appSettings

public appSettings: pulumi.Output<{[key: string]: any} | undefined>;

A key-value pair of App Settings.

property clientAffinityEnabled

public clientAffinityEnabled: pulumi.Output<boolean>;

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

property connectionStrings

public connectionStrings: pulumi.Output<{
    name: string;
    type: string;
    value: string;
}[]>;

An connection_string block as defined below.

property defaultHostname

public defaultHostname: pulumi.Output<string>;

The default hostname associated with the Function App - such as mysite.azurewebsites.net

property enableBuiltinLogging

public enableBuiltinLogging: pulumi.Output<boolean | undefined>;

Should the built-in logging of this Function App be enabled? Defaults to true.

property enabled

public enabled: pulumi.Output<boolean | undefined>;

Is the Function App enabled?

property httpsOnly

public httpsOnly: pulumi.Output<boolean | undefined>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<{
    principalId: string;
    tenantId: string;
    type: string;
}>;

An identity block as defined below.

property kind

public kind: pulumi.Output<string>;

The Function App kind - such as functionapp,linux,container

property location

public location: pulumi.Output<string>;

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

property name

public name: pulumi.Output<string>;

The name of the Connection String.

property outboundIpAddresses

public outboundIpAddresses: pulumi.Output<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12

property possibleOutboundIpAddresses

public possibleOutboundIpAddresses: pulumi.Output<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the Function App.

property siteConfig

public siteConfig: pulumi.Output<{
    alwaysOn: undefined | false | true;
    linuxFxVersion: string;
    use32BitWorkerProcess: undefined | false | true;
    websocketsEnabled: undefined | false | true;
}>;

A site_config object as defined below.

property siteCredential

public siteCredential: pulumi.Output<{
    password: string;
    username: string;
}>;

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

property storageConnectionString

public storageConnectionString: pulumi.Output<string>;

The connection string of the backend storage account which will be used by this Function App (such as the dashboard, logs).

property tags

public tags: pulumi.Output<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

property version

public version: pulumi.Output<string | undefined>;

The runtime version associated with the Function App. Defaults to ~1.

class HttpEventSubscription

extends EventSubscription<mod.Context<HttpResponse>, HttpRequest, HttpResponse>

An Azure Function exposed via an HTTP endpoint that is implemented on top of a JavaScript/TypeScript callback function.

constructor

new HttpEventSubscription(name: string, args: HttpEventSubscriptionArgs, opts: pulumi.CustomResourceOptions)

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property functionApp

public functionApp: CallbackFunctionApp<mod.Context<HttpResponse>, HttpRequest, HttpResponse>;

property url

public url: pulumi.Output<string>;

Endpoint where this FunctionApp can be invoked.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class Plan

extends CustomResource

Manage an App Service Plan component.

Example Usage (Dedicated)

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "West Europe",
    name: "api-rg-pro",
});
const testPlan = new azure.appservice.Plan("test", {
    location: testResourceGroup.location,
    name: "api-appserviceplan-pro",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "S1",
        tier: "Standard",
    },
});

Example Usage (Shared / Consumption Plan)

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "West Europe",
    name: "api-rg-pro",
});
const testPlan = new azure.appservice.Plan("test", {
    kind: "FunctionApp",
    location: testResourceGroup.location,
    name: "api-appserviceplan-pro",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "Y1",
        tier: "Dynamic",
    },
});

Example Usage (Linux)

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "West Europe",
    name: "api-rg-pro",
});
const testPlan = new azure.appservice.Plan("test", {
    kind: "Linux",
    location: testResourceGroup.location,
    name: "api-appserviceplan-pro",
    reserved: true,
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "S1",
        tier: "Standard",
    },
});

constructor

new Plan(name: string, args: PlanArgs, opts?: pulumi.CustomResourceOptions)

Create a Plan resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: PlanState, opts?: pulumi.CustomResourceOptions): Plan

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property appServiceEnvironmentId

public appServiceEnvironmentId: pulumi.Output<string>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property kind

public kind: pulumi.Output<string | undefined>;

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

property location

public location: pulumi.Output<string>;

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

property maximumNumberOfWorkers

public maximumNumberOfWorkers: pulumi.Output<number>;

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

property name

public name: pulumi.Output<string>;

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

property perSiteScaling

public perSiteScaling: pulumi.Output<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. Defaults to false.

property properties

public properties: pulumi.Output<{
    appServiceEnvironmentId: string;
    perSiteScaling: boolean;
    reserved: boolean;
}>;

property reserved

public reserved: pulumi.Output<boolean>;

Is this App Service Plan Reserved. Defaults to false.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the App Service Plan component.

property sku

public sku: pulumi.Output<{
    capacity: number;
    size: string;
    tier: string;
}>;

A sku block as documented below.

property tags

public tags: pulumi.Output<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class Slot

extends CustomResource

Manages an App Service Slot (within an App Service).

Note: When using Slots - the app_settings, connection_string and site_config blocks on the azurerm_app_service resource will be overwritten when promoting a Slot using the azurerm_app_service_active_slot 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 testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "West Europe",
    name: "some-resource-group",
});
const server = new random.RandomId("server", {
    byteLength: 8,
    keepers: {
        azi_id: 1,
    },
});
const testPlan = new azure.appservice.Plan("test", {
    location: testResourceGroup.location,
    name: "some-app-service-plan",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "S1",
        tier: "Standard",
    },
});
const testAppService = new azure.appservice.AppService("test", {
    appServicePlanId: testPlan.id,
    appSettings: {
        SOME_KEY: "some-value",
    },
    connectionStrings: [{
        name: "Database",
        type: "SQLServer",
        value: "Server=some-server.mydomain.com;Integrated Security=SSPI",
    }],
    location: testResourceGroup.location,
    name: server.hex,
    resourceGroupName: testResourceGroup.name,
    siteConfig: {
        dotnetFrameworkVersion: "v4.0",
    },
});
const testSlot = new azure.appservice.Slot("test", {
    appServiceName: testAppService.name,
    appServicePlanId: testPlan.id,
    appSettings: {
        SOME_KEY: "some-value",
    },
    connectionStrings: [{
        name: "Database",
        type: "SQLServer",
        value: "Server=some-server.mydomain.com;Integrated Security=SSPI",
    }],
    location: testResourceGroup.location,
    name: server.hex,
    resourceGroupName: testResourceGroup.name,
    siteConfig: {
        dotnetFrameworkVersion: "v4.0",
    },
});

Example Usage (Java 1.8)

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";
import * as random from "@pulumi/random";

const testResourceGroup = new azure.core.ResourceGroup("test", {
    location: "West Europe",
    name: "some-resource-group",
});
const server = new random.RandomId("server", {
    byteLength: 8,
    keepers: {
        azi_id: 1,
    },
});
const testPlan = new azure.appservice.Plan("test", {
    location: testResourceGroup.location,
    name: "some-app-service-plan",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "S1",
        tier: "Standard",
    },
});
const testAppService = new azure.appservice.AppService("test", {
    appServicePlanId: testPlan.id,
    location: testResourceGroup.location,
    name: server.hex,
    resourceGroupName: testResourceGroup.name,
    siteConfig: {
        javaContainer: "JETTY",
        javaContainerVersion: "9.3",
        javaVersion: "1.8",
    },
});
const testSlot = new azure.appservice.Slot("test", {
    appServiceName: testAppService.name,
    appServicePlanId: testPlan.id,
    location: testResourceGroup.location,
    name: server.hex,
    resourceGroupName: testResourceGroup.name,
    siteConfig: {
        javaContainer: "JETTY",
        javaContainerVersion: "9.3",
        javaVersion: "1.8",
    },
});

constructor

new Slot(name: string, args: SlotArgs, opts?: pulumi.CustomResourceOptions)

Create a Slot resource with the given unique name, arguments, and options.

  • name The unique name of the resource.
  • args The arguments to use to populate this resource's properties.
  • opts A bag of options that control this resource's behavior.

method get

public static get(name: string, id: pulumi.Input<pulumi.ID>, state?: SlotState, opts?: pulumi.CustomResourceOptions): Slot

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

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

property appServiceName

public appServiceName: pulumi.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.

property appServicePlanId

public appServicePlanId: pulumi.Output<string>;

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

property appSettings

public appSettings: pulumi.Output<{[key: string]: any}>;

A key-value pair of App Settings.

property clientAffinityEnabled

public clientAffinityEnabled: pulumi.Output<boolean>;

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

property connectionStrings

public connectionStrings: pulumi.Output<{
    name: string;
    type: string;
    value: string;
}[]>;

An connection_string block as defined below.

property defaultSiteHostname

public defaultSiteHostname: pulumi.Output<string>;

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

property enabled

public enabled: pulumi.Output<boolean | undefined>;

Is the App Service Slot Enabled?

property httpsOnly

public httpsOnly: pulumi.Output<boolean | undefined>;

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

property id

id: Output<ID>;

id is the provider-assigned unique ID for this managed resource. It is set during deployments and may be missing (undefined) during planning phases.

property identity

public identity: pulumi.Output<{
    principalId: string;
    tenantId: string;
    type: string;
} | undefined>;

A Managed Service Identity block as defined below.

property location

public location: pulumi.Output<string>;

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

property name

public name: pulumi.Output<string>;

The name of the Connection String.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the App Service Slot component.

property siteConfig

public siteConfig: pulumi.Output<{
    alwaysOn: undefined | false | true;
    appCommandLine: undefined | string;
    cors: {
        allowedOrigins: string[];
        supportCredentials: undefined | false | true;
    };
    defaultDocuments: string[];
    dotnetFrameworkVersion: undefined | string;
    ftpsState: string;
    http2Enabled: undefined | false | true;
    ipRestrictions: {
        ipAddress: string;
        subnetMask: undefined | string;
    }[];
    javaContainer: undefined | string;
    javaContainerVersion: undefined | string;
    javaVersion: undefined | string;
    linuxFxVersion: string;
    localMysqlEnabled: boolean;
    managedPipelineMode: string;
    minTlsVersion: string;
    phpVersion: undefined | string;
    pythonVersion: undefined | string;
    remoteDebuggingEnabled: undefined | false | true;
    remoteDebuggingVersion: string;
    scmType: undefined | string;
    use32BitWorkerProcess: undefined | false | true;
    virtualNetworkName: undefined | string;
    websocketsEnabled: boolean;
}>;

A site_config object as defined below.

property siteCredential

public siteCredential: pulumi.Output<{
    password: string;
    username: string;
}>;

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

property tags

public tags: pulumi.Output<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

class TimerSubscription

extends EventSubscription<TimerContext, TimerInfo, void>

constructor

new TimerSubscription(name: string, args: TimerSubscriptionArgs, opts: pulumi.CustomResourceOptions)

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomResource. This is designed to work even when multiple copies of the Pulumi SDK have been loaded into the same process.

method registerOutputs

protected registerOutputs(outputs?: Inputs | Promise<Inputs> | Output<Inputs>): void

property functionApp

property urn

urn: Output<URN>;

urn is the stable logical URN used to distinctly address a resource, both before and after deployments.

function getAppService

getAppService(args: GetAppServiceArgs, opts?: pulumi.InvokeOptions): Promise<GetAppServiceResult>

Use this data source to access information about an existing App Service.

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const test = pulumi.output(azure.appservice.getAppService({
    name: "search-app-service",
    resourceGroupName: "search-service",
}));

export const appServiceId = test.id;

function getAppServicePlan

getAppServicePlan(args: GetAppServicePlanArgs, opts?: pulumi.InvokeOptions): Promise<GetAppServicePlanResult>

Use this data source to access information about an existing App Service Plan (formerly known as a Server Farm).

Example Usage

import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const test = pulumi.output(azure.appservice.getAppServicePlan({
    name: "search-app-service-plan",
    resourceGroupName: "search-service",
}));

export const appServicePlanId = test.id;

function getResourceGroupNameAndLocation

function signedBlobReadUrl

interface ActiveSlotArgs

The set of arguments for constructing a ActiveSlot resource.

property appServiceName

appServiceName: pulumi.Input<string>;

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

property appServiceSlotName

appServiceSlotName: pulumi.Input<string>;

The name of the App Service Slot which should be promoted to the Production Slot within the App Service.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

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

interface ActiveSlotState

Input properties used for looking up and filtering ActiveSlot resources.

property appServiceName

appServiceName?: pulumi.Input<string>;

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

property appServiceSlotName

appServiceSlotName?: pulumi.Input<string>;

The name of the App Service Slot which should be promoted to the Production Slot within the App Service.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

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

interface AppServiceArgs

The set of arguments for constructing a AppService resource.

property appServicePlanId

appServicePlanId: pulumi.Input<string>;

The ID of the App Service Plan within which to create this App Service.

property appSettings

appSettings?: pulumi.Input<{[key: string]: any}>;

A key-value pair of App Settings.

property authSettings

authSettings?: pulumi.Input<{
    activeDirectory: pulumi.Input<{
        allowedAudiences: pulumi.Input<pulumi.Input<string>[]>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
    }>;
    additionalLoginParams: pulumi.Input<{[key: string]: any}>;
    allowedExternalRedirectUrls: pulumi.Input<pulumi.Input<string>[]>;
    defaultProvider: pulumi.Input<string>;
    enabled: pulumi.Input<boolean>;
    facebook: pulumi.Input<{
        appId: pulumi.Input<string>;
        appSecret: pulumi.Input<string>;
        oauthScopes: pulumi.Input<pulumi.Input<string>[]>;
    }>;
    google: pulumi.Input<{
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        oauthScopes: pulumi.Input<pulumi.Input<string>[]>;
    }>;
    issuer: pulumi.Input<string>;
    microsoft: pulumi.Input<{
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        oauthScopes: pulumi.Input<pulumi.Input<string>[]>;
    }>;
    runtimeVersion: pulumi.Input<string>;
    tokenRefreshExtensionHours: pulumi.Input<number>;
    tokenStoreEnabled: pulumi.Input<boolean>;
    twitter: pulumi.Input<{
        consumerKey: pulumi.Input<string>;
        consumerSecret: pulumi.Input<string>;
    }>;
    unauthenticatedClientAction: pulumi.Input<string>;
}>;

property clientAffinityEnabled

clientAffinityEnabled?: pulumi.Input<boolean>;

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

property clientCertEnabled

clientCertEnabled?: pulumi.Input<boolean>;

Does the App Service require client certificates for incoming requests? Defaults to false.

property connectionStrings

connectionStrings?: pulumi.Input<pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

One or more connection_string blocks as defined below.

property enabled

enabled?: pulumi.Input<boolean>;

Is the App Service Enabled?

property httpsOnly

httpsOnly?: pulumi.Input<boolean>;

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

property identity

identity?: pulumi.Input<{
    principalId: pulumi.Input<string>;
    tenantId: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

A Managed Service Identity block as defined below.

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

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

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the App Service.

property siteConfig

siteConfig?: pulumi.Input<{
    alwaysOn: pulumi.Input<boolean>;
    appCommandLine: pulumi.Input<string>;
    cors: pulumi.Input<{
        allowedOrigins: pulumi.Input<pulumi.Input<string>[]>;
        supportCredentials: pulumi.Input<boolean>;
    }>;
    defaultDocuments: pulumi.Input<pulumi.Input<string>[]>;
    dotnetFrameworkVersion: pulumi.Input<string>;
    ftpsState: pulumi.Input<string>;
    http2Enabled: pulumi.Input<boolean>;
    ipRestrictions: pulumi.Input<pulumi.Input<{
        ipAddress: pulumi.Input<string>;
        subnetMask: pulumi.Input<string>;
    }>[]>;
    javaContainer: pulumi.Input<string>;
    javaContainerVersion: pulumi.Input<string>;
    javaVersion: pulumi.Input<string>;
    linuxFxVersion: pulumi.Input<string>;
    localMysqlEnabled: pulumi.Input<boolean>;
    managedPipelineMode: pulumi.Input<string>;
    minTlsVersion: pulumi.Input<string>;
    phpVersion: pulumi.Input<string>;
    pythonVersion: pulumi.Input<string>;
    remoteDebuggingEnabled: pulumi.Input<boolean>;
    remoteDebuggingVersion: pulumi.Input<string>;
    scmType: pulumi.Input<string>;
    use32BitWorkerProcess: pulumi.Input<boolean>;
    virtualNetworkName: pulumi.Input<string>;
    websocketsEnabled: pulumi.Input<boolean>;
}>;

A site_config block as defined below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface AppServiceState

Input properties used for looking up and filtering AppService resources.

property appServicePlanId

appServicePlanId?: pulumi.Input<string>;

The ID of the App Service Plan within which to create this App Service.

property appSettings

appSettings?: pulumi.Input<{[key: string]: any}>;

A key-value pair of App Settings.

property authSettings

authSettings?: pulumi.Input<{
    activeDirectory: pulumi.Input<{
        allowedAudiences: pulumi.Input<pulumi.Input<string>[]>;
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
    }>;
    additionalLoginParams: pulumi.Input<{[key: string]: any}>;
    allowedExternalRedirectUrls: pulumi.Input<pulumi.Input<string>[]>;
    defaultProvider: pulumi.Input<string>;
    enabled: pulumi.Input<boolean>;
    facebook: pulumi.Input<{
        appId: pulumi.Input<string>;
        appSecret: pulumi.Input<string>;
        oauthScopes: pulumi.Input<pulumi.Input<string>[]>;
    }>;
    google: pulumi.Input<{
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        oauthScopes: pulumi.Input<pulumi.Input<string>[]>;
    }>;
    issuer: pulumi.Input<string>;
    microsoft: pulumi.Input<{
        clientId: pulumi.Input<string>;
        clientSecret: pulumi.Input<string>;
        oauthScopes: pulumi.Input<pulumi.Input<string>[]>;
    }>;
    runtimeVersion: pulumi.Input<string>;
    tokenRefreshExtensionHours: pulumi.Input<number>;
    tokenStoreEnabled: pulumi.Input<boolean>;
    twitter: pulumi.Input<{
        consumerKey: pulumi.Input<string>;
        consumerSecret: pulumi.Input<string>;
    }>;
    unauthenticatedClientAction: pulumi.Input<string>;
}>;

property clientAffinityEnabled

clientAffinityEnabled?: pulumi.Input<boolean>;

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

property clientCertEnabled

clientCertEnabled?: pulumi.Input<boolean>;

Does the App Service require client certificates for incoming requests? Defaults to false.

property connectionStrings

connectionStrings?: pulumi.Input<pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

One or more connection_string blocks as defined below.

property defaultSiteHostname

defaultSiteHostname?: pulumi.Input<string>;

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

property enabled

enabled?: pulumi.Input<boolean>;

Is the App Service Enabled?

property httpsOnly

httpsOnly?: pulumi.Input<boolean>;

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

property identity

identity?: pulumi.Input<{
    principalId: pulumi.Input<string>;
    tenantId: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

A Managed Service Identity block as defined below.

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

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

property outboundIpAddresses

outboundIpAddresses?: pulumi.Input<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12

property possibleOutboundIpAddresses

possibleOutboundIpAddresses?: pulumi.Input<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the App Service.

property siteConfig

siteConfig?: pulumi.Input<{
    alwaysOn: pulumi.Input<boolean>;
    appCommandLine: pulumi.Input<string>;
    cors: pulumi.Input<{
        allowedOrigins: pulumi.Input<pulumi.Input<string>[]>;
        supportCredentials: pulumi.Input<boolean>;
    }>;
    defaultDocuments: pulumi.Input<pulumi.Input<string>[]>;
    dotnetFrameworkVersion: pulumi.Input<string>;
    ftpsState: pulumi.Input<string>;
    http2Enabled: pulumi.Input<boolean>;
    ipRestrictions: pulumi.Input<pulumi.Input<{
        ipAddress: pulumi.Input<string>;
        subnetMask: pulumi.Input<string>;
    }>[]>;
    javaContainer: pulumi.Input<string>;
    javaContainerVersion: pulumi.Input<string>;
    javaVersion: pulumi.Input<string>;
    linuxFxVersion: pulumi.Input<string>;
    localMysqlEnabled: pulumi.Input<boolean>;
    managedPipelineMode: pulumi.Input<string>;
    minTlsVersion: pulumi.Input<string>;
    phpVersion: pulumi.Input<string>;
    pythonVersion: pulumi.Input<string>;
    remoteDebuggingEnabled: pulumi.Input<boolean>;
    remoteDebuggingVersion: pulumi.Input<string>;
    scmType: pulumi.Input<string>;
    use32BitWorkerProcess: pulumi.Input<boolean>;
    virtualNetworkName: pulumi.Input<string>;
    websocketsEnabled: pulumi.Input<boolean>;
}>;

A site_config block as defined below.

property siteCredential

siteCredential?: pulumi.Input<{
    password: pulumi.Input<string>;
    username: pulumi.Input<string>;
}>;

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

property sourceControl

sourceControl?: pulumi.Input<{
    branch: pulumi.Input<string>;
    repoUrl: pulumi.Input<string>;
}>;

A source_control block as defined below, which contains the Source Control information when scm_type is set to LocalGit.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface Context

extends Context

method done

done(err?: Error | string | null, result?: R): void

A callback function that signals to the runtime that your code has completed. If your function is synchronous, you must call context.done at the end of execution. If your function is asynchronous, you should not use this callback.

property bindingData

bindingData: {[key: string]: any};

Trigger metadata and function invocation data.

property bindingDefinitions

bindingDefinitions: BindingDefinition[];

Bindings your function uses, as defined in function.json.

property bindings

bindings: {[key: string]: any};

Input and trigger binding data, as defined in function.json. Properties on this object are dynamically generated and named based off of the “name” property in function.json.

property executionContext

executionContext: ExecutionContext;

Function execution metadata.

property invocationId

invocationId: string;

A unique GUID per function invocation.

property log

log: Logger;

Allows you to write streaming function logs. Calling directly allows you to write streaming function logs at the default trace level.

property req

req?: HttpRequest;

HTTP request object. Provided to your function when using HTTP Bindings.

property res

res?: undefined | {[key: string]: any};

HTTP response object. Provided to your function when using HTTP Bindings.

interface CustomHostnameBindingArgs

The set of arguments for constructing a CustomHostnameBinding resource.

property appServiceName

appServiceName: pulumi.Input<string>;

The name of the App Service in which to add the Custom Hostname Binding. Changing this forces a new resource to be created.

property hostname

hostname: pulumi.Input<string>;

Specifies the Custom Hostname to use for the App Service, example www.example.com. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

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

interface CustomHostnameBindingState

Input properties used for looking up and filtering CustomHostnameBinding resources.

property appServiceName

appServiceName?: pulumi.Input<string>;

The name of the App Service in which to add the Custom Hostname Binding. Changing this forces a new resource to be created.

property hostname

hostname?: pulumi.Input<string>;

Specifies the Custom Hostname to use for the App Service, example www.example.com. Changing this forces a new resource to be created.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

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

interface FunctionAppArgs

The set of arguments for constructing a FunctionApp resource.

property appServicePlanId

appServicePlanId: pulumi.Input<string>;

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

property appSettings

appSettings?: pulumi.Input<{[key: string]: any}>;

A key-value pair of App Settings.

property clientAffinityEnabled

clientAffinityEnabled?: pulumi.Input<boolean>;

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

property connectionStrings

connectionStrings?: pulumi.Input<pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

An connection_string block as defined below.

property enableBuiltinLogging

enableBuiltinLogging?: pulumi.Input<boolean>;

Should the built-in logging of this Function App be enabled? Defaults to true.

property enabled

enabled?: pulumi.Input<boolean>;

Is the Function App enabled?

property httpsOnly

httpsOnly?: pulumi.Input<boolean>;

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

property identity

identity?: pulumi.Input<{
    principalId: pulumi.Input<string>;
    tenantId: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

An identity block as defined below.

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

The name of the Connection String.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the Function App.

property siteConfig

siteConfig?: pulumi.Input<{
    alwaysOn: pulumi.Input<boolean>;
    linuxFxVersion: pulumi.Input<string>;
    use32BitWorkerProcess: pulumi.Input<boolean>;
    websocketsEnabled: pulumi.Input<boolean>;
}>;

A site_config object as defined below.

property storageConnectionString

storageConnectionString: pulumi.Input<string>;

The connection string of the backend storage account which will be used by this Function App (such as the dashboard, logs).

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property version

version?: pulumi.Input<string>;

The runtime version associated with the Function App. Defaults to ~1.

interface FunctionAppState

Input properties used for looking up and filtering FunctionApp resources.

property appServicePlanId

appServicePlanId?: pulumi.Input<string>;

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

property appSettings

appSettings?: pulumi.Input<{[key: string]: any}>;

A key-value pair of App Settings.

property clientAffinityEnabled

clientAffinityEnabled?: pulumi.Input<boolean>;

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

property connectionStrings

connectionStrings?: pulumi.Input<pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

An connection_string block as defined below.

property defaultHostname

defaultHostname?: pulumi.Input<string>;

The default hostname associated with the Function App - such as mysite.azurewebsites.net

property enableBuiltinLogging

enableBuiltinLogging?: pulumi.Input<boolean>;

Should the built-in logging of this Function App be enabled? Defaults to true.

property enabled

enabled?: pulumi.Input<boolean>;

Is the Function App enabled?

property httpsOnly

httpsOnly?: pulumi.Input<boolean>;

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

property identity

identity?: pulumi.Input<{
    principalId: pulumi.Input<string>;
    tenantId: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

An identity block as defined below.

property kind

kind?: pulumi.Input<string>;

The Function App kind - such as functionapp,linux,container

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

The name of the Connection String.

property outboundIpAddresses

outboundIpAddresses?: pulumi.Input<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12

property possibleOutboundIpAddresses

possibleOutboundIpAddresses?: pulumi.Input<string>;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the Function App.

property siteConfig

siteConfig?: pulumi.Input<{
    alwaysOn: pulumi.Input<boolean>;
    linuxFxVersion: pulumi.Input<string>;
    use32BitWorkerProcess: pulumi.Input<boolean>;
    websocketsEnabled: pulumi.Input<boolean>;
}>;

A site_config object as defined below.

property siteCredential

siteCredential?: pulumi.Input<{
    password: pulumi.Input<string>;
    username: pulumi.Input<string>;
}>;

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

property storageConnectionString

storageConnectionString?: pulumi.Input<string>;

The connection string of the backend storage account which will be used by this Function App (such as the dashboard, logs).

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

property version

version?: pulumi.Input<string>;

The runtime version associated with the Function App. Defaults to ~1.

interface GetAppServiceArgs

A collection of arguments for invoking getAppService.

property name

name: string;

The name of the App Service.

property resourceGroupName

resourceGroupName: string;

The Name of the Resource Group where the App Service exists.

interface GetAppServicePlanArgs

A collection of arguments for invoking getAppServicePlan.

property name

name: string;

The name of the App Service Plan.

property resourceGroupName

resourceGroupName: string;

The Name of the Resource Group where the App Service Plan exists.

interface GetAppServicePlanResult

A collection of values returned by getAppServicePlan.

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property kind

kind: string;

The Operating System type of the App Service Plan

property location

location: string;

The Azure location where the App Service Plan exists

property maximumNumberOfWorkers

maximumNumberOfWorkers: number;

Maximum number of instances that can be assigned to this App Service plan.

property name

name: string;

property properties

properties: {
    appServiceEnvironmentId: string;
    perSiteScaling: boolean;
    reserved: boolean;
}[];

A properties block as documented below.

property resourceGroupName

resourceGroupName: string;

property sku

sku: {
    capacity: number;
    size: string;
    tier: string;
};

A sku block as documented below.

property tags

tags: {[key: string]: any};

A mapping of tags assigned to the resource.

interface GetAppServiceResult

A collection of values returned by getAppService.

property appServicePlanId

appServicePlanId: string;

The ID of the App Service Plan within which the App Service exists.

property appSettings

appSettings: {[key: string]: any};

A key-value pair of App Settings for the App Service.

property clientAffinityEnabled

clientAffinityEnabled: boolean;

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

property clientCertEnabled

clientCertEnabled: boolean;

Does the App Service require client certificates for incoming requests?

property connectionStrings

connectionStrings: {
    name: string;
    type: string;
    value: string;
}[];

An connection_string block as defined below.

property defaultSiteHostname

defaultSiteHostname: string;

property enabled

enabled: boolean;

Is the App Service Enabled?

property httpsOnly

httpsOnly: boolean;

Can the App Service only be accessed via HTTPS?

property id

id: string;

id is the provider-assigned unique ID for this managed resource.

property location

location: string;

The Azure location where the App Service exists.

property name

name: string;

The name of the Connection String.

property outboundIpAddresses

outboundIpAddresses: string;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12

property possibleOutboundIpAddresses

possibleOutboundIpAddresses: string;

A comma separated list of outbound IP addresses - such as 52.23.25.3,52.143.43.12,52.143.43.17 - not all of which are necessarily in use. Superset of outbound_ip_addresses.

property resourceGroupName

resourceGroupName: string;

property siteConfigs

siteConfigs: {
    alwaysOn: boolean;
    appCommandLine: string;
    cors: {
        allowedOrigins: string[];
        supportCredentials: boolean;
    };
    defaultDocuments: string[];
    dotnetFrameworkVersion: string;
    ftpsState: string;
    http2Enabled: boolean;
    ipRestrictions: {
        ipAddress: string;
        subnetMask: string;
    }[];
    javaContainer: string;
    javaContainerVersion: string;
    javaVersion: string;
    linuxFxVersion: string;
    localMysqlEnabled: boolean;
    managedPipelineMode: string;
    minTlsVersion: string;
    phpVersion: string;
    pythonVersion: string;
    remoteDebuggingEnabled: boolean;
    remoteDebuggingVersion: string;
    scmType: string;
    use32BitWorkerProcess: boolean;
    virtualNetworkName: string;
    websocketsEnabled: boolean;
}[];

A site_config block as defined below.

property siteCredentials

siteCredentials: {
    password: string;
    username: string;
}[];

property sourceControls

sourceControls: {
    branch: string;
    repoUrl: string;
}[];

property tags

tags: {[key: string]: any};

A mapping of tags to assign to the resource.

interface HostSettings

The host.json metadata file contains global configuration options that affect all functions for a function app. These values can be provided here, or defaults will be used in their place.

For more details see https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json

property aggregator

aggregator?: undefined | {
    batchSize: number;
    flushTimeout: string;
};

Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

See https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json#aggregator for more details.

property functionTimeout

functionTimeout?: undefined | string;

Indicates the timeout duration for all functions. In a serverless Consumption plan, the valid range is from 1 second to 10 minutes, and the default value is 5 minutes. In an App Service plan, there is no overall limit and the default depends on the runtime version. In version 2.x, the default value for an App Service plan is 30 minutes.

property healthMonitor

healthMonitor?: undefined | {
    counterThreshold: number;
    enabled: boolean;
    healthCheckInterval: string;
    healthCheckThreshold: number;
    healthCheckWindow: string;
};

Configuration settings for host-health-monitor.

property logging

logging?: undefined | {
    applicationInsights: {
        samplingSettings: {
            isEnabled: boolean;
            maxTelemetryItemsPerSecond: number;
        };
    };
    fileLoggingMode: “never” | “only” | “debugOnly”;
    logLevel: {
        default: string;
    };
};

Controls the logging behaviors of the function app, including Application Insights.

property singleton

singleton?: undefined | {
    listenerLockPeriod: string;
    listenerLockRecoveryPollingInterval: string;
    lockAcquisitionPollingInterval: string;
    lockAcquisitionTimeout: string;
    lockPeriod: string;
};

Configuration settings for Singleton lock behavior. For more information, see GitHub-issue about singleton support.

interface HttpHostSettings

extends HostSettings

Host settings specific to the HTTP plugin.

For more details see https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json#http

property aggregator

aggregator?: undefined | {
    batchSize: number;
    flushTimeout: string;
};

Specifies how many function invocations are aggregated when calculating metrics for Application Insights.

See https://docs.microsoft.com/en-us/azure/azure-functions/functions-host-json#aggregator for more details.

property extensions

extensions?: undefined | {
    http: {
        dynamicThrottlesEnabled: undefined | false | true;
        maxConcurrentRequests: undefined | number;
        maxOutstandingRequests: undefined | number;
        routePrefix: undefined | string;
    };
};

property functionTimeout

functionTimeout?: undefined | string;

Indicates the timeout duration for all functions. In a serverless Consumption plan, the valid range is from 1 second to 10 minutes, and the default value is 5 minutes. In an App Service plan, there is no overall limit and the default depends on the runtime version. In version 2.x, the default value for an App Service plan is 30 minutes.

property healthMonitor

healthMonitor?: undefined | {
    counterThreshold: number;
    enabled: boolean;
    healthCheckInterval: string;
    healthCheckThreshold: number;
    healthCheckWindow: string;
};

Configuration settings for host-health-monitor.

property logging

logging?: undefined | {
    applicationInsights: {
        samplingSettings: {
            isEnabled: boolean;
            maxTelemetryItemsPerSecond: number;
        };
    };
    fileLoggingMode: “never” | “only” | “debugOnly”;
    logLevel: {
        default: string;
    };
};

Controls the logging behaviors of the function app, including Application Insights.

property singleton

singleton?: undefined | {
    listenerLockPeriod: string;
    listenerLockRecoveryPollingInterval: string;
    lockAcquisitionPollingInterval: string;
    lockAcquisitionTimeout: string;
    lockPeriod: string;
};

Configuration settings for Singleton lock behavior. For more information, see GitHub-issue about singleton support.

interface PlanArgs

The set of arguments for constructing a Plan resource.

property appServiceEnvironmentId

appServiceEnvironmentId?: pulumi.Input<string>;

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

property kind

kind?: pulumi.Input<string>;

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

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

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

property perSiteScaling

perSiteScaling?: pulumi.Input<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. Defaults to false.

property properties

properties?: pulumi.Input<{
    appServiceEnvironmentId: pulumi.Input<string>;
    perSiteScaling: pulumi.Input<boolean>;
    reserved: pulumi.Input<boolean>;
}>;

property reserved

reserved?: pulumi.Input<boolean>;

Is this App Service Plan Reserved. Defaults to false.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the App Service Plan component.

property sku

sku: pulumi.Input<{
    capacity: pulumi.Input<number>;
    size: pulumi.Input<string>;
    tier: pulumi.Input<string>;
}>;

A sku block as documented below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface PlanState

Input properties used for looking up and filtering Plan resources.

property appServiceEnvironmentId

appServiceEnvironmentId?: pulumi.Input<string>;

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

property kind

kind?: pulumi.Input<string>;

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

property location

location?: pulumi.Input<string>;

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

property maximumNumberOfWorkers

maximumNumberOfWorkers?: pulumi.Input<number>;

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

property name

name?: pulumi.Input<string>;

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

property perSiteScaling

perSiteScaling?: pulumi.Input<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. Defaults to false.

property properties

properties?: pulumi.Input<{
    appServiceEnvironmentId: pulumi.Input<string>;
    perSiteScaling: pulumi.Input<boolean>;
    reserved: pulumi.Input<boolean>;
}>;

property reserved

reserved?: pulumi.Input<boolean>;

Is this App Service Plan Reserved. Defaults to false.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the App Service Plan component.

property sku

sku?: pulumi.Input<{
    capacity: pulumi.Input<number>;
    size: pulumi.Input<string>;
    tier: pulumi.Input<string>;
}>;

A sku block as documented below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface ScheduleArgs

property dayOfMonth

dayOfMonth?: undefined | number;

1 to 31. Leave undefined to indicate no specific value.

property dayOfWeek

dayOfWeek?: DayOfWeek;

Day of the week to perform the scheduled action on. Leave undefined to indicate no specific value.

property hour

hour?: undefined | number;

0 to 23. Leave undefined to indicate no specific value. All times UTC

property minute

minute?: undefined | number;

0 to 59. Leave undefined to indicate no specific value.

property month

month?: Month;

Month of the year to perform the scheduled action on. Leave undefined to indicate no specific value.

property second

second?: undefined | number;

0 to 59. Leave undefined to indicate no specific value.

interface SlotArgs

The set of arguments for constructing a Slot resource.

property appServiceName

appServiceName: pulumi.Input<string>;

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

property appServicePlanId

appServicePlanId: pulumi.Input<string>;

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

property appSettings

appSettings?: pulumi.Input<{[key: string]: any}>;

A key-value pair of App Settings.

property clientAffinityEnabled

clientAffinityEnabled?: pulumi.Input<boolean>;

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

property connectionStrings

connectionStrings?: pulumi.Input<pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

An connection_string block as defined below.

property enabled

enabled?: pulumi.Input<boolean>;

Is the App Service Slot Enabled?

property httpsOnly

httpsOnly?: pulumi.Input<boolean>;

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

property identity

identity?: pulumi.Input<{
    principalId: pulumi.Input<string>;
    tenantId: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

A Managed Service Identity block as defined below.

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

The name of the Connection String.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the App Service Slot component.

property siteConfig

siteConfig?: pulumi.Input<{
    alwaysOn: pulumi.Input<boolean>;
    appCommandLine: pulumi.Input<string>;
    cors: pulumi.Input<{
        allowedOrigins: pulumi.Input<pulumi.Input<string>[]>;
        supportCredentials: pulumi.Input<boolean>;
    }>;
    defaultDocuments: pulumi.Input<pulumi.Input<string>[]>;
    dotnetFrameworkVersion: pulumi.Input<string>;
    ftpsState: pulumi.Input<string>;
    http2Enabled: pulumi.Input<boolean>;
    ipRestrictions: pulumi.Input<pulumi.Input<{
        ipAddress: pulumi.Input<string>;
        subnetMask: pulumi.Input<string>;
    }>[]>;
    javaContainer: pulumi.Input<string>;
    javaContainerVersion: pulumi.Input<string>;
    javaVersion: pulumi.Input<string>;
    linuxFxVersion: pulumi.Input<string>;
    localMysqlEnabled: pulumi.Input<boolean>;
    managedPipelineMode: pulumi.Input<string>;
    minTlsVersion: pulumi.Input<string>;
    phpVersion: pulumi.Input<string>;
    pythonVersion: pulumi.Input<string>;
    remoteDebuggingEnabled: pulumi.Input<boolean>;
    remoteDebuggingVersion: pulumi.Input<string>;
    scmType: pulumi.Input<string>;
    use32BitWorkerProcess: pulumi.Input<boolean>;
    virtualNetworkName: pulumi.Input<string>;
    websocketsEnabled: pulumi.Input<boolean>;
}>;

A site_config object as defined below.

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface SlotState

Input properties used for looking up and filtering Slot resources.

property appServiceName

appServiceName?: pulumi.Input<string>;

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

property appServicePlanId

appServicePlanId?: pulumi.Input<string>;

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

property appSettings

appSettings?: pulumi.Input<{[key: string]: any}>;

A key-value pair of App Settings.

property clientAffinityEnabled

clientAffinityEnabled?: pulumi.Input<boolean>;

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

property connectionStrings

connectionStrings?: pulumi.Input<pulumi.Input<{
    name: pulumi.Input<string>;
    type: pulumi.Input<string>;
    value: pulumi.Input<string>;
}>[]>;

An connection_string block as defined below.

property defaultSiteHostname

defaultSiteHostname?: pulumi.Input<string>;

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

property enabled

enabled?: pulumi.Input<boolean>;

Is the App Service Slot Enabled?

property httpsOnly

httpsOnly?: pulumi.Input<boolean>;

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

property identity

identity?: pulumi.Input<{
    principalId: pulumi.Input<string>;
    tenantId: pulumi.Input<string>;
    type: pulumi.Input<string>;
}>;

A Managed Service Identity block as defined below.

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

The name of the Connection String.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the App Service Slot component.

property siteConfig

siteConfig?: pulumi.Input<{
    alwaysOn: pulumi.Input<boolean>;
    appCommandLine: pulumi.Input<string>;
    cors: pulumi.Input<{
        allowedOrigins: pulumi.Input<pulumi.Input<string>[]>;
        supportCredentials: pulumi.Input<boolean>;
    }>;
    defaultDocuments: pulumi.Input<pulumi.Input<string>[]>;
    dotnetFrameworkVersion: pulumi.Input<string>;
    ftpsState: pulumi.Input<string>;
    http2Enabled: pulumi.Input<boolean>;
    ipRestrictions: pulumi.Input<pulumi.Input<{
        ipAddress: pulumi.Input<string>;
        subnetMask: pulumi.Input<string>;
    }>[]>;
    javaContainer: pulumi.Input<string>;
    javaContainerVersion: pulumi.Input<string>;
    javaVersion: pulumi.Input<string>;
    linuxFxVersion: pulumi.Input<string>;
    localMysqlEnabled: pulumi.Input<boolean>;
    managedPipelineMode: pulumi.Input<string>;
    minTlsVersion: pulumi.Input<string>;
    phpVersion: pulumi.Input<string>;
    pythonVersion: pulumi.Input<string>;
    remoteDebuggingEnabled: pulumi.Input<boolean>;
    remoteDebuggingVersion: pulumi.Input<string>;
    scmType: pulumi.Input<string>;
    use32BitWorkerProcess: pulumi.Input<boolean>;
    virtualNetworkName: pulumi.Input<string>;
    websocketsEnabled: pulumi.Input<boolean>;
}>;

A site_config object as defined below.

property siteCredential

siteCredential?: pulumi.Input<{
    password: pulumi.Input<string>;
    username: pulumi.Input<string>;
}>;

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

property tags

tags?: pulumi.Input<{[key: string]: any}>;

A mapping of tags to assign to the resource.

interface TimerContext

extends Context<void>

Data that will be passed along in the context object to the timer callback.

method done

done(err?: Error | string | null, result?: R): void

A callback function that signals to the runtime that your code has completed. If your function is synchronous, you must call context.done at the end of execution. If your function is asynchronous, you should not use this callback.

property bindingData

bindingData: {
    invocationId: string;
    sys: {
        methodName: string;
        utcNow: string;
    };
    timerTrigger: string;
};

property bindingDefinitions

bindingDefinitions: BindingDefinition[];

Bindings your function uses, as defined in function.json.

property bindings

bindings: {
    timer: TimerInfo;
};

property executionContext

executionContext: {
    functionDirectory: string;
    functionName: string;
    invocationId: string;
};

property invocationId

invocationId: string;

property log

log: Logger;

Allows you to write streaming function logs. Calling directly allows you to write streaming function logs at the default trace level.

property req

req?: HttpRequest;

HTTP request object. Provided to your function when using HTTP Bindings.

property res

res?: undefined | {[key: string]: any};

HTTP response object. Provided to your function when using HTTP Bindings.

interface TimerInfo

Timer event data that will be passed to the timer callback.

property IsPastDue

IsPastDue: boolean;

property Schedule

Schedule: {
    AdjustForDST: boolean;
};

property ScheduleStatus

ScheduleStatus: {
    Last: string;
    LastUpdated: string;
    Next: string;
};

type BindingDefinition

type BindingDefinition = azurefunctions.BindingDefinition;

Represents a Binding that will be emitted into the function.json config file for the FunctionApp. Individual services will have more specific information they will define in their own bindings.

type Callback

type Callback = (context: C, event: E) => Promise<R> | void;

Callback is the signature for an Azure FunctionApp entrypoint.

[context] Azure uses this parameter to provide details of your FunctionApp’s execution. For more information, see https://docs.microsoft.com/en-us/azure/azure-functions/functions-reference-node

[event] is the data passed in by specific services calling the FunctionApp (like eventhub or storage). The shape of it will be specific to individual services.

This function can be synchronous or asynchronous function, though async is only supported with an FunctionApps v2 or higher. On v1 runtimes the function must be synchronous. To signal completion synchronously, call context.done() passing in an optional error or result value as appropriate. For async functions, context.done() does not need to be called, and instead a Promise containing the result can be returned.

type CallbackFactory

type CallbackFactory = () => Callback<C, E, R>;

CallbackFactory is the signature for a function that will be called once to produce the function that Azure FunctionApps will call into. It can be used to initialize expensive state once that can then be used across all invocations of the FunctionApp (as long as the FunctionApp is using the same warm node instance).

type CallbackFunctionAppArgs

type CallbackFunctionAppArgs = util.Overwrite<FunctionAppArgs, {
    account: storageForTypesOnly.Account;
    appServicePlanId: undefined;
    appSettings: pulumi.Input<{[key: string]: any}>;
    callback: Callback<C, E, R>;
    callbackFactory: CallbackFactory<C, E, R>;
    codePathOptions: pulumi.runtime.CodePathOptions;
    container: storageForTypesOnly.Container;
    hostSettings: HostSettings;
    location: pulumi.Input<string>;
    nodeVersion: pulumi.Input<string>;
    plan: appservice.Plan;
    resourceGroupName: pulumi.Input<string>;
    storageConnectionString: undefined;
}>;

type DayOfWeek

type DayOfWeek = number | “Monday” | “Tuesday” | “Wednesday” | “Thursday” | “Friday” | “Saturday” | “Sunday”;

If a number, it must be between 0 to 7 (inclusive). (0 and 7 both represent Sunday).

type HttpEventSubscriptionArgs

type HttpEventSubscriptionArgs = util.Overwrite<mod.CallbackFunctionAppArgs<mod.Context<HttpResponse>, HttpRequest, HttpResponse>, {
    hostSettings: HttpHostSettings;
    location: pulumi.Input<string>;
    methods: pulumi.Input<pulumi.Input<string>[]>;
    resourceGroup: core.ResourceGroup;
    resourceGroupName: pulumi.Input<string>;
    route: pulumi.Input<string>;
}>;

type HttpRequest

type HttpRequest = azurefunctions.HttpRequest;

HTTP request object. Provided to your function when using HttpEventSubscription.

type HttpResponse

type HttpResponse = azureessentials.HttpResponse;

Represents an HTTP response including the status code and data.

type Month

type Month = number | “January” | “February” | “March” | “April” | “May” | “June” | “July” | “August” | “September” | “October” | “November” | “December”;

If a number, it must be between 1 to 12 (inclusive).

type Result

type Result = string | Buffer | ArrayBufferView | number | object | void;

An object containing output binding data. This value will be passed to JSON.stringify unless it is a string, Buffer, ArrayBufferView, or number.

void can be specified as the Result type indicating that no value need be provided.

type TimerSubscriptionArgs

type TimerSubscriptionArgs = util.Overwrite<mod.CallbackFunctionAppArgs<TimerContext, TimerInfo, void>, {
    location: pulumi.Input<string>;
    resourceGroup: core.ResourceGroup;
    resourceGroupName: pulumi.Input<string>;
    runOnStartup: pulumi.Input<boolean>;
    schedule: pulumi.Input<string | ScheduleArgs>;
}>;