Module storage

This page documents the language specification for the azure package. If you're looking for help working with the inputs, outputs, or functions of azure resources in a Pulumi program, please see the resource documentation for examples and API reference.

Resources

Functions

Others

Resources

Resource Account

class Account extends CustomResource

Manages an Azure Storage Account.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "GRS",
    tags: {
        environment: "staging",
    },
});
With Network Rules
import * as pulumi from "@pulumi/pulumi";
import * as azure from "@pulumi/azure";

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
    serviceEndpoints: [
        "Microsoft.Sql",
        "Microsoft.Storage",
    ],
});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
    network_rules: {
        defaultAction: "Deny",
        ipRules: ["100.0.0.1"],
        virtualNetworkSubnetIds: [exampleSubnet.id],
    },
    tags: {
        environment: "staging",
    },
});

constructor

new Account(name: string, args: AccountArgs, opts?: pulumi.CustomResourceOptions)

Create a Account 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?: AccountState, opts?: pulumi.CustomResourceOptions): Account

Get an existing Account 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): obj is Account

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

property accessTier

public accessTier: pulumi.Output<string>;

Defines the access tier for BlobStorage, FileStorage and StorageV2 accounts. Valid options are Hot and Cool, defaults to Hot.

property accountKind

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

Defines the Kind of account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2. Changing this forces a new resource to be created. Defaults to StorageV2.

property accountReplicationType

public accountReplicationType: pulumi.Output<string>;

Defines the type of replication to use for this storage account. Valid options are LRS, GRS, RAGRS, ZRS, GZRS and RAGZRS.

property accountTier

public accountTier: pulumi.Output<string>;

Defines the Tier to use for this storage account. Valid options are Standard and Premium. For BlockBlobStorage and FileStorage accounts only Premium is valid. Changing this forces a new resource to be created.

property blobProperties

public blobProperties: pulumi.Output<AccountBlobProperties>;

A blobProperties block as defined below.

property customDomain

public customDomain: pulumi.Output<AccountCustomDomain | undefined>;

A customDomain block as documented below.

property enableHttpsTrafficOnly

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

Boolean flag which forces HTTPS if enabled, see here for more information. Defaults to true.

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

A identity block as defined below.

property isHnsEnabled

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

Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 (see here for more information). 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 name

public name: pulumi.Output<string>;

Specifies the name of the storage account. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.

property networkRules

public networkRules: pulumi.Output<AccountNetworkRules>;

A networkRules block as documented below.

property primaryAccessKey

public primaryAccessKey: pulumi.Output<string>;

The primary access key for the storage account.

property primaryBlobConnectionString

public primaryBlobConnectionString: pulumi.Output<string>;

The connection string associated with the primary blob location.

property primaryBlobEndpoint

public primaryBlobEndpoint: pulumi.Output<string>;

The endpoint URL for blob storage in the primary location.

property primaryBlobHost

public primaryBlobHost: pulumi.Output<string>;

The hostname with port if applicable for blob storage in the primary location.

property primaryConnectionString

public primaryConnectionString: pulumi.Output<string>;

The connection string associated with the primary location.

property primaryDfsEndpoint

public primaryDfsEndpoint: pulumi.Output<string>;

The endpoint URL for DFS storage in the primary location.

property primaryDfsHost

public primaryDfsHost: pulumi.Output<string>;

The hostname with port if applicable for DFS storage in the primary location.

property primaryFileEndpoint

public primaryFileEndpoint: pulumi.Output<string>;

The endpoint URL for file storage in the primary location.

property primaryFileHost

public primaryFileHost: pulumi.Output<string>;

The hostname with port if applicable for file storage in the primary location.

property primaryLocation

public primaryLocation: pulumi.Output<string>;

The primary location of the storage account.

property primaryQueueEndpoint

public primaryQueueEndpoint: pulumi.Output<string>;

The endpoint URL for queue storage in the primary location.

property primaryQueueHost

public primaryQueueHost: pulumi.Output<string>;

The hostname with port if applicable for queue storage in the primary location.

property primaryTableEndpoint

public primaryTableEndpoint: pulumi.Output<string>;

The endpoint URL for table storage in the primary location.

property primaryTableHost

public primaryTableHost: pulumi.Output<string>;

The hostname with port if applicable for table storage in the primary location.

property primaryWebEndpoint

public primaryWebEndpoint: pulumi.Output<string>;

The endpoint URL for web storage in the primary location.

property primaryWebHost

public primaryWebHost: pulumi.Output<string>;

The hostname with port if applicable for web storage in the primary location.

property queueProperties

public queueProperties: pulumi.Output<AccountQueueProperties>;

A queueProperties block as defined below.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.

property secondaryAccessKey

public secondaryAccessKey: pulumi.Output<string>;

The secondary access key for the storage account.

property secondaryBlobConnectionString

public secondaryBlobConnectionString: pulumi.Output<string>;

The connection string associated with the secondary blob location.

property secondaryBlobEndpoint

public secondaryBlobEndpoint: pulumi.Output<string>;

The endpoint URL for blob storage in the secondary location.

property secondaryBlobHost

public secondaryBlobHost: pulumi.Output<string>;

The hostname with port if applicable for blob storage in the secondary location.

property secondaryConnectionString

public secondaryConnectionString: pulumi.Output<string>;

The connection string associated with the secondary location.

property secondaryDfsEndpoint

public secondaryDfsEndpoint: pulumi.Output<string>;

The endpoint URL for DFS storage in the secondary location.

property secondaryDfsHost

public secondaryDfsHost: pulumi.Output<string>;

The hostname with port if applicable for DFS storage in the secondary location.

property secondaryFileEndpoint

public secondaryFileEndpoint: pulumi.Output<string>;

The endpoint URL for file storage in the secondary location.

property secondaryFileHost

public secondaryFileHost: pulumi.Output<string>;

The hostname with port if applicable for file storage in the secondary location.

property secondaryLocation

public secondaryLocation: pulumi.Output<string>;

The secondary location of the storage account.

property secondaryQueueEndpoint

public secondaryQueueEndpoint: pulumi.Output<string>;

The endpoint URL for queue storage in the secondary location.

property secondaryQueueHost

public secondaryQueueHost: pulumi.Output<string>;

The hostname with port if applicable for queue storage in the secondary location.

property secondaryTableEndpoint

public secondaryTableEndpoint: pulumi.Output<string>;

The endpoint URL for table storage in the secondary location.

property secondaryTableHost

public secondaryTableHost: pulumi.Output<string>;

The hostname with port if applicable for table storage in the secondary location.

property secondaryWebEndpoint

public secondaryWebEndpoint: pulumi.Output<string>;

The endpoint URL for web storage in the secondary location.

property secondaryWebHost

public secondaryWebHost: pulumi.Output<string>;

The hostname with port if applicable for web storage in the secondary location.

property staticWebsite

public staticWebsite: pulumi.Output<AccountStaticWebsite | undefined>;

A staticWebsite block as defined below.

property tags

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

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.

Resource AccountNetworkRules

class AccountNetworkRules extends CustomResource

Manages network rules inside of a Azure Storage Account.

NOTE: Network Rules can be defined either directly on the azure.storage.Account resource, or using the azure.storage.AccountNetworkRules resource - but the two cannot be used together. Spurious changes will occur if both are used against the same Storage Account.

NOTE: Only one azure.storage.AccountNetworkRules can be tied to an azure.storage.Account. Spurious changes will occur if more than azure.storage.AccountNetworkRules is tied to the same azure.storage.Account.

NOTE: Deleting this resource updates the storage account back to the default values it had when the storage account was created.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleVirtualNetwork = new azure.network.VirtualNetwork("exampleVirtualNetwork", {
    addressSpaces: ["10.0.0.0/16"],
    location: exampleResourceGroup.location,
    resourceGroupName: exampleResourceGroup.name,
});
const exampleSubnet = new azure.network.Subnet("exampleSubnet", {
    resourceGroupName: exampleResourceGroup.name,
    virtualNetworkName: exampleVirtualNetwork.name,
    addressPrefix: "10.0.2.0/24",
    serviceEndpoints: ["Microsoft.Storage"],
});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "GRS",
    tags: {
        environment: "staging",
    },
});
const test = new azure.storage.AccountNetworkRules("test", {
    resourceGroupName: azurerm_resource_group.test.name,
    storageAccountName: azurerm_storage_account.test.name,
    defaultAction: "Allow",
    ipRules: ["127.0.0.1"],
    virtualNetworkSubnetIds: [azurerm_subnet.test.id],
    bypasses: ["Metrics"],
});

constructor

new AccountNetworkRules(name: string, args: AccountNetworkRulesArgs, opts?: pulumi.CustomResourceOptions)

Create a AccountNetworkRules 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?: AccountNetworkRulesState, opts?: pulumi.CustomResourceOptions): AccountNetworkRules

Get an existing AccountNetworkRules 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): obj is AccountNetworkRules

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

property bypasses

public bypasses: pulumi.Output<string[]>;

Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of Logging, Metrics, AzureServices, or None.

property defaultAction

public defaultAction: pulumi.Output<string>;

Specifies the default action of allow or deny when no other rules match. Valid options are Deny or Allow.

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 ipRules

public ipRules: pulumi.Output<string[]>;

List of public IP or IP ranges in CIDR Format. Only IPV4 addresses are allowed. Private IP address ranges (as defined in RFC 1918) are not allowed.

property resourceGroupName

public resourceGroupName: pulumi.Output<string>;

The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.

property storageAccountName

public storageAccountName: pulumi.Output<string>;

Specifies the name of the storage account. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.

property urn

urn: Output<URN>;

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

property virtualNetworkSubnetIds

public virtualNetworkSubnetIds: pulumi.Output<string[]>;

