@microsoft/teamsfx-core 1.2.0 → 1.2.2-alpha.eb4575da.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/build/common/armInterface.d.ts +0 -20
- package/build/common/armInterface.d.ts.map +1 -1
- package/build/common/deps-checker/depsChecker.d.ts +1 -0
- package/build/common/deps-checker/depsChecker.d.ts.map +1 -1
- package/build/common/deps-checker/depsChecker.js.map +1 -1
- package/build/common/deps-checker/depsManager.d.ts +2 -1
- package/build/common/deps-checker/depsManager.d.ts.map +1 -1
- package/build/common/deps-checker/depsManager.js +12 -7
- package/build/common/deps-checker/depsManager.js.map +1 -1
- package/build/common/deps-checker/index.d.ts +1 -0
- package/build/common/deps-checker/index.d.ts.map +1 -1
- package/build/common/deps-checker/index.js +1 -0
- package/build/common/deps-checker/index.js.map +1 -1
- package/build/common/deps-checker/internal/dotnetChecker.d.ts.map +1 -1
- package/build/common/deps-checker/internal/dotnetChecker.js +2 -1
- package/build/common/deps-checker/internal/dotnetChecker.js.map +1 -1
- package/build/common/deps-checker/internal/funcToolChecker.d.ts.map +1 -1
- package/build/common/deps-checker/internal/funcToolChecker.js +2 -1
- package/build/common/deps-checker/internal/funcToolChecker.js.map +1 -1
- package/build/common/deps-checker/internal/ngrokChecker.d.ts +1 -1
- package/build/common/deps-checker/internal/ngrokChecker.d.ts.map +1 -1
- package/build/common/deps-checker/internal/ngrokChecker.js +2 -4
- package/build/common/deps-checker/internal/ngrokChecker.js.map +1 -1
- package/build/common/deps-checker/internal/nodeChecker.d.ts +1 -0
- package/build/common/deps-checker/internal/nodeChecker.d.ts.map +1 -1
- package/build/common/deps-checker/internal/nodeChecker.js +9 -1
- package/build/common/deps-checker/internal/nodeChecker.js.map +1 -1
- package/build/common/deps-checker/util/extensionInstaller.d.ts +3 -0
- package/build/common/deps-checker/util/extensionInstaller.d.ts.map +1 -0
- package/build/common/deps-checker/util/extensionInstaller.js +47 -0
- package/build/common/deps-checker/util/extensionInstaller.js.map +1 -0
- package/build/common/deps-checker/util/index.d.ts +5 -0
- package/build/common/deps-checker/util/index.d.ts.map +1 -0
- package/build/common/deps-checker/util/index.js +10 -0
- package/build/common/deps-checker/util/index.js.map +1 -0
- package/build/common/index.d.ts +1 -3
- package/build/common/index.d.ts.map +1 -1
- package/build/common/index.js +1 -3
- package/build/common/index.js.map +1 -1
- package/build/common/local/constants.d.ts +5 -0
- package/build/common/local/constants.d.ts.map +1 -1
- package/build/common/local/constants.js +7 -1
- package/build/common/local/constants.js.map +1 -1
- package/build/common/local/index.d.ts +5 -0
- package/build/common/local/index.d.ts.map +1 -0
- package/build/common/local/index.js +10 -0
- package/build/common/local/index.js.map +1 -0
- package/build/{plugins/solution/fx-solution/debug/util/certificate.d.ts → common/local/localCertificateManager.d.ts} +4 -6
- package/build/common/local/localCertificateManager.d.ts.map +1 -0
- package/build/{plugins/solution/fx-solution/debug/util/certificate.js → common/local/localCertificateManager.js} +37 -47
- package/build/common/local/localCertificateManager.js.map +1 -0
- package/build/common/local/localEnvManager.d.ts +6 -2
- package/build/common/local/localEnvManager.d.ts.map +1 -1
- package/build/common/local/localEnvManager.js +41 -1
- package/build/common/local/localEnvManager.js.map +1 -1
- package/build/{plugins/solution/fx-solution/debug/util → common/local}/process.d.ts +0 -0
- package/build/common/local/process.d.ts.map +1 -0
- package/build/{plugins/solution/fx-solution/debug/util → common/local}/process.js +0 -0
- package/build/common/local/process.js.map +1 -0
- package/build/common/local/projectSettingsHelper.d.ts +5 -5
- package/build/common/local/projectSettingsHelper.d.ts.map +1 -1
- package/build/common/local/projectSettingsHelper.js +28 -21
- package/build/common/local/projectSettingsHelper.js.map +1 -1
- package/build/common/local/taskDefinition.d.ts +1 -1
- package/build/common/local/taskDefinition.d.ts.map +1 -1
- package/build/common/local/taskDefinition.js +6 -4
- package/build/common/local/taskDefinition.js.map +1 -1
- package/build/common/localSettingsConstants.d.ts +1 -0
- package/build/common/localSettingsConstants.d.ts.map +1 -1
- package/build/common/localSettingsConstants.js +1 -0
- package/build/common/localSettingsConstants.js.map +1 -1
- package/build/common/localSettingsProvider.d.ts.map +1 -1
- package/build/common/localSettingsProvider.js +1 -0
- package/build/common/localSettingsProvider.js.map +1 -1
- package/build/common/permissionInterface.d.ts +1 -0
- package/build/common/permissionInterface.d.ts.map +1 -1
- package/build/common/permissionInterface.js +1 -0
- package/build/common/permissionInterface.js.map +1 -1
- package/build/common/telemetry.d.ts +7 -2
- package/build/common/telemetry.d.ts.map +1 -1
- package/build/common/telemetry.js +10 -4
- package/build/common/telemetry.js.map +1 -1
- package/build/common/{templates.d.ts → template-utils/templates.d.ts} +0 -0
- package/build/common/template-utils/templates.d.ts.map +1 -0
- package/build/common/{templates.js → template-utils/templates.js} +1 -1
- package/build/common/template-utils/templates.js.map +1 -0
- package/build/common/{templatesActions.d.ts → template-utils/templatesActions.d.ts} +0 -0
- package/build/common/template-utils/templatesActions.d.ts.map +1 -0
- package/build/common/{templatesActions.js → template-utils/templatesActions.js} +3 -3
- package/build/common/template-utils/templatesActions.js.map +1 -0
- package/build/common/{templatesUtils.d.ts → template-utils/templatesUtils.d.ts} +0 -0
- package/build/common/template-utils/templatesUtils.d.ts.map +1 -0
- package/build/common/{templatesUtils.js → template-utils/templatesUtils.js} +1 -1
- package/build/common/template-utils/templatesUtils.js.map +1 -0
- package/build/common/tools.d.ts +1 -4
- package/build/common/tools.d.ts.map +1 -1
- package/build/common/tools.js +41 -12
- package/build/common/tools.js.map +1 -1
- package/build/core/index.d.ts +2 -2
- package/build/core/index.d.ts.map +1 -1
- package/build/core/index.js +14 -6
- package/build/core/index.js.map +1 -1
- package/build/core/middleware/index.d.ts +0 -1
- package/build/core/middleware/index.d.ts.map +1 -1
- package/build/core/middleware/index.js +0 -1
- package/build/core/middleware/index.js.map +1 -1
- package/build/core/middleware/projectMigrator.d.ts.map +1 -1
- package/build/core/middleware/projectMigrator.js +0 -9
- package/build/core/middleware/projectMigrator.js.map +1 -1
- package/build/core/permissionRequest.js +2 -2
- package/build/core/permissionRequest.js.map +1 -1
- package/build/core/question.d.ts.map +1 -1
- package/build/core/question.js +7 -4
- package/build/core/question.js.map +1 -1
- package/build/plugins/resource/aad/aadAppClient.d.ts +2 -2
- package/build/plugins/resource/aad/aadAppClient.d.ts.map +1 -1
- package/build/plugins/resource/aad/aadAppClient.js +3 -4
- package/build/plugins/resource/aad/aadAppClient.js.map +1 -1
- package/build/plugins/resource/aad/errors.d.ts.map +1 -1
- package/build/plugins/resource/aad/errors.js +1 -2
- package/build/plugins/resource/aad/errors.js.map +1 -1
- package/build/plugins/resource/aad/interfaces/IAADDefinition.d.ts +4 -0
- package/build/plugins/resource/aad/interfaces/IAADDefinition.d.ts.map +1 -1
- package/build/plugins/resource/aad/plugin.d.ts.map +1 -1
- package/build/plugins/resource/aad/plugin.js +33 -46
- package/build/plugins/resource/aad/plugin.js.map +1 -1
- package/build/plugins/resource/aad/utils/common.d.ts +2 -0
- package/build/plugins/resource/aad/utils/common.d.ts.map +1 -1
- package/build/plugins/resource/aad/utils/common.js +14 -14
- package/build/plugins/resource/aad/utils/common.js.map +1 -1
- package/build/plugins/resource/aad/utils/configs.d.ts +1 -0
- package/build/plugins/resource/aad/utils/configs.d.ts.map +1 -1
- package/build/plugins/resource/aad/utils/configs.js +20 -38
- package/build/plugins/resource/aad/utils/configs.js.map +1 -1
- package/build/plugins/resource/apim/error.d.ts.map +1 -1
- package/build/plugins/resource/apim/error.js +1 -4
- package/build/plugins/resource/apim/error.js.map +1 -1
- package/build/plugins/resource/apim/managers/apimManager.d.ts.map +1 -1
- package/build/plugins/resource/apim/managers/apimManager.js +21 -58
- package/build/plugins/resource/apim/managers/apimManager.js.map +1 -1
- package/build/plugins/resource/apim/managers/questionManager.d.ts.map +1 -1
- package/build/plugins/resource/apim/managers/questionManager.js +0 -7
- package/build/plugins/resource/apim/managers/questionManager.js.map +1 -1
- package/build/plugins/resource/apim/questions/vscodeQuestion.d.ts.map +1 -1
- package/build/plugins/resource/apim/questions/vscodeQuestion.js +6 -13
- package/build/plugins/resource/apim/questions/vscodeQuestion.js.map +1 -1
- package/build/plugins/resource/appstudio/constants.d.ts +3 -2
- package/build/plugins/resource/appstudio/constants.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/constants.js +12 -11
- package/build/plugins/resource/appstudio/constants.js.map +1 -1
- package/build/plugins/resource/appstudio/index.d.ts +2 -36
- package/build/plugins/resource/appstudio/index.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/index.js +1 -31
- package/build/plugins/resource/appstudio/index.js.map +1 -1
- package/build/plugins/resource/appstudio/manifestTemplate.d.ts +1 -1
- package/build/plugins/resource/appstudio/manifestTemplate.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/manifestTemplate.js +16 -8
- package/build/plugins/resource/appstudio/manifestTemplate.js.map +1 -1
- package/build/plugins/resource/appstudio/plugin.d.ts +1 -0
- package/build/plugins/resource/appstudio/plugin.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/plugin.js +14 -1
- package/build/plugins/resource/appstudio/plugin.js.map +1 -1
- package/build/plugins/resource/appstudio/v3/index.d.ts +1 -3
- package/build/plugins/resource/appstudio/v3/index.d.ts.map +1 -1
- package/build/plugins/resource/appstudio/v3/index.js +28 -16
- package/build/plugins/resource/appstudio/v3/index.js.map +1 -1
- package/build/plugins/resource/bot/configs/provisionConfig.d.ts.map +1 -1
- package/build/plugins/resource/bot/configs/provisionConfig.js +0 -10
- package/build/plugins/resource/bot/configs/provisionConfig.js.map +1 -1
- package/build/plugins/resource/bot/languageStrategy.d.ts +1 -1
- package/build/plugins/resource/bot/languageStrategy.d.ts.map +1 -1
- package/build/plugins/resource/bot/languageStrategy.js +1 -1
- package/build/plugins/resource/bot/languageStrategy.js.map +1 -1
- package/build/plugins/resource/bot/plugin.d.ts.map +1 -1
- package/build/plugins/resource/bot/plugin.js +14 -131
- package/build/plugins/resource/bot/plugin.js.map +1 -1
- package/build/plugins/resource/frontend/configs.d.ts +1 -1
- package/build/plugins/resource/frontend/configs.d.ts.map +1 -1
- package/build/plugins/resource/frontend/configs.js +3 -9
- package/build/plugins/resource/frontend/configs.js.map +1 -1
- package/build/plugins/resource/frontend/constants.d.ts +2 -8
- package/build/plugins/resource/frontend/constants.d.ts.map +1 -1
- package/build/plugins/resource/frontend/constants.js +3 -11
- package/build/plugins/resource/frontend/constants.js.map +1 -1
- package/build/plugins/resource/frontend/dotnet/constants.d.ts +52 -0
- package/build/plugins/resource/frontend/dotnet/constants.d.ts.map +1 -0
- package/build/plugins/resource/frontend/dotnet/constants.js +69 -0
- package/build/plugins/resource/frontend/dotnet/constants.js.map +1 -0
- package/build/plugins/resource/frontend/{blazor → dotnet}/enum.d.ts +1 -1
- package/build/plugins/resource/frontend/{blazor → dotnet}/enum.d.ts.map +1 -1
- package/build/plugins/resource/frontend/dotnet/enum.js +39 -0
- package/build/plugins/resource/frontend/{blazor → dotnet}/enum.js.map +1 -1
- package/build/plugins/resource/frontend/{blazor → dotnet}/error-factory.d.ts +0 -0
- package/build/plugins/resource/frontend/{blazor → dotnet}/error-factory.d.ts.map +1 -1
- package/build/plugins/resource/frontend/{blazor → dotnet}/error-factory.js +3 -3
- package/build/plugins/resource/frontend/{blazor → dotnet}/error-factory.js.map +1 -1
- package/build/plugins/resource/frontend/{blazor → dotnet}/ops/deploy.d.ts +0 -0
- package/build/plugins/resource/frontend/{blazor → dotnet}/ops/deploy.d.ts.map +1 -1
- package/build/plugins/resource/frontend/{blazor → dotnet}/ops/deploy.js +3 -3
- package/build/plugins/resource/frontend/{blazor → dotnet}/ops/deploy.js.map +1 -1
- package/build/plugins/resource/frontend/dotnet/plugin.d.ts +34 -0
- package/build/plugins/resource/frontend/dotnet/plugin.d.ts.map +1 -0
- package/build/plugins/resource/frontend/dotnet/plugin.js +126 -0
- package/build/plugins/resource/frontend/dotnet/plugin.js.map +1 -0
- package/build/plugins/resource/frontend/dotnet/resources/errors.d.ts +35 -0
- package/build/plugins/resource/frontend/dotnet/resources/errors.d.ts.map +1 -0
- package/build/plugins/resource/frontend/{blazor → dotnet}/resources/errors.js +10 -22
- package/build/plugins/resource/frontend/dotnet/resources/errors.js.map +1 -0
- package/build/plugins/resource/frontend/{blazor → dotnet}/resources/messages.d.ts +0 -4
- package/build/plugins/resource/frontend/dotnet/resources/messages.d.ts.map +1 -0
- package/build/plugins/resource/frontend/{blazor → dotnet}/resources/messages.js +0 -4
- package/build/plugins/resource/frontend/dotnet/resources/messages.js.map +1 -0
- package/build/plugins/resource/frontend/dotnet/utils/azure-client.d.ts +6 -0
- package/build/plugins/resource/frontend/dotnet/utils/azure-client.d.ts.map +1 -0
- package/build/plugins/resource/frontend/dotnet/utils/azure-client.js +11 -0
- package/build/plugins/resource/frontend/dotnet/utils/azure-client.js.map +1 -0
- package/build/plugins/resource/frontend/index.d.ts +6 -3
- package/build/plugins/resource/frontend/index.d.ts.map +1 -1
- package/build/plugins/resource/frontend/index.js +27 -45
- package/build/plugins/resource/frontend/index.js.map +1 -1
- package/build/plugins/resource/frontend/interface.d.ts +13 -0
- package/build/plugins/resource/frontend/interface.d.ts.map +1 -0
- package/build/plugins/resource/frontend/interface.js +3 -0
- package/build/plugins/resource/frontend/interface.js.map +1 -0
- package/build/plugins/resource/frontend/ops/deploy.d.ts +3 -0
- package/build/plugins/resource/frontend/ops/deploy.d.ts.map +1 -1
- package/build/plugins/resource/frontend/ops/deploy.js +43 -0
- package/build/plugins/resource/frontend/ops/deploy.js.map +1 -1
- package/build/plugins/resource/frontend/ops/scaffold.d.ts.map +1 -1
- package/build/plugins/resource/frontend/ops/scaffold.js +1 -1
- package/build/plugins/resource/frontend/ops/scaffold.js.map +1 -1
- package/build/plugins/resource/frontend/plugin.d.ts +3 -3
- package/build/plugins/resource/frontend/plugin.d.ts.map +1 -1
- package/build/plugins/resource/frontend/plugin.js +13 -44
- package/build/plugins/resource/frontend/plugin.js.map +1 -1
- package/build/plugins/resource/frontend/resources/errors.d.ts +23 -20
- package/build/plugins/resource/frontend/resources/errors.d.ts.map +1 -1
- package/build/plugins/resource/frontend/resources/errors.js +31 -67
- package/build/plugins/resource/frontend/resources/errors.js.map +1 -1
- package/build/plugins/resource/frontend/resources/templateInfo.js +1 -1
- package/build/plugins/resource/frontend/resources/templateInfo.js.map +1 -1
- package/build/plugins/resource/frontend/utils/logger.d.ts +3 -1
- package/build/plugins/resource/frontend/utils/logger.d.ts.map +1 -1
- package/build/plugins/resource/frontend/utils/logger.js +9 -6
- package/build/plugins/resource/frontend/utils/logger.js.map +1 -1
- package/build/plugins/resource/frontend/utils/progress-helper.d.ts +0 -8
- package/build/plugins/resource/frontend/utils/progress-helper.d.ts.map +1 -1
- package/build/plugins/resource/frontend/utils/progress-helper.js +1 -19
- package/build/plugins/resource/frontend/utils/progress-helper.js.map +1 -1
- package/build/plugins/resource/frontend/v2/index.d.ts +1 -0
- package/build/plugins/resource/frontend/v2/index.d.ts.map +1 -1
- package/build/plugins/resource/frontend/v2/index.js +3 -0
- package/build/plugins/resource/frontend/v2/index.js.map +1 -1
- package/build/plugins/resource/frontend/v3/AzureStoragePlugin.d.ts +15 -0
- package/build/plugins/resource/frontend/v3/AzureStoragePlugin.d.ts.map +1 -0
- package/build/plugins/resource/frontend/v3/AzureStoragePlugin.js +149 -0
- package/build/plugins/resource/frontend/v3/AzureStoragePlugin.js.map +1 -0
- package/build/plugins/resource/frontend/v3/ReactTabScaffoldPlugin.d.ts +8 -0
- package/build/plugins/resource/frontend/v3/ReactTabScaffoldPlugin.d.ts.map +1 -0
- package/build/plugins/resource/frontend/v3/ReactTabScaffoldPlugin.js +95 -0
- package/build/plugins/resource/frontend/v3/ReactTabScaffoldPlugin.js.map +1 -0
- package/build/plugins/resource/frontend/v3/error.d.ts +23 -0
- package/build/plugins/resource/frontend/v3/error.d.ts.map +1 -0
- package/build/plugins/resource/frontend/v3/error.js +66 -0
- package/build/plugins/resource/frontend/v3/error.js.map +1 -0
- package/build/plugins/resource/frontend/v3/index.d.ts +3 -0
- package/build/plugins/resource/frontend/v3/index.d.ts.map +1 -0
- package/build/plugins/resource/frontend/v3/index.js +7 -0
- package/build/plugins/resource/frontend/v3/index.js.map +1 -0
- package/build/plugins/resource/function/index.d.ts +1 -1
- package/build/plugins/resource/function/index.d.ts.map +1 -1
- package/build/plugins/resource/function/index.js +8 -21
- package/build/plugins/resource/function/index.js.map +1 -1
- package/build/plugins/resource/function/ops/deploy.d.ts.map +1 -1
- package/build/plugins/resource/function/ops/deploy.js +8 -9
- package/build/plugins/resource/function/ops/deploy.js.map +1 -1
- package/build/plugins/resource/function/ops/scaffold.js +1 -1
- package/build/plugins/resource/function/ops/scaffold.js.map +1 -1
- package/build/plugins/resource/function/plugin.d.ts.map +1 -1
- package/build/plugins/resource/function/plugin.js +33 -134
- package/build/plugins/resource/function/plugin.js.map +1 -1
- package/build/plugins/resource/function/resources/message.d.ts +0 -1
- package/build/plugins/resource/function/resources/message.d.ts.map +1 -1
- package/build/plugins/resource/function/resources/message.js +0 -1
- package/build/plugins/resource/function/resources/message.js.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/funcHelper.d.ts +11 -0
- package/build/plugins/resource/function/utils/depsChecker/funcHelper.d.ts.map +1 -0
- package/build/plugins/resource/function/utils/depsChecker/funcHelper.js +48 -0
- package/build/plugins/resource/function/utils/depsChecker/funcHelper.js.map +1 -0
- package/build/plugins/resource/function/utils/depsChecker/funcPluginLogger.d.ts +6 -4
- package/build/plugins/resource/function/utils/depsChecker/funcPluginLogger.d.ts.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/funcPluginLogger.js +15 -8
- package/build/plugins/resource/function/utils/depsChecker/funcPluginLogger.js.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/funcPluginTelemetry.d.ts +4 -3
- package/build/plugins/resource/function/utils/depsChecker/funcPluginTelemetry.d.ts.map +1 -1
- package/build/plugins/resource/function/utils/depsChecker/funcPluginTelemetry.js +5 -4
- package/build/plugins/resource/function/utils/depsChecker/funcPluginTelemetry.js.map +1 -1
- package/build/plugins/resource/function/utils/telemetry-helper.d.ts +1 -1
- package/build/plugins/resource/function/utils/telemetry-helper.d.ts.map +1 -1
- package/build/plugins/resource/identity/index.d.ts +0 -1
- package/build/plugins/resource/identity/index.d.ts.map +1 -1
- package/build/plugins/resource/identity/index.js +2 -20
- package/build/plugins/resource/identity/index.js.map +1 -1
- package/build/plugins/resource/simpleauth/index.d.ts.map +1 -1
- package/build/plugins/resource/simpleauth/index.js +1 -6
- package/build/plugins/resource/simpleauth/index.js.map +1 -1
- package/build/plugins/resource/simpleauth/plugin.d.ts.map +1 -1
- package/build/plugins/resource/simpleauth/plugin.js +0 -3
- package/build/plugins/resource/simpleauth/plugin.js.map +1 -1
- package/build/plugins/resource/spfx/plugin.d.ts.map +1 -1
- package/build/plugins/resource/spfx/plugin.js +14 -9
- package/build/plugins/resource/spfx/plugin.js.map +1 -1
- package/build/plugins/resource/spfx/utils/constants.d.ts +5 -4
- package/build/plugins/resource/spfx/utils/constants.d.ts.map +1 -1
- package/build/plugins/resource/spfx/utils/constants.js +5 -4
- package/build/plugins/resource/spfx/utils/constants.js.map +1 -1
- package/build/plugins/resource/spfx/utils/progress-helper.d.ts.map +1 -1
- package/build/plugins/resource/spfx/utils/progress-helper.js +1 -1
- package/build/plugins/resource/spfx/utils/progress-helper.js.map +1 -1
- package/build/plugins/resource/sql/index.d.ts.map +1 -1
- package/build/plugins/resource/sql/index.js +1 -9
- package/build/plugins/resource/sql/index.js.map +1 -1
- package/build/plugins/resource/sql/plugin.d.ts.map +1 -1
- package/build/plugins/resource/sql/plugin.js +26 -58
- package/build/plugins/resource/sql/plugin.js.map +1 -1
- package/build/plugins/resource/utils4v2.d.ts +1 -1
- package/build/plugins/resource/utils4v2.d.ts.map +1 -1
- package/build/plugins/resource/utils4v2.js +3 -3
- package/build/plugins/resource/utils4v2.js.map +1 -1
- package/build/plugins/solution/fx-solution/arm.d.ts +9 -2
- package/build/plugins/solution/fx-solution/arm.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/arm.js +45 -11
- package/build/plugins/solution/fx-solution/arm.js.map +1 -1
- package/build/plugins/solution/fx-solution/commonQuestions.d.ts +4 -3
- package/build/plugins/solution/fx-solution/commonQuestions.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/commonQuestions.js +11 -10
- package/build/plugins/solution/fx-solution/commonQuestions.js.map +1 -1
- package/build/plugins/solution/fx-solution/constants.d.ts +1 -0
- package/build/plugins/solution/fx-solution/constants.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/constants.js +1 -0
- package/build/plugins/solution/fx-solution/constants.js.map +1 -1
- package/build/plugins/solution/fx-solution/debug/constants.d.ts +0 -5
- package/build/plugins/solution/fx-solution/debug/constants.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/debug/constants.js +1 -7
- package/build/plugins/solution/fx-solution/debug/constants.js.map +1 -1
- package/build/plugins/solution/fx-solution/debug/provisionLocal.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/debug/provisionLocal.js +2 -2
- package/build/plugins/solution/fx-solution/debug/provisionLocal.js.map +1 -1
- package/build/plugins/solution/fx-solution/debug/scaffolding.d.ts +2 -2
- package/build/plugins/solution/fx-solution/debug/scaffolding.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/debug/scaffolding.js +5 -3
- package/build/plugins/solution/fx-solution/debug/scaffolding.js.map +1 -1
- package/build/plugins/solution/fx-solution/question.d.ts +2 -2
- package/build/plugins/solution/fx-solution/question.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/question.js +32 -22
- package/build/plugins/solution/fx-solution/question.js.map +1 -1
- package/build/plugins/solution/fx-solution/solution.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/solution.js +15 -15
- package/build/plugins/solution/fx-solution/solution.js.map +1 -1
- package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.d.ts +31 -0
- package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.d.ts.map +1 -0
- package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.js +222 -0
- package/build/plugins/solution/fx-solution/utils/ResourceGroupHelper.js.map +1 -0
- package/build/plugins/solution/fx-solution/v2/adaptor.js +1 -1
- package/build/plugins/solution/fx-solution/v2/adaptor.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/createEnv.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/createEnv.js +1 -3
- package/build/plugins/solution/fx-solution/v2/createEnv.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/executeUserTask.d.ts +2 -2
- package/build/plugins/solution/fx-solution/v2/executeUserTask.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/executeUserTask.js +196 -122
- package/build/plugins/solution/fx-solution/v2/executeUserTask.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/generateResourceTemplate.d.ts +2 -2
- package/build/plugins/solution/fx-solution/v2/generateResourceTemplate.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/generateResourceTemplate.js +9 -14
- package/build/plugins/solution/fx-solution/v2/generateResourceTemplate.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/getQuestions.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/getQuestions.js +81 -96
- package/build/plugins/solution/fx-solution/v2/getQuestions.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/provision.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/provision.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/scaffolding.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v2/scaffolding.js +6 -0
- package/build/plugins/solution/fx-solution/v2/scaffolding.js.map +1 -1
- package/build/plugins/solution/fx-solution/v2/utils.js +1 -1
- package/build/plugins/solution/fx-solution/v2/utils.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/addModule.d.ts +2 -4
- package/build/plugins/solution/fx-solution/v3/addModule.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/addModule.js +29 -6
- package/build/plugins/solution/fx-solution/v3/addModule.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/addResource.d.ts +6 -14
- package/build/plugins/solution/fx-solution/v3/addResource.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/addResource.js +23 -51
- package/build/plugins/solution/fx-solution/v3/addResource.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/constants.d.ts +2 -0
- package/build/plugins/solution/fx-solution/v3/constants.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/constants.js +2 -0
- package/build/plugins/solution/fx-solution/v3/constants.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/deploy.d.ts +1 -3
- package/build/plugins/solution/fx-solution/v3/deploy.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/deploy.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/init.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/init.js +9 -0
- package/build/plugins/solution/fx-solution/v3/init.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/provision.d.ts +8 -1
- package/build/plugins/solution/fx-solution/v3/provision.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/provision.js +219 -16
- package/build/plugins/solution/fx-solution/v3/provision.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/provisionLocal.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/provisionLocal.js +96 -1
- package/build/plugins/solution/fx-solution/v3/provisionLocal.js.map +1 -1
- package/build/plugins/solution/fx-solution/v3/scaffold.d.ts +8 -13
- package/build/plugins/solution/fx-solution/v3/scaffold.d.ts.map +1 -1
- package/build/plugins/solution/fx-solution/v3/scaffold.js +30 -52
- package/build/plugins/solution/fx-solution/v3/scaffold.js.map +1 -1
- package/build/plugins/solution/spfx-solution/addModule.d.ts +2 -4
- package/build/plugins/solution/spfx-solution/addModule.d.ts.map +1 -1
- package/build/plugins/solution/spfx-solution/addModule.js +1 -1
- package/build/plugins/solution/spfx-solution/addModule.js.map +1 -1
- package/build/plugins/solution/spfx-solution/scaffold.d.ts +2 -10
- package/build/plugins/solution/spfx-solution/scaffold.d.ts.map +1 -1
- package/build/plugins/solution/spfx-solution/scaffold.js +3 -39
- package/build/plugins/solution/spfx-solution/scaffold.js.map +1 -1
- package/build/plugins/solution/spfx-solution/solution.d.ts +12 -17
- package/build/plugins/solution/spfx-solution/solution.d.ts.map +1 -1
- package/build/plugins/solution/spfx-solution/solution.js +7 -7
- package/build/plugins/solution/spfx-solution/solution.js.map +1 -1
- package/package.json +6 -7
- package/resource/strings.json +17 -7
- package/templates/plugins/resource/apim/bicep/apimConfiguration.bicep +1 -0
- package/templates/plugins/resource/apim/bicep/apimProvision.bicep +7 -5
- package/templates/plugins/resource/apim/bicep/config.template.bicep +1 -0
- package/templates/plugins/resource/bot/bicep/botConfiguration.template.bicep +12 -12
- package/templates/plugins/resource/bot/bicep/botProvision.template.bicep +15 -11
- package/templates/plugins/resource/bot/bicep/config.template.bicep +2 -0
- package/templates/plugins/resource/frontend/bicep/frontendHostingProvision.bicep +4 -2
- package/templates/plugins/resource/frontend/bicep/provision.template.bicep +1 -0
- package/templates/plugins/resource/function/bicep/config.template.bicep +2 -0
- package/templates/plugins/resource/function/bicep/functionConfiguration.template.bicep +15 -15
- package/templates/plugins/resource/function/bicep/functionProvision.template.bicep +17 -14
- package/templates/plugins/resource/identity/bicep/identityProvision.template.bicep +2 -1
- package/templates/plugins/resource/keyvault/bicep/keyVaultProvision.template.bicep +9 -7
- package/templates/plugins/resource/simpleauth/bicep/config.template.bicep +2 -0
- package/templates/plugins/resource/simpleauth/bicep/simpleAuthConfiguration.template.bicep +7 -7
- package/templates/plugins/resource/simpleauth/bicep/simpleAuthProvision.template.bicep +9 -6
- package/templates/plugins/resource/sql/bicep/sqlProvision.template.bicep +8 -5
- package/templates/plugins/resource/webapp/bicep/config.template.bicep +10 -0
- package/templates/plugins/resource/webapp/bicep/provision.template.bicep +16 -0
- package/templates/plugins/resource/webapp/bicep/webappConfiguration.template.bicep +74 -0
- package/templates/plugins/resource/webapp/bicep/webappProvision.template.bicep +48 -0
- package/build/common/templates.d.ts.map +0 -1
- package/build/common/templates.js.map +0 -1
- package/build/common/templatesActions.d.ts.map +0 -1
- package/build/common/templatesActions.js.map +0 -1
- package/build/common/templatesUtils.d.ts.map +0 -1
- package/build/common/templatesUtils.js.map +0 -1
- package/build/core/middleware/projectUpgrader.d.ts +0 -6
- package/build/core/middleware/projectUpgrader.d.ts.map +0 -1
- package/build/core/middleware/projectUpgrader.js +0 -224
- package/build/core/middleware/projectUpgrader.js.map +0 -1
- package/build/plugins/resource/frontend/blazor/constants.d.ts +0 -75
- package/build/plugins/resource/frontend/blazor/constants.d.ts.map +0 -1
- package/build/plugins/resource/frontend/blazor/constants.js +0 -98
- package/build/plugins/resource/frontend/blazor/constants.js.map +0 -1
- package/build/plugins/resource/frontend/blazor/enum.js +0 -39
- package/build/plugins/resource/frontend/blazor/ops/provision.d.ts +0 -8
- package/build/plugins/resource/frontend/blazor/ops/provision.d.ts.map +0 -1
- package/build/plugins/resource/frontend/blazor/ops/provision.js +0 -42
- package/build/plugins/resource/frontend/blazor/ops/provision.js.map +0 -1
- package/build/plugins/resource/frontend/blazor/plugin.d.ts +0 -35
- package/build/plugins/resource/frontend/blazor/plugin.d.ts.map +0 -1
- package/build/plugins/resource/frontend/blazor/plugin.js +0 -190
- package/build/plugins/resource/frontend/blazor/plugin.js.map +0 -1
- package/build/plugins/resource/frontend/blazor/resources/errors.d.ts +0 -41
- package/build/plugins/resource/frontend/blazor/resources/errors.d.ts.map +0 -1
- package/build/plugins/resource/frontend/blazor/resources/errors.js.map +0 -1
- package/build/plugins/resource/frontend/blazor/resources/messages.d.ts.map +0 -1
- package/build/plugins/resource/frontend/blazor/resources/messages.js.map +0 -1
- package/build/plugins/resource/frontend/blazor/utils/azure-client.d.ts +0 -21
- package/build/plugins/resource/frontend/blazor/utils/azure-client.d.ts.map +0 -1
- package/build/plugins/resource/frontend/blazor/utils/azure-client.js +0 -47
- package/build/plugins/resource/frontend/blazor/utils/azure-client.js.map +0 -1
- package/build/plugins/resource/frontend/utils/azure-client.d.ts +0 -12
- package/build/plugins/resource/frontend/utils/azure-client.d.ts.map +0 -1
- package/build/plugins/resource/frontend/utils/azure-client.js +0 -29
- package/build/plugins/resource/frontend/utils/azure-client.js.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/backendExtensionsInstall.d.ts +0 -9
- package/build/plugins/resource/function/utils/depsChecker/backendExtensionsInstall.d.ts.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/backendExtensionsInstall.js +0 -55
- package/build/plugins/resource/function/utils/depsChecker/backendExtensionsInstall.js.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/checker.d.ts +0 -54
- package/build/plugins/resource/function/utils/depsChecker/checker.d.ts.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/checker.js +0 -104
- package/build/plugins/resource/function/utils/depsChecker/checker.js.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/common.d.ts +0 -84
- package/build/plugins/resource/function/utils/depsChecker/common.d.ts.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/common.js +0 -136
- package/build/plugins/resource/function/utils/depsChecker/common.js.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/cpUtils.d.ts +0 -22
- package/build/plugins/resource/function/utils/depsChecker/cpUtils.d.ts.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/cpUtils.js +0 -105
- package/build/plugins/resource/function/utils/depsChecker/cpUtils.js.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/dotnetChecker.d.ts +0 -53
- package/build/plugins/resource/function/utils/depsChecker/dotnetChecker.d.ts.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/dotnetChecker.js +0 -387
- package/build/plugins/resource/function/utils/depsChecker/dotnetChecker.js.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/errors.d.ts +0 -14
- package/build/plugins/resource/function/utils/depsChecker/errors.d.ts.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/errors.js +0 -41
- package/build/plugins/resource/function/utils/depsChecker/errors.js.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.d.ts +0 -26
- package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.d.ts.map +0 -1
- package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.js +0 -111
- package/build/plugins/resource/function/utils/depsChecker/funcPluginAdapter.js.map +0 -1
- package/build/plugins/solution/fx-solution/debug/util/certificate.d.ts.map +0 -1
- package/build/plugins/solution/fx-solution/debug/util/certificate.js.map +0 -1
- package/build/plugins/solution/fx-solution/debug/util/process.d.ts.map +0 -1
- package/build/plugins/solution/fx-solution/debug/util/process.js.map +0 -1
- package/resource/plugins/resource/function/dotnet-install.ps1 +0 -1095
- package/resource/plugins/resource/function/dotnet-install.sh +0 -1222
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/teamsfx-core",
|
|
3
|
-
"version": "1.2.0",
|
|
3
|
+
"version": "1.2.2-alpha.eb4575da.0",
|
|
4
4
|
"main": "build/index.js",
|
|
5
5
|
"types": "build/index.d.ts",
|
|
6
6
|
"license": "MIT",
|
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"lint:staged": "lint-staged",
|
|
9
9
|
"lint": "eslint \"src/**/*.ts\" \"tests/**/*.ts\"",
|
|
10
10
|
"test:bot": "nyc mocha \"tests/plugins/resource/bot/**/*.test.ts\"",
|
|
11
|
-
"test:
|
|
11
|
+
"test:dotnet": "nyc mocha \"tests/plugins/resource/dotnet/**/*.test.ts\"",
|
|
12
12
|
"test:function": "nyc mocha \"tests/plugins/resource/function/**/*.test.ts\"",
|
|
13
13
|
"test:localdebug": "nyc mocha \"tests/plugins/resource/localdebug/**/*.test.ts\"",
|
|
14
14
|
"test:frontend": "nyc mocha \"tests/plugins/resource/frontend/**/*.test.ts\"",
|
|
@@ -39,9 +39,8 @@
|
|
|
39
39
|
"prepublishOnly": "npm run test:unit && npm run build",
|
|
40
40
|
"package": "rimraf build && webpack --mode production --config ./webpack.config.js",
|
|
41
41
|
"precommit": "lint-staged",
|
|
42
|
-
"install:api": "cd api && npm install",
|
|
43
42
|
"install:tabs": "cd tabs && npm install",
|
|
44
|
-
"installAll": "npm run install:
|
|
43
|
+
"installAll": "npm run install:tabs"
|
|
45
44
|
},
|
|
46
45
|
"dependencies": {
|
|
47
46
|
"@apidevtools/swagger-parser": "^10.0.2",
|
|
@@ -57,7 +56,7 @@
|
|
|
57
56
|
"@azure/storage-blob": "^12.7.0",
|
|
58
57
|
"@dbpiper/timer": "1.0.0-beta.2",
|
|
59
58
|
"@feathersjs/hooks": "^0.6.5",
|
|
60
|
-
"@microsoft/teamsfx-api": "
|
|
59
|
+
"@microsoft/teamsfx-api": "0.13.1-alpha.eb4575da.0",
|
|
61
60
|
"@npmcli/package-json": "^1.0.1",
|
|
62
61
|
"@types/jwt-decode": "3.1.0",
|
|
63
62
|
"@types/proper-lockfile": "^4.1.1",
|
|
@@ -83,7 +82,7 @@
|
|
|
83
82
|
"md5": "^2.3.0",
|
|
84
83
|
"mime": "^2.5.2",
|
|
85
84
|
"mustache": "^4.2.0",
|
|
86
|
-
"node-forge": "^0.
|
|
85
|
+
"node-forge": "^1.0.0",
|
|
87
86
|
"node-ts-uuid": "^1.0.8",
|
|
88
87
|
"openapi-types": "^7.2.3",
|
|
89
88
|
"proper-lockfile": "^4.1.2",
|
|
@@ -170,7 +169,7 @@
|
|
|
170
169
|
"resource/**/*",
|
|
171
170
|
"templates/**/*"
|
|
172
171
|
],
|
|
173
|
-
"gitHead": "
|
|
172
|
+
"gitHead": "b80332aa162e29274e333a2ff12b5a1fd0b5d656",
|
|
174
173
|
"publishConfig": {
|
|
175
174
|
"access": "public"
|
|
176
175
|
},
|
package/resource/strings.json
CHANGED
|
@@ -13,12 +13,22 @@
|
|
|
13
13
|
"FailedToDeployBeforeProvision": "Failed to deploy because the resources have not been provisioned yet. Make sure you do the provision first. Click Get Help to learn more about why you need to provision.",
|
|
14
14
|
"FailedToPublishBeforeProvision": "Failed to publish because the resources have not been provisioned yet. Make sure you do the provision first. Click Get Help to learn more about why you need to provision.",
|
|
15
15
|
"SPFxAskProvisionBeforePublish": "Failed to publish because the teams app has not been provisioned yet. Please provision first. Click Get Help to learn more about why you need to provision.",
|
|
16
|
-
"
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
16
|
+
"addCapability" : {
|
|
17
|
+
"OnlySupportAzure": "Add capability is only supported for project hosted in Azure",
|
|
18
|
+
"ExceedMaxLimit": "Your App reaches maximal limit for Tabs, Bot and Message Extension.",
|
|
19
|
+
"AddCapabilityNotice": "[Teams Toolkit] Capability %s has been successfully added to your project. F5 to local debug the application or trigger 'Teams: Provision in the cloud' to create resources in your Azure subscription for hosting.",
|
|
20
|
+
"AddCapabilitiesNotice": "[Teams Toolkit] Capabilities %s have been successfully added to your project. F5 to local debug the application or trigger 'Teams: Provision in the cloud' to create resources in your Azure subscription for hosting.",
|
|
21
|
+
"AddCapabilityNoticeForCli": "[Teams Toolkit] Capability %s has been successfully added to your project. Run 'teamsfx provision' to create resources in your Azure subscription for hosting.",
|
|
22
|
+
"AddCapabilitiesNoticeForCli": "[Teams Toolkit] Capabilities %s have been successfully added to your project. Run 'teamsfx provision' to create resources in your Azure subscription for hosting."
|
|
23
|
+
},
|
|
24
|
+
"addResource": {
|
|
25
|
+
"OnlySupportAzure": "Add resource is only supported for project hosted in Azure",
|
|
26
|
+
"NotSupportForVSProject": "Add resource is not supported for csharp project",
|
|
27
|
+
"AddResourceNotice": "[Teams Toolkit] Resource \"%s\" has been successfully configured for your project, trigger 'Teams: Provision in the cloud' will create the resource in your Azure subscription.",
|
|
28
|
+
"AddResourceNoticeForCli": "[Teams Toolkit] Resource \"%s\" has been successfully configured for your project, run 'teamsfx provision' will create the resource in your Azure subscription.",
|
|
29
|
+
"AddResourcesNotice": "[Teams Toolkit] Resources \"%s\" have been successfully configured for your project, trigger 'Teams: Provision in the cloud' will create the resources in your Azure subscription.",
|
|
30
|
+
"AddResourcesNoticeForCli": "[Teams Toolkit] Resources \"%s\" have been successfully configured for your project, run 'teamsfx provision' will create the resources in your Azure subscription."
|
|
31
|
+
},
|
|
22
32
|
"CancelProvision": "CancelProvision",
|
|
23
33
|
"AlreadyProvisionNotice": "'%s' is already provisioned in the cloud, will create the teams app again if it has been removed.",
|
|
24
34
|
"NotProvisionedNotice": "'%s' is not provisioned in the cloud yet. Please provision first.",
|
|
@@ -54,7 +64,7 @@
|
|
|
54
64
|
"buildNotice": "SharePoint package successfully built at %s.",
|
|
55
65
|
"deployNotice": "SharePoint package %s has been successfully deployed to [%s](%s).",
|
|
56
66
|
"deployFailedNotice": "You don't have permission to upload and deploy package to App Catalog %s, please use site admin account, or you can get your own free Microsoft 365 tenant from [M365 developer program](https://developer.microsoft.com/en-us/microsoft-365/dev-program)",
|
|
57
|
-
"createAppCatalogNotice": "There is no tenant app catalog under %s, you
|
|
67
|
+
"createAppCatalogNotice": "There is no tenant app catalog under %s, do you want to create one?"
|
|
58
68
|
}
|
|
59
69
|
}
|
|
60
70
|
}
|
|
@@ -38,6 +38,7 @@ var scope = '${m365ApplicationIdUri}/.default'
|
|
|
38
38
|
var authorizationEndpoint = uri(m365OauthAuthorityHost, '${m365TenantId}/oauth2/v2.0/authorize')
|
|
39
39
|
var tokenEndpoint = uri(m365OauthAuthorityHost, '${m365TenantId}/oauth2/v2.0/token')
|
|
40
40
|
|
|
41
|
+
//Enables Microsoft Power Platform to access your APIs hosted in Function App
|
|
41
42
|
resource apimServiceAuthServer 'Microsoft.ApiManagement/service/authorizationServers@2020-12-01' = {
|
|
42
43
|
name: '${apimServiceName}/${oauthServerName}'
|
|
43
44
|
properties: {
|
|
@@ -2,12 +2,13 @@
|
|
|
2
2
|
param provisionParameters object
|
|
3
3
|
|
|
4
4
|
var resourceBaseName = provisionParameters['resourceBaseName']
|
|
5
|
-
var apimServiceName = contains(provisionParameters, 'apimServiceName') ? provisionParameters['apimServiceName'] : '${resourceBaseName}'
|
|
6
|
-
var apimServiceSku = contains(provisionParameters, 'apimServiceSku') ? provisionParameters['apimServiceSku'] : 'Consumption'
|
|
7
|
-
var productName = contains(provisionParameters, 'apimProductName') ? provisionParameters['apimProductName'] : '${resourceBaseName}'
|
|
8
|
-
var publisherEmail = provisionParameters['apimPublisherEmail']
|
|
9
|
-
var publisherName = provisionParameters['apimPublisherName']
|
|
5
|
+
var apimServiceName = contains(provisionParameters, 'apimServiceName') ? provisionParameters['apimServiceName'] : '${resourceBaseName}' // Try to read name for APIM Service from parameters
|
|
6
|
+
var apimServiceSku = contains(provisionParameters, 'apimServiceSku') ? provisionParameters['apimServiceSku'] : 'Consumption' // Try to read SKU for APIM Service from parameters
|
|
7
|
+
var productName = contains(provisionParameters, 'apimProductName') ? provisionParameters['apimProductName'] : '${resourceBaseName}' // Try to read name for APIM Product from parameters
|
|
8
|
+
var publisherEmail = provisionParameters['apimPublisherEmail'] // Read publisher email for APIM Service from parameters, this parameter is required
|
|
9
|
+
var publisherName = provisionParameters['apimPublisherName'] // Read publisher name for APIM Service from parameters, this parameter is required
|
|
10
10
|
|
|
11
|
+
// APIM Service that helps manage your APIs
|
|
11
12
|
resource apimService 'Microsoft.ApiManagement/service@2020-12-01' = {
|
|
12
13
|
name: apimServiceName
|
|
13
14
|
location: resourceGroup().location
|
|
@@ -21,6 +22,7 @@ resource apimService 'Microsoft.ApiManagement/service@2020-12-01' = {
|
|
|
21
22
|
}
|
|
22
23
|
}
|
|
23
24
|
|
|
25
|
+
// Group your APIs, define terms of use and runtime policies
|
|
24
26
|
resource apimServiceProduct 'Microsoft.ApiManagement/service/products@2020-12-01' = {
|
|
25
27
|
parent: apimService
|
|
26
28
|
name: productName
|
|
@@ -38,21 +38,21 @@ var m365ApplicationIdUri = 'api://botid-${botId}'
|
|
|
38
38
|
resource botWebAppSettings 'Microsoft.Web/sites/config@2021-02-01' = {
|
|
39
39
|
name: '${botWebAppName}/appsettings'
|
|
40
40
|
properties: union({
|
|
41
|
-
INITIATE_LOGIN_ENDPOINT: uri(provisionOutputs.botOutput.value.siteEndpoint, 'auth-start.html')
|
|
42
|
-
M365_AUTHORITY_HOST: m365OauthAuthorityHost
|
|
43
|
-
M365_CLIENT_ID: m365ClientId
|
|
44
|
-
M365_CLIENT_SECRET: m365ClientSecret
|
|
45
|
-
M365_TENANT_ID: m365TenantId
|
|
46
|
-
M365_APPLICATION_ID_URI: m365ApplicationIdUri
|
|
47
|
-
BOT_ID: botAadAppClientId
|
|
48
|
-
BOT_PASSWORD: botAadAppClientSecret
|
|
41
|
+
INITIATE_LOGIN_ENDPOINT: uri(provisionOutputs.botOutput.value.siteEndpoint, 'auth-start.html') // The page is used to let users consent required OAuth permissions during bot SSO process
|
|
42
|
+
M365_AUTHORITY_HOST: m365OauthAuthorityHost // AAD authority host
|
|
43
|
+
M365_CLIENT_ID: m365ClientId // Client id of AAD application
|
|
44
|
+
M365_CLIENT_SECRET: m365ClientSecret // Client secret of AAD application
|
|
45
|
+
M365_TENANT_ID: m365TenantId // Tenant id of AAD application
|
|
46
|
+
M365_APPLICATION_ID_URI: m365ApplicationIdUri // Application ID URI of AAD application
|
|
47
|
+
BOT_ID: botAadAppClientId // ID of your bot
|
|
48
|
+
BOT_PASSWORD: botAadAppClientSecret // Secret of your bot
|
|
49
49
|
{{#if (contains "fx-resource-function" plugins) }}
|
|
50
|
-
API_ENDPOINT: provisionOutputs.functionOutput.value.functionEndpoint
|
|
50
|
+
API_ENDPOINT: provisionOutputs.functionOutput.value.functionEndpoint // Azure Function endpoint
|
|
51
51
|
{{/if}}
|
|
52
52
|
{{#if (contains "fx-resource-azure-sql" plugins)}}
|
|
53
|
-
SQL_DATABASE_NAME: \{{fx-resource-azure-sql.References.databaseName}}
|
|
54
|
-
SQL_ENDPOINT: \{{fx-resource-azure-sql.References.sqlEndpoint}}
|
|
53
|
+
SQL_DATABASE_NAME: \{{fx-resource-azure-sql.References.databaseName}} // SQL database name
|
|
54
|
+
SQL_ENDPOINT: \{{fx-resource-azure-sql.References.sqlEndpoint}} // SQL server endpoint
|
|
55
55
|
{{/if}}
|
|
56
|
-
IDENTITY_ID: \{{fx-resource-identity.References.identityClientId}}
|
|
56
|
+
IDENTITY_ID: \{{fx-resource-identity.References.identityClientId}} // User assigned identity id, the identity is used to access other Azure resources
|
|
57
57
|
}, currentAppSettings)
|
|
58
58
|
}
|
|
@@ -3,14 +3,15 @@ param provisionParameters object
|
|
|
3
3
|
param userAssignedIdentityId string
|
|
4
4
|
|
|
5
5
|
var resourceBaseName = provisionParameters.resourceBaseName
|
|
6
|
-
var botAadAppClientId = provisionParameters['botAadAppClientId']
|
|
7
|
-
var botServiceName = contains(provisionParameters, 'botServiceName') ? provisionParameters['botServiceName'] : '${resourceBaseName}'
|
|
8
|
-
var botServiceSku = contains(provisionParameters, 'botServiceSku') ? provisionParameters['botServiceSku'] : 'F0'
|
|
9
|
-
var botDisplayName = contains(provisionParameters, 'botDisplayName') ? provisionParameters['botDisplayName'] : '${resourceBaseName}'
|
|
10
|
-
var serverfarmsName = contains(provisionParameters, 'botServerfarmsName') ? provisionParameters['botServerfarmsName'] : '${resourceBaseName}bot'
|
|
11
|
-
var webAppSKU = contains(provisionParameters, 'botWebAppSKU') ? provisionParameters['botWebAppSKU'] : 'F1'
|
|
12
|
-
var webAppName = contains(provisionParameters, 'botSitesName') ? provisionParameters['botSitesName'] : '${resourceBaseName}bot'
|
|
6
|
+
var botAadAppClientId = provisionParameters['botAadAppClientId'] // Read AAD app client id for Azure Bot Service from parameters
|
|
7
|
+
var botServiceName = contains(provisionParameters, 'botServiceName') ? provisionParameters['botServiceName'] : '${resourceBaseName}' // Try to read name for Azure Bot Service from parameters
|
|
8
|
+
var botServiceSku = contains(provisionParameters, 'botServiceSku') ? provisionParameters['botServiceSku'] : 'F0' // Try to read SKU for Azure Bot Service from parameters
|
|
9
|
+
var botDisplayName = contains(provisionParameters, 'botDisplayName') ? provisionParameters['botDisplayName'] : '${resourceBaseName}' // Try to read display name for Azure Bot Service from parameters
|
|
10
|
+
var serverfarmsName = contains(provisionParameters, 'botServerfarmsName') ? provisionParameters['botServerfarmsName'] : '${resourceBaseName}bot' // Try to read name for App Service Plan from parameters
|
|
11
|
+
var webAppSKU = contains(provisionParameters, 'botWebAppSKU') ? provisionParameters['botWebAppSKU'] : 'F1' // Try to read SKU for Azure Web App from parameters
|
|
12
|
+
var webAppName = contains(provisionParameters, 'botSitesName') ? provisionParameters['botSitesName'] : '${resourceBaseName}bot' // Try to read name for Azure Web App from parameters
|
|
13
13
|
|
|
14
|
+
// Register your web service as a bot with the Bot Framework
|
|
14
15
|
resource botService 'Microsoft.BotService/botServices@2021-03-01' = {
|
|
15
16
|
kind: 'azurebot'
|
|
16
17
|
location: 'global'
|
|
@@ -25,6 +26,7 @@ resource botService 'Microsoft.BotService/botServices@2021-03-01' = {
|
|
|
25
26
|
}
|
|
26
27
|
}
|
|
27
28
|
|
|
29
|
+
// Connect the bot service to Microsoft Teams
|
|
28
30
|
resource botServiceMsTeamsChannel 'Microsoft.BotService/botServices/channels@2021-03-01' = {
|
|
29
31
|
parent: botService
|
|
30
32
|
location: 'global'
|
|
@@ -34,6 +36,7 @@ resource botServiceMsTeamsChannel 'Microsoft.BotService/botServices/channels@202
|
|
|
34
36
|
}
|
|
35
37
|
}
|
|
36
38
|
|
|
39
|
+
// Compute resources for your Web App
|
|
37
40
|
resource serverfarm 'Microsoft.Web/serverfarms@2021-02-01' = {
|
|
38
41
|
kind: 'app'
|
|
39
42
|
location: resourceGroup().location
|
|
@@ -43,22 +46,23 @@ resource serverfarm 'Microsoft.Web/serverfarms@2021-02-01' = {
|
|
|
43
46
|
}
|
|
44
47
|
}
|
|
45
48
|
|
|
49
|
+
// Web App that hosts your bot
|
|
46
50
|
resource webApp 'Microsoft.Web/sites@2021-02-01' = {
|
|
47
51
|
kind: 'app'
|
|
48
52
|
location: resourceGroup().location
|
|
49
53
|
name: webAppName
|
|
50
54
|
properties: {
|
|
51
55
|
serverFarmId: serverfarm.id
|
|
52
|
-
keyVaultReferenceIdentity: userAssignedIdentityId
|
|
56
|
+
keyVaultReferenceIdentity: userAssignedIdentityId // Use given user assigned identity to access Key Vault
|
|
53
57
|
siteConfig: {
|
|
54
58
|
appSettings: [
|
|
55
59
|
{
|
|
56
60
|
name: 'SCM_DO_BUILD_DURING_DEPLOYMENT'
|
|
57
|
-
value: 'true'
|
|
61
|
+
value: 'true' // Execute build steps on your site during deployment
|
|
58
62
|
}
|
|
59
63
|
{
|
|
60
64
|
name: 'WEBSITE_NODE_DEFAULT_VERSION'
|
|
61
|
-
value: '~14'
|
|
65
|
+
value: '~14' // Set NodeJS version to 14.x for your site
|
|
62
66
|
}
|
|
63
67
|
]
|
|
64
68
|
}
|
|
@@ -66,7 +70,7 @@ resource webApp 'Microsoft.Web/sites@2021-02-01' = {
|
|
|
66
70
|
identity: {
|
|
67
71
|
type: 'UserAssigned'
|
|
68
72
|
userAssignedIdentities: {
|
|
69
|
-
'${userAssignedIdentityId}': {}
|
|
73
|
+
'${userAssignedIdentityId}': {} // The identity is used to access other Azure resources
|
|
70
74
|
}
|
|
71
75
|
}
|
|
72
76
|
}
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
// Get existing app settings for merge
|
|
1
2
|
var botCurrentAppSettings = list('${provisionOutputs.botOutput.value.botWebAppResourceId}/config/appsettings', '2021-02-01').properties
|
|
2
3
|
|
|
4
|
+
// Merge TeamsFx configurations to Bot resources
|
|
3
5
|
module teamsFxBotConfig '\{{fx-resource-bot.Configuration.bot.path}}' = {
|
|
4
6
|
name: 'addTeamsFxBotConfiguration'
|
|
5
7
|
params: {
|
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
@secure()
|
|
2
2
|
param provisionParameters object
|
|
3
3
|
var resourceBaseName = provisionParameters.resourceBaseName
|
|
4
|
-
var storageName = contains(provisionParameters, 'frontendHostingStorageName') ? provisionParameters['frontendHostingStorageName'] : '${resourceBaseName}tab'
|
|
5
|
-
var storageSku = contains(provisionParameters, 'frontendHostingStorageSku') ? provisionParameters['frontendHostingStorageSku'] : 'Standard_LRS'
|
|
4
|
+
var storageName = contains(provisionParameters, 'frontendHostingStorageName') ? provisionParameters['frontendHostingStorageName'] : '${resourceBaseName}tab' // Try to read name for frontend hosting Storage Account from parameters
|
|
5
|
+
var storageSku = contains(provisionParameters, 'frontendHostingStorageSku') ? provisionParameters['frontendHostingStorageSku'] : 'Standard_LRS' // Try to read SKU for frontend hosting Storage Account from parameters
|
|
6
6
|
|
|
7
|
+
// Azure Storage that hosts your static web site
|
|
7
8
|
resource storage 'Microsoft.Storage/storageAccounts@2021-06-01' = {
|
|
8
9
|
kind: 'StorageV2'
|
|
9
10
|
location: resourceGroup().location
|
|
@@ -21,3 +22,4 @@ var siteDomain = replace(replace(storage.properties.primaryEndpoints.web, 'https
|
|
|
21
22
|
output resourceId string = storage.id
|
|
22
23
|
output endpoint string = 'https://${siteDomain}'
|
|
23
24
|
output domain string = siteDomain
|
|
25
|
+
output indexPath string = '/index.html#'
|
|
@@ -10,5 +10,6 @@ output frontendHostingOutput object = {
|
|
|
10
10
|
teamsFxPluginId: 'fx-resource-frontend-hosting'
|
|
11
11
|
domain: frontendHostingProvision.outputs.domain
|
|
12
12
|
endpoint: frontendHostingProvision.outputs.endpoint
|
|
13
|
+
indexPath: frontendHostingProvision.outputs.indexPath
|
|
13
14
|
storageResourceId: frontendHostingProvision.outputs.resourceId
|
|
14
15
|
}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
|
+
// Get existing app settings and site config for merge
|
|
1
2
|
var functionCurrentConfigs = reference('${provisionOutputs.functionOutput.value.functionAppResourceId}/config/web', '2021-02-01')
|
|
2
3
|
var functionCurrentAppSettings = list('${provisionOutputs.functionOutput.value.functionAppResourceId}/config/appsettings', '2021-02-01').properties
|
|
3
4
|
|
|
5
|
+
// Merge TeamsFx configurations to Azure Functions resources
|
|
4
6
|
module teamsFxFunctionConfig '\{{fx-resource-function.Configuration.function.path}}' = {
|
|
5
7
|
name: 'addTeamsFxFunctionConfiguration'
|
|
6
8
|
params: {
|
|
@@ -60,7 +60,7 @@ resource appConfig 'Microsoft.Web/sites/config@2021-02-01' = {
|
|
|
60
60
|
properties: {
|
|
61
61
|
cors: {
|
|
62
62
|
allowedOrigins: union(currentAllowedOrigins, [
|
|
63
|
-
tabAppEndpoint
|
|
63
|
+
tabAppEndpoint // allow requests from tab app
|
|
64
64
|
])
|
|
65
65
|
}
|
|
66
66
|
}
|
|
@@ -69,29 +69,29 @@ resource appConfig 'Microsoft.Web/sites/config@2021-02-01' = {
|
|
|
69
69
|
resource appSettings 'Microsoft.Web/sites/config@2021-02-01' = {
|
|
70
70
|
name: '${functionAppName}/appsettings'
|
|
71
71
|
properties: union({
|
|
72
|
-
API_ENDPOINT: \{{fx-resource-function.References.functionEndpoint}}
|
|
73
|
-
ALLOWED_APP_IDS: authorizedClientApplicationIds
|
|
74
|
-
M365_CLIENT_ID: m365ClientId
|
|
75
|
-
M365_CLIENT_SECRET: m365ClientSecret
|
|
76
|
-
M365_TENANT_ID: m365TenantId
|
|
77
|
-
M365_AUTHORITY_HOST: m365OauthAuthorityHost
|
|
78
|
-
M365_APPLICATION_ID_URI: m365ApplicationIdUri
|
|
79
|
-
IDENTITY_ID: \{{fx-resource-identity.References.identityClientId}}
|
|
72
|
+
API_ENDPOINT: \{{fx-resource-function.References.functionEndpoint}} // Azure Functions endpoint
|
|
73
|
+
ALLOWED_APP_IDS: authorizedClientApplicationIds // Only allow tokens issued by these AAD applications
|
|
74
|
+
M365_CLIENT_ID: m365ClientId // Client id of AAD application
|
|
75
|
+
M365_CLIENT_SECRET: m365ClientSecret // Client secret of AAD application
|
|
76
|
+
M365_TENANT_ID: m365TenantId // Tenant id of AAD application
|
|
77
|
+
M365_AUTHORITY_HOST: m365OauthAuthorityHost // AAD authority host
|
|
78
|
+
M365_APPLICATION_ID_URI: m365ApplicationIdUri // Application ID URI of AAD application
|
|
79
|
+
IDENTITY_ID: \{{fx-resource-identity.References.identityClientId}} // User assigned identity id, the identity is used to access other Azure resources
|
|
80
80
|
{{#if (contains "fx-resource-azure-sql" plugins) }}
|
|
81
|
-
SQL_DATABASE_NAME: \{{fx-resource-azure-sql.References.databaseName}}
|
|
82
|
-
SQL_ENDPOINT: \{{fx-resource-azure-sql.References.sqlEndpoint}}
|
|
81
|
+
SQL_DATABASE_NAME: \{{fx-resource-azure-sql.References.databaseName}} // SQL database name
|
|
82
|
+
SQL_ENDPOINT: \{{fx-resource-azure-sql.References.sqlEndpoint}} // SQL server endpoint
|
|
83
83
|
{{/if}}
|
|
84
|
-
}, currentAppSettings)
|
|
84
|
+
}, currentAppSettings) // Merge new settings with existing settings
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
resource authSettings 'Microsoft.Web/sites/config@2021-02-01' = {
|
|
88
88
|
name: '${functionAppName}/authsettings'
|
|
89
89
|
properties: {
|
|
90
|
-
enabled: true
|
|
90
|
+
enabled: true // Validate access token in request authorization header
|
|
91
91
|
defaultProvider: 'AzureActiveDirectory'
|
|
92
92
|
clientId: m365ClientId
|
|
93
|
-
issuer: '${oauthAuthority}/v2.0'
|
|
94
|
-
allowedAudiences: [
|
|
93
|
+
issuer: '${oauthAuthority}/v2.0' // Issuer of access token
|
|
94
|
+
allowedAudiences: [ // Only allow tokens with following audiences
|
|
95
95
|
m365ClientId
|
|
96
96
|
m365ApplicationIdUri
|
|
97
97
|
]
|
|
@@ -3,12 +3,13 @@ param provisionParameters object
|
|
|
3
3
|
param userAssignedIdentityId string
|
|
4
4
|
|
|
5
5
|
var resourceBaseName = provisionParameters.resourceBaseName
|
|
6
|
-
var serverfarmsName = contains(provisionParameters, 'functionServerfarmsName') ? provisionParameters['functionServerfarmsName'] : '${resourceBaseName}api'
|
|
7
|
-
var serverfarmsSku = contains(provisionParameters, 'functionServerfarmsSku') ? provisionParameters['functionServerfarmsSku'] : 'Y1'
|
|
8
|
-
var functionAppName = contains(provisionParameters, 'functionWebappName') ? provisionParameters['functionWebappName'] : '${resourceBaseName}api'
|
|
9
|
-
var storageName = contains(provisionParameters, 'functionStorageName') ? provisionParameters['functionStorageName'] : '${resourceBaseName}api'
|
|
10
|
-
var storageSku = contains(provisionParameters, 'functionStorageSku') ? provisionParameters['functionStorageSku'] : 'Standard_LRS'
|
|
6
|
+
var serverfarmsName = contains(provisionParameters, 'functionServerfarmsName') ? provisionParameters['functionServerfarmsName'] : '${resourceBaseName}api' // Try to read name for App Service Plan from parameters
|
|
7
|
+
var serverfarmsSku = contains(provisionParameters, 'functionServerfarmsSku') ? provisionParameters['functionServerfarmsSku'] : 'Y1' // Try to read SKU for App Service Plan from parameters
|
|
8
|
+
var functionAppName = contains(provisionParameters, 'functionWebappName') ? provisionParameters['functionWebappName'] : '${resourceBaseName}api' // Try to read name for Azure Functions from parameters
|
|
9
|
+
var storageName = contains(provisionParameters, 'functionStorageName') ? provisionParameters['functionStorageName'] : '${resourceBaseName}api' // Try to read name for Azure Storage from parameters
|
|
10
|
+
var storageSku = contains(provisionParameters, 'functionStorageSku') ? provisionParameters['functionStorageSku'] : 'Standard_LRS' // Try to read SKU for Azure Storage from parameters
|
|
11
11
|
|
|
12
|
+
// Compute resources for Azure Functions
|
|
12
13
|
resource serverfarms 'Microsoft.Web/serverfarms@2021-02-01' = {
|
|
13
14
|
name: serverfarmsName
|
|
14
15
|
kind: 'functionapp'
|
|
@@ -18,42 +19,43 @@ resource serverfarms 'Microsoft.Web/serverfarms@2021-02-01' = {
|
|
|
18
19
|
}
|
|
19
20
|
}
|
|
20
21
|
|
|
22
|
+
// Azure Functions that hosts your function code
|
|
21
23
|
resource functionApp 'Microsoft.Web/sites@2021-02-01' = {
|
|
22
24
|
name: functionAppName
|
|
23
25
|
kind: 'functionapp'
|
|
24
26
|
location: resourceGroup().location
|
|
25
27
|
properties: {
|
|
26
28
|
serverFarmId: serverfarms.id
|
|
27
|
-
keyVaultReferenceIdentity: userAssignedIdentityId
|
|
29
|
+
keyVaultReferenceIdentity: userAssignedIdentityId // Use given user assigned identity to access Key Vault
|
|
28
30
|
siteConfig: {
|
|
29
31
|
appSettings: [
|
|
30
32
|
{
|
|
31
33
|
name: 'AzureWebJobsDashboard'
|
|
32
|
-
value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}'
|
|
34
|
+
value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}' // Azure Functions internal setting
|
|
33
35
|
}
|
|
34
36
|
{
|
|
35
37
|
name: 'AzureWebJobsStorage'
|
|
36
|
-
value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}'
|
|
38
|
+
value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}' // Azure Functions internal setting
|
|
37
39
|
}
|
|
38
40
|
{
|
|
39
41
|
name: 'FUNCTIONS_EXTENSION_VERSION'
|
|
40
|
-
value: '~3'
|
|
42
|
+
value: '~3' // Use Azure Functions runtime v3
|
|
41
43
|
}
|
|
42
44
|
{
|
|
43
45
|
name: 'FUNCTIONS_WORKER_RUNTIME'
|
|
44
|
-
value: 'node'
|
|
46
|
+
value: 'node' // Set runtime to NodeJS
|
|
45
47
|
}
|
|
46
48
|
{
|
|
47
49
|
name: 'WEBSITE_CONTENTAZUREFILECONNECTIONSTRING'
|
|
48
|
-
value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}'
|
|
50
|
+
value: 'DefaultEndpointsProtocol=https;AccountName=${storage.name};AccountKey=${listKeys(storage.id, storage.apiVersion).keys[0].value};EndpointSuffix=${environment().suffixes.storage}' // Azure Functions internal setting
|
|
49
51
|
}
|
|
50
52
|
{
|
|
51
53
|
name: 'WEBSITE_RUN_FROM_PACKAGE'
|
|
52
|
-
value: '1'
|
|
54
|
+
value: '1' // Run Azure Functions from a package file
|
|
53
55
|
}
|
|
54
56
|
{
|
|
55
57
|
name: 'WEBSITE_NODE_DEFAULT_VERSION'
|
|
56
|
-
value: '~14'
|
|
58
|
+
value: '~14' // Set NodeJS version to 14.x
|
|
57
59
|
}
|
|
58
60
|
]
|
|
59
61
|
}
|
|
@@ -61,11 +63,12 @@ resource functionApp 'Microsoft.Web/sites@2021-02-01' = {
|
|
|
61
63
|
identity: {
|
|
62
64
|
type: 'UserAssigned'
|
|
63
65
|
userAssignedIdentities: {
|
|
64
|
-
'${userAssignedIdentityId}': {}
|
|
66
|
+
'${userAssignedIdentityId}': {} // The identity is used to access other Azure resources
|
|
65
67
|
}
|
|
66
68
|
}
|
|
67
69
|
}
|
|
68
70
|
|
|
71
|
+
// Azure Storage is required when creating Azure Functions instance
|
|
69
72
|
resource storage 'Microsoft.Storage/storageAccounts@2021-06-01' = {
|
|
70
73
|
name: storageName
|
|
71
74
|
kind: 'StorageV2'
|
|
@@ -1,8 +1,9 @@
|
|
|
1
1
|
@secure()
|
|
2
2
|
param provisionParameters object
|
|
3
3
|
var resourceBaseName = provisionParameters.resourceBaseName
|
|
4
|
-
var identityName = contains(provisionParameters, 'userAssignedIdentityName') ? provisionParameters['userAssignedIdentityName'] : '${resourceBaseName}'
|
|
4
|
+
var identityName = contains(provisionParameters, 'userAssignedIdentityName') ? provisionParameters['userAssignedIdentityName'] : '${resourceBaseName}' // Try to read name for user assigned identity from parameters
|
|
5
5
|
|
|
6
|
+
// user assigned identity will be used to access other Azure resources
|
|
6
7
|
resource managedIdentity 'Microsoft.ManagedIdentity/userAssignedIdentities@2018-11-30' = {
|
|
7
8
|
name: identityName
|
|
8
9
|
location: resourceGroup().location
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
@secure()
|
|
2
2
|
param provisionParameters object
|
|
3
|
-
param userAssignedIdentityObjectId string
|
|
3
|
+
param userAssignedIdentityObjectId string // User assigned identity that will be grant Key Vault access permission
|
|
4
4
|
|
|
5
5
|
var resourceBaseName = provisionParameters.resourceBaseName
|
|
6
|
-
var keyVaultName = contains(provisionParameters, 'keyVaultName') ? provisionParameters['keyVaultName'] : '${resourceBaseName}'
|
|
6
|
+
var keyVaultName = contains(provisionParameters, 'keyVaultName') ? provisionParameters['keyVaultName'] : '${resourceBaseName}' // Try to read name for Key Vault from parameters
|
|
7
7
|
var tenantId = subscription().tenantId
|
|
8
|
-
var m365ClientSecretName = 'm365ClientSecret'
|
|
9
|
-
var m365ClientSecret = provisionParameters['m365ClientSecret']
|
|
10
|
-
var botClientSecretName = 'botClientSecret'
|
|
11
|
-
var botClientSecret = contains(provisionParameters, 'botAadAppClientSecret') ? provisionParameters['botAadAppClientSecret'] : ''
|
|
12
|
-
var keyVaultSkuName = contains(provisionParameters, 'keyVaultSkuName') ? provisionParameters['keyVaultSkuName'] : 'standard'
|
|
8
|
+
var m365ClientSecretName = 'm365ClientSecret' // Secret name of AAD app client secret
|
|
9
|
+
var m365ClientSecret = provisionParameters['m365ClientSecret'] // Read AAD app client secret from parameters
|
|
10
|
+
var botClientSecretName = 'botClientSecret' // Secret name of bot's AAD app client secret
|
|
11
|
+
var botClientSecret = contains(provisionParameters, 'botAadAppClientSecret') ? provisionParameters['botAadAppClientSecret'] : '' // Try to read bot's AAD app client secret from parameters
|
|
12
|
+
var keyVaultSkuName = contains(provisionParameters, 'keyVaultSkuName') ? provisionParameters['keyVaultSkuName'] : 'standard' // Try to read SKU for Key Vault from parameters
|
|
13
13
|
|
|
14
14
|
resource keyVault 'Microsoft.KeyVault/vaults@2019-09-01' = {
|
|
15
15
|
name: keyVaultName
|
|
@@ -34,6 +34,7 @@ resource keyVault 'Microsoft.KeyVault/vaults@2019-09-01' = {
|
|
|
34
34
|
}
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
// Set or update AAD app client secret if it's not empty in parameters
|
|
37
38
|
resource clientSecretKv 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = if (length(m365ClientSecret) != 0) {
|
|
38
39
|
parent: keyVault
|
|
39
40
|
name: m365ClientSecretName
|
|
@@ -42,6 +43,7 @@ resource clientSecretKv 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = if (len
|
|
|
42
43
|
}
|
|
43
44
|
}
|
|
44
45
|
|
|
46
|
+
// Set or update bot's AAD app client secret if it's not empty in parameters
|
|
45
47
|
resource botClientSecretKv 'Microsoft.KeyVault/vaults/secrets@2019-09-01' = if (length(botClientSecret) != 0) {
|
|
46
48
|
parent: keyVault
|
|
47
49
|
name: botClientSecretName
|
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
// Get existing app settings and site config for merge
|
|
1
2
|
var simpleAuthCurrentAppSettings = list('${provisionOutputs.simpleAuthOutput.value.webAppResourceId}/config/appsettings', '2021-02-01').properties
|
|
2
3
|
|
|
4
|
+
// Merge TeamsFx configurations to Simple Auth resources
|
|
3
5
|
module teamsFxSimpleAuthConfig '\{{fx-resource-simple-auth.Configuration.simpleAuth.path}}' = {
|
|
4
6
|
name: 'addTeamsFxSimpleAuthConfiguration'
|
|
5
7
|
params: {
|
|
@@ -47,14 +47,14 @@ var authorizedClientApplicationIds = '${teamsMobileOrDesktopAppClientId};${teams
|
|
|
47
47
|
resource simpleAuthWebAppSettings 'Microsoft.Web/sites/config@2021-02-01' = {
|
|
48
48
|
name: '${webAppName}/appsettings'
|
|
49
49
|
properties: {
|
|
50
|
-
AAD_METADATA_ADDRESS: aadMetadataAddress
|
|
51
|
-
ALLOWED_APP_IDS: authorizedClientApplicationIds
|
|
52
|
-
IDENTIFIER_URI: m365ApplicationIdUri
|
|
53
|
-
CLIENT_ID: m365ClientId
|
|
54
|
-
CLIENT_SECRET: m365ClientSecret
|
|
55
|
-
OAUTH_AUTHORITY: oauthAuthority
|
|
50
|
+
AAD_METADATA_ADDRESS: aadMetadataAddress // AAD metadata address used to validate access tokens
|
|
51
|
+
ALLOWED_APP_IDS: authorizedClientApplicationIds // Only allow access tokens from these clients
|
|
52
|
+
IDENTIFIER_URI: m365ApplicationIdUri // Application ID URI of AAD app
|
|
53
|
+
CLIENT_ID: m365ClientId // Client id of AAD app
|
|
54
|
+
CLIENT_SECRET: m365ClientSecret // Client secret of AAD app
|
|
55
|
+
OAUTH_AUTHORITY: oauthAuthority // AAD authority
|
|
56
56
|
{{#if (contains "fx-resource-frontend-hosting" plugins)}}
|
|
57
|
-
TAB_APP_ENDPOINT: tabAppEndpoint
|
|
57
|
+
TAB_APP_ENDPOINT: tabAppEndpoint // Enable CORS for tab app
|
|
58
58
|
{{/if}}
|
|
59
59
|
}
|
|
60
60
|
}
|
|
@@ -2,11 +2,12 @@
|
|
|
2
2
|
param provisionParameters object
|
|
3
3
|
param userAssignedIdentityId string
|
|
4
4
|
var resourceBaseName = provisionParameters.resourceBaseName
|
|
5
|
-
var sku = contains(provisionParameters, 'simpleAuthSku') ? provisionParameters['simpleAuthSku'] : 'F1'
|
|
6
|
-
var serverFarmsName = contains(provisionParameters, 'simpleAuthServerFarmsName') ? provisionParameters['simpleAuthServerFarmsName'] : '${resourceBaseName}simpleAuth'
|
|
7
|
-
var webAppName = contains(provisionParameters, 'simpleAuthWebAppName') ? provisionParameters['simpleAuthWebAppName'] : '${resourceBaseName}simpleAuth'
|
|
8
|
-
var simpleAuthPackageUri = contains(provisionParameters, 'simpleAuthPackageUri') ? provisionParameters['simpleAuthPackageUri'] : 'https://github.com/OfficeDev/TeamsFx/releases/download/simpleauth@0.1.0/Microsoft.TeamsFx.SimpleAuth_0.1.0.zip'
|
|
5
|
+
var sku = contains(provisionParameters, 'simpleAuthSku') ? provisionParameters['simpleAuthSku'] : 'F1' // Try to read SKU for App Service Plan from parameters
|
|
6
|
+
var serverFarmsName = contains(provisionParameters, 'simpleAuthServerFarmsName') ? provisionParameters['simpleAuthServerFarmsName'] : '${resourceBaseName}simpleAuth' // Try to read name for App Service Plan from parameters
|
|
7
|
+
var webAppName = contains(provisionParameters, 'simpleAuthWebAppName') ? provisionParameters['simpleAuthWebAppName'] : '${resourceBaseName}simpleAuth' // Try to read name for Web App from parameters
|
|
8
|
+
var simpleAuthPackageUri = contains(provisionParameters, 'simpleAuthPackageUri') ? provisionParameters['simpleAuthPackageUri'] : 'https://github.com/OfficeDev/TeamsFx/releases/download/simpleauth@0.1.0/Microsoft.TeamsFx.SimpleAuth_0.1.0.zip' // Try to read url of Simple Auth bits from parameters
|
|
9
9
|
|
|
10
|
+
// Compute resources for Web App
|
|
10
11
|
resource serverFarms 'Microsoft.Web/serverfarms@2021-02-01' = {
|
|
11
12
|
name: serverFarmsName
|
|
12
13
|
location: resourceGroup().location
|
|
@@ -16,22 +17,24 @@ resource serverFarms 'Microsoft.Web/serverfarms@2021-02-01' = {
|
|
|
16
17
|
kind: 'app'
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
// Web App that hosts Simple Auth
|
|
19
21
|
resource webApp 'Microsoft.Web/sites@2021-02-01' = {
|
|
20
22
|
kind: 'app'
|
|
21
23
|
name: webAppName
|
|
22
24
|
location: resourceGroup().location
|
|
23
25
|
properties: {
|
|
24
26
|
serverFarmId: serverFarms.id
|
|
25
|
-
keyVaultReferenceIdentity: userAssignedIdentityId
|
|
27
|
+
keyVaultReferenceIdentity: userAssignedIdentityId // Use given user assigned identity to access Key Vault
|
|
26
28
|
}
|
|
27
29
|
identity: {
|
|
28
30
|
type: 'UserAssigned'
|
|
29
31
|
userAssignedIdentities: {
|
|
30
|
-
'${userAssignedIdentityId}': {}
|
|
32
|
+
'${userAssignedIdentityId}': {} // The identity is used to access other Azure resources
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
35
|
}
|
|
34
36
|
|
|
37
|
+
// Deploy Simple Auth bits to Web App
|
|
35
38
|
resource simpleAuthDeploy 'Microsoft.Web/sites/extensions@2021-02-01' = {
|
|
36
39
|
parent: webApp
|
|
37
40
|
name: 'MSDeploy'
|
|
@@ -1,12 +1,13 @@
|
|
|
1
1
|
@secure()
|
|
2
2
|
param provisionParameters object
|
|
3
3
|
var resourceBaseName = provisionParameters.resourceBaseName
|
|
4
|
-
var sqlServerName = contains(provisionParameters, 'sqlServerName') ? provisionParameters['sqlServerName'] : '${resourceBaseName}'
|
|
5
|
-
var sqlDatabaseName = contains(provisionParameters, 'sqlDatabaseName') ? provisionParameters['sqlDatabaseName'] : '${resourceBaseName}'
|
|
6
|
-
var sqlDatabaseSku = contains(provisionParameters, 'sqlDatabaseSku') ? provisionParameters['sqlDatabaseSku'] : 'Basic'
|
|
7
|
-
var administratorLogin = contains(provisionParameters, 'azureSqlAdmin') ? provisionParameters['azureSqlAdmin'] : ''
|
|
8
|
-
var administratorLoginPassword = contains(provisionParameters, 'azureSqlAdminPassword') ? provisionParameters['azureSqlAdminPassword'] : ''
|
|
4
|
+
var sqlServerName = contains(provisionParameters, 'sqlServerName') ? provisionParameters['sqlServerName'] : '${resourceBaseName}' // Try to read name for SQL Server from parameters
|
|
5
|
+
var sqlDatabaseName = contains(provisionParameters, 'sqlDatabaseName') ? provisionParameters['sqlDatabaseName'] : '${resourceBaseName}' // Try to read name for SQL Database from parameters
|
|
6
|
+
var sqlDatabaseSku = contains(provisionParameters, 'sqlDatabaseSku') ? provisionParameters['sqlDatabaseSku'] : 'Basic' // Try to read SKU for SQL Database from parameters
|
|
7
|
+
var administratorLogin = contains(provisionParameters, 'azureSqlAdmin') ? provisionParameters['azureSqlAdmin'] : '' // Try to read admin name for SQL Server from parameters, the value must be empty or same with the admin name used to create SQL Server
|
|
8
|
+
var administratorLoginPassword = contains(provisionParameters, 'azureSqlAdminPassword') ? provisionParameters['azureSqlAdminPassword'] : '' // Try to read admin password for SQL Server from parameters, empty means do not update admin password
|
|
9
9
|
|
|
10
|
+
// SQL Server that hosts the databases
|
|
10
11
|
resource sqlServer 'Microsoft.Sql/servers@2021-05-01-preview' = {
|
|
11
12
|
location: resourceGroup().location
|
|
12
13
|
name: sqlServerName
|
|
@@ -16,6 +17,7 @@ resource sqlServer 'Microsoft.Sql/servers@2021-05-01-preview' = {
|
|
|
16
17
|
}
|
|
17
18
|
}
|
|
18
19
|
|
|
20
|
+
// SQL Database
|
|
19
21
|
resource sqlDatabase 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
|
|
20
22
|
parent: sqlServer
|
|
21
23
|
location: resourceGroup().location
|
|
@@ -25,6 +27,7 @@ resource sqlDatabase 'Microsoft.Sql/servers/databases@2021-05-01-preview' = {
|
|
|
25
27
|
}
|
|
26
28
|
}
|
|
27
29
|
|
|
30
|
+
// Allow Azure services connect to the SQL Server
|
|
28
31
|
resource sqlFirewallRules 'Microsoft.Sql/servers/firewallRules@2021-05-01-preview' = {
|
|
29
32
|
parent: sqlServer
|
|
30
33
|
name: 'AllowAzure'
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
var webappCurrentAppSettings = list('${provisionOutputs.webappOutput.value.webAppResourceId}/config/appsettings', '2021-02-01').properties
|
|
2
|
+
|
|
3
|
+
module teamsFxWebappConfig '\{{fx-resource-frontend-hosting.Configuration.webapp.path}}' = {
|
|
4
|
+
name: 'addTeamsFxWebappConfiguration'
|
|
5
|
+
params: {
|
|
6
|
+
provisionParameters: provisionParameters
|
|
7
|
+
provisionOutputs: provisionOutputs
|
|
8
|
+
currentAppSettings: webappCurrentAppSettings
|
|
9
|
+
}
|
|
10
|
+
}
|