
Skill
sdaf-workspace-and-tfvars
manage SDAF workspace and tfvars configuration
Description
Explain and validate the SDAF `WORKSPACES` layout (DEPLOYER / LIBRARY / LANDSCAPE / SYSTEM), the region-code naming convention, and how the four tfvars files hang off it. Grounded in `docs/local/README.md § Configuration and state layout`, `docs/region-codes.md`, and the samples repo `sap-automation-samples/docs/01-00-terraform-samples.md`. Use when a user says "how do I lay out WORKSPACES", "which tfvars go where", "SDAF naming convention", "how should I name my parameter files", "region code", "control-plane vs library vs landscape vs system tfvars", or "location_short". Do NOT use to deploy anything or to select a BOM (see sdaf-bom-selection).
SKILL.md
SDAF Workspaces and tfvars
Context-primer. Answers "where does each tfvars go, and what must the directory names look like?" — grounded in the shipped docs. Hands off to the matching deploy skill.
When to invoke
Trigger on: "WORKSPACES layout", "which tfvars", "region code", "SDAF naming convention", "location_short", "unkn fallback", "DEPLOYER/LIBRARY/LANDSCAPE/ SYSTEM".
Do NOT trigger on: deploying, running validate.sh (that's
sdaf-readiness-check), selecting a BOM (sdaf-bom-selection).
The four workspaces
Docs (docs/local/README.md § Configuration and state layout) show a
WORKSPACES/ tree outside the SDAF checkout with four leaves. Each leaf
holds a same-named .tfvars file:
WORKSPACES/
├── DEPLOYER/<ENV>-<CODE>-<DEPLOYER>-INFRASTRUCTURE/<same>.tfvars
├── LIBRARY/<ENV>-<CODE>-SAP_LIBRARY/<same>.tfvars
├── LANDSCAPE/<ENV>-<CODE>-<VNET>-INFRASTRUCTURE/<same>.tfvars
└── SYSTEM/<ENV>-<CODE>-<VNET>-<SID>/<same>.tfvars
Sources: docs/local/README.md § Configuration and state layout;
sample layout also documented in
sap-automation-samples/docs/01-00-terraform-samples.md § Inputs.
Naming convention
docs/region-codes.md § Where the region code appears defines the tokens
and the pattern:
<ENV>— DEV / QA / PRD / MGMT / LAB.<CODE>— the uppercase region code fromdocs/region-codes.md § Supported regions; unmapped regions fall back tounknper§ Unmapped regions fall back to unkn.<DEPLOYER>— deployer identifier (e.g.DEP00,DEP01).<VNET>— network identifier (e.g.SAP01,SAP02).<SID>— SAP SID (e.g.X00,HA2,WIN).
Documented examples:
MGMT-WEEU-DEP01-INFRASTRUCTUREMGMT-WEEU-SAP_LIBRARYDEV-WEEU-SAP01-INFRASTRUCTUREDEV-WEEU-SAP01-X00
See references/naming-and-region-codes.md
for the doc-cited example set plus the "region codes appear in six places"
note.
Filename must match the containing directory
Every documented example uses the same name for the directory and the
.tfvars file inside it. Deploy scripts require you to cd into the
directory containing the tfvars and pass the basename only
(docs/local/troubleshooting.md § A parameter file is not found). Mismatch
between directory name / file name / declared environment/region/network/SID
is one of the shipped stage-script validation gates.
Do not "fix" a mismatch by editing state — re-name to match, or fix the tfvars content.
Relationship of the four workspaces
- DEPLOYER + LIBRARY together form the control plane; the library stores remote Terraform state.
- LANDSCAPE (workload zone) reads control-plane / deployer state.
- SYSTEM reads deployer + landscape state.
The enforced deploy order (control plane → workload zone → SAP system) is
stated in sdaf-orientation-and-surface § The spine (order is enforced),
which is the canonical statement. Doc anchors: docs/local/README.md § Complete the journey; each stage doc's § What the automation does /
§ Outcome.
GitHub-Actions-generated SYSTEM tfvars
For the GitHub Actions surface, docs say 04-create-system-environment.yml
generates and commits the SAP-system WORKSPACES
(docs/documentation-source-map.md § Lifecycle capability sources). Do not
hand-author the SYSTEM tfvars in that flow; treat the generation step as the
source of truth.
Hand-off
- To validate a prepared workspace:
sdaf-readiness-check(drivesvalidate.sh). - To deploy:
sdaf-control-plane-bootstrap→sdaf-workload-zone→sdaf-sap-system. - To pick a BOM referenced from SYSTEM tfvars:
sdaf-bom-selection.
See also
sdaf-readiness-check,sdaf-control-plane-bootstrap,sdaf-workload-zone,sdaf-sap-system,sdaf-bom-selection.docs/local/README.md,docs/region-codes.md,sap-automation-samples/docs/01-00-terraform-samples.md.
More skills from the sap-automation repository
View all 18 skillssdaf-bom-selection
select SAP Bill of Materials
Sep 2AzureConfigurationSAPsdaf-control-plane-bootstrap
deploy SDAF control plane infrastructure
Sep 2AzureDeploymentInfrastructureSAPsdaf-failure-triage
triage failed SAP automation runs
Sep 2AzureDiagnosticsOperationsSAP +1sdaf-ha-diagnostics
diagnose SDAF high-availability cluster failures
Sep 2AzureDiagnosticsOperationsSAPsdaf-ha-topology
design high-availability SAP topologies
Sep 2ArchitectureAzureInfrastructureSAPsdaf-media-acquisition
acquire SAP installation media
Sep 2AzureOperationsSAP
More from Azure (Microsoft)
View publisherazure-arg-external-evaluation-policy-author
author and test Azure Resource Graph policies
azure-policy
Jul 12AzureComplianceGovernancePolicyazure-blueprints-migration
migrate Azure Blueprints to Template Specs
azure-blueprints
Aug 20AzureDeploymentInfrastructure as CodeMigrationsdaf-media-diagnostics
diagnose SDAF media and BOM processing
sap-automation
Sep 2AzureDiagnosticsSAPStoragesdaf-orientation-and-surface
orient users to SDAF architecture
sap-automation
Sep 2ArchitectureAzureDocumentationSAPsdaf-plan-and-test-semantics
manage SDAF plan and test semantics
sap-automation
Sep 2AutomationAzureAzure DevOpsCI/CD +1sdaf-quality-assurance
validate deployed SDAF SAP systems
sap-automation
Sep 2AutomationAzureQuality AssuranceSAP