Skip to content

Manage Gateway #1034

@MarvinBangert

Description

@MarvinBangert

User Story

As a Terraform user, I want to manage On-Prem Data Gateway through Terraform.

Use case:

  • Configure On-Prem Data Gateway Settings and Users
  • There is already an option within fabric provider, should we use the fabric provider or should this be part of this provider as well? Are there any future plans if this should be done within Power BI or Power Platform Admin Center?

https://registry.terraform.io/providers/microsoft/fabric/latest/docs/resources/gateway
https://learn.microsoft.com/en-us/power-bi/guidance/powerbi-implementation-planning-data-gateways

Resource

  • Resource Name: powerplatform_[your resource name]
  • Service Name: [service name]
  • Documentation Link:

Potential Terraform Configuration

# Sample Terraform config that describes how the new resource might look.

resource "example_resource" {
  name = "example" # required
  parameter1 = "value1"
  enabled = false
  items = toset([
    { 
      name = "item name" # required, must be 3 characters or more
    }
  ])
}

Additional Validation Rules

API documentation

Action Verb URL Status Codes Comments
Create POST /api/v1/resources 201
Read GET /api/v1/resources/{id} 200
Update PUT /api/v1/resources/{id} 200
Delete DELETE /api/v1/resources/{id} 204

JSON

{}

Definition of Done

  • Data Transfer Objects (dtos) in dto.go
  • Resource Model in model.go
  • API Client functions in api_{name}.go
  • Resource Implementation in resource_{name}.go
  • Unit Tests in resource_{name}_test.go for Happy Path, Error conditions, boundry cases
  • Acceptance Tests in resource_{name}_test.go for Happy Path
  • Resource Added to provider.go and provider_test.go
  • Example in the /examples folder
  • Schema documented using MarkdownDescription
  • Change log entry changie new -k added
  • Run make precommit before PR

See the contributing guide for more information about what's expected for contributions.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or requestresourceterraform resource

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions