/*
 * 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 a backup of an app.
 *
 * @summary Description for Creates a backup of an app.
 * x-ms-original-file: specification/web/resource-manager/Microsoft.Web/stable/2023-01-01/examples/BackupWebApp.json
 */
function backupWebApp() {
    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 = "sitef6141";
        const request = {
            backupName: "abcdwe",
            backupSchedule: {
                frequencyInterval: 7,
                frequencyUnit: "Day",
                keepAtLeastOneBackup: true,
                retentionPeriodInDays: 30,
                startTime: new Date("2022-09-02T17:33:11.641Z")
            },
            databases: [
                {
                    name: "backenddb",
                    connectionString: "DSN=data-source-name[;SERVER=value] [;PWD=value] [;UID=value] [;<Attribute>=<value>]",
                    connectionStringName: "backend",
                    databaseType: "SqlAzure"
                },
                {
                    name: "statsdb",
                    connectionString: "DSN=data-source-name[;SERVER=value] [;PWD=value] [;UID=value] [;<Attribute>=<value>]",
                    connectionStringName: "stats",
                    databaseType: "SqlAzure"
                }
            ],
            enabled: true,
            storageAccountUrl: "DefaultEndpointsProtocol=https;AccountName=storagesample;AccountKey=<account-key>"
        };
        const credential = new DefaultAzureCredential();
        const client = new WebSiteManagementClient(credential, subscriptionId);
        const result = yield client.webApps.backup(resourceGroupName, name, request);
        console.log(result);
    });
}
function main() {
    return __awaiter(this, void 0, void 0, function* () {
        backupWebApp();
    });
}
main().catch(console.error);
//# sourceMappingURL=webAppsBackupSample.js.map