Skip to content

Commit 338198e

Browse files
foundry-samples-repo-sync[bot]Zyysurelyfoundry-samples automationsdgilleyJon Burchel
authored
Automated sync from private repo (2026-04-22) (microsoft-foundry#667)
* [feat] valuation-Only Setup with Private Network Isolation (microsoft-foundry#147) * [feat] valuation-Only Setup with Private Network Isolation * Automatic fixes --------- Co-authored-by: foundry-samples automation <foundry-samples@noreply.github.com> * Update CODEOWNERS with new Python model router files (microsoft-foundry#148) Added new CODEOWNERS entries for model router Python scripts. * Fix snippet tag to exclude return statement from code excerpt (microsoft-foundry#149) Move the closing </create_agent_with_tools> snippet tag to before the 'return agent' line so the rendered documentation snippet does not show a 'return' statement outside a function body. Fixes: OPS-E2E-PPE/azure-ai-docs-pr#4968 Co-authored-by: Jon Burchel <jonburchel@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Add E2E pipeline and remove old samples (microsoft-foundry#154) * added e2e pipeline * deleted old samples --------- Co-authored-by: Ankit Sinha <anksinha@microsoft.com> * docs: add CosmosDB connection requirements note for ResourceId and AAD authType (microsoft-foundry#153) Add important notes to 6 infrastructure setup READMEs clarifying that: - The authType must be set to AAD (only supported type for CosmosDB) - The ResourceId property must be included in the connection metadata This addresses issues where customers creating CosmosDB connections via REST API were omitting the ResourceId property, causing connection failures. Affected setups: - 15-private-network-standard-agent-setup - 16-private-network-standard-agent-apim-setup-preview - 17-private-network-standard-user-assigned-identity-agent-setup - 18-managed-virtual-network-preview - 19-hybrid-private-resources-agent-setup - 41-standard-agent-setup Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: use agent_reference instead of deprecated agent property in TypeScript samples (microsoft-foundry#156) The API rejects the 'agent' body property with 400: 'The agent property is deprecated. Use agent_reference instead.' Changes: - quickstart/chat-with-agent: agent -> agent_reference (2 occurrences) - quickstart/chat-with-agent: fix undefined FOUNDRY_AGENT_NAME -> AGENT_NAME - quickstart/agent-service: agent -> agent_reference - enterprise-agent-tutorial/1-idea-to-prototype: agent -> agent_reference * fix: use /a2a path in A2A server agent card for DataProxy compatibility (microsoft-foundry#157) The Foundry DataProxy's HttpProxyV1Controller routes requests through /v1/https/{serviceName}/{**remainder} where the [Required] attribute on the remainder parameter rejects empty strings. When the A2A agent card URL uses root path (/), the remainder is empty, causing a 400 Bad Request before the request is ever forwarded. This change: - Sets the agent card URL to /a2a instead of / - Adds POST /a2a route (keeps POST / for backward compatibility) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * feat(toolbox): add Python and C# toolbox samples (microsoft-foundry#152) * feat(toolbox): add Python and C# toolbox samples Add toolbox agent samples for Azure AI Foundry hosted agents: - samples/python/toolbox: azd, copilot-sdk, langgraph, maf variants with agent manifests, Dockerfiles, and azd-samples for all supported tools - samples/csharp/toolbox: crud-sample and maf variants * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * fix: use Microsoft Foundry naming and toolbox-in-Foundry phrasing * toolbox: add tracing setup.py for langgraph sample * toolbox: add tracing setup.py for azd sample * toolbox: add tracing dependencies to langgraph/requirements.txt * toolbox: add tracing dependencies to azd/requirements.txt * toolbox: add LangGraph auto-tracing to langgraph/main.py * toolbox: add LangGraph auto-tracing to azd/main.py * toolbox: update README — tracing ✅ for all samples, Microsoft Foundry naming * Update README.md * Hosted Agents samples (microsoft-foundry#155) * moved samples * Refactor to use Azure.AI.Extensions.OpenAI and AIProjectClient for improved response handling Co-authored-by: Copilot <copilot@github.com> * update agent framework samples * Remove ephemeral Foundry agent creation and cleanup steps from E2E workflow * removed older test scripts * Fix GitHub token reference in E2E workflow for Copilot SDK sample * added top level readme * Fix workflow link order in hosted agents README --------- Co-authored-by: Ankit Sinha <anksinha@microsoft.com> Co-authored-by: Copilot <copilot@github.com> * fix: remove Dockerfile entries from .dockerignore files across multiple samples (microsoft-foundry#162) * Enhance README files across various samples to promote usage of `azd` for running agents and invoking commands. Added examples for invoking agents with `azd` and `curl`, and streamlined instructions for local development. Removed redundant sections and ensured consistency in formatting and command usage. (microsoft-foundry#164) * Delete samples/python/hosted-agents/bring-your-own/sample_toolboxes_crud.py (microsoft-foundry#166) * Mnaggaga toolbox lab (microsoft-foundry#159) * feat(toolbox): add Python and C# toolbox samples Add toolbox agent samples for Azure AI Foundry hosted agents: - samples/python/toolbox: azd, copilot-sdk, langgraph, maf variants with agent manifests, Dockerfiles, and azd-samples for all supported tools - samples/csharp/toolbox: crud-sample and maf variants * docs: update README for Python and C# toolbox samples to reflect Microsoft Foundry branding and enhance troubleshooting section --------- Co-authored-by: Linda Li <zhuoqunli@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fix: C# quickstart samples - use nuget.org and fix Azure.Identity version (microsoft-foundry#158) * fix: C# quickstart samples use nuget.org and correct Azure.Identity version The nuget.config files used <clear/> with only the Azure SDK dev feed, preventing package restore from nuget.org where the GA 2.0.0 packages are published. Azure.Identity was pinned to 1.19.0 but Azure.AI.Projects 2.0.0 requires >= 1.20.0, causing NU1605 restore errors. Changes: - nuget.config (5 files): Replace dev feed with nuget.org - *.csproj (4 files): Azure.Identity 1.19.0 -> 1.20.0 All 4 quickstart samples (responses, create-agent, chat-with-agent, agent-service) now build and run against GA packages from nuget.org. * fix build errors * try a different fix * Standardize BYO hosted agent READMEs with deployment and troubleshooting updates (microsoft-foundry#168) * Update BYO hosted agent READMEs with standard deploy and troubleshooting sections - Replace old deployment links (hosted-agents-vnext-private-preview) with standard azd provision/deploy instructions and aka.ms/azdaiagent/docs link - Replace parent README references with inline deploy sections - Add ARM64 troubleshooting section to 7 files missing it - Standardize deploy section heading and azd invoke examples across all 12 BYO samples Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * updated ha readme --------- Co-authored-by: Ankit Sinha <anksinha@microsoft.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * fixup: correct drift after commit replay * Update sync state to f8b17a1 --------- Co-authored-by: zyying <zyysurely@163.com> Co-authored-by: foundry-samples automation <foundry-samples@noreply.github.com> Co-authored-by: Sheri Gilley <sgilley@microsoft.com> Co-authored-by: Jon Burchel <jburchel@microsoft.com> Co-authored-by: Jon Burchel <jonburchel@users.noreply.github.com> Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> Co-authored-by: Ankit Sinha <ankitbko@gmail.com> Co-authored-by: Ankit Sinha <anksinha@microsoft.com> Co-authored-by: sarajag <64988727+sarajag@users.noreply.github.com> Co-authored-by: djetchev <dimitar.jetchev@iohk.io> Co-authored-by: Linda Li <139801625+lindazqli@users.noreply.github.com> Co-authored-by: Copilot <copilot@github.com> Co-authored-by: Hui Miao <miuhui@outlook.com> Co-authored-by: John Miller <tharealjohn@gmail.com> Co-authored-by: Maria N <maria.naggaga@live.ca> Co-authored-by: Linda Li <zhuoqunli@microsoft.com> Co-authored-by: foundry-samples-repo-sync[bot] <foundry-samples-repo-sync[bot]@users.noreply.github.com>
1 parent 8ee20ed commit 338198e

561 files changed

Lines changed: 30612 additions & 9374 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/.sync-sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
e448696a5a619683d4c940e9bfe666bd23d3f8a5
1+
f8b17a1f1a88cbbe002e2232212d88014b15d29a

.github/CODEOWNERS

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,11 +33,12 @@
3333
/samples/java/quickstart/create-agent/src/main/java/com/azure/ai/agents/CreateAgent.java @microsoft-foundry/AI-Platform-Docs
3434
/samples/python/enterprise-agent-tutorial/1-idea-to-prototype/evaluate.py @microsoft-foundry/AI-Platform-Docs
3535
/samples/python/enterprise-agent-tutorial/1-idea-to-prototype/main.py @microsoft-foundry/AI-Platform-Docs
36+
/samples/python/foundry-models/model-router/model-router-chat-completions.py @microsoft-foundry/AI-Platform-Docs
37+
/samples/python/foundry-models/model-router/model-router-foundry-responses.py @microsoft-foundry/AI-Platform-Docs
3638
/samples/python/quickstart/chat-with-agent/quickstart-chat-with-agent.py @microsoft-foundry/AI-Platform-Docs
3739
/samples/python/quickstart/create-agent/quickstart-create-agent.py @microsoft-foundry/AI-Platform-Docs
3840
/samples/python/quickstart/responses/quickstart-responses.py @microsoft-foundry/AI-Platform-Docs
3941
/samples/typescript/quickstart/chat-with-agent/src/quickstart-chat-with-agent.ts @microsoft-foundry/AI-Platform-Docs
4042
/samples/typescript/quickstart/create-agent/src/quickstart-create-agent.ts @microsoft-foundry/AI-Platform-Docs
4143
/samples/typescript/quickstart/responses/src/quickstart-responses.ts @microsoft-foundry/AI-Platform-Docs
42-
samples/python/hosted-agents/agent-framework/azure-ai-agents-in-workflow @microsoft-foundry/foundry-vscode-extension
43-
samples/csharp/hosted-agents/AgentFramework/AzureAIAgentsInWorkflow @microsoft-foundry/foundry-vscode-extension
44+

infrastructure/infrastructure-setup-bicep/15-private-network-standard-agent-setup/README.md

Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -136,6 +136,25 @@ To use an existing VNet and subnets, set the existingVnetResourceId parameter to
136136
To use an existing Cosmos DB for NoSQL resource, set cosmosDBResourceId parameter to the full Azure Resource ID of the target Cosmos DB.
137137
- param azureCosmosDBAccountResourceId string = /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbAccountName}
138138

139+
> **⚠️ Important: Cosmos DB Connection Requirements**
140+
>
141+
> When creating the Cosmos DB connection (e.g., via REST API or ARM), ensure the following:
142+
> - The `authType` **must** be set to `AAD`. This is the only supported authentication type for the Cosmos DB connection used by the Agent Service.
143+
> - The `metadata` section **must** include the `ResourceId` property, set to the full Azure Resource ID of your Cosmos DB account. The Agent Service relies on this property to correctly identify and connect to your Cosmos DB resource. Omitting `ResourceId` from the metadata will cause the connection to fail.
144+
>
145+
> Example connection properties:
146+
> ```json
147+
> {
148+
> "category": "CosmosDB",
149+
> "authType": "AAD",
150+
> "metadata": {
151+
> "ApiType": "Azure",
152+
> "ResourceId": "/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.DocumentDB/databaseAccounts/{cosmosDbAccountName}",
153+
> "location": "{region}"
154+
> }
155+
> }
156+
> ```
157+
139158
140159
3. **Use an existing Azure AI Search resource**
141160
Lines changed: 212 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,212 @@
1+
---
2+
description: This set of templates demonstrates how to set up a network-secured Azure AI Foundry environment for evaluation scenarios without Cosmos DB, AI Search, or project capability host.
3+
page_type: sample
4+
products:
5+
- azure
6+
- azure-resource-manager
7+
urlFragment: network-secured-evaluation-only
8+
languages:
9+
- bicep
10+
- json
11+
---
12+
13+
# Azure AI Foundry: Evaluation-Only Setup with Private Network Isolation
14+
15+
> **IMPORTANT**
16+
>
17+
> This template is a simplified version of the [standard agent setup](../15-private-network-standard-agent-setup/) designed for **evaluation scenarios only**. It does **not** deploy Cosmos DB, AI Search, or a project capability host. If you need full agent capabilities (thread storage, vector search, stateful agents), use the standard agent setup instead.
18+
19+
---
20+
## Overview
21+
This infrastructure-as-code (IaC) solution deploys a **minimal** network-secured Azure AI Foundry environment with private networking and role-based access control (RBAC), intended for evaluation and testing purposes.
22+
23+
Unlike the full standard agent setup, this template:
24+
- **Does NOT** create an Azure Cosmos DB account (no thread/conversation storage)
25+
- **Does NOT** create an Azure AI Search resource (no vector stores)
26+
- **Does NOT** create a project capability host (no stateful agent support)
27+
28+
What it **does** deploy:
29+
- Azure AI Services account with a model deployment
30+
- An AI Foundry project with a storage connection
31+
- An Azure Storage account (or uses an existing one)
32+
- A VNet with private endpoints for AI Services and Storage
33+
- Private DNS zones for secure name resolution
34+
- RBAC role assignments for the project on the storage account
35+
36+
---
37+
38+
## Key Information
39+
40+
**Region and Resource Placement Requirements**
41+
- **All Foundry workspace resources should be in the same region as the VNet**, including the Storage Account, Foundry Account, Project, and Managed Identity. The only exception is within the Foundry Account, you may choose to deploy your model to a different region.
42+
- **Note:** Your Virtual Network can be in a different resource group than your Foundry workspace resources.
43+
44+
---
45+
46+
## Prerequisites
47+
48+
1. **Active Azure subscription with appropriate permissions**
49+
- **Azure AI Account Owner**: Needed to create a cognitive services account and project
50+
- **Owner or Role Based Access Administrator**: Needed to assign RBAC to the storage account
51+
- **Azure AI User**: Needed to create and use evaluation workloads
52+
53+
1. **Register Resource Providers**
54+
55+
```bash
56+
az provider register --namespace 'Microsoft.KeyVault'
57+
az provider register --namespace 'Microsoft.CognitiveServices'
58+
az provider register --namespace 'Microsoft.Storage'
59+
az provider register --namespace 'Microsoft.Network'
60+
az provider register --namespace 'Microsoft.App'
61+
az provider register --namespace 'Microsoft.ContainerService'
62+
```
63+
64+
1. Network administrator permissions (if operating in a restricted or enterprise environment)
65+
66+
1. Sufficient quota for all resources in your target Azure region
67+
* If no parameters are passed in, this template creates an Azure AI Foundry resource, Foundry project, and Azure Storage account
68+
69+
1. Azure CLI installed and configured on your local workstation or deployment pipeline server
70+
71+
---
72+
73+
## Pre-Deployment Steps
74+
75+
### Networking Requirements
76+
1. Review network requirements and plan Virtual Network address space (e.g., 192.168.0.0/16)
77+
78+
2. Two subnets are needed:
79+
- **Agent Subnet** (e.g., 192.168.0.0/24): Hosts Agent client for workloads, delegated to Microsoft.App/environments
80+
- **Private endpoint Subnet** (e.g., 192.168.1.0/24): Hosts private endpoints
81+
- Ensure that the address spaces do not overlap with any existing networks
82+
83+
> **Notes:**
84+
- If you do not provide an existing virtual network, the template will create a new virtual network with the default address spaces and subnets described above.
85+
- You must ensure the subnet is not already in use by another account.
86+
- You must ensure the subnet is exclusively delegated to __Microsoft.App/environments__.
87+
88+
---
89+
90+
## Template Customization
91+
92+
Note: If not provided, the following resources will be created automatically for you:
93+
- VNet and two subnets
94+
- Azure Storage
95+
96+
### Parameters
97+
98+
1. **Use Existing Virtual Network and Subnets**
99+
100+
To use an existing VNet and subnets, set the `existingVnetResourceId` parameter to the full Azure Resource ID of the target VNet:
101+
```
102+
param existingVnetResourceId = "/subscriptions/<subscription-id>/resourceGroups/<resource-group-name>/providers/Microsoft.Network/virtualNetworks/<vnet-name>"
103+
param agentSubnetName string = 'agent-subnet'
104+
param peSubnetName string = 'pe-subnet'
105+
```
106+
107+
2. **Use an existing Azure Storage account**
108+
109+
To use an existing Azure Storage account:
110+
```
111+
param azureStorageAccountResourceId string = /subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Storage/storageAccounts/{storageAccountName}
112+
```
113+
114+
---
115+
116+
## Deploy the bicep template
117+
118+
**Option 1: Manually deploy the bicep template**
119+
- **Create a New (or Use Existing) Resource Group**
120+
121+
```bash
122+
az group create --name <new-rg-name> --location <your-rg-region>
123+
```
124+
- Deploy the main.bicep file
125+
126+
```bash
127+
az deployment group create --resource-group <your-resource-group> --template-file main.bicep --parameters main.bicepparam
128+
```
129+
130+
> **Note:** To access your Foundry resource securely, use either a VM, VPN, or ExpressRoute.
131+
132+
---
133+
134+
## Architecture
135+
136+
### Azure Resources Created
137+
138+
| Resource | Type | Description |
139+
|----------|------|-------------|
140+
| Azure AI Foundry | `Microsoft.CognitiveServices/accounts` | AI Services account with disabled public access |
141+
| AI Model Deployment | `Microsoft.CognitiveServices/accounts/deployments` | Model deployment (e.g., gpt-4.1) |
142+
| Foundry Project | `Microsoft.CognitiveServices/accounts/projects` | Project with system-assigned managed identity |
143+
| Storage Account | `Microsoft.Storage/storageAccounts` | StorageV2 with disabled public access |
144+
| Virtual Network | `Microsoft.Network/virtualNetworks` | VNet with agent and PE subnets |
145+
| Private Endpoints | `Microsoft.Network/privateEndpoints` | For AI Services and Storage |
146+
147+
### Network Security Design
148+
149+
**Private Endpoints** are created for:
150+
- Azure AI Foundry (account)
151+
- Azure Storage (blob)
152+
153+
**Private DNS Zones**:
154+
| Private Link Resource Type | Sub Resource | Private DNS Zone Name |
155+
|----------------------------|--------------|------------------------|
156+
| **Azure AI Foundry** | account | `privatelink.cognitiveservices.azure.com`<br>`privatelink.openai.azure.com`<br>`privatelink.services.ai.azure.com` |
157+
| **Azure Storage** | blob | `privatelink.blob.core.windows.net` |
158+
159+
### Role Assignments
160+
161+
- **AI Services Account**
162+
- Azure AI User (`53ca6127-db72-4b80-b1b0-d745d6d5456d`) — grants the project MI data-plane access
163+
- **Azure Storage Account**
164+
- Storage Blob Data Contributor (`ba92f5b4-2d11-453d-a403-e96b0029c9fe`)
165+
- Storage Blob Data Owner (`b7e6dc6d-f1e8-4753-8033-0f276bb0955b`) — scoped to project containers
166+
167+
---
168+
169+
## Module Structure
170+
171+
```text
172+
modules-network-secured/
173+
├── ai-account-identity.bicep # Azure AI Foundry deployment and configuration
174+
├── ai-account-role-assignment.bicep # Azure AI User role assignment on the account
175+
├── ai-project-identity.bicep # Foundry project deployment with storage connection
176+
├── azure-storage-account-role-assignment.bicep # Storage Account RBAC configuration
177+
├── blob-storage-container-role-assignments.bicep # Blob Storage Container RBAC configuration
178+
├── existing-vnet.bicep # Bring your existing virtual network
179+
├── format-project-workspace-id.bicep # Formatting the project workspace ID
180+
├── network-agent-vnet.bicep # Logic for routing virtual network set-up
181+
├── private-endpoint-and-dns.bicep # Private endpoints and DNS zones (AI Services + Storage only)
182+
├── standard-dependent-resources.bicep # Deploying Storage Account
183+
├── subnet.bicep # Setting the subnet
184+
├── validate-existing-resources.bicep # Validate existing Storage Account
185+
└── vnet.bicep # Deploying a new virtual network
186+
```
187+
188+
---
189+
190+
## Comparison with Standard Agent Setup
191+
192+
| Feature | This Template (Evaluation-Only) | Standard Agent Setup (15) |
193+
|---------|-------------------------------|--------------------------|
194+
| AI Services + Model |||
195+
| Project |||
196+
| Storage Account |||
197+
| VNet + Private Endpoints | ✅ (AI + Storage) | ✅ (AI + Storage + Search + Cosmos) |
198+
| Cosmos DB |||
199+
| AI Search |||
200+
| Project Capability Host |||
201+
| Stateful Agents |||
202+
203+
---
204+
205+
## Maintenance
206+
207+
### Troubleshooting
208+
209+
1. Verify private endpoint connectivity
210+
2. Check DNS resolution
211+
3. Validate role assignments
212+
4. Review network security groups

0 commit comments

Comments
 (0)