Skip to content

Commit 6daedd4

Browse files
committed
Fixed subnet and main-proj-caphost
Fixed subnet and main-proj-caphost
1 parent d971465 commit 6daedd4

File tree

9 files changed

+160
-102
lines changed

9 files changed

+160
-102
lines changed

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
1. Create new (or use existing) resource group:
1111

1212
```bash
13-
az group create --name <new-rg-name> --location westus
13+
az group create --name <new-rg-name> --location eastus
1414
```
1515

1616
2. Deploy the main-create.bicep

samples/microsoft/infrastructure-setup/15-private-network-standard-agent-setup/main-create.bicep

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -25,15 +25,15 @@ param aiServices string = 'aiservices'
2525

2626
// Model deployment parameters
2727
@description('The name of the model you want to deploy')
28-
param modelName string = 'gpt-4o'
29-
@description('The provider of your model')
30-
param modelFormat string = 'OpenAI'
31-
@description('The version of your model')
32-
param modelVersion string = '2024-05-13'
33-
@description('The sku of your model deployment')
34-
param modelSkuName string = 'GlobalStandard'
35-
@description('The tokens per minute (TPM) of your model deployment')
36-
param modelCapacity int = 1
28+
// param modelName string = 'gpt-4o'
29+
// @description('The provider of your model')
30+
// param modelFormat string = 'OpenAI'
31+
// @description('The version of your model')
32+
// param modelVersion string = '2024-05-13'
33+
// @description('The sku of your model deployment')
34+
// param modelSkuName string = 'GlobalStandard'
35+
// @description('The tokens per minute (TPM) of your model deployment')
36+
// param modelCapacity int = 1
3737

3838
// Create a short, unique suffix, that will be unique to each resource group
3939
param deploymentTimestamp string = utcNow('yyyyMMddHHmmss')
@@ -97,11 +97,11 @@ module aiAccount 'modules-network-secured/ai-account-identity.bicep' = {
9797
// workspace organization
9898
accountName: accountName
9999
location: location
100-
modelName: modelName
101-
modelFormat: modelFormat
102-
modelVersion: modelVersion
103-
modelSkuName: modelSkuName
104-
modelCapacity: modelCapacity
100+
// modelName: modelName
101+
// modelFormat: modelFormat
102+
// modelVersion: modelVersion
103+
// modelSkuName: modelSkuName
104+
// modelCapacity: modelCapacity
105105
subnetId: vnet.outputs.subnetId
106106
}
107107
}
@@ -241,13 +241,6 @@ output projectPrincipalId string = aiProject.outputs.projectPrincipalId
241241
output aiSearchConnection string = aiProject.outputs.aiSearchConnection
242242
output azureStorageConnection string = aiProject.outputs.azureStorageConnection
243243
output cosmosDBConnection string = aiProject.outputs.cosmosDBConnection
244-
output cosmosDBSubscriptionId string = aiDependencies.outputs.cosmosDBSubscriptionId
245-
output cosmosDBResourceGroupName string = aiDependencies.outputs.cosmosDBResourceGroupName
246-
output aiSearchServiceSubscriptionId string = aiDependencies.outputs.aiSearchServiceSubscriptionId
247-
output aiSearchServiceResourceGroupName string = aiDependencies.outputs.aiSearchServiceResourceGroupName
248-
output azureStorageSubscriptionId string = aiDependencies.outputs.azureStorageSubscriptionId
249-
output azureStorageResourceGroupName string = aiDependencies.outputs.azureStorageResourceGroupName
250-
251244
output subscriptionID string = subscription().subscriptionId
252245
output resourceGroupName string = resourceGroup().name
253246
output suffix string = uniqueSuffix
Lines changed: 55 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,68 @@
1-
21
param projectCapHost string = 'caphostproj'
32
// Create a short, unique suffix, that will be unique to each resource group
43
param deploymentTimestamp string = utcNow('yyyyMMddHHmmss')
54
var uniqueSuffix = substring(uniqueString('${resourceGroup().id}-${deploymentTimestamp}'), 0, 4)
65

