import * as pulumi from "@pulumi/pulumi"; /** * Manages a Function App Hybrid Connection. * * ## Example Usage * * ```typescript * import * as pulumi from "@pulumi/pulumi"; * import * as azure from "@pulumi/azure"; * * const example = new azure.core.ResourceGroup("example", { * name: "example-rg", * location: "West Europe", * }); * const exampleServicePlan = new azure.appservice.ServicePlan("example", { * name: "example-plan", * location: example.location, * resourceGroupName: example.name, * osType: "Windows", * skuName: "S1", * }); * const exampleNamespace = new azure.relay.Namespace("example", { * name: "example-relay", * location: example.location, * resourceGroupName: example.name, * skuName: "Standard", * }); * const exampleHybridConnection = new azure.relay.HybridConnection("example", { * name: "examplerhc1", * resourceGroupName: example.name, * relayNamespaceName: exampleNamespace.name, * }); * const exampleAccount = new azure.storage.Account("example", { * name: "storageaccountname", * resourceGroupName: example.name, * location: example.location, * accountTier: "Standard", * accountReplicationType: "GRS", * }); * const exampleWindowsWebApp = new azure.appservice.WindowsWebApp("example", { * name: "example", * location: example.location, * resourceGroupName: example.name, * servicePlanId: exampleServicePlan.id, * siteConfig: {}, * }); * const exampleWindowsFunctionApp = new azure.appservice.WindowsFunctionApp("example", { * name: "example-function-app", * location: example.location, * resourceGroupName: example.name, * servicePlanId: exampleServicePlan.id, * storageAccountName: exampleAccount.name, * storageAccountAccessKey: exampleAccount.primaryAccessKey, * siteConfig: {}, * }); * const exampleFunctionAppHybridConnection = new azure.appservice.FunctionAppHybridConnection("example", { * functionAppId: exampleWindowsWebApp.id, * relayId: exampleHybridConnection.id, * hostname: "myhostname.example", * port: 8081, * }); * ``` * * ## API Providers * * * This resource uses the following Azure API Providers: * * * `Microsoft.Relay` - 2021-11-01 * * * `Microsoft.Web` - 2023-12-01 * * ## Import * * a Function App Hybrid Connection can be imported using the `resource id`, e.g. * * ```sh * $ pulumi import azure:appservice/functionAppHybridConnection:FunctionAppHybridConnection example "/subscriptions/12345678-1234-9876-4563-123456789012/resourceGroups/resGroup1/providers/Microsoft.Web/sites/site1/hybridConnectionNamespaces/hybridConnectionNamespace1/relays/relay1" * ``` */ export declare class FunctionAppHybridConnection extends pulumi.CustomResource { /** * Get an existing FunctionAppHybridConnection resource's state with the given name, ID, and optional extra * properties used to qualify the lookup. * * @param name The _unique_ name of the resulting resource. * @param id The _unique_ provider ID of the resource to lookup. * @param state Any extra arguments used during the lookup. * @param opts Optional settings to control the behavior of the CustomResource. */ static get(name: string, id: pulumi.Input, state?: FunctionAppHybridConnectionState, opts?: pulumi.CustomResourceOptions): FunctionAppHybridConnection; /** * Returns true if the given object is an instance of FunctionAppHybridConnection. This is designed to work even * when multiple copies of the Pulumi SDK have been loaded into the same process. */ static isInstance(obj: any): obj is FunctionAppHybridConnection; /** * The ID of the Function App for this Hybrid Connection. Changing this forces a new resource to be created. */ readonly functionAppId: pulumi.Output; /** * The hostname of the endpoint. */ readonly hostname: pulumi.Output; /** * The name of the Relay Namespace. */ readonly namespaceName: pulumi.Output; /** * The port to use for the endpoint */ readonly port: pulumi.Output; /** * The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created. */ readonly relayId: pulumi.Output; /** * The name of the Relay in use. */ readonly relayName: pulumi.Output; /** * The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey` */ readonly sendKeyName: pulumi.Output; /** * The Primary Access Key for the `sendKeyName` */ readonly sendKeyValue: pulumi.Output; /** * The Service Bus Namespace. */ readonly serviceBusNamespace: pulumi.Output; /** * The suffix for the endpoint. */ readonly serviceBusSuffix: pulumi.Output; /** * Create a FunctionAppHybridConnection resource with the given unique name, arguments, and options. * * @param name The _unique_ name of the resource. * @param args The arguments to use to populate this resource's properties. * @param opts A bag of options that control this resource's behavior. */ constructor(name: string, args: FunctionAppHybridConnectionArgs, opts?: pulumi.CustomResourceOptions); } /** * Input properties used for looking up and filtering FunctionAppHybridConnection resources. */ export interface FunctionAppHybridConnectionState { /** * The ID of the Function App for this Hybrid Connection. Changing this forces a new resource to be created. */ functionAppId?: pulumi.Input; /** * The hostname of the endpoint. */ hostname?: pulumi.Input; /** * The name of the Relay Namespace. */ namespaceName?: pulumi.Input; /** * The port to use for the endpoint */ port?: pulumi.Input; /** * The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created. */ relayId?: pulumi.Input; /** * The name of the Relay in use. */ relayName?: pulumi.Input; /** * The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey` */ sendKeyName?: pulumi.Input; /** * The Primary Access Key for the `sendKeyName` */ sendKeyValue?: pulumi.Input; /** * The Service Bus Namespace. */ serviceBusNamespace?: pulumi.Input; /** * The suffix for the endpoint. */ serviceBusSuffix?: pulumi.Input; } /** * The set of arguments for constructing a FunctionAppHybridConnection resource. */ export interface FunctionAppHybridConnectionArgs { /** * The ID of the Function App for this Hybrid Connection. Changing this forces a new resource to be created. */ functionAppId: pulumi.Input; /** * The hostname of the endpoint. */ hostname: pulumi.Input; /** * The port to use for the endpoint */ port: pulumi.Input; /** * The ID of the Relay Hybrid Connection to use. Changing this forces a new resource to be created. */ relayId: pulumi.Input; /** * The name of the Relay key with `Send` permission to use. Defaults to `RootManageSharedAccessKey` */ sendKeyName?: pulumi.Input; }