A list of virtual network subnet ids to to secure the storage account.

Resource Blob

class Blob extends CustomResource

Manages a Blob within a Storage Container.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const exampleContainer = new azure.storage.Container("exampleContainer", {
    storageAccountName: exampleAccount.name,
    containerAccessType: "private",
});
const exampleBlob = new azure.storage.Blob("exampleBlob", {
    storageAccountName: exampleAccount.name,
    storageContainerName: exampleContainer.name,
    type: "Block",
    source: new pulumi.asset.FileAsset("some-local-file.zip"),
});

constructor

new Blob(name: string, args: BlobArgs, opts?: pulumi.CustomResourceOptions)

Create a Blob 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?: BlobState, opts?: pulumi.CustomResourceOptions): Blob

Get an existing Blob 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): obj is Blob

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

property accessTier

public accessTier: pulumi.Output<string>;

The access tier of the storage blob. Possible values are Archive, Cool and Hot.

property contentType

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

The content type of the storage blob. Cannot be defined if sourceUri is defined. Defaults to application/octet-stream.

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 metadata

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

A map of custom blob metadata.

property name

public name: pulumi.Output<string>;

The name of the storage blob. Must be unique within the storage container the blob is located.

property parallelism

public parallelism: pulumi.Output<number | undefined>;

The number of workers per CPU core to run for concurrent uploads. Defaults to 8.

property size

public size: pulumi.Output<number | undefined>;

Used only for page blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to 0.

property source

public source: pulumi.Output<Asset | Archive | undefined>;

An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if sourceContent or sourceUri is specified.

property sourceContent

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

The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if source or sourceUri is specified.

property sourceUri

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

The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if source or sourceContent is specified.

property storageAccountName

public storageAccountName: pulumi.Output<string>;

Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created.

property storageContainerName

public storageContainerName: pulumi.Output<string>;

The name of the storage container in which this blob should be created.

property type

public type: pulumi.Output<string>;

The type of the storage blob to be created. Possible values are Append, Block or Page. Changing this forces a new resource to be created.

property url

public url: pulumi.Output<string>;

The URL of the blob

property urn

urn: Output<URN>;

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

Resource Container

class Container extends CustomResource

Manages a Container within an Azure Storage Account.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
    tags: {
        environment: "staging",
    },
});
const exampleContainer = new azure.storage.Container("exampleContainer", {
    storageAccountName: exampleAccount.name,
    containerAccessType: "private",
});

constructor

new Container(name: string, args: ContainerArgs, opts?: pulumi.CustomResourceOptions)

Create a Container 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?: ContainerState, opts?: pulumi.CustomResourceOptions): Container

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

method getEventFunction

getEventFunction(name: string, args: BlobCallback | GetBlobFunctionArgs): BlobFunction

Creates a new Function triggered by events in the given Container using the callback provided. [getEventFunction] creates no Azure resources automatically: the returned Function should be used as part of a [MultiCallbackFunctionApp]. Use [onEvent] if you want to create a Function App with a single Function.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method input

input(name: string, args: BlobInputBindingArgs): appservice.InputBindingSettings

Creates an input binding linked to the given Blob Container to be used for an Azure Function.

method isInstance

public static isInstance(obj: any): obj is Container

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

method onBlobEvent

onBlobEvent(name: string, args: BlobCallback | BlobEventSubscriptionArgs, opts?: pulumi.ComponentResourceOptions): BlobEventSubscription

Creates a new subscription to events fired from this Container to the handler provided, along with options to control the behavior of the subscription. A dedicated Function App is created behind the scenes with a single Azure Function in it. Use [getEventFunction] if you want to compose multiple Functions into the same App manually.

property containerAccessType

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

The Access Level configured for this Container. Possible values are blob, container or private. Defaults to private.

property hasImmutabilityPolicy

public hasImmutabilityPolicy: pulumi.Output<boolean>;

Is there an Immutability Policy configured on this Storage Container?

property hasLegalHold

public hasLegalHold: pulumi.Output<boolean>;

Is there a Legal Hold configured on this Storage Container?

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 metadata

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

A mapping of MetaData for this Container.

property name

public name: pulumi.Output<string>;

The name of the Container which should be created within the Storage Account.

property resourceManagerId

public resourceManagerId: pulumi.Output<string>;

The Resource Manager ID of this Storage Container.

property storageAccountName

public storageAccountName: pulumi.Output<string>;

The name of the Storage Account where the Container should be created.

property urn

urn: Output<URN>;

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

Resource CustomerManagedKey

class CustomerManagedKey extends CustomResource

Manages a Customer Managed Key for a Storage Account.

constructor

new CustomerManagedKey(name: string, args: CustomerManagedKeyArgs, opts?: pulumi.CustomResourceOptions)

Create a CustomerManagedKey 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?: CustomerManagedKeyState, opts?: pulumi.CustomResourceOptions): CustomerManagedKey

Get an existing CustomerManagedKey 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): obj is CustomerManagedKey

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

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 keyName

public keyName: pulumi.Output<string>;

The name of Key Vault Key.

property keyVaultId

public keyVaultId: pulumi.Output<string>;

The ID of the Key Vault. Changing this forces a new resource to be created.

property keyVersion

public keyVersion: pulumi.Output<string>;

The version of Key Vault Key.

property storageAccountId

public storageAccountId: pulumi.Output<string>;

The ID of the Storage Account. 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.

Resource DataLakeGen2Filesystem

class DataLakeGen2Filesystem extends CustomResource

Manages a Data Lake Gen2 File System within an Azure Storage Account.

NOTE: This Resource requires using Azure Active Directory to connect to Azure Storage, which in turn requires the Storage specific roles - which are not granted by default.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
    accountKind: "StorageV2",
    isHnsEnabled: "true",
});
const exampleDataLakeGen2Filesystem = new azure.storage.DataLakeGen2Filesystem("exampleDataLakeGen2Filesystem", {
    storageAccountId: exampleAccount.id,
    properties: {
        hello: "aGVsbG8=",
    },
});

constructor

new DataLakeGen2Filesystem(name: string, args: DataLakeGen2FilesystemArgs, opts?: pulumi.CustomResourceOptions)

Create a DataLakeGen2Filesystem 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?: DataLakeGen2FilesystemState, opts?: pulumi.CustomResourceOptions): DataLakeGen2Filesystem

Get an existing DataLakeGen2Filesystem 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): obj is DataLakeGen2Filesystem

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

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 name

public name: pulumi.Output<string>;

The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.

property properties

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

A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.

property storageAccountId

public storageAccountId: pulumi.Output<string>;

Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. 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.

Resource ManagementPolicy

class ManagementPolicy extends CustomResource

Manages an Azure Storage Account Management Policy.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "westus"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
    accountKind: "BlobStorage",
});
const exampleManagementPolicy = new azure.storage.ManagementPolicy("exampleManagementPolicy", {
    storageAccountId: exampleAccount.id,
    rule: [
        {
            name: "rule1",
            enabled: true,
            filters: {
                prefixMatches: ["container1/prefix1"],
                blobTypes: ["blockBlob"],
            },
            actions: {
                base_blob: {
                    tierToCoolAfterDaysSinceModificationGreaterThan: 10,
                    tierToArchiveAfterDaysSinceModificationGreaterThan: 50,
                    deleteAfterDaysSinceModificationGreaterThan: 100,
                },
                snapshot: {
                    deleteAfterDaysSinceCreationGreaterThan: 30,
                },
            },
        },
        {
            name: "rule2",
            enabled: false,
            filters: {
                prefixMatches: [
                    "container2/prefix1",
                    "container2/prefix2",
                ],
                blobTypes: ["blockBlob"],
            },
            actions: {
                base_blob: {
                    tierToCoolAfterDaysSinceModificationGreaterThan: 11,
                    tierToArchiveAfterDaysSinceModificationGreaterThan: 51,
                    deleteAfterDaysSinceModificationGreaterThan: 101,
                },
                snapshot: {
                    deleteAfterDaysSinceCreationGreaterThan: 31,
                },
            },
        },
    ],
});

constructor

new ManagementPolicy(name: string, args: ManagementPolicyArgs, opts?: pulumi.CustomResourceOptions)

Create a ManagementPolicy 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?: ManagementPolicyState, opts?: pulumi.CustomResourceOptions): ManagementPolicy

Get an existing ManagementPolicy 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): obj is ManagementPolicy

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

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 rules

public rules: pulumi.Output<ManagementPolicyRule[] | undefined>;

A rule block as documented below.

property storageAccountId

public storageAccountId: pulumi.Output<string>;

Specifies the id of the storage account to apply the management policy to.

property urn

urn: Output<URN>;

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

Resource Queue

class Queue extends CustomResource

Manages a Queue within an Azure Storage Account.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const exampleQueue = new azure.storage.Queue("exampleQueue", {storageAccountName: exampleAccount.name});

constructor

new Queue(name: string, args: QueueArgs, opts?: pulumi.CustomResourceOptions)

Create a Queue 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?: QueueState, opts?: pulumi.CustomResourceOptions): Queue

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

method getEventFunction

getEventFunction(name: string, args: QueueCallback | CallbackFunctionArgs<QueueContext, any, appservice.FunctionDefaultResponse>): QueueFunction

Creates a new Function triggered by messages in the given queue using the callback provided. [getEventFunction] creates no Azure resources automatically: the returned Function should be used as part of a [MultiCallbackFunctionApp]. Use [onEvent] if you want to create a Function App with a single Function.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method isInstance

public static isInstance(obj: any): obj is Queue

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

method onEvent

onEvent(name: string, args: QueueCallback | QueueEventSubscriptionArgs, opts?: pulumi.ComponentResourceOptions): QueueEventSubscription

Creates a new subscription to the given queue using the callback provided, along with optional options to control the behavior of the subscription. A dedicated Function App is created behind the scenes with a single Azure Function in it. Use [getEventFunction] if you want to compose multiple Functions into the same App manually.

method output

output(name: string): appservice.OutputBindingSettings

Creates an output binding linked to the given queue to be used for an Azure Function.

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 metadata

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

A mapping of MetaData which should be assigned to this Storage Queue.

property name

public name: pulumi.Output<string>;

The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located.

property storageAccountName

public storageAccountName: pulumi.Output<string>;

Specifies the Storage Account in which the Storage Queue should exist. 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.

Resource Share

class Share extends CustomResource

Manages a File Share within Azure Storage.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const exampleShare = new azure.storage.Share("exampleShare", {
    storageAccountName: exampleAccount.name,
    quota: 50,
    acl: [{
        id: "MTIzNDU2Nzg5MDEyMzQ1Njc4OTAxMjM0NTY3ODkwMTI",
        access_policy: [{
            permissions: "rwdl",
            start: "2019-07-02T09:38:21.0000000Z",
            expiry: "2019-07-02T10:38:21.0000000Z",
        }],
    }],
});

constructor

new Share(name: string, args: ShareArgs, opts?: pulumi.CustomResourceOptions)

Create a Share 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?: ShareState, opts?: pulumi.CustomResourceOptions): Share

Get an existing Share 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): obj is Share

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

property acls

public acls: pulumi.Output<ShareAcl[] | undefined>;

One or more acl blocks as defined below.

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 metadata

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

A mapping of MetaData for this File Share.

property name

public name: pulumi.Output<string>;

The name of the share. Must be unique within the storage account where the share is located.

property quota

public quota: pulumi.Output<number | undefined>;

The maximum size of the share, in gigabytes. For Standard storage accounts, this must be greater than 0 and less than 5120 GB (5 TB). For Premium FileStorage storage accounts, this must be greater than 100 GB and less than 102400 GB (100 TB). Default is 5120.

property resourceManagerId

public resourceManagerId: pulumi.Output<string>;

The Resource Manager ID of this File Share.

property storageAccountName

public storageAccountName: pulumi.Output<string>;

Specifies the storage account in which to create the share. Changing this forces a new resource to be created.

property url

public url: pulumi.Output<string>;

The URL of the File Share

property urn

urn: Output<URN>;

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

Resource ShareDirectory

class ShareDirectory extends CustomResource

Manages a Directory within an Azure Storage File Share.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const exampleShare = new azure.storage.Share("exampleShare", {
    storageAccountName: exampleAccount.name,
    quota: 50,
});
const exampleShareDirectory = new azure.storage.ShareDirectory("exampleShareDirectory", {
    shareName: exampleShare.name,
    storageAccountName: exampleAccount.name,
});

constructor

new ShareDirectory(name: string, args: ShareDirectoryArgs, opts?: pulumi.CustomResourceOptions)

Create a ShareDirectory 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?: ShareDirectoryState, opts?: pulumi.CustomResourceOptions): ShareDirectory

Get an existing ShareDirectory 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): obj is ShareDirectory

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

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 metadata

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

A mapping of metadata to assign to this Directory.

property name

public name: pulumi.Output<string>;

The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created.

property shareName

public shareName: pulumi.Output<string>;

The name of the File Share where this Directory should be created. Changing this forces a new resource to be created.

property storageAccountName

public storageAccountName: pulumi.Output<string>;

The name of the Storage Account within which the File Share is located. 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.

Resource Table

class Table extends CustomResource

Manages a Table within an Azure Storage Account.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "West Europe"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const exampleTable = new azure.storage.Table("exampleTable", {storageAccountName: exampleAccount.name});

constructor

new Table(name: string, args: TableArgs, opts?: pulumi.CustomResourceOptions)

Create a Table 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?: TableState, opts?: pulumi.CustomResourceOptions): Table

Get an existing Table 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 input

input(name: string, args?: TableInputBindingArgs): appservice.InputBindingSettings

Creates an input binding linked to the given table to be used for an Azure Function.

method isInstance

public static isInstance(obj: any): obj is Table

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

method output

output(name: string): appservice.OutputBindingSettings

Creates an output binding linked to the given table to be used for an Azure Function.

property acls

public acls: pulumi.Output<TableAcl[] | undefined>;

One or more acl blocks as defined below.

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 name

public name: pulumi.Output<string>;

The name of the storage table. Must be unique within the storage account the table is located.

property storageAccountName

public storageAccountName: pulumi.Output<string>;

Specifies the storage account in which to create the storage table. 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.

Resource TableEntity

class TableEntity extends CustomResource

Manages an Entity within a Table in an Azure Storage Account.

Example Usage

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

const exampleResourceGroup = new azure.core.ResourceGroup("exampleResourceGroup", {location: "westus"});
const exampleAccount = new azure.storage.Account("exampleAccount", {
    resourceGroupName: exampleResourceGroup.name,
    location: exampleResourceGroup.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const exampleTable = new azure.storage.Table("exampleTable", {
    resourceGroupName: exampleResourceGroup.name,
    storageAccountName: exampleAccount.name,
});
const exampleTableEntity = new azure.storage.TableEntity("exampleTableEntity", {
    storageAccountName: exampleAccount.name,
    tableName: exampleTable.name,
    partitionKey: "examplepartition",
    rowKey: "exmamplerow",
    entity: {
        example: "example",
    },
});

constructor

new TableEntity(name: string, args: TableEntityArgs, opts?: pulumi.CustomResourceOptions)

Create a TableEntity 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?: TableEntityState, opts?: pulumi.CustomResourceOptions): TableEntity

Get an existing TableEntity 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): obj is TableEntity

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

property entity

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

A map of key/value pairs that describe the entity to be inserted/merged in to the storage table.

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 partitionKey

public partitionKey: pulumi.Output<string>;

The key for the partition where the entity will be inserted/merged. Changing this forces a new resource.

property rowKey

public rowKey: pulumi.Output<string>;

The key for the row where the entity will be inserted/merged. Changing this forces a new resource.

property storageAccountName

public storageAccountName: pulumi.Output<string>;

Specifies the storage account in which to create the storage table entity. Changing this forces a new resource to be created.

property tableName

public tableName: pulumi.Output<string>;

The name of the storage table in which to create the storage table entity. 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.

Resource ZipBlob

DEPRECATED ZipBlob resource is deprecated in the 2.0 version of the provider. Use Blob resource instead.
class ZipBlob extends CustomResource

constructor

DEPRECATED ZipBlob resource is deprecated in the 2.0 version of the provider. Use Blob resource instead.

DEPRECATED ZipBlob resource is deprecated in the 2.0 version of the provider. Use Blob resource instead.
new ZipBlob(name: string, args: ZipBlobArgs, opts?: pulumi.CustomResourceOptions)

method get

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

Get an existing ZipBlob 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): obj is ZipBlob

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

property accessTier

public accessTier: pulumi.Output<string>;

property content

public content: pulumi.Output<Archive | undefined>;

property contentType

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

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 metadata

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

property name

public name: pulumi.Output<string>;

property parallelism

public parallelism: pulumi.Output<number | undefined>;

property size

public size: pulumi.Output<number | undefined>;

property sourceContent

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

property sourceUri

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

property storageAccountName

public storageAccountName: pulumi.Output<string>;

property storageContainerName

public storageContainerName: pulumi.Output<string>;

property type

public type: pulumi.Output<string>;

property url

public url: pulumi.Output<string>;

property urn

urn: Output<URN>;

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

Functions

Function getAccount

getAccount(args: GetAccountArgs, opts?: pulumi.InvokeOptions): Promise<GetAccountResult>

Use this data source to access information about an existing Storage Account.

Example Usage

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

const example = azure.storage.getAccount({
    name: "packerimages",
    resourceGroupName: "packer-storage",
});
export const storageAccountTier = example.then(example => example.accountTier);

Function getAccountBlobContainerSAS

getAccountBlobContainerSAS(args: GetAccountBlobContainerSASArgs, opts?: pulumi.InvokeOptions): Promise<GetAccountBlobContainerSASResult>

Use this data source to obtain a Shared Access Signature (SAS Token) for an existing Storage Account Blob Container.

Shared access signatures allow fine-grained, ephemeral access control to various aspects of an Azure Storage Account Blob Container.

Example Usage

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

const rg = new azure.core.ResourceGroup("rg", {location: "westus"});
const storage = new azure.storage.Account("storage", {
    resourceGroupName: rg.name,
    location: rg.location,
    accountTier: "Standard",
    accountReplicationType: "LRS",
});
const container = new azure.storage.Container("container", {
    storageAccountName: storage.name,
    containerAccessType: "private",
});
const example = pulumi.all([storage.primaryConnectionString, container.name]).apply(([primaryConnectionString, name]) => azure.storage.getAccountBlobContainerSAS({
    connectionString: primaryConnectionString,
    containerName: name,
    httpsOnly: true,
    ipAddress: "168.1.5.65",
    start: "2018-03-21",
    expiry: "2018-03-21",
    permissions: {
        read: true,
        add: true,
        create: false,
        write: false,
        "delete": true,
        list: true,
    },
    cacheControl: "max-age=5",
    contentDisposition: "inline",
    contentEncoding: "deflate",
    contentLanguage: "en-US",
    contentType: "application/json",
}));
export const sasUrlQueryString = example.sas;

Function getAccountSAS

getAccountSAS(args: GetAccountSASArgs, opts?: pulumi.InvokeOptions): Promise<GetAccountSASResult>

Use this data source to obtain a Shared Access Signature (SAS Token) for an existing Storage Account.

Shared access signatures allow fine-grained, ephemeral access control to various aspects of an Azure Storage Account.

Note that this is an Account SAS and not a Service SAS.

Function getPolicy

getPolicy(args: GetPolicyArgs, opts?: pulumi.InvokeOptions): Promise<GetPolicyResult>

Use this data source to access information about an existing Storage Management Policy.

Example Usage

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

const exampleAccount = azure.storage.getAccount({
    name: "storageaccountname",
    resourceGroupName: "resourcegroupname",
});
const examplePolicy = azure.storage.getPolicy({
    storageAccountId: azurerm_storage_account.example.id,
});

Function getStorageContainer

getStorageContainer(args: GetStorageContainerArgs, opts?: pulumi.InvokeOptions): Promise<GetStorageContainerResult>

Use this data source to access information about an existing Storage Container.

Example Usage

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

const example = pulumi.output(azure.storage.getStorageContainer({
    name: "example-container-name",
    storageAccountName: "example-storage-account-name",
}, { async: true }));

Others

interface AccountArgs

interface AccountArgs

The set of arguments for constructing a Account resource.

property accessTier

accessTier?: pulumi.Input<string>;

Defines the access tier for BlobStorage, FileStorage and StorageV2 accounts. Valid options are Hot and Cool, defaults to Hot.

property accountKind

accountKind?: pulumi.Input<string>;

Defines the Kind of account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2. Changing this forces a new resource to be created. Defaults to StorageV2.

property accountReplicationType

accountReplicationType: pulumi.Input<string>;

Defines the type of replication to use for this storage account. Valid options are LRS, GRS, RAGRS, ZRS, GZRS and RAGZRS.

property accountTier

accountTier: pulumi.Input<string>;

Defines the Tier to use for this storage account. Valid options are Standard and Premium. For BlockBlobStorage and FileStorage accounts only Premium is valid. Changing this forces a new resource to be created.

property blobProperties

blobProperties?: pulumi.Input<AccountBlobProperties>;

A blobProperties block as defined below.

property customDomain

customDomain?: pulumi.Input<AccountCustomDomain>;

A customDomain block as documented below.

property enableHttpsTrafficOnly

enableHttpsTrafficOnly?: pulumi.Input<boolean>;

Boolean flag which forces HTTPS if enabled, see here for more information. Defaults to true.

property identity

identity?: pulumi.Input<AccountIdentity>;

A identity block as defined below.

property isHnsEnabled

isHnsEnabled?: pulumi.Input<boolean>;

Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 (see here for more information). Changing this forces a new resource to be created.

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

Specifies the name of the storage account. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.

property networkRules

networkRules?: pulumi.Input<AccountNetworkRules>;

A networkRules block as documented below.

property queueProperties

queueProperties?: pulumi.Input<AccountQueueProperties>;

A queueProperties block as defined below.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.

property staticWebsite

staticWebsite?: pulumi.Input<AccountStaticWebsite>;

A staticWebsite block as defined below.

property tags

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

A mapping of tags to assign to the resource.

interface AccountNetworkRulesArgs

interface AccountNetworkRulesArgs

The set of arguments for constructing a AccountNetworkRules resource.

property bypasses

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

Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of Logging, Metrics, AzureServices, or None.

property defaultAction

defaultAction: pulumi.Input<string>;

Specifies the default action of allow or deny when no other rules match. Valid options are Deny or Allow.

property ipRules

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

List of public IP or IP ranges in CIDR Format. Only IPV4 addresses are allowed. Private IP address ranges (as defined in RFC 1918) are not allowed.

property resourceGroupName

resourceGroupName: pulumi.Input<string>;

The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.

property storageAccountName

storageAccountName: pulumi.Input<string>;

Specifies the name of the storage account. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.

property virtualNetworkSubnetIds

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

A list of virtual network subnet ids to to secure the storage account.

interface AccountNetworkRulesState

interface AccountNetworkRulesState

Input properties used for looking up and filtering AccountNetworkRules resources.

property bypasses

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

Specifies whether traffic is bypassed for Logging/Metrics/AzureServices. Valid options are any combination of Logging, Metrics, AzureServices, or None.

property defaultAction

defaultAction?: pulumi.Input<string>;

Specifies the default action of allow or deny when no other rules match. Valid options are Deny or Allow.

property ipRules

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

List of public IP or IP ranges in CIDR Format. Only IPV4 addresses are allowed. Private IP address ranges (as defined in RFC 1918) are not allowed.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.

property storageAccountName

storageAccountName?: pulumi.Input<string>;

Specifies the name of the storage account. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.

property virtualNetworkSubnetIds

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

A list of virtual network subnet ids to to secure the storage account.

interface AccountState

interface AccountState

Input properties used for looking up and filtering Account resources.

property accessTier

accessTier?: pulumi.Input<string>;

Defines the access tier for BlobStorage, FileStorage and StorageV2 accounts. Valid options are Hot and Cool, defaults to Hot.

property accountKind

accountKind?: pulumi.Input<string>;

Defines the Kind of account. Valid options are BlobStorage, BlockBlobStorage, FileStorage, Storage and StorageV2. Changing this forces a new resource to be created. Defaults to StorageV2.

property accountReplicationType

accountReplicationType?: pulumi.Input<string>;

Defines the type of replication to use for this storage account. Valid options are LRS, GRS, RAGRS, ZRS, GZRS and RAGZRS.

property accountTier

accountTier?: pulumi.Input<string>;

Defines the Tier to use for this storage account. Valid options are Standard and Premium. For BlockBlobStorage and FileStorage accounts only Premium is valid. Changing this forces a new resource to be created.

property blobProperties

blobProperties?: pulumi.Input<AccountBlobProperties>;

A blobProperties block as defined below.

property customDomain

customDomain?: pulumi.Input<AccountCustomDomain>;

A customDomain block as documented below.

property enableHttpsTrafficOnly

enableHttpsTrafficOnly?: pulumi.Input<boolean>;

Boolean flag which forces HTTPS if enabled, see here for more information. Defaults to true.

property identity

identity?: pulumi.Input<AccountIdentity>;

A identity block as defined below.

property isHnsEnabled

isHnsEnabled?: pulumi.Input<boolean>;

Is Hierarchical Namespace enabled? This can be used with Azure Data Lake Storage Gen 2 (see here for more information). Changing this forces a new resource to be created.

property location

location?: pulumi.Input<string>;

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

property name

name?: pulumi.Input<string>;

Specifies the name of the storage account. Changing this forces a new resource to be created. This must be unique across the entire Azure service, not just within the resource group.

property networkRules

networkRules?: pulumi.Input<AccountNetworkRules>;

A networkRules block as documented below.

property primaryAccessKey

primaryAccessKey?: pulumi.Input<string>;

The primary access key for the storage account.

property primaryBlobConnectionString

primaryBlobConnectionString?: pulumi.Input<string>;

The connection string associated with the primary blob location.

property primaryBlobEndpoint

primaryBlobEndpoint?: pulumi.Input<string>;

The endpoint URL for blob storage in the primary location.

property primaryBlobHost

primaryBlobHost?: pulumi.Input<string>;

The hostname with port if applicable for blob storage in the primary location.

property primaryConnectionString

primaryConnectionString?: pulumi.Input<string>;

The connection string associated with the primary location.

property primaryDfsEndpoint

primaryDfsEndpoint?: pulumi.Input<string>;

The endpoint URL for DFS storage in the primary location.

property primaryDfsHost

primaryDfsHost?: pulumi.Input<string>;

The hostname with port if applicable for DFS storage in the primary location.

property primaryFileEndpoint

primaryFileEndpoint?: pulumi.Input<string>;

The endpoint URL for file storage in the primary location.

property primaryFileHost

primaryFileHost?: pulumi.Input<string>;

The hostname with port if applicable for file storage in the primary location.

property primaryLocation

primaryLocation?: pulumi.Input<string>;

The primary location of the storage account.

property primaryQueueEndpoint

primaryQueueEndpoint?: pulumi.Input<string>;

The endpoint URL for queue storage in the primary location.

property primaryQueueHost

primaryQueueHost?: pulumi.Input<string>;

The hostname with port if applicable for queue storage in the primary location.

property primaryTableEndpoint

primaryTableEndpoint?: pulumi.Input<string>;

The endpoint URL for table storage in the primary location.

property primaryTableHost

primaryTableHost?: pulumi.Input<string>;

The hostname with port if applicable for table storage in the primary location.

property primaryWebEndpoint

primaryWebEndpoint?: pulumi.Input<string>;

The endpoint URL for web storage in the primary location.

property primaryWebHost

primaryWebHost?: pulumi.Input<string>;

The hostname with port if applicable for web storage in the primary location.

property queueProperties

queueProperties?: pulumi.Input<AccountQueueProperties>;

A queueProperties block as defined below.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the storage account. Changing this forces a new resource to be created.

property secondaryAccessKey

secondaryAccessKey?: pulumi.Input<string>;

The secondary access key for the storage account.

property secondaryBlobConnectionString

secondaryBlobConnectionString?: pulumi.Input<string>;

The connection string associated with the secondary blob location.

property secondaryBlobEndpoint

secondaryBlobEndpoint?: pulumi.Input<string>;

The endpoint URL for blob storage in the secondary location.

property secondaryBlobHost

secondaryBlobHost?: pulumi.Input<string>;

The hostname with port if applicable for blob storage in the secondary location.

property secondaryConnectionString

secondaryConnectionString?: pulumi.Input<string>;

The connection string associated with the secondary location.

property secondaryDfsEndpoint

secondaryDfsEndpoint?: pulumi.Input<string>;

The endpoint URL for DFS storage in the secondary location.

property secondaryDfsHost

secondaryDfsHost?: pulumi.Input<string>;

The hostname with port if applicable for DFS storage in the secondary location.

property secondaryFileEndpoint

secondaryFileEndpoint?: pulumi.Input<string>;

The endpoint URL for file storage in the secondary location.

property secondaryFileHost

secondaryFileHost?: pulumi.Input<string>;

The hostname with port if applicable for file storage in the secondary location.

property secondaryLocation

secondaryLocation?: pulumi.Input<string>;

The secondary location of the storage account.

property secondaryQueueEndpoint

secondaryQueueEndpoint?: pulumi.Input<string>;

The endpoint URL for queue storage in the secondary location.

property secondaryQueueHost

secondaryQueueHost?: pulumi.Input<string>;

The hostname with port if applicable for queue storage in the secondary location.

property secondaryTableEndpoint

secondaryTableEndpoint?: pulumi.Input<string>;

The endpoint URL for table storage in the secondary location.

property secondaryTableHost

secondaryTableHost?: pulumi.Input<string>;

The hostname with port if applicable for table storage in the secondary location.

property secondaryWebEndpoint

secondaryWebEndpoint?: pulumi.Input<string>;

The endpoint URL for web storage in the secondary location.

property secondaryWebHost

secondaryWebHost?: pulumi.Input<string>;

The hostname with port if applicable for web storage in the secondary location.

property staticWebsite

staticWebsite?: pulumi.Input<AccountStaticWebsite>;

A staticWebsite block as defined below.

property tags

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

A mapping of tags to assign to the resource.

interface BlobArgs

interface BlobArgs

The set of arguments for constructing a Blob resource.

property accessTier

accessTier?: pulumi.Input<string>;

The access tier of the storage blob. Possible values are Archive, Cool and Hot.

property contentType

contentType?: pulumi.Input<string>;

The content type of the storage blob. Cannot be defined if sourceUri is defined. Defaults to application/octet-stream.

property metadata

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

A map of custom blob metadata.

property name

name?: pulumi.Input<string>;

The name of the storage blob. Must be unique within the storage container the blob is located.

property parallelism

parallelism?: pulumi.Input<number>;

The number of workers per CPU core to run for concurrent uploads. Defaults to 8.

property size

size?: pulumi.Input<number>;

Used only for page blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to 0.

property source

source?: pulumi.Input<Asset | Archive>;

An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if sourceContent or sourceUri is specified.

property sourceContent

sourceContent?: pulumi.Input<string>;

The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if source or sourceUri is specified.

property sourceUri

sourceUri?: pulumi.Input<string>;

The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if source or sourceContent is specified.

property storageAccountName

storageAccountName: pulumi.Input<string>;

Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created.

property storageContainerName

storageContainerName: pulumi.Input<string>;

The name of the storage container in which this blob should be created.

property type

type: pulumi.Input<string>;

The type of the storage blob to be created. Possible values are Append, Block or Page. Changing this forces a new resource to be created.

type BlobCallback

type BlobCallback = appservice.Callback<BlobContext, Buffer, appservice.FunctionDefaultResponse>;

Signature of the callback that can receive blob notifications.

interface BlobContext

interface BlobContext extends Context<appservice.FunctionDefaultResponse>

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

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: {
    blobName: string;
    blobTrigger: string;
    invocationId: string;
    metadata: Record<string, string>;
    properties: {
        appendBlobCommittedBlockCount: any;
        blobType: string;
        cacheControl: any;
        contentDisposition: any;
        contentEncoding: any;
        contentLanguage: any;
        contentMD5: any;
        contentType: string;
        eTag: string;
        isServerEncrypted: boolean;
        lastModified: string;
        leaseDuration: string;
        leaseState: string;
        leaseStatus: string;
        length: number;
        pageBlobSequenceNumber: any;
    };
    sys: {
        methodName: string;
        utcNow: string;
    };
    uri: string;
};

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: {
    functionDirectory: string;
    functionName: string;
    invocationId: string;
};

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.

property traceContext

traceContext: TraceContext;

TraceContext information to enable distributed tracing scenarios.

class BlobEventSubscription

class BlobEventSubscription extends EventSubscription<BlobContext, Buffer, appservice.FunctionDefaultResponse>

constructor

new BlobEventSubscription(name: string, container: Container, args: BlobEventSubscriptionArgs, opts: ComponentResourceOptions)

method getData

protected getData(): Promise<TData>

Retrieves the data produces by [initialize]. The data is immediately available in a derived class’s constructor after the super(...) call to ComponentResource.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method initialize

protected initialize(args: Inputs): Promise<TData>

Can be overridden by a subclass to asynchronously initialize data for this Component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use .getData.

method isInstance

static isInstance(obj: any): obj is ComponentResource

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

registerOutputs registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

ComponentResources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

property functionApp

public functionApp: CallbackFunctionApp<BlobContext, Buffer, appservice.FunctionDefaultResponse>;

property urn

urn: Output<URN>;

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

interface BlobEventSubscriptionArgs

interface BlobEventSubscriptionArgs extends GetBlobFunctionArgs, CallbackFunctionAppArgs<BlobContext, Buffer, appservice.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 authSettings

authSettings?: pulumi.Input<FunctionAppAuthSettings>;

A authSettings block as defined below.

property callback

callback?: Callback<BlobContext, Buffer, appservice.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<BlobContext, Buffer, appservice.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 dailyMemoryTimeQuota

dailyMemoryTimeQuota?: pulumi.Input<number>;

The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to 0.

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 filterPrefix

filterPrefix?: pulumi.Input<string>;

An optional prefix or suffix to filter down notifications. See https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob#trigger---blob-name-patterns for more details.

property filterSuffix

filterSuffix?: pulumi.Input<string>;

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

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

property osType

osType?: pulumi.Input<string>;

A string indicating the Operating System type for this function app.

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]. If none of the two is supplied, the resource group of the Storage Account will be used.

property siteConfig

siteConfig?: pulumi.Input<FunctionAppSiteConfig>;

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

class BlobFunction

class BlobFunction extends Function<BlobContext, Buffer, appservice.FunctionDefaultResponse>

Azure Function triggered by changes in a Storage Blob Container.

constructor

new BlobFunction(name: string, args: BlobFunctionArgs)

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<BlobContext, Buffer, appservice.FunctionDefaultResponse>;

Function callback.

property name

public name: string;

Function name.

interface BlobFunctionArgs

interface BlobFunctionArgs extends GetBlobFunctionArgs

property callback

callback?: Callback<BlobContext, Buffer, appservice.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<BlobContext, Buffer, appservice.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 container

container: Container;

Storage Blob Container to subscribe for events of.

property filterPrefix

filterPrefix?: pulumi.Input<string>;

An optional prefix or suffix to filter down notifications. See https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob#trigger---blob-name-patterns for more details.

property filterSuffix

filterSuffix?: pulumi.Input<string>;

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

class BlobInputBinding

 implements BindingSettings

constructor

new BlobInputBinding(name: string, container: Container, args: BlobInputBindingArgs)

property binding

public binding: pulumi.Input<BlobInputBindingDefinition>;

property settings

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

interface BlobInputBindingArgs

interface BlobInputBindingArgs

property blobName

blobName: pulumi.Input<string>;

Blob name to retrieve. May contain a binding expression to bind to a value from a trigger.

interface BlobInputBindingDefinition

interface BlobInputBindingDefinition extends BlobBindingDefinition

property connection

connection: pulumi.Input<string>;

The storage connection string for the storage account containing the blob.

property dataType

dataType: "binary";

How we want the blob represented when passed into the callback. We specify ‘binary’ so that all data is passed in as a buffer. Otherwise, Azure will attempt to sniff the content and convert it accordingly. This gives us a consistent way to know what data will be passed into the function.

property direction

direction: "in";

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

property name

name: string;

The name of the property in the context object to bind the actual blob value to. Not really important in our implementation as the blob value will be passed as the second argument to the callback function.

property path

path: pulumi.Input<string>;

The path to the blob we want to create a trigger for.

property type

type: "blob";

The type of a blob binding. Must be ‘blob’.

interface BlobState

interface BlobState

Input properties used for looking up and filtering Blob resources.

property accessTier

accessTier?: pulumi.Input<string>;

The access tier of the storage blob. Possible values are Archive, Cool and Hot.

property contentType

contentType?: pulumi.Input<string>;

The content type of the storage blob. Cannot be defined if sourceUri is defined. Defaults to application/octet-stream.

property metadata

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

A map of custom blob metadata.

property name

name?: pulumi.Input<string>;

The name of the storage blob. Must be unique within the storage container the blob is located.

property parallelism

parallelism?: pulumi.Input<number>;

The number of workers per CPU core to run for concurrent uploads. Defaults to 8.

property size

size?: pulumi.Input<number>;

Used only for page blobs to specify the size in bytes of the blob to be created. Must be a multiple of 512. Defaults to 0.

property source

source?: pulumi.Input<Asset | Archive>;

An absolute path to a file on the local system. This field cannot be specified for Append blobs and cannot be specified if sourceContent or sourceUri is specified.

property sourceContent

sourceContent?: pulumi.Input<string>;

The content for this blob which should be defined inline. This field can only be specified for Block blobs and cannot be specified if source or sourceUri is specified.

property sourceUri

sourceUri?: pulumi.Input<string>;

The URI of an existing blob, or a file in the Azure File service, to use as the source contents for the blob to be created. Changing this forces a new resource to be created. This field cannot be specified for Append blobs and cannot be specified if source or sourceContent is specified.

property storageAccountName

storageAccountName?: pulumi.Input<string>;

Specifies the storage account in which to create the storage container. Changing this forces a new resource to be created.

property storageContainerName

storageContainerName?: pulumi.Input<string>;

The name of the storage container in which this blob should be created.

property type

type?: pulumi.Input<string>;

The type of the storage blob to be created. Possible values are Append, Block or Page. Changing this forces a new resource to be created.

property url

url?: pulumi.Input<string>;

The URL of the blob

interface ContainerArgs

interface ContainerArgs

The set of arguments for constructing a Container resource.

property containerAccessType

containerAccessType?: pulumi.Input<string>;

The Access Level configured for this Container. Possible values are blob, container or private. Defaults to private.

property metadata

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

A mapping of MetaData for this Container.

property name

name?: pulumi.Input<string>;

The name of the Container which should be created within the Storage Account.

property storageAccountName

storageAccountName: pulumi.Input<string>;

The name of the Storage Account where the Container should be created.

interface ContainerState

interface ContainerState

Input properties used for looking up and filtering Container resources.

property containerAccessType

containerAccessType?: pulumi.Input<string>;

The Access Level configured for this Container. Possible values are blob, container or private. Defaults to private.

property hasImmutabilityPolicy

hasImmutabilityPolicy?: pulumi.Input<boolean>;

Is there an Immutability Policy configured on this Storage Container?

property hasLegalHold

hasLegalHold?: pulumi.Input<boolean>;

Is there a Legal Hold configured on this Storage Container?

property metadata

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

A mapping of MetaData for this Container.

property name

name?: pulumi.Input<string>;

The name of the Container which should be created within the Storage Account.

property resourceManagerId

resourceManagerId?: pulumi.Input<string>;

The Resource Manager ID of this Storage Container.

property storageAccountName

storageAccountName?: pulumi.Input<string>;

The name of the Storage Account where the Container should be created.

interface CustomerManagedKeyArgs

interface CustomerManagedKeyArgs

The set of arguments for constructing a CustomerManagedKey resource.

property keyName

keyName: pulumi.Input<string>;

The name of Key Vault Key.

property keyVaultId

keyVaultId: pulumi.Input<string>;

The ID of the Key Vault. Changing this forces a new resource to be created.

property keyVersion

keyVersion: pulumi.Input<string>;

The version of Key Vault Key.

property storageAccountId

storageAccountId: pulumi.Input<string>;

The ID of the Storage Account. Changing this forces a new resource to be created.

interface CustomerManagedKeyState

interface CustomerManagedKeyState

Input properties used for looking up and filtering CustomerManagedKey resources.

property keyName

keyName?: pulumi.Input<string>;

The name of Key Vault Key.

property keyVaultId

keyVaultId?: pulumi.Input<string>;

The ID of the Key Vault. Changing this forces a new resource to be created.

property keyVersion

keyVersion?: pulumi.Input<string>;

The version of Key Vault Key.

property storageAccountId

storageAccountId?: pulumi.Input<string>;

The ID of the Storage Account. Changing this forces a new resource to be created.

interface DataLakeGen2FilesystemArgs

interface DataLakeGen2FilesystemArgs

The set of arguments for constructing a DataLakeGen2Filesystem resource.

property name

name?: pulumi.Input<string>;

The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.

property properties

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

A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.

property storageAccountId

storageAccountId: pulumi.Input<string>;

Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.

interface DataLakeGen2FilesystemState

interface DataLakeGen2FilesystemState

Input properties used for looking up and filtering DataLakeGen2Filesystem resources.

property name

name?: pulumi.Input<string>;

The name of the Data Lake Gen2 File System which should be created within the Storage Account. Must be unique within the storage account the queue is located. Changing this forces a new resource to be created.

property properties

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

A mapping of Key to Base64-Encoded Values which should be assigned to this Data Lake Gen2 File System.

property storageAccountId

storageAccountId?: pulumi.Input<string>;

Specifies the ID of the Storage Account in which the Data Lake Gen2 File System should exist. Changing this forces a new resource to be created.

interface GetAccountArgs

interface GetAccountArgs

A collection of arguments for invoking getAccount.

property name

name: string;

Specifies the name of the Storage Account

property resourceGroupName

resourceGroupName?: undefined | string;

Specifies the name of the resource group the Storage Account is located in.

interface GetAccountBlobContainerSASArgs

interface GetAccountBlobContainerSASArgs

A collection of arguments for invoking getAccountBlobContainerSAS.

property cacheControl

cacheControl?: undefined | string;

The Cache-Control response header that is sent when this SAS token is used.

property connectionString

connectionString: string;

The connection string for the storage account to which this SAS applies. Typically directly from the primaryConnectionString attribute of an azure.storage.Account resource.

property containerName

containerName: string;

Name of the container.

property contentDisposition

contentDisposition?: undefined | string;

The Content-Disposition response header that is sent when this SAS token is used.

property contentEncoding

contentEncoding?: undefined | string;

The Content-Encoding response header that is sent when this SAS token is used.

property contentLanguage

contentLanguage?: undefined | string;

The Content-Language response header that is sent when this SAS token is used.

property contentType

contentType?: undefined | string;

The Content-Type response header that is sent when this SAS token is used.

property expiry

expiry: string;

The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.

property httpsOnly

httpsOnly?: undefined | false | true;

Only permit https access. If false, both http and https are permitted. Defaults to true.

property ipAddress

ipAddress?: undefined | string;

Single ipv4 address or range (connected with a dash) of ipv4 addresses.

property permissions

permissions: GetAccountBlobContainerSASPermissions;

A permissions block as defined below.

property start

start: string;

The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.

interface GetAccountBlobContainerSASResult

interface GetAccountBlobContainerSASResult

A collection of values returned by getAccountBlobContainerSAS.

property cacheControl

cacheControl?: undefined | string;

property connectionString

connectionString: string;

property containerName

containerName: string;

property contentDisposition

contentDisposition?: undefined | string;

property contentEncoding

contentEncoding?: undefined | string;

property contentLanguage

contentLanguage?: undefined | string;

property contentType

contentType?: undefined | string;

property expiry

expiry: string;

property httpsOnly

httpsOnly?: undefined | false | true;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property ipAddress

ipAddress?: undefined | string;

property permissions

permissions: GetAccountBlobContainerSASPermissions;

property sas

sas: string;

The computed Blob Container Shared Access Signature (SAS).

property start

start: string;

interface GetAccountResult

interface GetAccountResult

A collection of values returned by getAccount.

property accessTier

accessTier: string;

The access tier for BlobStorage accounts.

property accountKind

accountKind: string;

The Kind of account.

property accountReplicationType

accountReplicationType: string;

The type of replication used for this storage account.

property accountTier

accountTier: string;

The Tier of this storage account.

property customDomains

customDomains: GetAccountCustomDomain[];

A customDomain block as documented below.

property enableHttpsTrafficOnly

enableHttpsTrafficOnly: boolean;

Is traffic only allowed via HTTPS? See here for more information.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property isHnsEnabled

isHnsEnabled: boolean;

Is Hierarchical Namespace enabled?

property location

location: string;

The Azure location where the Storage Account exists

property name

name: string;

The Custom Domain Name used for the Storage Account.

property primaryAccessKey

primaryAccessKey: string;

The primary access key for the Storage Account.

property primaryBlobConnectionString

primaryBlobConnectionString: string;

The connection string associated with the primary blob location

property primaryBlobEndpoint

primaryBlobEndpoint: string;

The endpoint URL for blob storage in the primary location.

property primaryBlobHost

primaryBlobHost: string;

The hostname with port if applicable for blob storage in the primary location.

property primaryConnectionString

primaryConnectionString: string;

The connection string associated with the primary location

property primaryDfsEndpoint

primaryDfsEndpoint: string;

The endpoint URL for DFS storage in the primary location.

property primaryDfsHost

primaryDfsHost: string;

The hostname with port if applicable for DFS storage in the primary location.

property primaryFileEndpoint

primaryFileEndpoint: string;

The endpoint URL for file storage in the primary location.

property primaryFileHost

primaryFileHost: string;

The hostname with port if applicable for file storage in the primary location.

property primaryLocation

primaryLocation: string;

The primary location of the Storage Account.

property primaryQueueEndpoint

primaryQueueEndpoint: string;

The endpoint URL for queue storage in the primary location.

property primaryQueueHost

primaryQueueHost: string;

The hostname with port if applicable for queue storage in the primary location.

property primaryTableEndpoint

primaryTableEndpoint: string;

The endpoint URL for table storage in the primary location.

property primaryTableHost

primaryTableHost: string;

The hostname with port if applicable for table storage in the primary location.

property primaryWebEndpoint

primaryWebEndpoint: string;

The endpoint URL for web storage in the primary location.

property primaryWebHost

primaryWebHost: string;

The hostname with port if applicable for web storage in the primary location.

property resourceGroupName

resourceGroupName: string;

property secondaryAccessKey

secondaryAccessKey: string;

The secondary access key for the Storage Account.

property secondaryBlobConnectionString

secondaryBlobConnectionString: string;

The connection string associated with the secondary blob location

property secondaryBlobEndpoint

secondaryBlobEndpoint: string;

The endpoint URL for blob storage in the secondary location.

property secondaryBlobHost

secondaryBlobHost: string;

The hostname with port if applicable for blob storage in the secondary location.

property secondaryConnectionString

secondaryConnectionString: string;

The connection string associated with the secondary location

property secondaryDfsEndpoint

secondaryDfsEndpoint: string;

The endpoint URL for DFS storage in the secondary location.

property secondaryDfsHost

secondaryDfsHost: string;

The hostname with port if applicable for DFS storage in the secondary location.

property secondaryFileEndpoint

secondaryFileEndpoint: string;

The endpoint URL for file storage in the secondary location.

property secondaryFileHost

secondaryFileHost: string;

The hostname with port if applicable for file storage in the secondary location.

property secondaryLocation

secondaryLocation: string;

The secondary location of the Storage Account.

property secondaryQueueEndpoint

secondaryQueueEndpoint: string;

The endpoint URL for queue storage in the secondary location.

property secondaryQueueHost

secondaryQueueHost: string;

The hostname with port if applicable for queue storage in the secondary location.

property secondaryTableEndpoint

secondaryTableEndpoint: string;

The endpoint URL for table storage in the secondary location.

property secondaryTableHost

secondaryTableHost: string;

The hostname with port if applicable for table storage in the secondary location.

property secondaryWebEndpoint

secondaryWebEndpoint: string;

The endpoint URL for web storage in the secondary location.

property secondaryWebHost

secondaryWebHost: string;

The hostname with port if applicable for web storage in the secondary location.

property tags

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

A mapping of tags to assigned to the resource.

interface GetAccountSASArgs

interface GetAccountSASArgs

A collection of arguments for invoking getAccountSAS.

property connectionString

connectionString: string;

The connection string for the storage account to which this SAS applies. Typically directly from the primaryConnectionString attribute of a azure.storage.Account resource.

property expiry

expiry: string;

The expiration time and date of this SAS. Must be a valid ISO-8601 format time/date string.

property httpsOnly

httpsOnly?: undefined | false | true;

Only permit https access. If false, both http and https are permitted. Defaults to true.

property permissions

permissions: GetAccountSASPermissions;

A permissions block as defined below.

property resourceTypes

resourceTypes: GetAccountSASResourceTypes;

A resourceTypes block as defined below.

property services

services: GetAccountSASServices;

A services block as defined below.

property start

start: string;

The starting time and date of validity of this SAS. Must be a valid ISO-8601 format time/date string.

interface GetAccountSASResult

interface GetAccountSASResult

A collection of values returned by getAccountSAS.

property connectionString

connectionString: string;

property expiry

expiry: string;

property httpsOnly

httpsOnly?: undefined | false | true;

property id

id: string;

The provider-assigned unique ID for this managed resource.

property permissions

permissions: GetAccountSASPermissions;

property resourceTypes

resourceTypes: GetAccountSASResourceTypes;

property sas

sas: string;

The computed Account Shared Access Signature (SAS).

property services

services: GetAccountSASServices;

property start

start: string;

interface GetBlobFunctionArgs

interface GetBlobFunctionArgs extends CallbackFunctionArgs<BlobContext, Buffer, appservice.FunctionDefaultResponse>

property callback

callback?: Callback<BlobContext, Buffer, appservice.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<BlobContext, Buffer, appservice.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 filterPrefix

filterPrefix?: pulumi.Input<string>;

An optional prefix or suffix to filter down notifications. See https://docs.microsoft.com/en-us/azure/azure-functions/functions-bindings-storage-blob#trigger---blob-name-patterns for more details.

property filterSuffix

filterSuffix?: pulumi.Input<string>;

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

interface GetPolicyArgs

interface GetPolicyArgs

A collection of arguments for invoking getPolicy.

property storageAccountId

storageAccountId: string;

Specifies the id of the storage account to retrieve the management policy for.

interface GetPolicyResult

interface GetPolicyResult

A collection of values returned by getPolicy.

property id

id: string;

The provider-assigned unique ID for this managed resource.

property rules

rules: GetPolicyRule[];

A rule block as documented below.

property storageAccountId

storageAccountId: string;

interface GetStorageContainerArgs

interface GetStorageContainerArgs

A collection of arguments for invoking getStorageContainer.

property metadata

metadata?: undefined | {[key: string]: string};

A mapping of MetaData for this Container.

property name

name: string;

The name of the Container.

property storageAccountName

storageAccountName: string;

The name of the Storage Account where the Container exists.

interface GetStorageContainerResult

interface GetStorageContainerResult

A collection of values returned by getStorageContainer.

property containerAccessType

containerAccessType: string;

The Access Level configured for this Container.

property hasImmutabilityPolicy

hasImmutabilityPolicy: boolean;

Is there an Immutability Policy configured on this Storage Container?

property hasLegalHold

hasLegalHold: boolean;

Is there a Legal Hold configured on this Storage Container?

property id

id: string;

The provider-assigned unique ID for this managed resource.

property metadata

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

A mapping of MetaData for this Container.

property name

name: string;

property resourceManagerId

resourceManagerId: string;

The Resource Manager ID of this Storage Container.

property storageAccountName

storageAccountName: string;

interface ManagementPolicyArgs

interface ManagementPolicyArgs

The set of arguments for constructing a ManagementPolicy resource.

property rules

rules?: pulumi.Input<pulumi.Input<ManagementPolicyRule>[]>;

A rule block as documented below.

property storageAccountId

storageAccountId: pulumi.Input<string>;

Specifies the id of the storage account to apply the management policy to.

interface ManagementPolicyState

interface ManagementPolicyState

Input properties used for looking up and filtering ManagementPolicy resources.

property rules

rules?: pulumi.Input<pulumi.Input<ManagementPolicyRule>[]>;

A rule block as documented below.

property storageAccountId

storageAccountId?: pulumi.Input<string>;

Specifies the id of the storage account to apply the management policy to.

interface QueueArgs

interface QueueArgs

The set of arguments for constructing a Queue resource.

property metadata

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

A mapping of MetaData which should be assigned to this Storage Queue.

property name

name?: pulumi.Input<string>;

The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located.

property storageAccountName

storageAccountName: pulumi.Input<string>;

Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created.

type QueueCallback

type QueueCallback = appservice.Callback<QueueContext, any, appservice.FunctionDefaultResponse>;

Signature of the callback that can receive queue notifications.

interface QueueContext

interface QueueContext extends Context<appservice.FunctionDefaultResponse>

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

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: {
    dequeueCount: number;
    expirationTime: string;
    id: string;
    insertionTime: string;
    invocationId: string;
    nextVisibleTime: string;
    popReceipt: string;
    queueTrigger: string;
    sys: {
        methodName: string;
        utcNow: string;
    };
};

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: {
    functionDirectory: string;
    functionName: string;
    invocationId: string;
};

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.

property traceContext

traceContext: TraceContext;

TraceContext information to enable distributed tracing scenarios.

class QueueEventSubscription

class QueueEventSubscription extends EventSubscription<QueueContext, any, appservice.FunctionDefaultResponse>

constructor

new QueueEventSubscription(name: string, queue: Queue, args: QueueEventSubscriptionArgs, opts: ComponentResourceOptions)

method getData

protected getData(): Promise<TData>

Retrieves the data produces by [initialize]. The data is immediately available in a derived class’s constructor after the super(...) call to ComponentResource.

method getProvider

getProvider(moduleMember: string): ProviderResource | undefined

method initialize

protected initialize(args: Inputs): Promise<TData>

Can be overridden by a subclass to asynchronously initialize data for this Component automatically when constructed. The data will be available immediately for subclass constructors to use. To access the data use .getData.

method isInstance

static isInstance(obj: any): obj is ComponentResource

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

registerOutputs registers synthetic outputs that a component has initialized, usually by allocating other child sub-resources and propagating their resulting property values.

ComponentResources can call this at the end of their constructor to indicate that they are done creating child resources. This is not strictly necessary as this will automatically be called after the initialize method completes.

property functionApp

public functionApp: CallbackFunctionApp<QueueContext, any, appservice.FunctionDefaultResponse>;

property urn

urn: Output<URN>;

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

interface QueueEventSubscriptionArgs

interface QueueEventSubscriptionArgs extends CallbackFunctionAppArgs<QueueContext, any, appservice.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 authSettings

authSettings?: pulumi.Input<FunctionAppAuthSettings>;

A authSettings block as defined below.

property callback

callback?: Callback<QueueContext, any, appservice.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<QueueContext, any, appservice.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 dailyMemoryTimeQuota

dailyMemoryTimeQuota?: pulumi.Input<number>;

The amount of memory in gigabyte-seconds that your application is allowed to consume per day. Setting this value only affects function apps under the consumption plan. Defaults to 0.

property dataType

dataType?: "binary" | "string";

Specify ‘string’ to get messages as a string, or a parsed object if the message is a valid JSON literal. Specify ‘binary’ for all data to be passed in as a Buffer. Default is ‘string’.

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?: QueueHostSettings;

Host settings specific to the Storage Queue 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<FunctionAppIdentity>;

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

property osType

osType?: pulumi.Input<string>;

A string indicating the Operating System type for this function app.

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. If not supplied, the Queue’s resource group will be used.

property resourceGroupName

resourceGroupName?: pulumi.Input<string>;

The name of the resource group in which to create the event subscription. [resourceGroup] takes precedence over [resourceGroupName]. If none of the two is supplied, the resource group of the Storage Account will be used.

property siteConfig

siteConfig?: pulumi.Input<FunctionAppSiteConfig>;

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

class QueueFunction

class QueueFunction extends Function<QueueContext, any, appservice.FunctionDefaultResponse>

Azure Function triggered by a Storage Queue.

constructor

new QueueFunction(name: string, args: QueueFunctionArgs)

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<QueueContext, any, appservice.FunctionDefaultResponse>;

Function callback.

property name

public name: string;

Function name.

interface QueueFunctionArgs

interface QueueFunctionArgs extends CallbackFunctionArgs<QueueContext, any, appservice.FunctionDefaultResponse>

property callback

callback?: Callback<QueueContext, any, appservice.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<QueueContext, any, appservice.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 dataType

dataType?: "binary" | "string";

Specify ‘string’ to get messages as a string, or a parsed object if the message is a valid JSON literal. Specify ‘binary’ for all data to be passed in as a Buffer. Default is ‘string’.

