NUON_API_URL is optional for the hosted control plane. The provider also supports ambient OIDC with
NUON_ORG_ID and either NUON_OIDC_TOKEN, NUON_OIDC_TOKEN_FILE, or a GitHub Actions ID token.
The install ID identifies the configuration to read; it does not authorize access. Never replace provider
authentication with the install ID.
Use aws, azure, or gcp for phone_home_type. Keep cloud-specific payload keys compatible with the published
module because Nuon exposes them to app templates as .nuon.install_stack.outputs.The inputs argument may update only customer-source app inputs. Vendor and computed inputs are rendered by Nuon and
must remain in the payload rather than being submitted as customer overrides.
Each custom_stacks entry includes its stable name, rendered parameters, customer input_parameters, and output
mapping. AWS and Azure additionally use custom_stacks_template_url for the generated custom-only template. GCP uses
the curated module name derived from its module path.See Custom Install Stacks for app configuration and output consumption.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Nuon documentation","description":"Nuon is the BYOC (bring-your-own-cloud) deployment platform for software vendors. Deploy applications — Terraform, Helm, Kubernetes manifests, container images — into customer AWS, Azure, or GCP accounts with no cross-account IAM. Includes runners, operation roles for least-privilege IAM, drift detection, approval workflows, and policies for compliance.","colors":{"primary":"#256A7F","light":"#4CC9F0","dark":"#256A7F"},"logo":{"light":"https://mintcdn.com/nuoninc/RZoWFEpvSvd8sGqW/logo/light.svg?fit=max\u0026auto=format\u0026n=RZoWFEpvSvd8sGqW\u0026q=85\u0026s=5fe6681050ff3486a1e940fe9090d74d","dark":"https://mintcdn.com/nuoninc/RZoWFEpvSvd8sGqW/logo/dark.svg?fit=max\u0026auto=format\u0026n=RZoWFEpvSvd8sGqW\u0026q=85\u0026s=14deeb0a1b634839fe931f5f9e96af33","href":"/get-started/introduction"},"favicon":"https://mintcdn.com/nuoninc/swdQeSDXQqHcTs6_/favicon.svg?fit=max\u0026auto=format\u0026n=swdQeSDXQqHcTs6_\u0026q=85\u0026s=a4dbde1cc7d4c38f7c91105d64026679","api":{"openapi":"https://api.nuon.co/oapi/v3"},"background":{"color":{"light":"#FAFAFA"}},"navbar":{"links":[{"icon":"github","href":"https://github.com/nuonco/nuon","label":"GitHub"},{"icon":"slack","href":"https://nuon-byoc.slack.com/join/shared_invite/zt-1q323vw9z-C8ztRP~HfWjZx6AXi50VRA#/shared-invite/email","label":"Slack"}],"primary":{"type":"button","label":"Sign up","href":"https://app.nuon.co/"}},"footer":{"socials":{"website":"https://www.nuon.co","x":"https://twitter.com/nuoninc","linkedin":"https://www.linkedin.com/company/nuonco"}},"seo":{"metatags":{"og:site_name":"Nuon Documentation","og:type":"website","twitter:card":"summary_large_image","twitter:site":"@nuonco"},"indexing":"all"},"fonts":{"family":"Inter"},"integrations":{"posthog":{"apiKey":"phc_1NEQAphH0jxCX7opmp4Iyq2O6mu4tM552kMjJz8uKkl","apiHost":"https://us.i.posthog.com","sessionRecording":true},"plausible":{"domain":"docs.nuon.co"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nuoninc","hasAudioNarration":false,"actualSubdomain":"nuoninc","customDomains":["docs.nuon.co"],"gitSource":{"type":"github","owner":"nuonco","repo":"nuon","deployBranch":"main","contentDirectory":"docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aea15f890fba1e9dbe21c04","collectionId":"f21e85d5-9554-4593-8010-9aa5201957d9","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aea15f890fba1e9dbe21c04"},"feedback":{"edits":false,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aea15f890fba1e9dbe21c04","clientVersion":"0.0.4054","searchFilterCounts":[{"language":"default","tag":"Guides","count":136},{"language":"default","tag":"Changelog","count":45},{"language":"default","tag":"Reference","count":34},{"language":"default","tag":"Configuration","count":21},{"language":"default","tag":"Updates and Operations","count":20},{"language":"default","tag":"Concepts","count":17},{"language":"default","tag":"Configuration Types","count":14},{"language":"default","tag":"Getting Started","count":13},{"language":"default","tag":"Components","count":11},{"language":"default","tag":"Stacks","count":10}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":false},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"@keyframes nuon-um-pulse{50%{opacity:.3}}:root{--light:#4CC9F0}.prose :where(table):not(:where([class~=\"not-prose\"], [class~=\"not-prose\"] table)){display:table}.prose :where(table):not(:where([class~=\"not-prose\"], [class~=\"not-prose\"] th)){text-align:left}.nuon-label{text-transform:uppercase;font-weight:600;font-size:.6rem;padding:.01rem .25rem;color:#fff;background-color:var(--light);border-radius:10%}.PylonChat-bubbleFrameContainer{bottom:24px!important;right:24px!important}.PylonChat-chatWindowFrameContainer,.PylonChat-popupMessageContainer{bottom:88px!important;right:24px!important}wistia-player[media-id=tsb1nu547c]:not(:defined){background:center/contain no-repeat url(https://fast.wistia.com/embed/medias/tsb1nu547c/swatch);display:block;filter:blur(5px);padding-top:56.25%}.nuon-try-agent{margin:0 0 1.75rem;border:1px solid var(--try-border);border-radius:12px;background:var(--try-bg);font-size:.875rem;color:var(--try-text)}.nuon-flow,.nuon-mcp-picker,.nuon-try-agent{--try-accent:#256a7f;--try-accent-soft:rgba(37, 106, 127, 0.08);--try-border:rgba(37, 106, 127, 0.28);--try-text:#1f2937;--try-muted:#6b7280;--try-bg:linear-gradient(90deg, rgba(76, 201, 240, 0.10), rgba(37, 106, 127, 0.04) 60%, transparent)}.nuon-flow{font-size:.875rem}.dark .nuon-flow,.dark .nuon-mcp-picker,.dark .nuon-try-agent{--try-accent:#4cc9f0;--try-accent-soft:rgba(76, 201, 240, 0.12);--try-border:rgba(76, 201, 240, 0.3);--try-text:#e5e7eb;--try-muted:#9ca3af;--try-bg:linear-gradient(90deg, rgba(76, 201, 240, 0.10), rgba(76, 201, 240, 0.02) 60%, transparent)}.nuon-try-agent-row{display:flex;align-items:center;gap:.75rem;padding:.5rem .5rem .5rem .75rem}.nuon-try-agent-toggle{display:flex;align-items:center;gap:.625rem;flex:1;min-width:0;background:0 0;border:0;padding:0;text-align:left;color:inherit;cursor:pointer}.nuon-try-agent-badge{display:inline-flex;align-items:center;gap:.35rem;flex-shrink:0;padding:.15rem .5rem;border-radius:999px;background:var(--try-accent-soft);color:var(--try-accent);font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase}.nuon-try-agent-title{min-width:0;line-height:1.3}.nuon-try-agent-chevron{flex-shrink:0;color:var(--try-muted);transition:transform .15s}.nuon-try-agent[data-open=true] .nuon-try-agent-chevron{transform:rotate(180deg)}.nuon-try-agent-actions{display:flex;gap:.375rem;flex-shrink:0}.nuon-try-agent-btn{padding:.3rem .65rem;border:1px solid var(--try-border);border-radius:8px;background:0 0;color:var(--try-text);font-size:.8rem;font-weight:500;line-height:1.2;text-decoration:none;white-space:nowrap;cursor:pointer}.nuon-try-agent-btn:hover{background:var(--try-accent-soft)}.nuon-try-agent-primary{border-color:var(--try-accent);background:var(--try-accent);color:#fff}.dark .nuon-try-agent-primary{color:#0b1d24}.nuon-try-agent-primary:hover{background:var(--try-accent);opacity:.9}.nuon-try-agent-body{padding:0 .75rem .75rem}.nuon-try-agent-prompt{margin:0 0 .5rem;padding:.625rem .75rem;border-radius:8px;background:var(--try-accent-soft);font-size:.8rem;line-height:1.5;white-space:pre-wrap}.nuon-try-agent-note{margin:0;color:var(--try-muted);font-size:.78rem;line-height:1.5}.nuon-try-agent-note a{display:block;margin-top:.25rem;font-weight:500;color:var(--try-accent);text-decoration:underline}.nuon-try-agent-note code{font-size:.75rem}@media (max-width:640px){.nuon-try-agent-row{flex-wrap:wrap}.nuon-try-agent-actions{width:100%}.nuon-try-agent-btn{flex:1;text-align:center}}.nuon-try-agent+.nuon-try-agent{margin-top:-1.125rem}.nuon-mcp-picker{margin:1rem 0 2rem;padding:.75rem;border:1px solid var(--try-border);border-radius:12px;background:var(--try-bg);color:var(--try-text);font-size:.875rem}.nuon-mcp-picker-tabs{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.75rem}.nuon-mcp-picker-tab{padding:.3rem .75rem;border:1px solid transparent;border-radius:999px;background:0 0;color:var(--try-muted);font-size:.8rem;font-weight:500;cursor:pointer}.nuon-mcp-picker-tab:hover{color:var(--try-text)}.nuon-mcp-picker-tab[aria-selected=true]{border-color:var(--try-border);background:var(--try-accent-soft);color:var(--try-accent)}.nuon-mcp-picker-block+.nuon-mcp-picker-block{margin-top:.625rem}.nuon-mcp-picker-caption{margin:0 0 .3rem;color:var(--try-muted);font-size:.78rem}.nuon-mcp-picker-code{position:relative;border-radius:8px;background:#0f1d22}.nuon-mcp-picker-code pre{margin:0;padding:.75rem 5rem .75rem .875rem;white-space:pre-wrap;word-break:break-word;color:#e5e7eb;font-size:.8rem;line-height:1.6}.dark .nuon-mcp-picker-code{background:rgba(0,0,0,.45)}.nuon-mcp-picker-copy{position:absolute;top:.5rem;right:.5rem}.nuon-mcp-picker-foot{margin:.625rem 0 0;font-size:.78rem}.nuon-mcp-picker-foot a{color:var(--try-accent);font-weight:500;text-decoration:none}.nuon-mcp-picker-foot a:hover{text-decoration:underline}.nuon-flow{margin:1.5rem 0 2rem;padding:1rem 1.125rem;border:1px solid var(--try-border);border-radius:12px;background:var(--try-bg);color:var(--try-text)}.nuon-flow-track{margin:0;padding:0;list-style:none}.nuon-flow-step{position:relative;margin:0;padding:0 0 .875rem}.nuon-flow-step:last-child{padding-bottom:0}.nuon-flow-step:not(:last-child)::before{content:\"\";position:absolute;left:.6875rem;top:1.5rem;bottom:0;border-left:1.5px solid var(--try-border)}.nuon-flow-group{display:block;margin:.25rem 0 .5rem 2.25rem;color:var(--try-accent);font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase}.nuon-flow-step:first-child .nuon-flow-group{margin-top:0}.nuon-flow-row{display:flex;gap:.75rem;align-items:flex-start}.nuon-flow-num{display:inline-flex;flex-shrink:0;align-items:center;justify-content:center;width:1.375rem;height:1.375rem;border-radius:999px;background:var(--try-accent);color:#fff;font-size:.7rem;font-weight:600}.dark .nuon-flow-num{color:#0b1d24}.nuon-flow-text{display:flex;flex-direction:column;gap:.1rem;min-width:0;padding-top:.1rem;line-height:1.35}.nuon-flow-title{font-size:.9rem;font-weight:600}.nuon-flow-title a{color:inherit;text-decoration:none;border-bottom:1px solid var(--try-border)}.nuon-flow-title a:hover{color:var(--try-accent);border-bottom-color:var(--try-accent)}.nuon-flow-detail,.nuon-flow-loop{color:var(--try-muted);font-size:.82rem}.nuon-flow-loop{display:flex;gap:.5rem;align-items:center;margin:.875rem 0 0;padding-top:.75rem;border-top:1px dashed var(--try-border);font-size:.8rem}.nuon-flow-loop svg{flex-shrink:0;color:var(--try-accent)}.nuon-cmap{--cmap-accent:#256a7f;--cmap-border:rgba(37, 106, 127, 0.28);--cmap-text:#1f2937;--cmap-muted:#6b7280;--cmap-bg:rgba(37, 106, 127, 0.04);--cmap-bg-strong:linear-gradient(160deg, rgba(76, 201, 240, 0.14), rgba(37, 106, 127, 0.06));display:grid;grid-template-columns:repeat(var(--cmap-cols, 2),minmax(0,1fr));gap:.75rem;margin:1.25rem 0 1.75rem;color:var(--cmap-text)}.dark .nuon-cmap{--cmap-accent:#4cc9f0;--cmap-border:rgba(76, 201, 240, 0.3);--cmap-text:#e5e7eb;--cmap-muted:#9ca3af;--cmap-bg:rgba(76, 201, 240, 0.04);--cmap-bg-strong:linear-gradient(160deg, rgba(76, 201, 240, 0.14), rgba(76, 201, 240, 0.04))}.nuon-cmap[data-cols=\"1\"]{--cmap-cols:1}.nuon-cmap[data-cols=\"3\"]{--cmap-cols:3}.nuon-cmap[data-arrows=true]{gap:0}.nuon-cmap-cell{display:flex;align-items:stretch;min-width:0}.nuon-cmap-arrow{display:flex;align-items:center;padding:0 .5rem;color:var(--cmap-accent)}.nuon-cmap-col{flex:1;min-width:0;padding:1rem 1.125rem;border:1px solid var(--cmap-border);border-radius:12px;background:var(--cmap-bg)}.nuon-cmap-col[data-tone=nuon]{background:var(--cmap-bg-strong)}.nuon-cmap-title{font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--cmap-accent)}.nuon-cmap-caption{margin-top:.25rem;font-size:.8125rem;color:var(--cmap-muted)}.nuon-cmap-list{list-style:none;margin:.875rem 0 0;padding:0}.nuon-cmap-list li{padding:.35rem 0;font-size:.9rem;line-height:1.35}.nuon-cmap-list a{font-weight:600;color:var(--cmap-text);text-decoration:none;border-bottom:1px solid var(--cmap-border)}.nuon-cmap-list a:hover{color:var(--cmap-accent);border-bottom-color:var(--cmap-accent)}.nuon-cmap-note{display:block;margin-top:.15rem;font-size:.8125rem;color:var(--cmap-muted)}@media (max-width:720px){.nuon-cmap,.nuon-cmap[data-cols=\"3\"]{grid-template-columns:minmax(0,1fr)}.nuon-cmap-cell{flex-direction:column}.nuon-cmap-arrow{justify-content:center;padding:.35rem 0;transform:rotate(90deg)}}.sidebar-group-header:has(+.sidebar-group a[href^=\"/guides/agents/\"]){display:none}.nuon-tl{--tl-accent:#256a7f;--tl-text:#1f2937;--tl-muted:#6b7280;--tl-setup-bg:rgba(107, 114, 128, 0.1);--tl-install-bg:rgba(37, 106, 127, 0.1);--tl-operate-bg:linear-gradient(90deg, rgba(37, 106, 127, 0.16), rgba(76, 201, 240, 0.22));margin:1.25rem 0 1.75rem;color:var(--tl-text)}.dark .nuon-tl{--tl-accent:#4cc9f0;--tl-text:#e5e7eb;--tl-muted:#9ca3af;--tl-setup-bg:rgba(156, 163, 175, 0.12);--tl-install-bg:rgba(76, 201, 240, 0.08);--tl-operate-bg:linear-gradient(90deg, rgba(76, 201, 240, 0.12), rgba(76, 201, 240, 0.24))}.nuon-tl-bar,.nuon-tl-notes{display:grid;gap:.375rem}.nuon-tl-seg{display:flex;flex-direction:column;gap:.15rem;padding:.75rem .875rem;border-radius:10px;background:var(--tl-setup-bg)}.nuon-tl-seg[data-tone=install]{background:var(--tl-install-bg)}.nuon-tl-seg[data-tone=operate]{background:var(--tl-operate-bg)}.nuon-tl-when{font-size:.7rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--tl-muted)}.nuon-tl-seg[data-tone=operate] .nuon-tl-when{color:var(--tl-accent)}.nuon-tl-what{font-size:.9rem;font-weight:600;line-height:1.3}.nuon-tl-notes{margin-top:.4rem;font-size:.8rem;line-height:1.4;color:var(--tl-muted)}.nuon-tl-notes span{padding:0 .875rem}@media (max-width:720px){.nuon-tl-bar,.nuon-tl-notes{grid-template-columns:1fr 1fr 1fr!important}}.nuon-flow[data-horizontal=true] .nuon-flow-track{display:flex;align-items:center}.nuon-flow[data-horizontal=true] .nuon-flow-step{flex:1;display:flex;align-items:center;padding:0}.nuon-flow[data-horizontal=true] .nuon-flow-step:last-child{flex:0 0 auto}.nuon-flow[data-horizontal=true] .nuon-flow-step:not(:last-child)::before{content:none}.nuon-flow[data-horizontal=true] .nuon-flow-step:not(:last-child)::after{content:\"\";flex:1;margin:0 .75rem;border-top:1.5px solid var(--try-border)}@media (max-width:720px){.nuon-flow[data-horizontal=true] .nuon-flow-track{flex-direction:column;align-items:flex-start;gap:.75rem}.nuon-flow[data-horizontal=true] .nuon-flow-step:not(:last-child)::after{content:none}}.nuon-infra{--in-accent:#256a7f;--in-border:rgba(37, 106, 127, 0.3);--in-strong:rgba(37, 106, 127, 0.7);--in-text:#1f2937;--in-muted:#6b7280;--in-cp-bg:rgba(107, 114, 128, 0.08);--in-account-bg:rgba(37, 106, 127, 0.04);--in-box-bg:#ffffff;--in-inner-bg:rgba(37, 106, 127, 0.1);margin:1.25rem 0 1.75rem;color:var(--in-text);font-size:.875rem}.dark .nuon-infra{--in-accent:#4cc9f0;--in-border:rgba(76, 201, 240, 0.3);--in-strong:rgba(76, 201, 240, 0.7);--in-text:#e5e7eb;--in-muted:#9ca3af;--in-cp-bg:rgba(156, 163, 175, 0.1);--in-account-bg:rgba(76, 201, 240, 0.04);--in-box-bg:rgba(15, 23, 42, 0.6);--in-inner-bg:rgba(76, 201, 240, 0.12)}.nuon-infra-top{display:grid;grid-template-columns:minmax(0,1fr) 4rem minmax(0,1.4fr);gap:.75rem;padding:0 1rem}.nuon-infra-top-cell{display:flex;flex-direction:column;align-items:center}.nuon-infra-cp{white-space:nowrap;width:fit-content;padding:.5rem 1rem;border:1px dashed var(--in-border);border-radius:10px;background:var(--in-cp-bg);color:var(--in-muted);font-weight:600}.nuon-infra-link{display:flex;flex-direction:column;align-items:center;gap:.15rem}.nuon-infra-line{height:1.25rem;border-left:1.5px dashed var(--in-accent)}.nuon-infra-tag{white-space:nowrap;color:var(--in-accent);font-size:.75rem}.nuon-infra-account{padding:.875rem 1rem 1rem;border:1px solid var(--in-border);border-radius:12px;background:var(--in-account-bg)}.nuon-infra-account-head{margin-bottom:.875rem;text-align:right;color:var(--in-muted);font-weight:600}.nuon-infra-account-head span{margin-left:.4rem;font-weight:400}.nuon-infra-row{--in-runner-top:3.55rem;display:grid;grid-template-columns:minmax(0,1fr) 4rem minmax(0,1.4fr);align-items:stretch;gap:.75rem}.nuon-infra-concept{display:flex;flex-direction:column;gap:.5rem;padding:.875rem 1rem;border:1.5px solid var(--in-strong);border-radius:10px;background:var(--in-box-bg)}.nuon-infra-row>.nuon-infra-concept:first-child{position:relative}.nuon-infra-row>.nuon-infra-concept:first-child::before{content:\"\";position:absolute;left:50%;top:-4.4rem;height:calc(4.4rem + var(--in-runner-top));border-left:1.5px dashed var(--in-accent);z-index:0}.nuon-infra-inner{position:relative;z-index:1;box-sizing:border-box;height:3.25rem;justify-content:center;margin-top:.75rem;background:var(--in-inner-bg);align-items:center}.nuon-infra-name{width:fit-content;font-size:1.05rem;font-weight:700;color:var(--in-text);text-decoration:none;border-bottom:1px solid var(--in-border)}.nuon-infra-comps-title:hover,.nuon-infra-name:hover{color:var(--in-accent)}.nuon-infra-note{color:var(--in-muted);font-size:.8rem}.nuon-infra-components{margin-top:auto;padding:.6rem .7rem;border:1px solid var(--in-border);border-radius:8px;background:var(--in-inner-bg)}.nuon-infra-comps-title{white-space:nowrap;font-size:.75rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--in-accent);text-decoration:none}.nuon-infra-chips{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.5rem}.nuon-infra-eg{flex-basis:100%;font-size:.75rem;font-style:italic;color:var(--in-muted)}.nuon-infra-chip{padding:.15rem .5rem;border:1px dashed var(--in-border);border-radius:6px;font-size:.78rem;color:var(--in-muted)}.nuon-infra-arrow{display:flex;flex-direction:column;justify-content:flex-start;padding-top:calc(var(--in-runner-top) + .35rem);align-items:center;color:var(--in-accent);font-size:.72rem}@media (max-width:720px){.nuon-infra-row{grid-template-columns:minmax(0,1fr)}.nuon-infra-arrow{justify-content:center}.nuon-infra-arrow svg{transform:rotate(90deg)}}.nuon-ab{margin:1rem 0 1.75rem}.nuon-ab-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:1rem}.nuon-ab .nuon-infra-concept{gap:.75rem;padding:1rem 1.1rem 1.1rem}.nuon-ab-head{display:flex;align-items:center;flex-wrap:wrap;gap:.5rem}.nuon-ab-kicker{font-size:.68rem;font-weight:600;letter-spacing:.06em;text-transform:uppercase;color:var(--in-accent);text-decoration:none}.nuon-ab-kicker-muted{color:var(--in-muted)}.nuon-ab-app{font-weight:700;font-size:1rem}.nuon-ab-branch{display:flex;flex-direction:column;gap:.5rem;padding:.65rem .75rem;border:1px solid var(--in-border);border-radius:8px;background:var(--in-inner-bg)}.nuon-ab-branch-name{font-family:var(--font-mono, ui-monospace, monospace);font-size:.8rem}.nuon-ab-group-wrap,.nuon-ab-groups{display:flex;align-items:center;gap:.35rem}.nuon-ab-group{padding:.15rem .5rem;border:1px dashed var(--in-strong);border-radius:6px;background:var(--in-box-bg);font-size:.78rem}.nuon-ab-arrow,.nuon-pd a.nuon-ab-group:hover,.nuon-pd a.nuon-infra-chip:hover{color:var(--in-accent)}@media (max-width:720px){.nuon-ab-row{grid-template-columns:minmax(0,1fr)}}.nuon-pd-row{display:grid;grid-template-columns:minmax(0,1fr) 6.5rem minmax(0,1fr);align-items:stretch;gap:.75rem;position:relative}.nuon-pd-cp{display:flex;align-items:center;gap:.45rem}.nuon-pd-cp span{margin-left:0;color:var(--in-text);font-weight:600}.nuon-pd-link,.nuon-pd-link-label{position:absolute;color:var(--in-muted)}.nuon-pd-link{inset:0;overflow:visible;pointer-events:none;z-index:2}.nuon-pd-link-label{transform:translateY(4px);line-height:1.2;white-space:nowrap;font-size:.7rem}.nuon-pd .nuon-pd-flows{justify-content:flex-end;padding-bottom:6rem}.nuon-pd-flows .nuon-pd-flow-back{display:none}.nuon-pd-zone{display:flex;flex-direction:column;gap:.75rem;min-width:0;padding:.875rem;border-radius:12px}.nuon-pd-yours{border:1px dashed var(--in-border);background:var(--in-cp-bg)}.nuon-pd-theirs{border:1px solid var(--in-border);background:var(--in-account-bg)}.nuon-pd-zlabel{color:var(--in-muted);font-weight:600}.nuon-pd-logo{display:block;height:1.6rem;width:auto;color:var(--in-text)}.nuon-pd-runner{display:flex;align-items:center;gap:.6rem;width:fit-content;margin-top:.4rem;padding:.45rem .8rem .45rem .6rem;border-radius:8px;background:var(--in-text);color:var(--in-box-bg);text-decoration:none;box-shadow:0 0 0 3px var(--in-border)}.dark .nuon-pd-runner{color:#0b1117}.nuon-pd-runner-mark{height:1.35rem;width:auto;flex:none}.nuon-pd-runner-text{display:flex;flex-direction:column;line-height:1.2}.nuon-pd-runner-name{font-weight:700;font-size:.85rem}.nuon-pd-runner-note{font-size:.68rem;opacity:.75}.nuon-pd-zlabel span{margin-left:.3rem;font-weight:400}.nuon-pd .nuon-infra-concept{gap:.6rem}.nuon-pd .nuon-infra-components{margin-top:0}.nuon-pd .nuon-infra-chips{margin-top:.35rem}.nuon-pd-template{flex:1;border-width:2px}.nuon-pd-template-name{margin-top:-.25rem;font-size:1.15rem;font-weight:700}.nuon-pd-template-sub{margin-top:-.5rem;font-size:.82rem;color:var(--in-muted)}.nuon-pd-where{margin-left:auto;font-size:.75rem;font-style:italic;color:var(--in-muted)}.nuon-pd-faded{opacity:.6}.nuon-pd a.nuon-ab-group,.nuon-pd a.nuon-infra-chip{color:var(--in-text);text-decoration:none}.nuon-pd-flow,.nuon-pd-flows{display:flex;flex-direction:column}.nuon-pd-flows{justify-content:center;gap:1.75rem;color:var(--in-accent);font-size:.72rem;text-align:center}.nuon-pd-flow{align-items:center;gap:.15rem}.nuon-pd-flow-back{color:var(--in-muted)}.nuon-pd-flow-back svg{transform:scaleX(-1)}@media (max-width:720px){.nuon-pd-row{grid-template-columns:minmax(0,1fr)}.nuon-pd-flows .nuon-pd-flow-back{display:flex}.nuon-pd .nuon-pd-flows{justify-content:center;padding-bottom:0}.nuon-pd-flows{flex-direction:row;justify-content:center}.nuon-pd-flow svg{transform:rotate(90deg)}.nuon-pd-flow-back svg{transform:rotate(-90deg)}}.nuon-pt{margin-top:.75rem}.nuon-pt-legend{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem;font-size:.75rem;color:var(--in-muted)}.nuon-pt-legend i{display:inline-block;width:10px;height:10px;margin-right:.4rem;border-radius:3px;vertical-align:-1px}.nuon-pt-key-repo{border:1px dashed var(--in-border);background:var(--in-cp-bg)}.nuon-pt-key-cust{border:1px solid var(--in-strong);background:var(--in-inner-bg)}.nuon-pt-scroll{overflow-x:auto}.nuon-pt-tree{--pt-gap:1.75rem;--pt-w1:8.5rem;--pt-w2:11.5rem;min-width:44rem}.nuon-pt-heads{display:flex;margin-bottom:.5rem}.nuon-pt-h1{flex:0 0 calc(var(--pt-w1) + var(--pt-gap))}.nuon-pt-h2{flex:0 0 calc(var(--pt-w2) + var(--pt-gap))}.nuon-pt-item{display:flex;align-items:center}.nuon-pt-card{display:flex;flex-direction:column;flex:none;box-sizing:border-box;padding:.4rem .65rem;border:1px dashed var(--in-border);border-radius:8px;background:var(--in-cp-bg);font-size:.82rem}.nuon-pt-l1>.nuon-pt-card{width:var(--pt-w1)}.nuon-pt-l2>.nuon-pt-card,.nuon-pt-l3>.nuon-pt-card{width:var(--pt-w2)}.nuon-pt-name{font-weight:600}.nuon-pt-file{font-family:var(--font-mono, ui-monospace, monospace);font-size:.7rem;color:var(--in-muted)}.nuon-pt-default,.nuon-pt-num{color:var(--in-accent);font-size:.65rem}.nuon-pt-num{display:inline-grid;place-items:center;width:1.05rem;height:1.05rem;margin-right:.35rem;border:1px solid var(--in-strong);border-radius:50%;font-weight:700}.nuon-pt-default{margin-left:.35rem;padding:0 .3rem;border:1px solid var(--in-border);border-radius:4px;font-weight:500}.nuon-pt-children{position:relative;display:flex;flex-direction:column;gap:.75rem;padding-left:var(--pt-gap)}.nuon-pt-children::before,.nuon-pt-children>.nuon-pt-item::before{content:\"\";position:absolute;top:50%;width:calc(var(--pt-gap)/2);border-top:1.5px solid var(--in-border)}.nuon-pt-children::before{left:0}.nuon-pt-children>.nuon-pt-item{position:relative}.nuon-pt-children>.nuon-pt-item::before{left:calc(var(--pt-gap)/-2)}.nuon-pt-children>.nuon-pt-item::after{content:\"\";position:absolute;left:calc(var(--pt-gap)/-2);top:-.375rem;bottom:-.375rem;border-left:1.5px solid var(--in-border)}.nuon-pt-children>.nuon-pt-item:first-child::after{top:50%}.nuon-pt-children>.nuon-pt-item:last-child::after{bottom:50%}.nuon-pt-children>.nuon-pt-item:only-child::after{content:none}.nuon-pt-installs{display:flex;flex-wrap:wrap;gap:.4rem}.nuon-pt-install{padding:.3rem .6rem;border:1px solid var(--in-strong);border-radius:8px;background:var(--in-inner-bg);font-family:var(--font-mono, ui-monospace, monospace);font-size:.78rem}.nuon-um{position:relative;overflow:hidden;box-shadow:-14px 0 22px -16px rgba(76,201,240,.55),14px 0 22px -16px rgba(76,201,240,.55);border:1px solid var(--in-border);border-radius:12px;background:var(--in-box-bg)}.nuon-um-bar{display:flex;align-items:center;gap:.35rem;padding:.55rem .8rem;border-bottom:1px solid var(--in-border);background:var(--in-cp-bg)}.nuon-um-dot{width:.55rem;height:.55rem;border-radius:50%;background:var(--in-border)}.nuon-um-url{margin-left:.6rem;padding:.1rem .6rem;border-radius:6px;background:var(--in-box-bg);color:var(--in-muted);font-size:.72rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nuon-um-body{display:grid;grid-template-columns:10rem minmax(0,1fr)}.nuon-um-side{display:flex;flex-direction:column;gap:.15rem;padding:1rem .75rem;border-right:1px solid var(--in-border);color:var(--in-muted);font-size:.8rem}.nuon-um-side span{padding:.25rem .5rem;border-radius:6px}.nuon-um-brand{margin-bottom:.6rem;padding:0 .5rem;color:var(--in-text);font-weight:700}.nuon-um-side .nuon-um-on{background:var(--in-inner-bg);color:var(--in-text);font-weight:600}.nuon-um-main{display:flex;flex-direction:column;gap:.6rem;padding:1.25rem 1.5rem 1.5rem;min-width:0}.nuon-um-title{font-size:1.1rem;font-weight:700}.nuon-um-sub{margin-top:-.4rem;color:var(--in-muted);font-size:.82rem}.nuon-um-label{margin-top:.4rem;font-size:.8rem;font-weight:600}.nuon-um-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem}.nuon-um-option{display:flex;gap:.6rem;padding:.7rem .8rem;border:1px solid var(--in-border);border-radius:10px;font-size:.85rem}.nuon-um-option small{display:block;color:var(--in-muted);font-size:.75rem}.nuon-um-radio{flex:none;width:.9rem;height:.9rem;margin-top:.15rem;border:1.5px solid var(--in-strong);border-radius:50%}.nuon-um-picked{border:1.5px solid var(--in-accent);background:var(--in-inner-bg)}.nuon-um-picked .nuon-um-radio{border-color:var(--in-accent);box-shadow:inset 0 0 0 3px var(--in-box-bg);background:var(--in-accent)}.nuon-um-clouds{display:flex;flex-wrap:wrap;gap:.4rem}.nuon-um-cloud{padding:.25rem .7rem;border:1px solid var(--in-border);border-radius:999px;color:var(--in-muted);font-size:.78rem}.nuon-um-cloud-on{border-color:var(--in-accent);color:var(--in-accent);font-weight:600}.nuon-um-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:.4rem}.nuon-um-button{padding:.45rem .9rem;border-radius:8px;background:var(--in-text);color:var(--in-box-bg);font-size:.82rem;font-weight:600}.dark .nuon-um-button{color:#0b1117}.nuon-um-hint{color:var(--in-muted);font-size:.75rem}@media (max-width:720px){.nuon-um-body,.nuon-um-options{grid-template-columns:minmax(0,1fr)}.nuon-um-side{display:none}}.nuon-um-field{display:flex;flex-direction:column;gap:.3rem;max-width:22rem}.nuon-um-field .nuon-um-label{margin-top:0}.nuon-um-box,.nuon-um-input{border:1px solid var(--in-border)}.nuon-um-input{padding:.4rem .65rem;border-radius:8px;background:var(--in-box-bg);font-size:.82rem}.nuon-um-box{padding:.75rem .9rem;border-radius:10px;background:var(--in-inner-bg)}.nuon-um-box .nuon-um-label{margin:0 0 .35rem}.nuon-um-diff,.nuon-um-list{margin:0;padding:0;list-style:none;font-size:.82rem}.nuon-um-list li{position:relative;padding-left:.9rem}.nuon-um-list li::before{content:\"\";position:absolute;left:0;top:.55rem;width:.35rem;height:.35rem;border-radius:50%;background:var(--in-accent)}.nuon-um-diff li{display:flex;gap:.5rem;font-family:var(--font-mono, ui-monospace, monospace);font-size:.78rem}.nuon-um-add,.nuon-um-chg{color:#1a7f37;font-weight:700}.nuon-um-chg{color:#9a6700}.dark .nuon-um-add{color:#3fb950}.dark .nuon-um-chg{color:#d29922}.nuon-um-status,.nuon-um-steps li{display:flex;align-items:center;color:var(--in-muted)}.nuon-um-status{gap:.4rem;font-size:.78rem}.nuon-um-pulse{width:.5rem;height:.5rem;border-radius:50%;background:var(--in-accent);animation:nuon-um-pulse 1.4s ease-in-out infinite}@media (prefers-reduced-motion:reduce){.nuon-um-pulse{animation:none}}.nuon-um-ghost{border:1px solid var(--in-border);background:0 0}.dark .nuon-um-ghost,.nuon-um-ghost,.nuon-um-steps .nuon-um-done{color:var(--in-text)}.nuon-um-steps{display:flex;flex-direction:column;gap:.55rem;margin:.2rem 0 0;padding:0;list-style:none;font-size:.85rem}.nuon-um-steps li{gap:.6rem}.nuon-um-steps li::before{content:\"\";flex:none;width:1rem;height:1rem;border:1.5px solid var(--in-border);border-radius:50%;box-sizing:border-box}.nuon-um-steps .nuon-um-done::before{border-color:var(--in-accent);background:var(--in-accent);box-shadow:inset 0 0 0 3px var(--in-box-bg)}.nuon-um-steps .nuon-um-now{color:var(--in-text);font-weight:600}.nuon-um-steps .nuon-um-now::before{border-color:var(--in-accent);border-right-color:transparent}.nuon-um-steps small{color:var(--in-muted);font-weight:400}.nuon-um::before{content:\"\";position:absolute;inset:0 0 auto;height:2px;background:#4cc9f0}.nuon-um-tag{flex:none;margin-left:auto;padding:.1rem .55rem;border:1px solid rgba(76,201,240,.64);border-radius:999px;background:#f2fcff;color:#2b7894;font-size:.7rem;font-weight:500}.dark .nuon-um-tag{background:rgba(76,201,240,.16);color:#4cc9f0}.nuon-um-picker .nuon-um{margin-top:0;margin-bottom:.75rem}.nuon-um-pickrow{display:flex;flex-wrap:wrap;align-items:center;gap:.6rem;margin-bottom:.5rem}.nuon-um-picklabel{color:#828282;font-size:.75rem;font-weight:500}.nuon-um-picker{margin:1.25rem 0 1.75rem}.nuon-um-tabs{display:inline-flex;gap:.25rem;padding:.25rem;border:1px solid #e0e0e0;border-radius:999px}.dark .nuon-um-tabs{border-color:#1f1f20}.nuon-um-tab{padding:.3rem .9rem;border:0;border-radius:999px;background:0 0;color:inherit;font:inherit;font-size:.82rem;font-weight:500;cursor:pointer;opacity:.7}.nuon-um-tab:hover{opacity:1}.nuon-um-tab:focus-visible{outline:2px solid rgba(76,201,240,.64);outline-offset:2px}.nuon-um-tab-on{background:#f2fcff;color:#2b7894;box-shadow:inset 0 0 0 1px rgba(76,201,240,.64);opacity:1}.dark .nuon-um-tab-on{background:rgba(76,201,240,.16);color:#4cc9f0}.nuon-um-notes{display:flex;flex-direction:column;gap:.4rem;margin:0;padding:.75rem .9rem;border:1px solid var(--in-border);border-radius:10px;font-size:.82rem}.nuon-um-notes>div{display:grid;grid-template-columns:10rem minmax(0,1fr);gap:.75rem}.nuon-um-notes-k{color:var(--in-muted)}.nuon-um-notes code{font-size:.78rem}.nuon-um-notes a{color:var(--in-accent);font-weight:600;text-decoration:none}@media (max-width:720px){.nuon-um-notes>div{grid-template-columns:minmax(0,1fr);gap:.1rem}}"}],"page":{"pagePath":"guides/nuon-stack-terraform-provider","slug":"/guides/nuon-stack-terraform-provider","pageMetadata":{"title":"Nuon Stack Terraform Provider","description":"Read install configuration and report Terraform install-stack results.","keywords":["terraform","provider","stack_config","stack_phone_home","install stack"],"href":"/guides/nuon-stack-terraform-provider"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Read install configuration and report Terraform install-stack results.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`The `,_jsx(_components.a,{href:`https://registry.terraform.io/providers/nuonco/stack/latest`,children:_jsx(_components.code,{children:`nuonco/stack`})}),` provider gives an install-stack module\ntwo authenticated operations:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`stack_config`}),` reads the rendered configuration for an install.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`stack_phone_home`}),` reports create, update, and delete results to Nuon.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Published Nuon AWS, Azure, and GCP modules already include this wiring. Use the provider directly when wrapping or\nforking one of those modules.`}),`\n`,_jsx(Heading,{level:`2`,id:`configure-authentication`,children:`Configure Authentication`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`hcl`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`hcl`,children:_jsxs(_components.code,{language:`hcl`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`terraform`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:` required_providers`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` stack`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` source`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"nuonco/stack\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` version`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \">= 0.7.0\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`provider`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"stack\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {}`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Set credentials outside Terraform so they are not written into the plan:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` NUON_API_TOKEN`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"\u003ctoken>\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`export`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` NUON_API_URL`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`=`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"https://runner.nuon.co\"`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`NUON_API_URL`}),` is optional for the hosted control plane. The provider also supports ambient OIDC with\n`,_jsx(_components.code,{children:`NUON_ORG_ID`}),` and either `,_jsx(_components.code,{children:`NUON_OIDC_TOKEN`}),`, `,_jsx(_components.code,{children:`NUON_OIDC_TOKEN_FILE`}),`, or a GitHub Actions ID token.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The install ID identifies the configuration to read; it does not authorize access. Never replace provider\nauthentication with the install ID.`})}),`\n`,_jsx(Heading,{level:`2`,id:`read-install-configuration`,children:`Read Install Configuration`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`7`,language:`hcl`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`hcl`,children:_jsxs(_components.code,{language:`hcl`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`variable`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"install_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` string`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`data`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"stack_config\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"this\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` install_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` var`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`install_id`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The data source returns common values such as:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`runner_id`}),`, `,_jsx(_components.code,{children:`runner_api_url`}),`, and `,_jsx(_components.code,{children:`phone_home_url`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`install_inputs`}),`, `,_jsx(_components.code,{children:`required_input_names`}),`, and `,_jsx(_components.code,{children:`secrets`})]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`aws`}),`, `,_jsx(_components.code,{children:`azure`}),`, or `,_jsx(_components.code,{children:`gcp`}),` cloud-specific runner and permission configuration`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`custom_stacks`}),` and `,_jsx(_components.code,{children:`custom_stacks_template_url`})]}),`\n`]}),`\n`,_jsx(_components.p,{children:`Secrets and cloud runner tokens are sensitive. Use encrypted remote state with tightly scoped access.`}),`\n`,_jsx(Heading,{level:`2`,id:`report-results`,children:`Report Results`}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`stack_phone_home`}),` maps Terraform resource lifecycle events to Nuon’s `,_jsx(_components.code,{children:`Create`}),`, `,_jsx(_components.code,{children:`Update`}),`, and `,_jsx(_components.code,{children:`Delete`}),` request types.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`10`,language:`hcl`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`hcl`,children:_jsxs(_components.code,{language:`hcl`,numberOfLines:`10`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#4EC9B0`},children:`resource`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"stack_phone_home\"`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` \"this\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` install_id`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`stack_config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`this`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`install_id`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` phone_home_url`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` data`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`stack_config`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`this`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`phone_home_url`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` phone_home_type`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"azure\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` payload`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#DCDCAA`},children:` jsonencode`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` resource_group`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` azurerm_resource_group.this.name`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` custom_nested_stacks`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` local.custom_stack_outputs`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` })`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Use `,_jsx(_components.code,{children:`aws`}),`, `,_jsx(_components.code,{children:`azure`}),`, or `,_jsx(_components.code,{children:`gcp`}),` for `,_jsx(_components.code,{children:`phone_home_type`}),`. Keep cloud-specific payload keys compatible with the published\nmodule because Nuon exposes them to app templates as `,_jsx(_components.code,{children:`.nuon.install_stack.outputs`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`inputs`}),` argument may update only customer-source app inputs. Vendor and computed inputs are rendered by Nuon and\nmust remain in the payload rather than being submitted as customer overrides.`]}),`\n`,_jsx(Heading,{level:`2`,id:`custom-stack-fields`,children:`Custom Stack Fields`}),`\n`,_jsxs(_components.p,{children:[`Each `,_jsx(_components.code,{children:`custom_stacks`}),` entry includes its stable `,_jsx(_components.code,{children:`name`}),`, rendered `,_jsx(_components.code,{children:`parameters`}),`, customer `,_jsx(_components.code,{children:`input_parameters`}),`, and output\nmapping. AWS and Azure additionally use `,_jsx(_components.code,{children:`custom_stacks_template_url`}),` for the generated custom-only template. GCP uses\nthe curated module name derived from its module path.`]}),`\n`,_jsxs(_components.p,{children:[`See `,_jsx(_components.a,{href:`/guides/custom-nested-stacks`,children:`Custom Install Stacks`}),` for app configuration and output consumption.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Nuon Stack Terraform Provider","description":"Read install configuration and report Terraform install-stack results.","keywords":["terraform","provider","stack_config","stack_phone_home","install stack"],"href":"/guides/nuon-stack-terraform-provider"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Configure Authentication","slug":"configure-authentication","depth":2,"children":[]},{"title":"Read Install Configuration","slug":"read-install-configuration","depth":2,"children":[]},{"title":"Report Results","slug":"report-results","depth":2,"children":[]},{"title":"Custom Stack Fields","slug":"custom-stack-fields","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/nuoninc/c0c6086750944f2b/scripts.js","/_mintlify/custom/nuoninc/ce6ed4285b1e45a3/pylon.js","/_mintlify/custom/nuoninc/d11308f639707293/wistia.js"],"subdomain":"nuoninc","siteName":"Nuon documentation","title":"Nuon Stack Terraform Provider - Nuon documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-04T18:07:32.150Z","originalFileLocation":"guides/nuon-stack-terraform-provider.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Read install configuration and report Terraform install-stack results.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Nuon documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Nuon Stack Terraform Provider - Nuon documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Read install configuration and report Terraform install-stack results.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Nuon Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nuon.co/guides/nuon-stack-terraform-provider\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nuoninc.mintlify.app/_mintlify/api/og/v2?division=Stacks\u0026amp;title=Nuon+Stack+Terraform+Provider\u0026amp;description=Read+install+configuration+and+report+Terraform+install-stack+results.\u0026amp;theme=8d50655c64fafbf225a00426\u0026amp;signature=7009d340839b4d3f7ae048f5af2bb85c2cbadbe8102db0560e9ec89a47ce96de\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Nuon Stack Terraform Provider - Nuon documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Read install configuration and report Terraform install-stack results.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nuoninc.mintlify.app/_mintlify/api/og/v2?division=Stacks\u0026amp;title=Nuon+Stack+Terraform+Provider\u0026amp;description=Read+install+configuration+and+report+Terraform+install-stack+results.\u0026amp;theme=8d50655c64fafbf225a00426\u0026amp;signature=7009d340839b4d3f7ae048f5af2bb85c2cbadbe8102db0560e9ec89a47ce96de\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/nuoninc/WqJ7p4TuQl442aEn/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Nuon documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#256A7F\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nuon.co/guides/nuon-stack-terraform-provider\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/guides/nuon-stack-terraform-provider.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nuon.co/#organization\",\"name\":\"Nuon documentation\",\"url\":\"https://docs.nuon.co\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nuoninc/RZoWFEpvSvd8sGqW/logo/light.svg?fit=max\u0026auto=format\u0026n=RZoWFEpvSvd8sGqW\u0026q=85\u0026s=5fe6681050ff3486a1e940fe9090d74d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nuon.co#website\",\"name\":\"Nuon documentation\",\"url\":\"https://docs.nuon.co\",\"publisher\":{\"@id\":\"https://docs.nuon.co/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nuon.co/guides/nuon-stack-terraform-provider#webpage\",\"url\":\"https://docs.nuon.co/guides/nuon-stack-terraform-provider\",\"name\":\"Nuon Stack Terraform Provider\",\"description\":\"Read install configuration and report Terraform install-stack results.\",\"dateModified\":\"2026-09-04T18:07:32.150Z\",\"isPartOf\":{\"@id\":\"https://docs.nuon.co#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nuon.co/guides/nuon-stack-terraform-provider#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nuon.co/guides/nuon-stack-terraform-provider#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Guides\",\"item\":\"https://docs.nuon.co/guides/building-nuon-apps\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Stacks\",\"item\":\"https://docs.nuon.co/concepts/stacks/stand-alone-vpc\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Nuon Stack Terraform Provider\",\"item\":\"https://docs.nuon.co/guides/nuon-stack-terraform-provider\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.nuon.co/guides/nuon-stack-terraform-provider#article\",\"headline\":\"Nuon Stack Terraform Provider\",\"name\":\"Nuon Stack Terraform Provider\",\"description\":\"Read install configuration and report Terraform install-stack results.\",\"url\":\"https://docs.nuon.co/guides/nuon-stack-terraform-provider\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nuon.co/guides/nuon-stack-terraform-provider#webpage\"},\"dateModified\":\"2026-09-04T18:07:32.150Z\",\"keywords\":\"terraform, provider, stack_config, stack_phone_home, install stack\",\"publisher\":{\"@id\":\"https://docs.nuon.co/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nuon.co#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Nuon documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Nuon documentation","nav":{"global":{"anchors":[]},"tabs":[{"tab":"Getting Started","icon":"rocket","pages":[{"title":"Getting Started","href":"/get-started/introduction"}]},{"tab":"Concepts","icon":"lightbulb","pages":[{"title":"Concepts","href":"/concepts/overview"}]},{"tab":"Guides","icon":"screwdriver-wrench","groups":[{"group":"Guides","pages":[{"group":"Apps","boost":3,"expanded":true,"pages":[{"title":"Building Nuon Apps","href":"/guides/building-nuon-apps"},{"title":"Multiple App Configurations","href":"/guides/multiple-app-configurations"},{"title":"Retaining Resources on Teardown","href":"/guides/retaining-resources-on-teardown"},{"title":"Configuring Inputs \u0026 Secrets","href":"/guides/configuring-inputs-and-secrets"},{"title":"Configuring Sandboxes","href":"/guides/configuring-sandboxes"},{"title":"Cloud Connections","href":"/guides/cloud-connections"},{"title":"Sandbox Builds","href":"/guides/sandbox-builds"},{"title":"Using Variables","href":"/guides/using-variables"},{"title":"Connect GitHub","href":"/guides/vcs"}]},{"group":"Components","boost":3,"expanded":false,"pages":[{"title":"Component Commands","href":"/guides/managing-components"},{"title":"Component Dependencies","href":"/guides/component-dependencies"},{"title":"Toggleable Components","href":"/guides/toggleable-components"},{"title":"Terraform Components","href":"/guides/terraform-components"},{"title":"Helm Chart Components","href":"/guides/helm-chart-components"},{"title":"Kubernetes Manifest Components","href":"/guides/kubernetes-manifest-components"},{"title":"Container Image Components","href":"/guides/container-image-components"},{"title":"Verify Container Image Signatures","href":"/guides/image-signature-verification"},{"title":"Track image patches with update policies","href":"/guides/image-update-policies"},{"title":"Pulumi Components","href":"/guides/pulumi-components"},{"title":"Auto Retries","sidebarTitle":"Auto Retries","href":"/concepts/components/auto-retries"}]},{"group":"Stacks","boost":2,"expanded":false,"pages":[{"title":"Stand-alone VPC","href":"/concepts/stacks/stand-alone-vpc"},{"title":"Customer VPC","href":"/concepts/stacks/customer-vpc"},{"title":"Customer Cluster","href":"/concepts/stacks/customer-cluster"},{"title":"Custom Install Stacks","description":"Provision additional AWS, Azure, or GCP resources with the install stack.","href":"/guides/custom-nested-stacks"},{"title":"Nuon Stack Terraform Provider","href":"/guides/nuon-stack-terraform-provider"},{"title":"Customizing Terraform Stack Templates","description":"Fork or wrap an open-source Terraform install-stack module.","href":"/guides/customizing-terraform-stack-templates"},{"title":"Provision Stacks with CloudFormation","href":"/guides/provision-stacks-with-cloudformation"},{"title":"Provision Stacks with a Terraform Module","href":"/guides/provision-stacks-with-terraform-module"},{"title":"Provision Stacks with Terraform","href":"/guides/provision-stacks-with-terraform"},{"title":"Provision Stacks with Spacelift","href":"/guides/provision-stacks-with-spacelift"}]},{"group":"CLI","boost":2,"expanded":false,"pages":[{"title":"CLI Extensions","href":"/guides/cli-extensions"},{"title":"Using Multiple CLI Versions","href":"/guides/cli-versions"},{"title":"Using Terraform CLI","href":"/guides/terraform-cli"}]},{"group":"README","boost":2,"expanded":false,"pages":[{"title":"Using READMEs","href":"/guides/using-readmes"},{"title":"Programmable READMEs","href":"/guides/programmable-readmes"}]},{"group":"Installs","boost":3,"expanded":false,"pages":[{"title":"Positioning Safety of BYOC","href":"/guides/vendor-customers"},{"title":"Creating Installs","href":"/guides/install-configs"},{"title":"Syncing Install Configs from Git","href":"/guides/install-config-syncing"},{"title":"Component Overrides","href":"/guides/component-overrides"},{"title":"Custom Domains","href":"/guides/custom-domains"}]},{"group":"Actions","boost":3,"expanded":false,"pages":[{"title":"Configure actions","href":"/guides/actions"},{"title":"Run adhoc actions","href":"/guides/adhoc-actions"},{"title":"Container Actions","href":"/guides/container-actions"}]},{"group":"Policies","boost":3,"expanded":false,"pages":[{"title":"Configuring Policies","href":"/guides/configuring-policies"},{"title":"External Image Policies","href":"/guides/external-image-policies"}]},{"group":"Updates and Operations","boost":3,"expanded":false,"pages":[{"title":"Configure app branches","href":"/guides/app-branches"},{"title":"App branch migration","href":"/guides/app-branch-migration"},{"title":"Roll back an install","href":"/guides/rollback-install-config"},{"title":"Reprovision an install","href":"/guides/reprovision-installs"},{"title":"Configure runbooks","href":"/guides/runbooks"},{"title":"Health Checks","href":"/guides/health-checks"},{"title":"Operation Roles","href":"/guides/operation-roles"},{"title":"Runner Management Mode","href":"/guides/runner-management-mode"},{"title":"Customer-Controlled Runner Shutdown","href":"/guides/runner-kill-switch"},{"title":"Export Runner Audit Logs","href":"/guides/export-runner-audit-logs"},{"title":"Manage Install Telemetry","href":"/guides/manage-install-telemetry"}]},{"group":"Automate and Integrate","boost":2,"expanded":false,"pages":[{"title":"Build a UI integration","href":"/guides/ui-integration"},{"title":"Let customers manage their install","href":"/guides/control-plane-integration"},{"title":"Idempotent operations","href":"/guides/idempotent-operations"},{"title":"GitHub Actions","href":"/guides/github-actions"},{"title":"Webhooks","href":"/guides/webhooks"},{"title":"Configure Triggers","href":"/guides/triggers"},{"title":"Slack","href":"/guides/slack"}]},{"group":"Access and Permission","boost":2,"expanded":false,"pages":[{"title":"Team Management","href":"/guides/team-management"},{"title":"Access Control","href":"/concepts/access-control"},{"title":"API Tokens","href":"/concepts/api-tokens"},{"title":"Service Accounts","href":"/concepts/service-accounts"},{"title":"OIDC Federation","href":"/concepts/oidc-federation"}]}]}]},{"tab":"Agents","icon":"robot","pages":[{"title":"Agents","href":"/guides/agents/overview"}]},{"tab":"Reference","icon":"book","pages":[{"title":"Reference","href":"/cli"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/updates/updates"}]}]},"basePath":"","title":"Nuon Stack Terraform Provider - Nuon documentation","buildId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","deploymentId":"dpl_345ReqzYaAjzS9QpeJemsKdb7KDj","dynamics":[],"chunks":[]}