Skip to content

Jamf-Concepts/terraform-provider-jamfplatform

Repository files navigation

terraform-provider-jamf-platform

Provides resources and data sources for managing Jamf Platform Services:

Note that some of these APIs are only available in private beta. Provider stability, functionality and schemas are subject to change without notice.

This repository also includes a Go client for direct API access and scripting.

Requirements

  • Terraform 0.12 or later, or OpenTofu 1.6.0 or later

Using the Provider in your own Terraform Projects

The jamfplatform provider is published in the Hashicorp and OpenTofu registries.

For usage instructions and provider block/variable reference, refer to the registry link above for your platform of choice.


Provider Configuration Reference and Example Usage

Refer to the documentation for a full list of resources and data sources, their usage and Terraform examples.


Using the Go Client in Your Own Go Projects

The provider includes a comprehensive Go client for interacting with the Jamf Platform API. You can import and use the client directly in your own Go projects for scripting or automation against the services supported by the Jamf Platform API.

For example, to get a list of current Compliance Baselines the Compliance Benchmark Engine currently supports from the mSCP:

import "github.com/Jamf-Concepts/terraform-provider-jamfplatform/internal/client"

func main() {
    apiClient := client.NewClient("https://region.apigw.jamf.com", "your-client-id", "your-client-secret")
    // Use apiClient to call API methods, e.g.:
    baselines, err := apiClient.GetCBEngineBaselines(context.Background())
    // ...
}

See the examples/client/ directory for full working Go examples.


Contributing

Contributions are welcome! When submitting changes that add or modify resources or data sources:

  1. Add integration tests - All new resources and data sources must include integration tests
  2. Follow the testing guide - See testing/README.md for detailed instructions on writing and running tests
  3. Verify tests pass locally - Run terraform test before submitting your PR
  4. Test with real resources - Run terraform apply against a test instance and include screenshots of the created resources in the Jamf Pro UI in your PR description
  5. Automated testing - GitHub Actions will automatically run integration tests on your PR

For bug reports, feature requests, or general discussion, please use GitHub Issues.


Feedback & Discussion

Please contact the project principles via GitHub Issues.

The Jamf Terraform community has discussions in #terraform-provider-jamfpro on MacAdmins Slack. This channel is primarily focused on discussion and community support relating to the jamfpro provider that is owned and maintained by our friends, Deployment Theory.

Included components

The following third party acknowledgements and licenses are incorporated by reference:

 

Copyright 2025, Jamf Software LLC.

About

Terraform Provider for Jamf Platform Microservices

Resources

License

Stars

Watchers

Forks

Packages

No packages published