0

I have a module called "privateendpoints.bicep" that creates a private endpoint as follows:

resource privateEndpoint_resource 'Microsoft.Network/privateEndpoints@2020-07-01' = {
  name: privateEndpointName
  location: resourceGroup().location
  properties: {
    subnet: {
      id: '${vnet_resource.id}/subnets/${subnetName}'
    }
    privateLinkServiceConnections: [
      {
        name: privateEndpointName
        properties: {
          privateLinkServiceId:  resourceId
          groupIds: [
            pvtEndpointGroupName_var
          ]
        }
      }
    ]
  }
}
output privateEndpointIpAddress string = privateEndpoint_resource.properties.networkInterfaces[0].properties.ipConfigurations[0].properties.privateIPAddress

This is then referenced by a calling bicep file as follows:

module sqlPE '../../Azure.Modules/Microsoft.Network.PrivateEndpoints/1.0.0/privateendpoints.bicep' = {
  name:'sqlPE'
  params:{
    privateEndpointName:'pe-utrngen-sql-${env}-001'
    resourceId:sqlDeploy.outputs.sqlServerId
    serviceType:'sql'
    subnetName:'sub-${env}-utrngenerator01'
    vnetName:'vnet-${env}-uksouth'
    vnetResourceGroup:'rg-net-${env}-001'
  }
}
var sqlPrivateLinkIpAddress = sqlPE.outputs.privateEndpointIpAddress

My problem is, it won't build. In VSCode I get the error The type "outputs" does not contain property "privateEndpointIpAddress"

This is the property I just added. Prior to me adding then all worked ok. I've made sure to save the updated external module and I've ensure right-clicked it in VSCode and selected build, it build ok and created a json file.

So, it seems the client bicep file is not picking up changes in the external module.

Any suggestions please?

Rob Bowman
  • 7,632
  • 22
  • 93
  • 200

1 Answers1

0

The problem seemed to be caused by the fact I had the external module open in a separate VS Code instance. Once I closed this and opened the file in the same instance as the calling bicep file then it worked ok.

Rob Bowman
  • 7,632
  • 22
  • 93
  • 200