7-
module mainCreate 'main-create.bicep' = {
8-
name: 'main-create-deployment'
6+
param accountName string
7+
param projectName string
8+
param aiSearchName string
9+
param azureStorageName string
10+
param cosmosDBName string
11+
12+
// The name of the account to reference
13+
module accountCreate 'modules-network-secured/ai-account-reference.bicep' = {
14+
name: 'account-${uniqueSuffix}-deployment'
15+
scope: resourceGroup()
16+
params: {
17+
accountName: accountName
18+
}
19+
}
20+
21+
// The name of standard created resource to reference
22+
module standardCreate 'modules-network-secured/standard-dependent-reference.bicep' = {
23+
name: 'standard-${uniqueSuffix}-deployment'
924
scope: resourceGroup()
25+
params: {
26+
aiSearchName: aiSearchName
27+
azureStorageName: azureStorageName
28+
cosmosDBName: cosmosDBName
29+
}
30+
}
31+
32+
// The name of the project to reference
33+
module projectCreate 'modules-network-secured/ai-project-reference.bicep' = {
34+
name: 'project-${uniqueSuffix}-deployment'
35+
scope: resourceGroup()
36+
params: {
37+
accountName: accountCreate.outputs.accountName
38+
projectName: projectName
39+
aiSearchName: standardCreate.outputs.aiSearchName
40+
azureStorageName: standardCreate.outputs.azureStorageName
41+
cosmosDBName: standardCreate.outputs.cosmosDBName
42+
}
43+
}
44+
45+
// This module creates the capability host for the project and account
46+
module addProjectCapabilityHost 'modules-network-secured/add-project-capability-host.bicep' = {
47+
name: 'capabilityHost-configuration-${uniqueSuffix}-deployment'
48+
params: {
49+
accountName: accountCreate.outputs.accountName
50+
projectName: projectCreate.outputs.projectName
51+
cosmosDBConnection: projectCreate.outputs.cosmosDBConnection
52+
azureStorageConnection: projectCreate.outputs.azureStorageConnection
53+
aiSearchConnection: projectCreate.outputs.aiSearchConnection
54+
projectCapHost: projectCapHost
55+
}
1056
}
1157

1258
// The Cosmos DB Operator role must be assigned before the caphost is created
1359
module cosmosContainerRoleAssignments 'modules-network-secured/cosmos-container-role-assignments.bicep' = {
1460
name: 'cosmos-role-assignments-${uniqueSuffix}-deployment'
1561
scope: resourceGroup()
1662
params: {
17-
cosmosAccountName: mainCreate.outputs.cosmosDBName
18-
projectWorkspaceId: mainCreate.outputs.projectWorkspaceId
19-
projectPrincipalId: mainCreate.outputs.projectPrincipalId
63+
cosmosAccountName: standardCreate.outputs.cosmosDBName
64+
projectWorkspaceId: projectCreate.outputs.projectWorkspaceId
65+
projectPrincipalId: projectCreate.outputs.projectPrincipalId
2066
}
2167
dependsOn: [
2268
addProjectCapabilityHost
@@ -29,27 +75,14 @@ module storageContainersRoleAssignment 'modules-network-secured/blob-storage-con
2975
name: 'storage-containers-${uniqueSuffix}-deployment'
3076
scope: resourceGroup()
3177
params: {
32-
aiProjectPrincipalId: mainCreate.outputs.projectPrincipalId
33-
storageName: mainCreate.outputs.azureStorageName
34-
workspaceId: mainCreate.outputs.projectWorkspaceId
78+
aiProjectPrincipalId: projectCreate.outputs.projectPrincipalId
79+
storageName: standardCreate.outputs.azureStorageName
80+
workspaceId: projectCreate.outputs.projectWorkspaceId
3581
}
3682
dependsOn: [
3783
addProjectCapabilityHost
3884
]
3985
}
4086

41-
// This module creates the capability host for the project and account
42-
module addProjectCapabilityHost 'modules-network-secured/add-project-capability-host.bicep' = {
43-
name: 'capabilityHost-configuration-${uniqueSuffix}-deployment'
44-
params: {
45-
accountName: mainCreate.outputs.accountName
46-
projectName: mainCreate.outputs.projectName
47-
cosmosDBConnection: mainCreate.outputs.cosmosDBConnection
48-
azureStorageConnection: mainCreate.outputs.azureStorageConnection
49-
aiSearchConnection: mainCreate.outputs.aiSearchConnection
50-
projectCapHost: projectCapHost
51-
}
52-
}
53-
5487

5588

samples/microsoft/infrastructure-setup/15-private-network-standard-agent-setup/modules-network-secured/ai-account-identity.bicep

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
param accountName string
22
param location string
3-
param modelName string
4-
param modelFormat string
5-
param modelVersion string
6-
param modelSkuName string
7-
param modelCapacity int
3+
// param modelName string
4+
// param modelFormat string
5+
// param modelVersion string
6+
// param modelSkuName string
7+
// param modelCapacity int
88
param subnetId string
99
param networkInjection string = 'true'
1010

@@ -39,22 +39,22 @@ resource account 'Microsoft.CognitiveServices/accounts@2025-04-01-preview' = {
3939
}
4040
}
4141

42-
#disable-next-line BCP081
43-
resource modelDeployment 'Microsoft.CognitiveServices/accounts/deployments@2025-04-01-preview'= {
44-
parent: account
45-
name: modelName
46-
sku : {
47-
capacity: modelCapacity
48-
name: modelSkuName
49-
}
50-
properties: {
51-
model:{
52-
name: modelName
53-
format: modelFormat
54-
version: modelVersion
55-
}
56-
}
57-
}
42+
// #disable-next-line BCP081
43+
// resource modelDeployment 'Microsoft.CognitiveServices/accounts/deployments@2025-04-01-preview'= {
44+
// parent: account
45+
// name: modelName
46+
// sku : {
47+
// capacity: modelCapacity
48+
// name: modelSkuName
49+
// }
50+
// properties: {
51+
// model:{
52+
// name: modelName
53+
// format: modelFormat
54+
// version: modelVersion
55+
// }
56+
// }
57+
// }
5858

5959
output accountName string = account.name
6060
output accountID string = account.id

samples/microsoft/infrastructure-setup/15-private-network-standard-agent-setup/modules-network-secured/ai-account-reference.bicep

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
@description('Reference to an existing AI account. This module is used to reference an existing AI account in the Bicep template.')
12
param accountName string
23

34
resource account 'Microsoft.CognitiveServices/accounts@2025-04-01-preview' existing = {
@@ -9,3 +10,5 @@ output accountID string = account.id
910
output accountTarget string = account.properties.endpoint
1011
output accountPrincipalId string = account.identity.principalId
1112

13+
14+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
param accountName string
2+
param projectName string
3+
param cosmosDBName string
4+
param azureStorageName string
5+
param aiSearchName string
6+
7+
8+
resource account 'Microsoft.CognitiveServices/accounts@2025-04-01-preview' existing = {
9+
name: accountName
10+
scope: resourceGroup()
11+
}
12+
13+
resource project 'Microsoft.CognitiveServices/accounts/projects@2025-04-01-preview' existing = {
14+
parent: account
15+
name: projectName
16+
17+
resource project_connection_cosmosdb_account 'connections@2025-04-01-preview' existing = {
18+
name: cosmosDBName
19+
}
20+
21+
resource project_connection_azure_storage 'connections@2025-04-01-preview' existing= {
22+
name: azureStorageName
23+
}
24+
25+
resource project_connection_ai_search 'connections@2025-04-01-preview' existing= {
26+
name: aiSearchName
27+
}
28+
}
29+
30+
output projectName string = project.name
31+
output projectId string = project.id
32+
output projectPrincipalId string = project.identity.principalId
33+
output projectWorkspaceId string = project.properties.amlWorkspace.internalId
34+
35+
// return the BYO connection names
36+
output cosmosDBConnection string = cosmosDBName
37+
output azureStorageConnection string = azureStorageName
38+
output aiSearchConnection string = aiSearchName
39+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,26 @@
1+
@description('The name of the AI Search resource to reference')
2+
param aiSearchName string
3+
4+
@description('Name of the storage account to reference')
5+
param azureStorageName string
6+
7+
@description('Name of the new Cosmos DB account to reference')
8+
param cosmosDBName string
9+
10+
11+
resource cosmosDB 'Microsoft.DocumentDB/databaseAccounts@2024-11-15' existing = {
12+
name: cosmosDBName
13+
}
14+
15+
resource aiSearch 'Microsoft.Search/searchServices@2024-06-01-preview' existing = {
16+
name: aiSearchName
17+
}
18+
19+
resource storage 'Microsoft.Storage/storageAccounts@2023-05-01' existing = {
20+
name: azureStorageName
21+
22+
}
23+
24+
output aiSearchName string = aiSearch.name
25+
output azureStorageName string = storage.name
26+
output cosmosDBName string = cosmosDB.name

samples/microsoft/infrastructure-setup/15-private-network-standard-agent-setup/modules-network-secured/standard-dependent-resources.bicep

Lines changed: 0 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -127,34 +127,6 @@ resource storage 'Microsoft.Storage/storageAccounts@2023-05-01' = if(!azureStora
127127
}
128128
}
129129

130-
//KeyVault deployment is disabled for now, as it is not used in the current setup. Uncomment the code below to enable KeyVault deployment.
131-
132-
// resource keyVault 'Microsoft.KeyVault/vaults@2022-07-01' = {
133-
// name: keyvaultName
134-
// location: location
135-
// tags: tags
136-
// properties: {
137-
// createMode: 'default'
138-
// enabledForDeployment: false
139-
// enabledForDiskEncryption: false
140-
// enabledForTemplateDeployment: false
141-
// enableSoftDelete: true
142-
// enableRbacAuthorization: true
143-
// enablePurgeProtection: true
144-
// networkAcls: {
145-
// bypass: 'AzureServices'
146-
// defaultAction: 'Deny'
147-
// }
148-
// sku: {
149-
// family: 'A'
150-
// name: 'standard'
151-
// }
152-
// softDeleteRetentionInDays: 7
153-
// tenantId: subscription().tenantId
154-
// }
155-
// }
156-
157-
158130
output aiSearchName string = aiSearchExists ? existingSearchService.name : aiSearch.name
159131
output aiSearchID string = aiSearchExists ? existingSearchService.id : aiSearch.id
160132
output aiSearchServiceResourceGroupName string = aiSearchExists ? acsParts[4] : resourceGroup().name

samples/microsoft/infrastructure-setup/15-private-network-standard-agent-setup/modules-network-secured/vnet.bicep

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,16 +59,8 @@ resource virtualNetwork 'Microsoft.Network/virtualNetworks@2024-05-01' = {
5959
]
6060
}
6161
}
62-
63-
resource subnet 'Microsoft.Network/virtualNetworks/subnets@2024-05-01' = {
64-
parent: virtualNetwork
65-
name: agentSubnetName
66-
properties: {
67-
addressPrefix: '192.168.0.0/24'
68-
}
69-
}
7062
// Output variables
7163
output peSubnetName string = peSubnetName
7264
output agentSubnetName string = agentSubnetName
73-
output subnetId string = subnet.id
65+
output subnetId string = '${virtualNetwork.id}/subnets/${agentSubnetName}'
7466
output virtualNetworkName string = virtualNetwork.name

0 commit comments

Comments
 (0)