tf-msadmin

module
v0.8.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 24, 2026 License: MIT

README

tf-msadmin

CI

Shared Terraform-Plugin-Framework runtime for the Microsoft admin providers — Exchange Online, Purview and Teams. Factors out the parts every one of these providers needs so each provider repo only carries its own resources.

go get github.com/terraprovider/tf-msadmin

Packages

authschema — one auth surface for every provider

A provider embeds authschema.Model in its config struct, merges authschema.Attributes() into its schema, and calls Model.Config() to get a resolved authx.Config. The surface is aligned field-for-field with the hashicorp/azuread and azurerm providers (same attribute names, ARM_*/AZURE_* env fallbacks, every OIDC/workload-identity flavour), so operators configure them all identically.

reconcile — the "configured value wins" rule

The admin APIs are eventually consistent and sometimes normalise written values, so a read-back right after a create/update can disagree with what was configured — which Terraform rejects as an inconsistent result. KeepStr/KeepSet/… keep a configured (known) value authoritative while letting computed attributes take the freshly-read value. ReflectsFields builds the predicate used to wait out write-propagation lag.

resourcex — stale-tolerant read-after-write

LoadUntil wraps consistency: it retries a read until the resource is visible (rides out post-create lag) and, after an update, until it reflects the written values — returning the last-seen value rather than dropping the resource when it is present but not yet reflected.

License

MIT — see LICENSE. Not affiliated with or endorsed by Microsoft.

Directories

Path Synopsis
Package authschema provides the shared Terraform provider authentication surface for the Microsoft admin providers (Exchange Online, Purview, Teams).
Package authschema provides the shared Terraform provider authentication surface for the Microsoft admin providers (Exchange Online, Purview, Teams).
Package genframework generates terraform-plugin-framework resource code (and docs) from a normalized, provider-agnostic resource description.
Package genframework generates terraform-plugin-framework resource code (and docs) from a normalized, provider-agnostic resource description.
Package reconcile holds the state-reconciliation rule shared by every Microsoft admin provider resource.
Package reconcile holds the state-reconciliation rule shared by every Microsoft admin provider resource.
Package resourcex holds framework-level helpers shared by generated and hand-written Microsoft admin provider resources.
Package resourcex holds framework-level helpers shared by generated and hand-written Microsoft admin provider resources.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL