/*
 * Copyright (c) Microsoft Corporation.
 * Licensed under the MIT License.
 *
 * Code generated by Microsoft (R) AutoRest Code Generator.
 * Changes may cause incorrect behavior and will be lost if the code is regenerated.
 */
import { __awaiter } from "tslib";
// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.
import { WebSiteManagementClient } from "@azure/arm-appservice";
import { DefaultAzureCredential } from "@azure/identity";
import * as dotenv from "dotenv";
dotenv.config();
/**
 * This sample demonstrates how to Description for Creates the artifacts for web site, or a deployment slot.
 *
 * @summary Description for Creates the artifacts for web site, or a deployment slot.
 * x-ms-original-file: specification/web/resource-manager/Microsoft.Web/stable/2023-01-01/examples/DeleteDeployWorkflowArtifacts.json
 */
function deleteWorkflowArtifacts() {
    return __awaiter(this, void 0, void 0, function* () {
        const subscriptionId = process.env["APPSERVICE_SUBSCRIPTION_ID"] ||
            "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345";
        const resourceGroupName = process.env["APPSERVICE_RESOURCE_GROUP"] || "testrg123";
        const name = "testsite2";
        const workflowArtifacts = {
            filesToDelete: ["test/workflow.json", "test/"]
        };
        const options = {
            workflowArtifacts
        };
        const credential = new DefaultAzureCredential();
        const client = new WebSiteManagementClient(credential, subscriptionId);
        const result = yield client.webApps.deployWorkflowArtifacts(resourceGroupName, name, options);
        console.log(result);
    });
}
/**
 * This sample demonstrates how to Description for Creates the artifacts for web site, or a deployment slot.
 *
 * @summary Description for Creates the artifacts for web site, or a deployment slot.
 * x-ms-original-file: specification/web/resource-manager/Microsoft.Web/stable/2023-01-01/examples/PostDeployWorkflowArtifacts.json
 */
function deploysWorkflowArtifacts() {
    return __awaiter(this, void 0, void 0, function* () {
        const subscriptionId = process.env["APPSERVICE_SUBSCRIPTION_ID"] ||
            "34adfa4f-cedf-4dc0-ba29-b6d1a69ab345";
        const resourceGroupName = process.env["APPSERVICE_RESOURCE_GROUP"] || "testrg123";
        const name = "testsite2";
        const workflowArtifacts = {
            appSettings: {
                eventHub_connectionString: "Endpoint=sb://example.servicebus.windows.net/;SharedAccessKeyName=RootManageSharedAccessKey;SharedAccessKey=EXAMPLE1a2b3c4d5e6fEXAMPLE="
            },
            files: {
                connectionsJson: {
                    managedApiConnections: {},
                    serviceProviderConnections: {
                        eventHub: {
                            displayName: "example1",
                            parameterValues: {
                                connectionString: "@appsetting('eventHub_connectionString')"
                            },
                            serviceProvider: { id: "/serviceProviders/eventHub" }
                        }
                    }
                },
                "test1/workflowJson": {
                    definition: {
                        $schema: "https://schema.management.azure.com/providers/Microsoft.Logic/schemas/2016-06-01/workflowdefinition.json#",
                        actions: {},
                        contentVersion: "1.0.0.0",
                        outputs: {},
                        triggers: {
                            When_events_are_available_in_Event_hub: {
                                type: "ServiceProvider",
                                inputs: {
                                    parameters: { eventHubName: "test123" },
                                    serviceProviderConfiguration: {
                                        operationId: "receiveEvents",
                                        connectionName: "eventHub",
                                        serviceProviderId: "/serviceProviders/eventHub"
                                    }
                                },
                                splitOn: "@triggerOutputs()?['body']"
                            }
                        }
                    },
                    kind: "Stateful"
                }
            }
        };
        const options = {
            workflowArtifacts
        };
        const credential = new DefaultAzureCredential();
        const client = new WebSiteManagementClient(credential, subscriptionId);
        const result = yield client.webApps.deployWorkflowArtifacts(resourceGroupName, name, options);
        console.log(result);
    });
}
function main() {
    return __awaiter(this, void 0, void 0, function* () {
        deleteWorkflowArtifacts();
        deploysWorkflowArtifacts();
    });
}
main().catch(console.error);
//# sourceMappingURL=webAppsDeployWorkflowArtifactsSample.js.map