Module appservice

@pulumi/azure > appservice

This provider is a derived work of the Terraform Provider distributed under MPL 2.0. If you encounter a bug or missing feature, first check the pulumi/pulumi-azure repo; however, if that doesn’t turn up anything, please consult the source terraform-providers/terraform-provider-azurerm repo.

Index ▾

appservice/activeSlot.ts appservice/appService.ts appservice/customHostnameBinding.ts appservice/functionApp.ts appservice/getAppService.ts appservice/getAppServicePlan.ts appservice/kind.ts appservice/plan.ts appservice/slot.ts appservice/zMixins.ts appservice/zMixins_http.ts appservice/zMixins_timer.ts

class ActiveSlot

extends CustomResource

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

Note: When using Slots - the appSettings, connectionString and siteConfig blocks on the azure.appservice.AppService resource will be overwritten when promoting a Slot using the azure.appservice.ActiveSlot 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,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/app_service_active_slot.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of ActiveSlot. 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

This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/app_service.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of AppService. 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;
}>;

A authSettings block as defined below.

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 connectionString 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 logs

public logs: pulumi.Output<{
    applicationLogs: undefined | {
        azureBlobStorage: undefined | {
            level: string;
            retentionInDays: number;
            sasUrl: string;
        };
    };
}>;

A logs block as defined below.

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 outboundIpAddresses.

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;
    windowsFxVersion: string;
}>;

A siteConfig block as defined below.

property siteCredential

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

A siteCredential 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 sourceControl block as defined below, which contains the Source Control information when scmType 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 ArchiveFunctionApp

extends PackagedFunctionApp

A ArchiveFunctionApp is a component that instantiates a azure.appservice.FunctionApp and all the required dependencies and deploys the specified archive into it. The archive must contain the full artifact to be deployed into the Function App.

constructor

new ArchiveFunctionApp(name: string, args: ArchiveFunctionAppArgs, 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 account

public account: storageForTypesOnly.Account;

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

property container

public container: storageForTypesOnly.Container;

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

property endpoint

public endpoint: pulumi.Output<string>;

Root HTTP endpoint of the Function App.

property functionApp

public functionApp: appservice.FunctionApp;

The Function App which contains the functions from the archive.

property plan

public plan: appservice.Plan;

The plan this Function App runs under.

property urn

urn: Output<URN>;

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

property zipBlob

public zipBlob: storageForTypesOnly.ZipBlob;

The blob containing all the code for this FunctionApp.

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 Azure Functions. See https://github.com/pulumi/docs/blob/master/reference/serializing-functions.md for additional details on this process.

constructor

new CallbackFunctionApp(name: string, bindingsOrFunc: pulumi.Input<BindingDefinition[]> | Function<C, E, R>, 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 getFunctionKeys

getFunctionKeys(functionName: pulumi.Input<string>): pulumi.Output<FunctionKeys>

Retrieve the keys associated with the given Function.

method getHostKeys

getHostKeys(): pulumi.Output<FunctionHostKeys>

Retrieve the keys associated with the Function App.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of FunctionApp. 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 zipBlob 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 connectionString block as defined below.

property container

public container: storageForTypesOnly.Container;

Storage container where the FunctionApp’s zipBlob 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 endpoint

public endpoint: pulumi.Output<string>;

Root HTTP endpoint of the Function App.

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 Function App 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 outboundIpAddresses.

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 siteConfig object as defined below.

property siteCredential

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

A siteCredential 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,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/app_service_custom_hostname_binding.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of CustomHostnameBinding. 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, bindingsOrFunc: pulumi.Input<BindingDefinition[]> | Function<C, E, R>, 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 Function

Azure Function base class.

constructor

new Function(name: string, trigger: pulumi.Input<InputBindingDefinition>, args: CallbackFunctionArgs<C, E, R>, settings?: pulumi.Input<{[key: string]: string}>)

property appSettings

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

Application settings required by the function.

property bindings

public bindings: pulumi.Input<BindingDefinition[]>;

An array of function binding definitions.

property callback

public callback: CallbackArgs<C, E, R>;

Function callback.

property name

public name: string;

Function name.

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,
});

This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/function_app.html.markdown.

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 getFunctionKeys

getFunctionKeys(functionName: pulumi.Input<string>): pulumi.Output<FunctionKeys>

Retrieve the keys associated with the given Function.

method getHostKeys

getHostKeys(): pulumi.Output<FunctionHostKeys>

Retrieve the keys associated with the Function App.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of FunctionApp. 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 connectionString 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 outboundIpAddresses.

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 siteConfig object as defined below.

property siteCredential

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

A siteCredential 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, ExtendedHttpResponse>

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, ExtendedHttpResponse>;

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 HttpFunction

extends Function<mod.Context<HttpResponse>, HttpRequest, ExtendedHttpResponse>

Azure Function triggered by HTTP requests.

constructor

new HttpFunction(name: string, args: HttpFunctionArgs)

property appSettings

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

Application settings required by the function.

property bindings

public bindings: pulumi.Input<BindingDefinition[]>;

An array of function binding definitions.

property callback

public callback: CallbackArgs<mod.Context<HttpResponse>, HttpRequest, ExtendedHttpResponse>;

Function callback.

property name

public name: string;

Function name.

class MultiCallbackFunctionApp

extends PackagedFunctionApp

A MultiCallbackFunctionApp is a component that instantiates a azure.appservice.FunctionApp and all the required dependencies out of multiple actual JavaScript functions. At least 1 function is required. The function instances will be analyzed and packaged up (including dependencies) into a form that can be used by Azure Functions. See https://github.com/pulumi/docs/blob/master/reference/serializing-functions.md for additional details on this process.

constructor

new MultiCallbackFunctionApp(name: string, args: MultiCallbackFunctionAppArgs, 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 account

public account: storageForTypesOnly.Account;

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

property container

public container: storageForTypesOnly.Container;

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

property endpoint

public endpoint: pulumi.Output<string>;

Root HTTP endpoint of the Function App.

property functionApp

public functionApp: appservice.FunctionApp;

The Function App which contains the functions from the archive.

property plan

public plan: appservice.Plan;

The plan this Function App runs under.

property urn

urn: Output<URN>;

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

property zipBlob

public zipBlob: storageForTypesOnly.ZipBlob;

The blob containing all the code for this FunctionApp.

class PackagedFunctionApp

extends ComponentResource

A base component for custom Function App components. It is required to provide a common parent for all resources, so that they are logically grouped under the same root in the Pulumi resource tree.

constructor

new PackagedFunctionApp(type: string, name: string, args: ArchiveFunctionAppArgs, 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 account

public account: storageForTypesOnly.Account;

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

property container

public container: storageForTypesOnly.Container;

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

property endpoint

public endpoint: pulumi.Output<string>;

Root HTTP endpoint of the Function App.

property functionApp

public functionApp: appservice.FunctionApp;

The Function App which contains the functions from the archive.

property plan

public plan: appservice.Plan;

The plan this Function App runs under.

property urn

urn: Output<URN>;

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

property zipBlob

public zipBlob: storageForTypesOnly.ZipBlob;

The blob containing all the code for this FunctionApp.

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",
    },
});

Example Usage (Windows Container)

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", {
    isXenon: true,
    kind: "xenon",
    location: testResourceGroup.location,
    name: "api-appserviceplan-pro",
    resourceGroupName: testResourceGroup.name,
    sku: {
        size: "PC2",
        tier: "PremiumContainer",
    },
});

This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/app_service_plan.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Plan. 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 isXenon

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

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 maximumElasticWorkerCount

public maximumElasticWorkerCount: pulumi.Output<number>;

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

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

Example Usage (.net 4.x)

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

const 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",
    },
});

This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/r/app_service_slot.html.markdown.

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

public static isInstance(obj: any): boolean

Returns true if the given object is an instance of Slot. 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 connectionString 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;
    windowsFxVersion: string;
}>;

A siteConfig object as defined below.

property siteCredential

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

A siteCredential 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 TimerFunction

extends Function<TimerContext, TimerInfo, mod.FunctionDefaultResponse>

Azure Function triggered on a CRON schedule.

constructor

new TimerFunction(name: string, args: TimerFunctionArgs)

property appSettings

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

Application settings required by the function.

property bindings

public bindings: pulumi.Input<BindingDefinition[]>;

An array of function binding definitions.

property callback

public callback: CallbackArgs<TimerContext, TimerInfo, mod.FunctionDefaultResponse>;

Function callback.

property name

public name: string;

Function name.

class TimerSubscription

extends EventSubscription<TimerContext, TimerInfo, mod.FunctionDefaultResponse>

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

public functionApp: CallbackFunctionApp<TimerContext, TimerInfo, mod.FunctionDefaultResponse>;

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> & 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;

This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/d/app_service.html.markdown.

function getAppServicePlan

getAppServicePlan(args: GetAppServicePlanArgs, opts?: pulumi.InvokeOptions): Promise<GetAppServicePlanResult> & 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;

This content is derived from https://github.com/terraform-providers/terraform-provider-azurerm/blob/master/website/docs/d/app_service_plan.html.markdown.

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>;
}>;

A authSettings block as defined below.

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 connectionString 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 logs

logs?: pulumi.Input<{
    applicationLogs: pulumi.Input<{
        azureBlobStorage: pulumi.Input<{
            level: pulumi.Input<string>;
            retentionInDays: pulumi.Input<number>;
            sasUrl: pulumi.Input<string>;
        }>;
    }>;
}>;

A logs block as defined below.

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>;
    windowsFxVersion: pulumi.Input<string>;
}>;

A siteConfig 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>;
}>;

A authSettings block as defined below.

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 connectionString 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 logs

logs?: pulumi.Input<{
    applicationLogs: pulumi.Input<{
        azureBlobStorage: pulumi.Input<{
            level: pulumi.Input<string>;
            retentionInDays: pulumi.Input<number>;
            sasUrl: pulumi.Input<string>;
        }>;
    }>;
}>;

A logs block as defined below.

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 outboundIpAddresses.

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>;
    windowsFxVersion: pulumi.Input<string>;
}>;

A siteConfig block as defined below.

property siteCredential

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

A siteCredential 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 sourceControl block as defined below, which contains the Source Control information when scmType is set to LocalGit.

property tags

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

A mapping of tags to assign to the resource.

interface ArchiveFunctionAppArgs

extends FunctionAppArgsBase

Arguments to create a Function App component and deploy the specified raw archive package.

property account

account?: storageForTypesOnly.Account;

The storage account to use where the zip-file blob for the FunctionApp will be located. If not provided, a new storage account will create. It will be a ‘Standard’, ‘LRS’, ‘StorageV2’ account.

property appSettings

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

A key-value pair of App Settings.

property archive

archive: pulumi.Input<pulumi.asset.Archive>;

The deployment package of a Function App to deploy as-is.

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 codePathOptions

codePathOptions?: pulumi.runtime.CodePathOptions;

Options to control which files and packages are included with the serialized FunctionApp code.

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 container

container?: storageForTypesOnly.Container;

The container to use where the zip-file blob for the FunctionApp will be located. If not provided, the root container of the storage account will be used.

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 hostSettings

hostSettings?: HostSettings;

Host configuration options.

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 Function App.

property nodeVersion

nodeVersion?: pulumi.Input<string>;

Controls the value of WEBSITE_NODE_DEFAULT_VERSION in appSettings. If not provided, defaults to 8.11.1.

property plan

plan?: appservice.Plan;

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

If not provided, a default “Consumption” plan will be created. See: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan for more details.

property resourceGroup

resourceGroup?: core.ResourceGroup;

The resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName].

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName]. Either [resourceGroupName] or [resourceGroup] must be supplied.

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 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 ~2.

interface BindingSettings

Azure Function Binding with the required corresponding application settings (e.g., a connection string setting).

property binding

binding: pulumi.Input<T>;

A binding definition.

property settings

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

A dictionary of application settings to be applied to the Function App.

interface CallbackArgs

Arguments to pass either a callback or a callback factory to be used as an Azure Function body.

property callback

callback?: Callback<C, E, R>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<C, E, R>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

interface CallbackFunctionAppArgs

extends CallbackFunctionArgs<C, E, R>, FunctionAppArgsBase

Base arguments for all single-Function subscription apps.

property account

account?: storageForTypesOnly.Account;

The storage account to use where the zip-file blob for the FunctionApp will be located. If not provided, a new storage account will create. It will be a ‘Standard’, ‘LRS’, ‘StorageV2’ account.

property appSettings

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

A key-value pair of App Settings.

property callback

callback?: Callback<C, E, R>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<C, E, R>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

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 codePathOptions

codePathOptions?: pulumi.runtime.CodePathOptions;

Options to control which files and packages are included with the serialized FunctionApp code.

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 container

container?: storageForTypesOnly.Container;

The container to use where the zip-file blob for the FunctionApp will be located. If not provided, the root container of the storage account will be used.

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 hostSettings

