Doc Type: Configuration Guide
Tier: Guides | Reader phase: Configuring and Operating
Back to tier overview: guides/index.md
What it is
A Configuration Guide is a step-by-step procedure for configuring an Aviatrix feature, workflow, or integration. It takes a reader from a defined starting state to a defined end state, in a specific tool modality. Every Configuration Guide is written for at least one tool modality. UI is the default — every guide should cover the CoPilot interface unless the feature is not exposed there. The other two modalities are additive:- UI — Steps performed through the Aviatrix CoPilot interface. Required for every guide where the feature is UI-accessible.
- Terraform — Steps performed by writing and applying Terraform configuration. The goal is broad coverage, but not every guide needs a Terraform tab. Prioritize features that are commonly deployed via infrastructure-as-code.
- API — Steps performed by calling the Aviatrix REST API directly. Include only when there is a clear audience for it — typically automation or integration scenarios where the API is the practical path. Not expected for most guides.
<Tabs>), rather than separate documents. Create separate
documents only when the procedures are significantly different in scope or
prerequisites.
Configuration Guides do not explain why an architecture was chosen (that’s
in Architecture docs) or what an Aviatrix component does in depth (that’s in
Component docs). They answer: How do I make this work?
A Configuration Guide may include a brief concept overview (1–2 sentences or
a short paragraph) when the feature involves a concept the reader needs to
understand before following the steps. For industry-standard technologies (BGP,
BFD, IPsec, etc.) that are not Aviatrix-specific, assume the reader knows the
concept — a one-sentence framing is sufficient. Do not elaborate or link out;
readers who need background will search for it themselves. Do not replicate what
belongs in a Component doc.
Goal
After completing a Configuration Guide, the reader has successfully completed a specific configuration task and can verify it is working correctly. They do not need to consult any other document to finish the task — everything required is in the guide.Primary personas
When to create a new Configuration Guide
Create a new Configuration Guide when:- There is a distinct, completable configuration task with a clear start and end state
- The task requires 3 or more steps that must be performed in a specific order
- The task is not already documented as part of a larger workflow guide
- Single-field or single-toggle configuration (that belongs in the UI Reference)
- Conceptual explanations of what something does (that belongs in Components or Architecture docs)
- Troubleshooting procedures (that belongs in Operational Guides)
Required sections
- Overview — 2–4 sentences at the top of the guide, before prerequisites, stating: what the reader will have achieved when they complete this guide, what the guide covers, and any important scope boundaries (“This guide covers X but not Y”). The outcome must be explicit — the reader should know exactly what state they will be in when done. This section is mandatory for all guides.
- Prerequisites — An H2 section listing everything that must be true before starting. Use a bulleted list. Include: required Aviatrix version, cloud provider resources that must exist, required permissions/roles, and any prior configuration tasks that must be complete. This section is not optional.
- Procedure — The core step-by-step content. Use one of these structures:
- UI only: An H2 (e.g.,
## Configure in CoPilot) followed by a<Steps>component - UI + Terraform (and optionally API):
<Tabs>with one<Tab>per modality, each containing its own<Steps>component. See Style Guide for tab ordering. For the Terraform tab specifically, follow Terraform integration in UI-based guides below. - Each
<Step>must have atitleattribute and contain a complete, actionable sentence in imperative mood: “Click Save”, “Set the Gateway Size field to…”, not “You should click Save” - UI element names are always bold
- Navigation paths use the
>separator:CoPilot > Cloud Fabric > Gateways - Reuse snippets where available. When a CoPilot UI Reference page defines an action as a snippet, import and use it rather than duplicating the steps. This keeps both the guide and the UI Reference in sync from a single source. See Style Guide for snippet import syntax.
- UI only: An H2 (e.g.,
- Verification (required when there is a meaningful way to confirm success) — A brief section showing the reader how to confirm the configuration worked. Example: what to check in the UI, what a successful API response looks like, or what Terraform output to expect.
Optional sections
- Next Steps — Links to related guides the reader should follow after completing this one (e.g., after configuring a Transit Gateway, next steps might be configuring Spoke Gateways)
- Related Resources — Links to Component docs, Architecture docs, and Terraform/API reference for this feature. Required when the guide includes a Terraform tab; see Required Related Resources entries for the contents and ordering rules.
Terraform integration in UI-based guides
Most Configuration Guides start as UI procedures and grow a Terraform tab over time. To keep that integration consistent across the documentation, follow the rules below whenever a guide covers both modalities.When to add a Terraform tab
Add a Terraform tab when all of the following are true:- The feature is supported by the Aviatrix Terraform provider or a published Aviatrix module.
- The procedure can be expressed end-to-end in Terraform — no required step has to be performed in the UI.
- The feature is one customers commonly deploy via infrastructure-as-code.
<Note> near the top of the UI procedure pointing at the
Terraform Reference page so the
relationship is explicit without splitting the procedure.
Tab structure
Order tabs UI first, then Terraform. Use these exacttitle and icon
attributes so every guide presents the same affordance to readers:
sync={false} on the <Tabs> wrapper. Mintlify automatically
syncs the selected tab across every <Tabs> group on a page that shares an
identical tab title — this is intended for reader-wide preferences like a
language picker, not for a guide’s modality tabs. A page with more than one
<Tabs> block (for example, a guide with a separate CoPilot UI/Terraform pair
per section) will otherwise force every “Terraform” tab on the page to open
together when the reader clicks any one of them. sync={false} makes each
<Tabs> block behave independently.
Section delimitation and heading hierarchy
The<Tabs> block owns its own H2 section. The H2 that introduces the tabs (for
example, ## Configuration Workflow or
## Establishing Transit Gateway Peering over Public Internet) is followed only
by framing prose and the <Tabs> block — no H3 siblings outside the tabs that
could be mistaken for tab-equivalent peers.
Close the multi-modality block with a horizontal separator (---) on its own
line, surrounded by blank lines, so the visual boundary between the tabs and the
next H2 is unambiguous:
Inside the Terraform tab
Mirror the UI procedure’s shape so a reader can compare both tabs side by side without losing their place.- Intro line — A single sentence naming the resources, data sources, and modules used. Link to the Aviatrix Terraform provider on first use within the guide.
<Steps>block — Preferably, use the same number of phases as the UI procedure or fewer. Each<Step>contains the HCL needed for that phase as a single fencedhclblock.- Data sources first, then resources or modules — Use
data "aviatrix_*"blocks to look up existing infrastructure (VPCs, accounts, gateways) before referencing it. This makes dependencies explicit and improves the error message when a name is wrong. - Final verification step — Every Terraform tab ends with a
<Step>titledVerify and Apply the Configurationwhose body is: Runterraform plan, review the planned changes, and runterraform apply.
Examples sub-section
After the<Steps> block, add an ### Examples heading wrapped in an
<AccordionGroup> with one or more scenario-based accordions. The intro line
directly under ### Examples must call out the single most important argument
or constraint shared by every example below — for example: “Every example sets
enable_peering_over_private_network = false, which is the argument that forces
the peering tunnels over the internet.”
Each <Accordion>:
- Title is scenario-named, not modality-named. Good: AWS Multi-Region DR Peering with Excluded CIDRs and TGW Connections. Bad: Example 1 or Terraform Example.
- Opens with a 2–4 sentence scenario that frames who deploys this pattern, why, and what the example demonstrates that the generic walkthrough does not.
- Uses concrete, role-aligned names for gateways, accounts, and resources —
never placeholders like
aws_tr_gw_nameorcsp1_transit. Follow the convention<role>-<cloud>-<region>(for example,transit-aws-use1,spoke-azure-app). - Surfaces every argument the procedure marks required. If the steps say
enable_peering_over_private_network = false, every accordion sets it. A reader copying the example must end up with a working configuration that matches the procedure. - Comments only where intent is non-obvious. Explain why an exclusion exists, not what a CIDR is. Do not annotate every argument.
- May end with a
<Tip>pointing at the natural follow-on capability (segmentation,for_eachfor scale, FireNet readiness). Link to the relevant Configuration Guide rather than describing the follow-on inline.
Naming and style conventions for HCL
What does not belong in the Terraform tab
Required Related Resources entries
When a guide ships a Terraform tab, the page-level## Related Resources
section is required. It lives at the very end of the page, after every other
section, and lists links in this exact order:
- Aviatrix Terraform provider — Link to the provider on the Terraform Registry.
- Aviatrix modules used by the guide — One bullet per module the Steps or Examples reference. Link to the module’s Registry page; a GitHub repository link is optional.
- Resources used by the guide — One bullet per
aviatrix_*resource referenced in the Steps or Examples. Link to the resource’s documentation page on the Registry. - Data sources used by the guide — One bullet per
data "aviatrix_*"block referenced in the Steps or Examples. Link to the data source’s documentation page on the Registry. - Related Aviatrix documentation — Component docs, Architecture docs, and adjacent Configuration Guides, in that order. Use relative paths for all internal links.
/latest/ if the guide ships for an older version whose argument set has
diverged.
Tone & voice
Instructional and precise. Write in second person (“you”) with imperative verbs for every action step. Be specific about what to click, what to enter, and what to select. Never use vague language like “configure appropriately” or “fill in the required fields.” Every step should have exactly one action. If a step requires the reader to do two things, split it into two steps.Length guidance
100–500 lines. Simple single-task guides (e.g., enabling a toggle) run 80–120 lines. Complex multi-step workflows with multiple modalities (e.g., Edge device onboarding) run 400–500 lines. If a guide exceeds 500 lines, evaluate whether it should be split into a series of shorter guides linked by a Next Steps section.Frontmatter
See Frontmatter Standards for field definitions and formatting rules. Name the title in imperative form. Format:Configure [Feature] or
Set Up [Feature] or Deploy [Component] for [Solution]. Example: Configure
Edge Device Onboarding.
Mintlify components
See Style Guide for component definitions and usage rules. Use<Tabs> for multiple modalities (UI/Terraform/API) and <Steps> for
high-level phase breakdown in complex multi-phase guides. Avoid <CardGroup>
and <Accordion> — the procedure should be linear and fully visible.
Screenshots and images
- Include a screenshot when a UI step involves a dialog, form, or page layout that is difficult to describe in text alone
- Do not include a screenshot for every step — only where visual confirmation adds value
- Store images in the nearest
images/folder relative to the guide file - Wrap all images in
<Frame>with descriptive alt text - Alt text should describe the content, not just label it: “CoPilot Gateway configuration panel showing the Gateway Size dropdown set to C5 Large” not “Gateway settings screenshot”
Linking
- Link in from: Relevant Architecture and Validated Design documents (“Related Resources” section), Operational Guides that depend on prior configuration
- Link out to: Component docs inline when an Aviatrix component or capability is referenced and the reader may benefit from conceptual context — not to indicate this guide “deploys” that component, but to clarify what it is. A guide achieves an outcome that happens to involve components; the relationship is incidental, not hierarchical. Also link to: Terraform/API Reference for the resources involved, related Configuration Guides in a workflow series.