bicep icon indicating copy to clipboard operation
bicep copied to clipboard

Microsoft Fabric provider for bicep

Open khaliddermoumi opened this issue 1 year ago • 7 comments

"Microsoft Fabric" is a seperate SaaS offering which will require automated lifecycle mgmt / CD / IaC. Altough the current state of the corresponding APIs / tooling / etc. is at an early stage now (as of 2024-01-04), it can be expected that the support for automation and code-based management will continue to grow. A bicep provider for Microsoft Fabric is a natural addition to the MS Fabric ecosystem, especially since there is integration and dependencies between MS Fabric and Azure.

This issue is created to help the bicep community track and understand the efforts regarding bicep support for MS Fabric.

Links:

khaliddermoumi avatar Jan 04 '24 11:01 khaliddermoumi

are there any samples of Fabric with Bicep ? specially capacity management.

chhayavishwakarma avatar Jan 25 '24 02:01 chhayavishwakarma

here is a template that works for me for capacity management, although vscode extension complains that type is not available.

param name string
param location string = resourceGroup().location

@allowed([
  'F2'
  'F4'
  'F8'
  'F16'
  'F32'
  'F64'
  'F128'
  'F256'
  'F512'
  'F1024'
  'F2048'
])
param skuName string = 'F2'
param skuTier string = 'Fabric'
@description('admin format: [email protected]')
param admin array 
param tagValues object = {}


resource fabricCapacities 'Microsoft.Fabric/capacities@2022-07-01-preview' = {
  name: toLower(name)
  location: location
  tags: tagValues
  sku: {
    name: skuName
    tier: skuTier
  }
  properties: {
    administration: {
      members: admin
    }
  }
}

output resourceId string = fabricCapacities.id
output resourceName string = fabricCapacities.name

azMantas avatar Apr 18 '24 11:04 azMantas

@azMantas where did you dig up this bicep template (capacities@2022-07-01-preview). I'm looking into different repos and registries and nowhere I can find it. Closest I could find is something in terraform. Also is there any new version for this?

How I see this whole journey of automating Fabric capacity is using preview bicep module to create Fabric Capacity and then use REST API to configure it in details. What I already see lacking is create workspace. Should I do it using Synapse APIs? I'm all new into this one and sorry if I'm asking ambigious questions!

looser990 avatar Jun 06 '24 14:06 looser990

@looser990 I just remember that I was struggling to find out the working template too, therefore I shared it down here. it may be that I clickOps'ed in portal.azure.com and view the deployment, or maybe used 'insert bice resource' feature in vsCode

azMantas avatar Jun 06 '24 20:06 azMantas

I would like to bump this issue. With the announcement of availability of trusted workspace access and managed private endpoints I see more organisations willing to go from Azure to Fabric.

The inbound network security is done in azure with privatelinkservices and such and can be done with bicep. But the outgoing like provisioning managed private endpoint is currently not possible. This would be a very good case to have for fabric to be able to provision multiple workspaces with the same managed private endpoints and dtap in bicep.

donheerschap avatar Aug 05 '24 06:08 donheerschap

@mangal046 there is no Bicep support for this as far as I know. We are using deployment scripts (PowerShell) to achieve this via using REST APIs: https://learn.microsoft.com/en-us/rest/api/fabric/core/workspaces

looser990 avatar Aug 15 '24 10:08 looser990

@mangal046 there is no Bicep support for this as far as I know. We are using deployment scripts (PowerShell) to achieve this via using REST APIs: https://learn.microsoft.com/en-us/rest/api/fabric/core/workspaces

Thanks @azMantas , can you please share the code and how permission handeled? Also is there way we can deploy Fabric capacity in Paused state ?

mangal046 avatar Aug 28 '24 07:08 mangal046