hostSettings?: HostSettings;

Host configuration options.

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 inputs

inputs?: InputBindingSettings[];

Input bindings.

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 Function App.

property nodeVersion

nodeVersion?: pulumi.Input<string>;

Controls the value of WEBSITE_NODE_DEFAULT_VERSION in appSettings. If not provided, defaults to 8.11.1.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property plan

plan?: appservice.Plan;

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

If not provided, a default “Consumption” plan will be created. See: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan for more details.

property resourceGroup

resourceGroup?: core.ResourceGroup;

The resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName].

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName]. Either [resourceGroupName] or [resourceGroup] must be supplied.

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 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 ~2.

interface CallbackFunctionArgs

extends InputOutputsArgs, CallbackArgs<C, E, R>

Base arguments for all Azure Function components that are passed to MultiFunctionCallbackApp.

property callback

callback?: Callback<C, E, R>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<C, E, R>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

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 connectionString 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 siteConfig 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 connectionString 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 outboundIpAddresses.

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 siteConfig object as defined below.

property siteCredential

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

A siteCredential 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 FunctionHostKeys

Keys associated with a Function App.

property functionKeys

functionKeys: FunctionKeys;

Default function keys.

property masterKey

masterKey: string;

Master key.

property systemKeys

systemKeys: {[key: string]: string};

A dictionary of system keys, e.g. for Durable Functions or Event Grid.

interface FunctionKeys

Keys associated with a single Function.

property default

default: string;

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 isXenon

isXenon: boolean;

A flag that indicates if it’s a xenon plan (support for Windows Container)

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 maximumElasticWorkerCount

maximumElasticWorkerCount: number;

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

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 connectionString 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 outboundIpAddresses.

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;
    windowsFxVersion: string;
}[];

A siteConfig 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 extensions

extensions?: undefined | {
    http: appservice.HttpHostExtensions;
    queues: storageForTypesOnly.QueueHostExtensions;
    serviceBus: eventhubForTypesOnly.ServiceBusHostExtensions;
};

Extension-specific configuration options.

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 HttpEventSubscriptionArgs

extends HttpFunctionArgs, CallbackFunctionAppArgs<mod.Context<HttpResponse>, HttpRequest, ExtendedHttpResponse>

property account

account?: storageForTypesOnly.Account;

The storage account to use where the zip-file blob for the FunctionApp will be located. If not provided, a new storage account will create. It will be a ‘Standard’, ‘LRS’, ‘StorageV2’ account.

property appSettings

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

A key-value pair of App Settings.

property callback

callback?: Callback<mod.Context<HttpResponse>, HttpRequest, ExtendedHttpResponse>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<mod.Context<HttpResponse>, HttpRequest, ExtendedHttpResponse>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

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 codePathOptions

codePathOptions?: pulumi.runtime.CodePathOptions;

Options to control which files and packages are included with the serialized FunctionApp code.

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 container

container?: storageForTypesOnly.Container;

The container to use where the zip-file blob for the FunctionApp will be located. If not provided, the root container of the storage account will be used.

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 hostSettings

hostSettings?: HttpHostSettings;

Host settings specific to the HTTP plugin. These values can be provided here, or defaults will be used in their place.

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 inputs

inputs?: InputBindingSettings[];

Input bindings.

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 methods

methods?: pulumi.Input<pulumi.Input<string>[]>;

An array of the HTTP methods to which the function responds. If not specified, the function responds to all HTTP methods.

property name

name?: pulumi.Input<string>;

The name of the Function App.

property nodeVersion

nodeVersion?: pulumi.Input<string>;

Controls the value of WEBSITE_NODE_DEFAULT_VERSION in appSettings. If not provided, defaults to 8.11.1.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property plan

plan?: appservice.Plan;

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

If not provided, a default “Consumption” plan will be created. See: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan for more details.

property resourceGroup

resourceGroup?: core.ResourceGroup;

The resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName].

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName]. Either [resourceGroupName] or [resourceGroup] must be supplied.

property route

route?: pulumi.Input<string>;

Defines the route template, controlling to which request URLs your function responds. The default value if none is provided is .

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 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 ~2.

interface HttpFunctionArgs

extends CallbackFunctionArgs<mod.Context<HttpResponse>, HttpRequest, ExtendedHttpResponse>

property callback

