github jamf/terraform-provider-jamfplatform v1.0.0

2 hours ago

v1.0.0

We are here! 343 constructs across Jamf Pro, Platform Services, Jamf Account, Jamf Security
Cloud and Jamf AI Governance. Thanks to everyone who filed an issue.

This is still not strict semver, and we expect to stay on 1.x. Breaking changes keep landing
in the minor segment, named in the notes that carry them.

The deprecation windows are the commitment. A superseded Platform Services attribute works for
at least 90 days and carries a notice naming its replacement and its earliest removal date. No
resource sits on a deprecated endpoint inside three months of its announced removal date.

We set both windows. An API change with no warning breaks a resource that day, and we ship a
fix when it happens.

Two breaking changes below, both in blueprints.

⚠️ apple_declarations is the list

The attribute was an object wrapping a declaration list. It is the list itself now:

apple_declarations = [
  { channel = "SYSTEM", type = "com.apple.configuration.passcode.settings", payload = jsonencode({ ... }) },
]

State migrates on the first plan. Update your configuration by hand. Payloads can also take file()
now.

⚠️ One component, one attribute

A component_blocks entry could set a typed component attribute and a raw_component for the
same component. Terraform wrote both, and the read path keys components by identifier, so one
copy reached devices where no later plan could see it. That apply now fails and names the
collision.

The same rule covers legacy_payloads. Move all of a block's payloads to raw_component or
none of them.

Deprecated: jamfplatform_pro_activation_code

The Classic /activationcode endpoint carries a deprecation notice dated 2026-07-14, and the
Jamf Pro API publishes no replacement read. Both constructs go when the endpoint does. Set the
activation code in Jamf Pro.

Fixed

  • Blueprint components built in the Jamf Pro interface dropped out of state. The editor writes
    numbers and booleans as JSON strings. Both encodings decode now. (#431)
  • An ebook update deleted its scope classes, so an unchanged configuration alternated between
    pass and fail. Terraform sends two requests now. (#428)
  • sso_domain reported an empty region. The value arrives on the next refresh.
  • A declaration payload carrying a null key failed the apply.

Full Changelog: v0.33.0...v1.0.0

Don't miss a new terraform-provider-jamfplatform release

NewReleases is sending notifications on new releases.