Upwind: support Log Analytics workspace in a different resource group (v3.0.3)#14649
Upwind: support Log Analytics workspace in a different resource group (v3.0.3)#14649yael-nisanov wants to merge 2 commits into
Conversation
… group (v3.0.3) The Function App ARM template assumed the Log Analytics workspace lives in the deployment's resource group: the custom table was declared as a top-level child resource and the DCR destination resolved the workspace ID in the current resource group, so deployments failed with "parent resource was not found" when the workspace resides elsewhere. - Add WorkspaceResourceGroup parameter (defaults to the deployment's resource group, so existing deployments are unaffected) - Create the UpwindLogsAssets_CL table via a nested deployment scoped to the workspace's resource group - Resolve the DCR workspace destination ID with the workspace's resource group - Add an optional workspace resource group field to the deploy UI form - Document the new parameter in README and connector instructions - Bump solution to 3.0.3 and regenerate the package via the V3 tool Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
…ce group in DCR dependsOn ARM resolves resourceId() in the deployment's resource group, but the nested table deployment is scoped to WorkspaceResourceGroup, so the unqualified reference failed template validation with "resource is not defined in the template" when deploying cross-RG. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
Updates the Upwind solution to support deploying the connector when the target Log Analytics workspace is in a different resource group, and bumps the solution version to 3.0.3.
Changes:
- Added
WorkspaceResourceGroupto deployment parameters and deploy UI, defaulting to the deployment resource group. - Moved custom table creation to a nested deployment scoped to the workspace’s resource group and updated DCR dependencies/IDs accordingly.
- Updated docs/release notes and bumped package/solution versions from 3.0.2 to 3.0.3.
Reviewed changes
Copilot reviewed 7 out of 8 changed files in this pull request and generated 3 comments.
Show a summary per file
| File | Description |
|---|---|
| Solutions/Upwind/ReleaseNotes.md | Adds 3.0.3 release note describing the new workspace RG support. |
| Solutions/Upwind/README.md | Documents the new WorkspaceResourceGroup parameter. |
| Solutions/Upwind/Package/mainTemplate.json | Bumps version/description and updates connector instructions to mention the new parameter. |
| Solutions/Upwind/Data/Solution_UpwindLogsLoader.json | Bumps solution version to 3.0.3 for packaging metadata. |
| Solutions/Upwind/Data Connectors/createUiDef.json | Adds an optional UI field for workspace RG and wires it into template parameters. |
| Solutions/Upwind/Data Connectors/azuredeploy_UpwindLogsLoader_API_FunctionApp.json | Adds WorkspaceResourceGroup, scopes table creation via nested deployment, and updates DCR dependency. |
| Solutions/Upwind/Data Connectors/UpwindLogsLoader_API_FunctionApp.json | Updates connector deployment instructions to mention WorkspaceResourceGroup. |
| "WorkspaceResourceGroup": { | ||
| "defaultValue": "[resourceGroup().name]", | ||
| "type": "String", | ||
| "metadata": { | ||
| "description": "Name of the resource group containing the Log Analytics / Microsoft Sentinel workspace. Defaults to the resource group of this deployment. Set this when the workspace lives in a different resource group than the one you are deploying to." | ||
| } | ||
| }, |
| "constraints": { | ||
| "required": false, | ||
| "regex": "^$|^[-\\w\\._\\(\\)]{1,90}$", | ||
| "validationMessage": "Please enter a valid resource group name." | ||
| } |
| @@ -126,7 +133,8 @@ | |||
| "mainRuleName": "[concat('upwind-dcr-', uniqueString(resourceGroup().id))]", | |||
| "tableName": "UpwindLogsAssets_CL", | |||
|
Hi @yael-nisanov, |
|
hi @yael-nisanov, |
|
Hi @yael-nisanov, |
1 similar comment
|
Hi @yael-nisanov, |
Change(s):
WorkspaceResourceGroupparameter to the Upwind Function App ARM template (azuredeploy_UpwindLogsLoader_API_FunctionApp.json), defaulting to the deployment's resource group so existing deployments are unaffected.UpwindLogsAssets_CLcustom table is now created via a nested deployment scoped to the workspace's resource group (previously a top-level child resource, which ARM can only create in the deployment's own resource group).createUiDef.json); falls back to the deployment resource group when left empty.createSolutionV3.ps1).Reason for Change(s):
Failed to perform 'write' on resource(s) of type workspaces/tables, because the parent resource ... was not found. Customers organizing resources by purpose/project could not keep the connector resources separate from the workspace's resource group.Version Updated:
Testing Completed:
IDs Should Be Derived From ResourceIDson the generatedcontentProductId) is pre-existing — the published 3.0.2 package fails the same test.Checked that the validations are passing and have addressed any issues that are present:
🤖 Generated with Claude Code