callback?: Callback<mod.Context<HttpResponse>, HttpRequest, ExtendedHttpResponse>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<mod.Context<HttpResponse>, HttpRequest, ExtendedHttpResponse>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property methods

methods?: pulumi.Input<pulumi.Input<string>[]>;

An array of the HTTP methods to which the function responds. If not specified, the function responds to all HTTP methods.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property route

route?: pulumi.Input<string>;

Defines the route template, controlling to which request URLs your function responds. The default value if none is provided is .

interface HttpHostExtensions

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 dynamicThrottlesEnabled

dynamicThrottlesEnabled?: undefined | false | true;

When enabled, this setting causes the request processing pipeline to periodically check system performance counters like connections/threads/processes/memory/cpu/etc. and if any of those counters are over a built-in high threshold (80%), requests will be rejected with a 429 “Too Busy” response until the counter(s) return to normal levels.

property maxConcurrentRequests

maxConcurrentRequests?: undefined | number;

The maximum number of http functions that will be executed in parallel.

property maxOutstandingRequests

maxOutstandingRequests?: undefined | number;

The maximum number of outstanding requests that are held at any given time.

property routePrefix

routePrefix?: undefined | string;

The route prefix that applies to all routes. Use an empty string to remove the default prefix.

interface HttpHostSettings

extends HostSettings

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: HttpHostExtensions;
};

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 InputBindingDefinition

extends BindingDefinition

Base interface for input bindings.

property direction

direction: “in”;

The direction of the binding. Must be ‘in’ for an input binding.

property name

name: string;

The name of your binding, as defined in function.json.

property type

type: string;

The type of your binding, as defined in function.json.

interface InputOutputsArgs

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

interface MultiCallbackFunctionAppArgs

extends FunctionAppArgsBase

Arguments to create a Function App component with multiple callback functions in it.

property account

account?: storageForTypesOnly.Account;

The storage account to use where the zip-file blob for the FunctionApp will be located. If not provided, a new storage account will create. It will be a ‘Standard’, ‘LRS’, ‘StorageV2’ account.

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 codePathOptions

codePathOptions?: pulumi.runtime.CodePathOptions;

Options to control which files and packages are included with the serialized FunctionApp code.

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 container

container?: storageForTypesOnly.Container;

The container to use where the zip-file blob for the FunctionApp will be located. If not provided, the root container of the storage account will be used.

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 functions

functions: Function<any, any, any>[];

The functions to deploy as parts of this application. At least 1 function is required.

property hostSettings

hostSettings?: HostSettings;

Host configuration options.

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 Function App.

property nodeVersion

nodeVersion?: pulumi.Input<string>;

Controls the value of WEBSITE_NODE_DEFAULT_VERSION in appSettings. If not provided, defaults to 8.11.1.

property plan

plan?: appservice.Plan;

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

If not provided, a default “Consumption” plan will be created. See: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan for more details.

property resourceGroup

resourceGroup?: core.ResourceGroup;

The resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName].

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName]. Either [resourceGroupName] or [resourceGroup] must be supplied.

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 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 ~2.

interface OutputBindingDefinition

extends BindingDefinition

Base interface for output bindings.

property direction

direction: “out”;

The direction of the binding. Must be ‘out’ for an output binding.

property name

name: string;

The name of your binding, as defined in function.json.

property type

type: string;

The type of your binding, as defined in function.json.

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 isXenon

isXenon?: pulumi.Input<boolean>;

property kind

kind?: pulumi.Input<string | Kind>;

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 maximumElasticWorkerCount

maximumElasticWorkerCount?: pulumi.Input<number>;

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

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 isXenon

isXenon?: pulumi.Input<boolean>;

property kind

kind?: pulumi.Input<string | Kind>;

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 maximumElasticWorkerCount

maximumElasticWorkerCount?: pulumi.Input<number>;

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

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 connectionString 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>;
    windowsFxVersion: pulumi.Input<string>;
}>;

A siteConfig 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 connectionString 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>;
    windowsFxVersion: pulumi.Input<string>;
}>;

A siteConfig object as defined below.

property siteCredential

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

A siteCredential 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<mod.FunctionDefaultResponse>

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 TimerFunctionArgs

extends CallbackFunctionArgs<TimerContext, TimerInfo, mod.FunctionDefaultResponse>

property callback

callback?: Callback<TimerContext, TimerInfo, mod.FunctionDefaultResponse>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<TimerContext, TimerInfo, mod.FunctionDefaultResponse>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property runOnStartup

runOnStartup?: pulumi.Input<boolean>;

If true, the function is invoked when the runtime starts.

property schedule

schedule: pulumi.Input<string | ScheduleArgs>;

A schedule or a CRON expression for the timer schedule, e.g. ‘0 * * * * *‘.

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;
};

interface TimerSubscriptionArgs

extends TimerFunctionArgs, CallbackFunctionAppArgs<TimerContext, TimerInfo, mod.FunctionDefaultResponse>

property account

account?: storageForTypesOnly.Account;

The storage account to use where the zip-file blob for the FunctionApp will be located. If not provided, a new storage account will create. It will be a ‘Standard’, ‘LRS’, ‘StorageV2’ account.

property appSettings

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

A key-value pair of App Settings.

property callback

callback?: Callback<TimerContext, TimerInfo, mod.FunctionDefaultResponse>;

The Javascript function instance to use as the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

property callbackFactory

callbackFactory?: CallbackFactory<TimerContext, TimerInfo, mod.FunctionDefaultResponse>;

The Javascript function instance that will be called to produce the function that is the entrypoint for the Azure FunctionApp. Either [callback] or [callbackFactory] must be provided.

This form is useful when there is expensive initialization work that should only be executed once. The factory-function will be invoked once when the final Azure FunctionApp module is loaded. It can run whatever code it needs, and will end by returning the actual function that the Azure will call into each time the FunctionApp it is is invoked.

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 codePathOptions

codePathOptions?: pulumi.runtime.CodePathOptions;

Options to control which files and packages are included with the serialized FunctionApp code.

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 container

container?: storageForTypesOnly.Container;

The container to use where the zip-file blob for the FunctionApp will be located. If not provided, the root container of the storage account will be used.

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 hostSettings

hostSettings?: HostSettings;

Host configuration options.

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 inputs

inputs?: InputBindingSettings[];

Input bindings.

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 Function App.

property nodeVersion

nodeVersion?: pulumi.Input<string>;

Controls the value of WEBSITE_NODE_DEFAULT_VERSION in appSettings. If not provided, defaults to 8.11.1.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property plan

plan?: appservice.Plan;

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

If not provided, a default “Consumption” plan will be created. See: https://docs.microsoft.com/en-us/azure/azure-functions/functions-scale#consumption-plan for more details.

property resourceGroup

resourceGroup?: core.ResourceGroup;

The resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName].

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName]. Either [resourceGroupName] or [resourceGroup] must be supplied.

property runOnStartup

runOnStartup?: pulumi.Input<boolean>;

If true, the function is invoked when the runtime starts.

property schedule

schedule: pulumi.Input<string | ScheduleArgs>;

A schedule or a CRON expression for the timer schedule, e.g. ‘0 * * * * *‘.

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 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 ~2.

module Kinds

const App

const App: Kind = "App";

const Elastic

const Elastic: Kind = "elastic";

const FunctionApp

const FunctionApp: Kind = "FunctionApp";

const Linux

const Linux: Kind = "Linux";

const Windows

const Windows: Kind = "Windows";

const Xenon

const Xenon: Kind = "xenon";

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, inputs: any[]) => 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 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 ExtendedHttpResponse

type ExtendedHttpResponse = HttpResponse | {
    response: HttpResponse;
};

HTTP Response that may or may not contain extra output binding data. For each output binding, the callback should define a property in the response record with the property name matching the binding name. For instance, for an output binding called ‘myoutput’, the response could be ‘{ response: { status: 200, body: “My Response” }, myoutput: “My Value” }‘.

type FunctionDefaultResponse

type FunctionDefaultResponse = void | Record<string, any>;

Type alias for a response coming from an Azure Function callback, which applies to most Function types (HTTP being a notable exception). ‘void’ is returned when a Function has no output bindings. For each output binding, the callback should define a property in the response record with the property name matching the binding name. For instance, for an output binding called ‘myoutput’, the response could be ‘{ myoutput: “My Value” }‘.

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 InputBindingSettings

type InputBindingSettings = BindingSettings<InputBindingDefinition>;

type Kind

type Kind = “App” | “elastic” | “FunctionApp” | “Linux” | “Windows” | “xenon”;

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 OutputBindingSettings

type OutputBindingSettings = BindingSettings<OutputBindingDefinition>;

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.