property inputs

inputs?: InputBindingSettings[];

Input bindings.

property outputs

outputs?: OutputBindingSettings[];

Output bindings.

property queue

queue: Queue;

Defines the queue to trigger the function.

interface QueueHostExtensions

interface QueueHostExtensions

Host settings specific to the Storage Queue plugin.

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

property batchSize

batchSize?: undefined | number;

The number of queue messages that the Functions runtime retrieves simultaneously and processes in parallel.

property maxDequeueCount

maxDequeueCount?: undefined | number;

The number of times to try processing a message before moving it to the poison queue.

property maxPollingInterval

maxPollingInterval?: undefined | string;

The maximum interval between queue polls. Minimum is 00:00:00.100 (100 ms).

property newBatchThreshold

newBatchThreshold?: undefined | number;

Whenever the number of messages being processed concurrently gets down to this number, the runtime retrieves another batch.

property visibilityTimeout

visibilityTimeout?: undefined | string;

The time interval between retries when processing of a message fails.

interface QueueHostSettings

interface QueueHostSettings 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 | {
    queues: QueueHostExtensions;
};

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.

class QueueOutputBinding

 implements BindingSettings

Azure Function’s output binding that sends messages to a Storage Queue.

constructor

new QueueOutputBinding(name: string, queue: Queue)

property binding

public binding: pulumi.Input<QueueOutputBindingDefinition>;

property settings

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

interface QueueState

interface QueueState

Input properties used for looking up and filtering Queue resources.

property metadata

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

A mapping of MetaData which should be assigned to this Storage Queue.

property name

name?: pulumi.Input<string>;

The name of the Queue which should be created within the Storage Account. Must be unique within the storage account the queue is located.

property storageAccountName

storageAccountName?: pulumi.Input<string>;

Specifies the Storage Account in which the Storage Queue should exist. Changing this forces a new resource to be created.

interface ShareArgs

interface ShareArgs

The set of arguments for constructing a Share resource.

property acls

acls?: pulumi.Input<pulumi.Input<ShareAcl>[]>;

One or more acl blocks as defined below.

property metadata

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

A mapping of MetaData for this File Share.

property name

name?: pulumi.Input<string>;

The name of the share. Must be unique within the storage account where the share is located.

property quota

quota?: pulumi.Input<number>;

The maximum size of the share, in gigabytes. For Standard storage accounts, this must be greater than 0 and less than 5120 GB (5 TB). For Premium FileStorage storage accounts, this must be greater than 100 GB and less than 102400 GB (100 TB). Default is 5120.

property storageAccountName

storageAccountName: pulumi.Input<string>;

Specifies the storage account in which to create the share. Changing this forces a new resource to be created.

interface ShareDirectoryArgs

interface ShareDirectoryArgs

The set of arguments for constructing a ShareDirectory resource.

property metadata

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

A mapping of metadata to assign to this Directory.

property name

name?: pulumi.Input<string>;

The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created.

property shareName

shareName: pulumi.Input<string>;

The name of the File Share where this Directory should be created. Changing this forces a new resource to be created.

property storageAccountName

storageAccountName: pulumi.Input<string>;

The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created.

interface ShareDirectoryState

interface ShareDirectoryState

Input properties used for looking up and filtering ShareDirectory resources.

property metadata

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

A mapping of metadata to assign to this Directory.

property name

name?: pulumi.Input<string>;

The name (or path) of the Directory that should be created within this File Share. Changing this forces a new resource to be created.

property shareName

shareName?: pulumi.Input<string>;

The name of the File Share where this Directory should be created. Changing this forces a new resource to be created.

property storageAccountName

storageAccountName?: pulumi.Input<string>;

The name of the Storage Account within which the File Share is located. Changing this forces a new resource to be created.

interface ShareState

interface ShareState

Input properties used for looking up and filtering Share resources.

property acls

acls?: pulumi.Input<pulumi.Input<ShareAcl>[]>;

One or more acl blocks as defined below.

property metadata

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

A mapping of MetaData for this File Share.

property name

name?: pulumi.Input<string>;

The name of the share. Must be unique within the storage account where the share is located.

property quota

quota?: pulumi.Input<number>;

The maximum size of the share, in gigabytes. For Standard storage accounts, this must be greater than 0 and less than 5120 GB (5 TB). For Premium FileStorage storage accounts, this must be greater than 100 GB and less than 102400 GB (100 TB). Default is 5120.

property resourceManagerId

resourceManagerId?: pulumi.Input<string>;

The Resource Manager ID of this File Share.

property storageAccountName

storageAccountName?: pulumi.Input<string>;

Specifies the storage account in which to create the share. Changing this forces a new resource to be created.

property url

url?: pulumi.Input<string>;

The URL of the File Share

function signedBlobReadUrl

signedBlobReadUrl(blob: Blob, account: Account): pulumi.Output<string>

Produce a URL with read-only access to a Storage Blob with a Shared Access Signature (SAS).

interface TableArgs

interface TableArgs

The set of arguments for constructing a Table resource.

property acls

acls?: pulumi.Input<pulumi.Input<TableAcl>[]>;

One or more acl blocks as defined below.

property name

name?: pulumi.Input<string>;

The name of the storage table. Must be unique within the storage account the table is located.

property storageAccountName

storageAccountName: pulumi.Input<string>;

Specifies the storage account in which to create the storage table. Changing this forces a new resource to be created.

interface TableEntityArgs

interface TableEntityArgs

The set of arguments for constructing a TableEntity resource.

property entity

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

A map of key/value pairs that describe the entity to be inserted/merged in to the storage table.

property partitionKey

partitionKey: pulumi.Input<string>;

The key for the partition where the entity will be inserted/merged. Changing this forces a new resource.

property rowKey

rowKey: pulumi.Input<string>;

The key for the row where the entity will be inserted/merged. Changing this forces a new resource.

property storageAccountName

storageAccountName: pulumi.Input<string>;

Specifies the storage account in which to create the storage table entity. Changing this forces a new resource to be created.

property tableName

tableName: pulumi.Input<string>;

The name of the storage table in which to create the storage table entity. Changing this forces a new resource to be created.

interface TableEntityState

interface TableEntityState

Input properties used for looking up and filtering TableEntity resources.

property entity

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

A map of key/value pairs that describe the entity to be inserted/merged in to the storage table.

property partitionKey

partitionKey?: pulumi.Input<string>;

The key for the partition where the entity will be inserted/merged. Changing this forces a new resource.

property rowKey

rowKey?: pulumi.Input<string>;

The key for the row where the entity will be inserted/merged. Changing this forces a new resource.

property storageAccountName

storageAccountName?: pulumi.Input<string>;

Specifies the storage account in which to create the storage table entity. Changing this forces a new resource to be created.

property tableName

tableName?: pulumi.Input<string>;

The name of the storage table in which to create the storage table entity. Changing this forces a new resource to be created.

class TableInputBinding

 implements BindingSettings

constructor

new TableInputBinding(name: string, table: Table, args?: TableInputBindingArgs)

property binding

public binding: pulumi.Input<TableInputBindingDefinition>;

property settings

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

interface TableInputBindingArgs

interface TableInputBindingArgs

property filter

filter?: pulumi.Input<string>;

An OData filter expression for table input.

property partitionKey

partitionKey?: undefined | string;

The partition key of the table entity.

property rowKey

rowKey?: undefined | string;

The row key of the table entity.

property take

take?: pulumi.Input<number>;

The maximum number of entities to read.

class TableOutputBinding

 implements BindingSettings

constructor

new TableOutputBinding(name: string, table: Table)

property binding

public binding: pulumi.Input<TableOutputBindingDefinition>;

property settings

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

interface TableState

interface TableState

Input properties used for looking up and filtering Table resources.

property acls

acls?: pulumi.Input<pulumi.Input<TableAcl>[]>;

One or more acl blocks as defined below.

property name

name?: pulumi.Input<string>;

The name of the storage table. Must be unique within the storage account the table is located.

property storageAccountName

storageAccountName?: pulumi.Input<string>;

Specifies the storage account in which to create the storage table. Changing this forces a new resource to be created.

interface ZipBlobArgs

interface ZipBlobArgs

The set of arguments for constructing a ZipBlob resource.

property accessTier

accessTier?: pulumi.Input<string>;

property content

content?: pulumi.Input<Archive>;

property contentType

contentType?: pulumi.Input<string>;

property metadata

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

property name

name?: pulumi.Input<string>;

property parallelism

parallelism?: pulumi.Input<number>;

property size

size?: pulumi.Input<number>;

property sourceContent

sourceContent?: pulumi.Input<string>;

property sourceUri

sourceUri?: pulumi.Input<string>;

property storageAccountName

storageAccountName: pulumi.Input<string>;

property storageContainerName

storageContainerName: pulumi.Input<string>;

property type

type: pulumi.Input<string>;

interface ZipBlobState

interface ZipBlobState

Input properties used for looking up and filtering ZipBlob resources.

property accessTier

accessTier?: pulumi.Input<string>;

property content

content?: pulumi.Input<Archive>;

property contentType

contentType?: pulumi.Input<string>;

property metadata

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

property name

name?: pulumi.Input<string>;

property parallelism

parallelism?: pulumi.Input<number>;

property size

size?: pulumi.Input<number>;

property sourceContent

sourceContent?: pulumi.Input<string>;

property sourceUri

sourceUri?: pulumi.Input<string>;

property storageAccountName

storageAccountName?: pulumi.Input<string>;

property storageContainerName

storageContainerName?: pulumi.Input<string>;

property type

type?: pulumi.Input<string>;

property url

url?: pulumi.Input<string>;