import { Environment } from '../types.bicep'

param environment Environment

@description('The location for the resource group')
param location string = 'westeurope'

var testSKU = {
  name: 'Basic'
  family: 'C'
  capacity: 0
}

var prodSKU = {
  name: 'Standard'
  family: 'C'
  capacity: 3
}

var sku = environment == 'prod' ? prodSKU : testSKU

resource redisResource 'Microsoft.Cache/Redis@2024-11-01' = {
  name: 'redis-scandic-frontend-${environment}'
  location: location
  properties: {
    redisVersion: '6.0'
    sku: {
      name: sku.name
      family: sku.family
      capacity: sku.capacity
    }
    enableNonSslPort: false
    minimumTlsVersion: '1.2'
    publicNetworkAccess: 'Enabled'
    redisConfiguration: {
      'aad-enabled': 'false'
      'maxmemory-reserved': '30'
      'maxfragmentationmemory-reserved': '30'
      'maxmemory-delta': '30'
    }
    updateChannel: 'Stable'
    disableAccessKeyAuthentication: false
  }
}

output hostname string = redisResource.properties.hostName
output connectionString string = '${redisResource.properties.hostName}:6380,password=${redisResource.properties.accessKeys.primaryKey},ssl=True,abortConnect=False'

output primaryAccessKey string = redisResource.properties.accessKeys.primaryKey
