Skip to content

Feature Request: Add support for serviceofferingdetails in cloudstack_service_offering resource for GPU configuration #246

@jeanvetorello

Description

@jeanvetorello

Feature Request: Support for serviceofferingdetails in cloudstack_service_offering

Problem Statement

Currently, the cloudstack_service_offering resource doesn't support configuring serviceofferingdetails, which is essential for GPU instances that require pciDevice and vgpuType parameters.

Current Limitation

Users cannot create GPU service offerings directly with Terraform

Proposed Solution

Add support for serviceofferingdetails in the schema, similar to how other CloudStack Terraform providers handle it.

Suggested Schema:

resource "cloudstack_service_offering" "gpu_offering" {
  name         = "gpu-a6000"
  display_text = "GPU A6000 Instance"
  cpu_number   = 4
  memory       = 16384
  
  # New feature request
  service_offering_details = {
    pciDevice = "Group of NVIDIA A6000 GPUs"
    vgpuType  = "A6000-8A"
  }
}

Implementation Notes
The CloudStack API supports serviceofferingdetails in createServiceOffering and updateServiceOffering
Similar functionality exists in other resources like cloudstack_network_offering
Should support both create and update operations
Should handle details removal (empty values)

References
CloudStack API Documentation: https://cloudstack.apache.org/api/apidocs-4.19/apis/createServiceOffering.html
Current provider code: resource_cloudstack_service_offering.go

Environment
Provider Version: 0.6.0-rc3
CloudStack Version: 4.19+
Terraform Version: 1.0+

Metadata

Metadata

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions