Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions infra/app/db.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -10,10 +10,24 @@ param sqlAdminPassword string
@secure()
param appUserPassword string

param databaseSkuName string
param databaseSkuTier string
param databaseSkuCapacity int

// Because databaseName is optional in main.bicep, we make sure the database name is set here.
var defaultDatabaseName = 'Todo'
var actualDatabaseName = !empty(databaseName) ? databaseName : defaultDatabaseName

// Default SKU Settings
var defaultDatabaseSkuName = 'Basic'
var actualDatabaseSkuName = !empty(databaseSkuName) ? databaseSkuName : defaultDatabaseSkuName

var defaultDatabaseSkuTier = 'Basic'
var actualDatabaseSkuTier = !empty(databaseSkuTier) ? databaseSkuTier : defaultDatabaseSkuTier

var defaultDatabaseSkuCapacity = 5
var actualDatabaseSkuCapacity = databaseSkuCapacity > 0 ? databaseSkuCapacity : defaultDatabaseSkuCapacity

module sqlServer '../core/database/sqlserver/sqlserver.bicep' = {
name: 'sqlserver'
params: {
Expand All @@ -24,6 +38,9 @@ module sqlServer '../core/database/sqlserver/sqlserver.bicep' = {
keyVaultName: keyVaultName
sqlAdminPassword: sqlAdminPassword
appUserPassword: appUserPassword
databaseSkuName: actualDatabaseSkuName
databaseSkuTier: actualDatabaseSkuTier
databaseSkuCapacity: actualDatabaseSkuCapacity
}
}

Expand Down
9 changes: 9 additions & 0 deletions infra/core/database/sqlserver/sqlserver.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,10 @@ param sqlAdminPassword string
@secure()
param appUserPassword string

param databaseSkuName string
param databaseSkuTier string
param databaseSkuCapacity int

resource sqlServer 'Microsoft.Sql/servers@2022-05-01-preview' = {
name: name
location: location
Expand All @@ -29,6 +33,11 @@ resource sqlServer 'Microsoft.Sql/servers@2022-05-01-preview' = {
resource database 'databases' = {
name: databaseName
location: location
sku: {
name: databaseSkuName
tier: databaseSkuTier
capacity: databaseSkuCapacity
}
}

resource firewall 'firewallRules' = {
Expand Down
9 changes: 8 additions & 1 deletion infra/main.bicep
Original file line number Diff line number Diff line change
Expand Up @@ -40,6 +40,10 @@ param sqlAdminPassword string
@description('Application user password')
param appUserPassword string

param databaseSkuName string = ''
param databaseSkuTier string = ''
param databaseSkuCapacity int = -1

var abbrs = loadJsonContent('./abbreviations.json')
var resourceToken = toLower(uniqueString(subscription().id, environmentName, location))
var tags = { 'azd-env-name': environmentName }
Expand Down Expand Up @@ -103,7 +107,10 @@ module sqlServer './app/db.bicep' = {
sqlAdminPassword: sqlAdminPassword
appUserPassword: appUserPassword
keyVaultName: keyVault.outputs.name
}
databaseSkuName: databaseSkuName
databaseSkuTier: databaseSkuTier
databaseSkuCapacity: databaseSkuCapacity
}
}

// Create an App Service Plan to group applications under the same payment plan and SKU
Expand Down
9 changes: 9 additions & 0 deletions infra/main.parameters.json
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,15 @@
},
"useAPIM": {
"value": "${USE_APIM=false}"
},
"databaseSkuName": {
"value": "${DATABASE_SKU_NAME}"
},
"databaseSkuTier": {
"value": "${DATABASE_SKU_TIER}"
},
"databaseSkuCapacity": {
"value": "${DATABASE_SKU_CAPACITY}"
}
}
}