From 04064d37d99940fab26c8d17a7a1b77baa871289 Mon Sep 17 00:00:00 2001 From: Jared Holgate Date: Tue, 3 Sep 2024 11:21:26 +0100 Subject: [PATCH 1/3] Fix Terrform starter module docs and samples --- ...Guide]-Quick-Start-Phase-2-Azure-DevOps.md | 13 +- ...[User-Guide]-Quick-Start-Phase-2-GitHub.md | 13 +- .../[User-Guide]-Quick-Start-Phase-2-Local.md | 13 +- ...er-Guide]-Starter-Module-Bicep-Complete.md | 10 +- ...r-Guide]-Starter-Module-Terraform-Basic.md | 26 ++- ...Starter-Module-Terraform-Complete-VNext.md | 69 +++++++ ...uide]-Starter-Module-Terraform-Complete.md | 172 +++--------------- ...-Starter-Module-Terraform-HubNetworking.md | 44 ++--- ...> inputs-azure-devops-bicep-complete.yaml} | 4 +- ... inputs-azure-devops-terraform-basic.yaml} | 8 +- ...azure-devops-terraform-complete-vnext.yaml | 39 ++++ ...nputs-azure-devops-terraform-complete.yaml | 39 ++++ ...-azure-devops-terraform-hubnetworking.yaml | 43 +++++ ...yaml => inputs-github-bicep-complete.yaml} | 2 +- ...aml => inputs-github-terraform-basic.yaml} | 8 +- ...nputs-github-terraform-complete-vnext.yaml | 36 ++++ .../inputs-github-terraform-complete.yaml | 36 ++++ ...inputs-github-terraform-hubnetworking.yaml | 40 ++++ ....yaml => inputs-local-bicep-complete.yaml} | 2 +- ...yaml => inputs-local-terraform-basic.yaml} | 8 +- ...inputs-local-terraform-complete-vnext.yaml | 29 +++ .../inputs-local-terraform-complete.yaml | 29 +++ .../inputs-local-terraform-hubnetworking.yaml | 33 ++++ 23 files changed, 503 insertions(+), 213 deletions(-) create mode 100644 docs/wiki/[User-Guide]-Starter-Module-Terraform-Complete-VNext.md rename docs/wiki/examples/powershell-inputs/{inputs-azure-devops-bicep.yaml => inputs-azure-devops-bicep-complete.yaml} (89%) rename docs/wiki/examples/powershell-inputs/{inputs-azure-devops-terraform.yaml => inputs-azure-devops-terraform-basic.yaml} (85%) create mode 100644 docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-complete-vnext.yaml create mode 100644 docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-complete.yaml create mode 100644 docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-hubnetworking.yaml rename docs/wiki/examples/powershell-inputs/{inputs-github-bicep.yaml => inputs-github-bicep-complete.yaml} (91%) rename docs/wiki/examples/powershell-inputs/{inputs-github-terraform.yaml => inputs-github-terraform-basic.yaml} (83%) create mode 100644 docs/wiki/examples/powershell-inputs/inputs-github-terraform-complete-vnext.yaml create mode 100644 docs/wiki/examples/powershell-inputs/inputs-github-terraform-complete.yaml create mode 100644 docs/wiki/examples/powershell-inputs/inputs-github-terraform-hubnetworking.yaml rename docs/wiki/examples/powershell-inputs/{inputs-local-bicep.yaml => inputs-local-bicep-complete.yaml} (89%) rename docs/wiki/examples/powershell-inputs/{inputs-local-terraform.yaml => inputs-local-terraform-basic.yaml} (79%) create mode 100644 docs/wiki/examples/powershell-inputs/inputs-local-terraform-complete-vnext.yaml create mode 100644 docs/wiki/examples/powershell-inputs/inputs-local-terraform-complete.yaml create mode 100644 docs/wiki/examples/powershell-inputs/inputs-local-terraform-hubnetworking.yaml diff --git a/docs/wiki/[User-Guide]-Quick-Start-Phase-2-Azure-DevOps.md b/docs/wiki/[User-Guide]-Quick-Start-Phase-2-Azure-DevOps.md index e9189dcb..7ad61f30 100644 --- a/docs/wiki/[User-Guide]-Quick-Start-Phase-2-Azure-DevOps.md +++ b/docs/wiki/[User-Guide]-Quick-Start-Phase-2-Azure-DevOps.md @@ -30,7 +30,7 @@ Although you can just run `Deploy-Accelerator` and fill out the prompted inputs, ┗ 📂output ``` -1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-azure-devops-bicep.yaml][example_powershell_inputs_azure_devops_bicep] into that file. +1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-azure-devops-bicep-complete.yaml][example_powershell_inputs_azure_devops_bicep_complete] into that file. 1. Check through the file and update each input as required. It is mandatory to update items with placeholders surrounded by angle brackets `<>`: | Input | Placeholder | Description | @@ -106,7 +106,10 @@ Although you can just run `Deploy-Accelerator` and fill out the prompted inputs, ┗ 📂output ``` -1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-azure-devops-terraform.yaml][example_powershell_inputs_azure_devops_terraform] into that file. +1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from the relevant input file for your chosen starter module: + 1. Basic - [inputs-azure-devops-terraform-basic.yaml][example_powershell_inputs_azure_devops_terraform_basic] + 1. Hub Networking - [inputs-azure-devops-terraform-hubnetworking.yaml][example_powershell_inputs_azure_devops_terraform_hubnetworking] + 1. Complete - [inputs-azure-devops-terraform-complete.yaml][example_powershell_inputs_azure_devops_terraform_complete] 1. Check through the file and update each input as required. It is mandatory to update items with placeholders surrounded by angle brackets `<>`: | Input | Placeholder | Description | @@ -172,5 +175,7 @@ Now head to [Phase 3][wiki_quick_start_phase_3]. [wiki_starter_module_terraform_hubnetworking]: %5BUser-Guide%5D-Starter-Module-Terraform-HubNetworking "Wiki - Start Modules - Terraform Hub Networking" [wiki_starter_module_terraform_complete]: %5BUser-Guide%5D-Starter-Module-Terraform-Complete "Wiki - Starter Modules - Terraform Complete" [wiki_quick_start_phase_3]: %5BUser-Guide%5D-Quick-Start-Phase-3 "Wiki - Quick Start - Phase 3" -[example_powershell_inputs_azure_devops_bicep]: examples/powershell-inputs/inputs-azure-devops-bicep.yaml "Example - PowerShell Inputs - Azure DevOps - Bicep" -[example_powershell_inputs_azure_devops_terraform]: examples/powershell-inputs/inputs-azure-devops-terraform.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform" +[example_powershell_inputs_azure_devops_bicep_complete]: examples/powershell-inputs/inputs-azure-devops-bicep-complete.yaml "Example - PowerShell Inputs - Azure DevOps - Bicep - Complete" +[example_powershell_inputs_azure_devops_terraform_basic]: examples/powershell-inputs/inputs-azure-devops-terraform-basic.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Basic" +[example_powershell_inputs_azure_devops_terraform_hubnetworking]: examples/powershell-inputs/inputs-azure-devops-terraform-hubnetworking.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Hub Networking" +[example_powershell_inputs_azure_devops_terraform_complete]: examples/powershell-inputs/inputs-azure-devops-terraform-complete.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Complete" diff --git a/docs/wiki/[User-Guide]-Quick-Start-Phase-2-GitHub.md b/docs/wiki/[User-Guide]-Quick-Start-Phase-2-GitHub.md index 7c3c7cf8..8acace7c 100644 --- a/docs/wiki/[User-Guide]-Quick-Start-Phase-2-GitHub.md +++ b/docs/wiki/[User-Guide]-Quick-Start-Phase-2-GitHub.md @@ -28,7 +28,7 @@ Although you can just run `Deploy-Accelerator` and fill out the prompted inputs, ┗ 📂output ``` -1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-github-bicep.yaml][example_powershell_inputs_github_bicep] into that file. +1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-github-bicep-complete.yaml][example_powershell_inputs_github_bicep_complete] into that file. 1. Check through the file and update each input as required. It is mandatory to update items with placeholders surrounded by angle brackets `<>`: | Input | Placeholder | Description | @@ -96,7 +96,10 @@ Although you can just run `Deploy-Accelerator` and fill out the prompted inputs, ┗ 📂output ``` -1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-github-terraform.yaml][example_powershell_inputs_github_terraform] into that file. +1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from the relevant input file for your chosen starter module: + 1. Basic - [inputs-github-terraform-basic.yaml][example_powershell_inputs_github_terraform_basic] + 1. Hub Networking - [inputs-github-terraform-hubnetworking.yaml][example_powershell_inputs_github_terraform_hubnetworking] + 1. Complete - [inputs-github-terraform-complete.yaml][example_powershell_inputs_github_terraform_complete] 1. Check through the file and update each input as required. It is mandatory to update items with placeholders surrounded by angle brackets `<>`: | Input | Placeholder | Description | @@ -157,5 +160,7 @@ Now head to [Phase 3][wiki_quick_start_phase_3]. [wiki_starter_module_terraform_hubnetworking]: %5BUser-Guide%5D-Starter-Module-Terraform-HubNetworking "Wiki - Start Modules - Terraform Hub Networking" [wiki_starter_module_terraform_complete]: %5BUser-Guide%5D-Starter-Module-Terraform-Complete "Wiki - Starter Modules - Terraform Complete" [wiki_quick_start_phase_3]: %5BUser-Guide%5D-Quick-Start-Phase-3 "Wiki - Quick Start - Phase 3" -[example_powershell_inputs_github_bicep]: examples/powershell-inputs/inputs-github-bicep.yaml "Example - PowerShell Inputs - GitHub - Bicep" -[example_powershell_inputs_github_terraform]: examples/powershell-inputs/inputs-github-terraform.yaml "Example - PowerShell Inputs - GitHub - Terraform" +[example_powershell_inputs_github_bicep_complete]: examples/powershell-inputs/inputs-github-bicep-complete.yaml "Example - PowerShell Inputs - GitHub - Bicep - Complete" +[example_powershell_inputs_github_terraform_basic]: examples/powershell-inputs/inputs-github-terraform-basic.yaml "Example - PowerShell Inputs - GitHub - Terraform - Basic" +[example_powershell_inputs_github_terraform_hubnetworking]: examples/powershell-inputs/inputs-github-terraform-hubnetworking.yaml "Example - PowerShell Inputs - GitHub - Terraform - Hub Networking" +[example_powershell_inputs_github_terraform_complete]: examples/powershell-inputs/inputs-github-terraform-complete.yaml "Example - PowerShell Inputs - GitHub - Terraform - Complete" diff --git a/docs/wiki/[User-Guide]-Quick-Start-Phase-2-Local.md b/docs/wiki/[User-Guide]-Quick-Start-Phase-2-Local.md index 50c83d25..fcba07fe 100644 --- a/docs/wiki/[User-Guide]-Quick-Start-Phase-2-Local.md +++ b/docs/wiki/[User-Guide]-Quick-Start-Phase-2-Local.md @@ -28,7 +28,7 @@ Although you can just run `Deploy-Accelerator` and fill out the prompted inputs, ┗ 📂output ``` -1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-github-local.yaml][example_powershell_inputs_local_bicep] into that file. +1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-local-bicep-complete.yaml][example_powershell_inputs_local_bicep_complete] into that file. 1. Check through the file and update each input as required. It is mandatory to update items with placeholders surrounded by angle brackets `<>`: | Input | Placeholder | Description | @@ -91,7 +91,10 @@ Although you can just run `Deploy-Accelerator` and fill out the prompted inputs, ┗ 📂output ``` -1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from [inputs-local-terraform.yaml][example_powershell_inputs_local_terraform] into that file. +1. Open your `inputs.yaml` file in Visual Studio Code (or your preferred editor) and copy the content from the relevant input file for your chosen starter module: + 1. Basic - [inputs-local-terraform-basic.yaml][example_powershell_inputs_local_terraform_basic] + 1. Hub Networking - [inputs-local-terraform-hubnetworking.yaml][example_powershell_inputs_local_terraform_hubnetworking] + 1. Complete - [inputs-local-terraform-complete.yaml][example_powershell_inputs_local_terraform_complete] 1. Check through the file and update each input as required. It is mandatory to update items with placeholders surrounded by angle brackets `<>`: | Input | Placeholder | Description | @@ -147,5 +150,7 @@ Now head to [Phase 3][wiki_quick_start_phase_3]. [wiki_starter_module_terraform_hubnetworking]: %5BUser-Guide%5D-Starter-Module-Terraform-HubNetworking "Wiki - Start Modules - Terraform Hub Networking" [wiki_starter_module_terraform_complete]: %5BUser-Guide%5D-Starter-Module-Terraform-Complete "Wiki - Starter Modules - Terraform Complete" [wiki_quick_start_phase_3]: %5BUser-Guide%5D-Quick-Start-Phase-3 "Wiki - Quick Start - Phase 3" -[example_powershell_inputs_local_bicep]: examples/powershell-inputs/inputs-local-bicep.yaml "Example - PowerShell Inputs - Local - Bicep" -[example_powershell_inputs_local_terraform]: examples/powershell-inputs/inputs-local-terraform.yaml "Example - PowerShell Inputs - Local - Terraform" +[example_powershell_inputs_local_bicep_complete]: examples/powershell-inputs/inputs-local-bicep-complete.yaml "Example - PowerShell Inputs - Local - Bicep - Complete" +[example_powershell_inputs_local_terraform_basic]: examples/powershell-inputs/inputs-local-terraform-basic.yaml "Example - PowerShell Inputs - Local - Terraform - Basic" +[example_powershell_inputs_local_terraform_hubnetworking]: examples/powershell-inputs/inputs-local-terraform-hubnetworking.yaml "Example - PowerShell Inputs - Local - Terraform - Hub Networking" +[example_powershell_inputs_local_terraform_complete]: examples/powershell-inputs/inputs-local-terraform-complete.yaml "Example - PowerShell Inputs - Local - Terraform - Complete" diff --git a/docs/wiki/[User-Guide]-Starter-Module-Bicep-Complete.md b/docs/wiki/[User-Guide]-Starter-Module-Bicep-Complete.md index 8efef8ac..070d3a64 100644 --- a/docs/wiki/[User-Guide]-Starter-Module-Bicep-Complete.md +++ b/docs/wiki/[User-Guide]-Starter-Module-Bicep-Complete.md @@ -3,8 +3,9 @@ The `complete` starter module is currently the only option available for Bicep. Example input files can be found here: -- [inputs-azure-devops-bicep.yaml][example_powershell_inputs_azure_devops_bicep] -- [inputs-github-bicep.yaml][example_powershell_inputs_github_bicep] +- [inputs-azure-devops-bicep-complete.yaml][example_powershell_inputs_azure_devops_bicep_complete] +- [inputs-github-bicep-complete.yaml][example_powershell_inputs_github_bicep_complete] +- [inputs-local-bicep-complete.yaml][example_powershell_inputs_local_bicep_complete] The following table describes the inputs required for the `complete` starter module. @@ -19,5 +20,6 @@ The following table describes the inputs required for the `complete` starter mod [//]: # (INSERT LINK LABELS BELOW) [//]: # (************************) -[example_powershell_inputs_azure_devops_bicep]: examples/powershell-inputs/inputs-azure-devops-bicep.yaml "Example - PowerShell Inputs - Azure DevOps - Bicep" -[example_powershell_inputs_github_bicep]: examples/powershell-inputs/inputs-github-bicep.yaml "Example - PowerShell Inputs - GitHub - Bicep" +[example_powershell_inputs_azure_devops_bicep_complete]: examples/powershell-inputs/inputs-azure-devops-bicep-complete.yaml "Example - PowerShell Inputs - Azure DevOps - Bicep - Complete" +[example_powershell_inputs_github_bicep_complete]: examples/powershell-inputs/inputs-github-bicep-complete.yaml "Example - PowerShell Inputs - GitHub - Bicep - Complete" +[example_powershell_inputs_local_bicep_complete]: examples/powershell-inputs/inputs-local-bicep-complete.yaml "Example - PowerShell Inputs - Local - Bicep - Complete" diff --git a/docs/wiki/[User-Guide]-Starter-Module-Terraform-Basic.md b/docs/wiki/[User-Guide]-Starter-Module-Terraform-Basic.md index 022e5202..cfe9c47b 100644 --- a/docs/wiki/[User-Guide]-Starter-Module-Terraform-Basic.md +++ b/docs/wiki/[User-Guide]-Starter-Module-Terraform-Basic.md @@ -1,17 +1,23 @@ -The `basic` starter module creates a management group hierarchy with policy assignments, and deploys management resources such as the Log Analytics Workspace and Automation Account. +The `basic` starter module deploys the management group hierarchy, management resources and policies only. -## High Level Design +Example input files can be found here: -![Alt text](./media/starter-module-basic.png) +- [inputs-azure-devops-terraform-basic.yaml][example_powershell_inputs_azure_devops_terraform_basic] +- [inputs-github-terraform-basic.yaml][example_powershell_inputs_github_terraform_basic] +- [inputs-local-terraform-basic.yaml][example_powershell_inputs_local_terraform_basic] -## Terraform Modules +The following table describes the inputs required for the `basic` starter module. -### `caf-enterprise-scale` +| Input | Placeholder | Description | +| - | -- | --- | +| `root_id` | `` | This is the prefix for the ID of management groups. | +| `root_name` | `` | This is the prefix for the name of management groups. | -The `caf-enterprise-scale` module is solely used for this basic starter module, and has only been populated with its most basic of inputs. It is worth noting that the module itself can be extended to deploy, connectivity resources, custom polices and more. For more information on the module itself see [here](https://github.com/Azure/terraform-azurerm-caf-enterprise-scale). + [//]: # (************************) + [//]: # (INSERT LINK LABELS BELOW) + [//]: # (************************) -## Inputs - -- `root_id`: The root id is the identity for the root management group and a prefix applied to all management group identities. -- `root_name`: The display name for the root management group. +[example_powershell_inputs_azure_devops_terraform_basic]: examples/powershell-inputs/inputs-azure-devops-terraform-basic.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Basic" +[example_powershell_inputs_github_terraform_basic]: examples/powershell-inputs/inputs-github-terraform-basic.yaml "Example - PowerShell Inputs - GitHub - Terraform - Basic" +[example_powershell_inputs_local_terraform_basic]: examples/powershell-inputs/inputs-local-terraform-basic.yaml "Example - PowerShell Inputs - Local - Terraform - Basic" diff --git a/docs/wiki/[User-Guide]-Starter-Module-Terraform-Complete-VNext.md b/docs/wiki/[User-Guide]-Starter-Module-Terraform-Complete-VNext.md new file mode 100644 index 00000000..e61b5834 --- /dev/null +++ b/docs/wiki/[User-Guide]-Starter-Module-Terraform-Complete-VNext.md @@ -0,0 +1,69 @@ + +> **WARNING:** The Complete vNext starter module is a work in progress. Do not use this for any production workloads. + +The `complete_vnext` starter module provides full customization of the Azure Landing Zone using the `config.yaml` file. The `config.yaml` file provides the ability to enable and disable modules, configure module inputs and outputs, and configure module resources. +A custom `config.yaml` file can be passed to the `configuration_file_path` argument of the ALZ PowerShell Module. This allows you to firstly design your Azure Landing Zone, and then deploy it. + +If not specified, the default `config.yaml` file will be used, which can be seen [here](https://github.com/Azure/alz-terraform-accelerator/blob/main/templates/complete_vnext/config.yaml). + +Example input files can be found here: + +- [inputs-azure-devops-terraform-complete_vnext.yaml][example_powershell_inputs_azure_devops_terraform_complete_vnext] +- [inputs-github-terraform-complete_vnext.yaml][example_powershell_inputs_github_terraform_complete_vnext] +- [inputs-local-terraform-complete_vnext.yaml][example_powershell_inputs_local_terraform_complete_vnext] + +The following table describes the inputs required for the `complete_vnext` starter module. + +| Input | Placeholder | Description | +| - | -- | --- | +| `configuration_file_path` | `` | This is the absolute path to the configuration file. E.g. `c:\my-config\config.yaml` or `~/my-config/config.yaml` | +| `default_postfix` | `` | This is the default postfix used for resource names. | + +## Further details on the Complete Starter Module and config file + +The `config.yaml` file also comes with helpful templated variables such as `default_location` and `root_parent_management_group_id` which get prompted for during the ALZ PowerShell Module run. Alternatively, you can opt to not use the templated variables and hard-code the values in the `config.yaml` file. + +> **Note:** We recommend that you use the `caf-enterprise-scale` module for management groups and policies, and the `hubnetworking` module for connectivity resources. However, connectivity resources can be deployed using the `caf-enterprise-scale` module if you desire. + +The schema for the `config.yaml` is documented here - [Configuration YAML Schema][wiki_yaml_schema_reference]. + +### High Level Design + +![Alt text](./media/starter-module-hubnetworking.png) + +### Terraform Modules + +#### `caf-enterprise-scale` + +The `caf-enterprise-scale` module is used to deploy the management group hierarchy, policy assignments and management resources. For more information on the module itself see [here](https://github.com/Azure/terraform-azurerm-caf-enterprise-scale). + +#### `hubnetworking` + +The `hubnetworking` module is used to deploy connectivity resources such as Virtual Networks and Firewalls. +This module can be extended to deploy multiple Virtual Networks at scale, Route Tables, and Resource Locks. For more information on the module itself see [here](https://github.com/Azure/terraform-azurerm-hubnetworking). + +#### `avm-ptn-vnetgateway` + +The `avm-ptn-vnetgateway` module is used to deploy a Virtual Network Gateway inside your Virtual Network. Further configuration can be added (depending on requirements) to deploy Local Network Gateways, configure Virtual Network Gateway Connections, deploy ExpressRoute Gateways, and more. Additional information on the module can be found [here](https://github.com/Azure/terraform-azurerm-avm-ptn-vnetgateway). + +#### `avm-ptn-vwan` + +The `avm-ptn-vwan` module is used to deploy a Virtual WAN. Further configuration can be added (depending on requirements) to deploy VPN Sites, configure VPN Connections, and more. Additional information on the module can be found [here](https://github.com/Azure/terraform-azurerm-avm-ptn-vwan). + +#### Design your Azure Landing Zone through a custom config file + +Create a custom yaml config to tailor to your needs, for example an Azure Landing Zone with a three-region mesh: + +- Example config file for hub and spoke: [config-hub-spoke.yaml][example_starter_module_complete_vnext_config_hub_spoke] +- Example config file for Virtual WAN: [config-vwan.yaml][example_starter_module_complete_vnext_config_vwan] + + [//]: # (************************) + [//]: # (INSERT LINK LABELS BELOW) + [//]: # (************************) + +[wiki_yaml_schema_reference]: %5BUser-Guide%5D-YAML-Schema-Reference "Wiki - YAML Schema Reference" +[example_starter_module_complete_vnext_config_hub_spoke]: examples/starter-module-config/complete_vnext/config-hub-spoke.yaml "Example - Starter Module Config - Complete - Hub and Spoke" +[example_starter_module_complete_vnext_config_vwan]: examples/starter-module-config/complete_vnext/config-vwan.yaml "Example - Starter Module Config - Complete - Virtual WAN" +[example_powershell_inputs_azure_devops_terraform_complete_vnext]: examples/powershell-inputs/inputs-azure-devops-terraform-complete_vnext.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Complete vNext" +[example_powershell_inputs_github_terraform_complete_vnext]: examples/powershell-inputs/inputs-github-terraform-complete_vnext.yaml "Example - PowerShell Inputs - GitHub - Terraform - Complete vNext" +[example_powershell_inputs_local_terraform_complete_vnext]: examples/powershell-inputs/inputs-local-terraform-complete_vnext.yaml "Example - PowerShell Inputs - Local - Terraform - Complete vNext" diff --git a/docs/wiki/[User-Guide]-Starter-Module-Terraform-Complete.md b/docs/wiki/[User-Guide]-Starter-Module-Terraform-Complete.md index d9134e14..e2f29575 100644 --- a/docs/wiki/[User-Guide]-Starter-Module-Terraform-Complete.md +++ b/docs/wiki/[User-Guide]-Starter-Module-Terraform-Complete.md @@ -1,73 +1,23 @@ The `complete` starter module provides full customization of the Azure Landing Zone using the `config.yaml` file. The `config.yaml` file provides the ability to enable and disable modules, configure module inputs and outputs, and configure module resources. -A custom `config.yaml` file can be passed to the `additional_files` argument of the ALZ PowerShell Module. This allows you to firstly design your Azure Landing Zone, and then deploy it. -If not specified, the default `config.yaml` file will be used, which is as follows: - -```yaml -# This file contains templated variables to avoid repeating the same hard-coded values. -# Templated variables are denoted by the dollar curly braces token. The following details each templated variable that you can use: -# `default_location`: This is an Azure location sourced from the `default_location` variable. This can be used to set the location of resources. -# `default_postfix`: This is a string sourced from the variable `default_postfix`. This can be used to append to resource names for consistency. -# `root_parent_management_group_id`: This is the id of the management group that the ALZ hierarchy will be nested under. -# `subscription_id_identity`: The subscription ID of the subscription to deploy the identity resources to, sourced from the variable `subscription_id_identity`. -# `subscription_id_connectivity`: The subscription ID of the subscription to deploy the connectivity resources to, sourced from the variable `subscription_id_connectivity`. -# `subscription_id_management`: The subscription ID of the subscription to deploy the management resources to, sourced from the variable `subscription_id_management`. ---- -archetypes: # `caf-enterprise-scale` module, add inputs as listed on the module registry where necessary. - root_name: es - root_id: Enterprise-Scale - subscription_id_connectivity: ${subscription_id_connectivity} - subscription_id_identity: ${subscription_id_identity} - subscription_id_management: ${subscription_id_management} - root_parent_id: ${root_parent_management_group_id} - deploy_corp_landing_zones: true - deploy_online_landing_zones: true - default_location: ${default_location} - disable_telemetry: true - deploy_management_resources: true - configure_management_resources: - location: ${default_location} - settings: - security_center: - config: - email_security_contact: "security_contact@replace_me" - advanced: - asc_export_resource_group_name: rg-asc-export - custom_settings_by_resource_type: - azurerm_resource_group: - management: - name: rg-management - azurerm_log_analytics_workspace: - management: - name: log-management - azurerm_automation_account: - management: - name: aa-management -connectivity: - hubnetworking: # `hubnetworking` module, add inputs as listed on the module registry where necessary. - hub_virtual_networks: - primary: - name: vnet-hub - resource_group_name: rg-connectivity - location: ${default_location} - address_space: - - 10.0.0.0/16 - firewall: - name: fw-hub - sku_name: AZFW_VNet - sku_tier: Standard - subnet_address_prefix: 10.0.1.0/24 - zones: ["1", "2", "3"] - default_ip_configuration: - public_ip_config: - zones: ["1", "2", "3"] - name: "pip-hub" - virtual_network_gateway: # `avm-ptn-vnetgateway` module, add inputs as listed on the module registry where necessary. - name: vgw-hub - subnet_address_prefix: 10.0.2.0/24 - vwan: # `avm-ptn-vwan` module, add inputs as listed on the module registry where necessary. - -``` +A custom `config.yaml` file can be passed to the `configuration_file_path` argument of the ALZ PowerShell Module. This allows you to firstly design your Azure Landing Zone, and then deploy it. + +If not specified, the default `config.yaml` file will be used, which can be seen [here](https://github.com/Azure/alz-terraform-accelerator/blob/main/templates/complete/config.yaml). + +Example input files can be found here: + +- [inputs-azure-devops-terraform-complete.yaml][example_powershell_inputs_azure_devops_terraform_complete] +- [inputs-github-terraform-complete.yaml][example_powershell_inputs_github_terraform_complete] +- [inputs-local-terraform-complete.yaml][example_powershell_inputs_local_terraform_complete] + +The following table describes the inputs required for the `complete` starter module. + +| Input | Placeholder | Description | +| - | -- | --- | +| `configuration_file_path` | `` | This is the absolute path to the configuration file. E.g. `c:\my-config\config.yaml` or `~/my-config/config.yaml` | +| `default_postfix` | `` | This is the default postfix used for resource names. | + +## Further details on the Complete Starter Module and config file The `config.yaml` file also comes with helpful templated variables such as `default_location` and `root_parent_management_group_id` which get prompted for during the ALZ PowerShell Module run. Alternatively, you can opt to not use the templated variables and hard-code the values in the `config.yaml` file. @@ -75,109 +25,43 @@ The `config.yaml` file also comes with helpful templated variables such as `defa The schema for the `config.yaml` is documented here - [Configuration YAML Schema][wiki_yaml_schema_reference]. -## High Level Design +### High Level Design ![Alt text](./media/starter-module-hubnetworking.png) -## Terraform Modules +### Terraform Modules -### `caf-enterprise-scale` +#### `caf-enterprise-scale` The `caf-enterprise-scale` module is used to deploy the management group hierarchy, policy assignments and management resources. For more information on the module itself see [here](https://github.com/Azure/terraform-azurerm-caf-enterprise-scale). -### `hubnetworking` +#### `hubnetworking` The `hubnetworking` module is used to deploy connectivity resources such as Virtual Networks and Firewalls. This module can be extended to deploy multiple Virtual Networks at scale, Route Tables, and Resource Locks. For more information on the module itself see [here](https://github.com/Azure/terraform-azurerm-hubnetworking). -### `avm-ptn-vnetgateway` +#### `avm-ptn-vnetgateway` The `avm-ptn-vnetgateway` module is used to deploy a Virtual Network Gateway inside your Virtual Network. Further configuration can be added (depending on requirements) to deploy Local Network Gateways, configure Virtual Network Gateway Connections, deploy ExpressRoute Gateways, and more. Additional information on the module can be found [here](https://github.com/Azure/terraform-azurerm-avm-ptn-vnetgateway). -### `avm-ptn-vwan` +#### `avm-ptn-vwan` The `avm-ptn-vwan` module is used to deploy a Virtual WAN. Further configuration can be added (depending on requirements) to deploy VPN Sites, configure VPN Connections, and more. Additional information on the module can be found [here](https://github.com/Azure/terraform-azurerm-avm-ptn-vwan). -## Inputs - -- `configuration_file_path`: This is the path to your custom config file if you wish to supply one. Leaving this empty will use the default `config.yaml` file. This must be specified as an absolute file paths (e.g. c:\\my-config\\my-config.yaml or /home/user/my-config/my-config.yaml). If you don't supply an absolute path, it will fail. - -## Example - -### Design your Azure Landing Zone through a custom config file +#### Design your Azure Landing Zone through a custom config file Create a custom yaml config to tailor to your needs, for example an Azure Landing Zone with a three-region mesh: - Example config file for hub and spoke: [config-hub-spoke.yaml][example_starter_module_complete_config_hub_spoke] - Example config file for Virtual WAN: [config-vwan.yaml][example_starter_module_complete_config_vwan] -```yaml - -# Path of file: C:\users\johndoe\my-config.yaml - -archetypes: # `caf-enterprise-scale` module, add inputs as listed on the module registry where necessary. - root_name: es - root_id: Enterprise-Scale - deploy_corp_landing_zones: true - deploy_online_landing_zones: true - default_location: uksouth - disable_telemetry: true - deploy_management_resources: true -connectivity: - hubnetworking: # `hubnetworking` module, add inputs as listed on the module registry where necessary. - hub_virtual_networks: - primary: - name: vnet-hub-uks - resource_group_name: rg-connectivity-uks - location: uksouth - mesh_peering_enabled: true - address_space: - - 10.0.0.0/16 - secondary: - name: vnet-hub-ukw - resource_group_name: rg-connectivity-ukw - location: ukwest - mesh_peering_enabled: true - address_space: - - 10.1.0.0/16 - tertiary: - name: vnet-hub-ne - resource_group_name: rg-connectivity-ne - location: northeurope - mesh_peering_enabled: true - address_space: - - 10.2.0.0/16 - -``` - -### Use the ALZ PowerShell Module to prepare your Azure Landing Zone for deployment - -Set your inputs.yaml file (See [Frequently Asked Questions][wiki_frequently_asked_questions] for more information on the `inputs.yaml` file.) for the `Deploy-Accelerator` command as follows: - -> **Note:** This is an alternative way of supplying the input arguments to the ALZ PowerShell Module, you can still run it as documented in the Quick Start guide and be prompted for inputs. - -GitHub Example: - -- Example input file: [inputs-github-terraform.yaml][example_powershell_inputs_github_terraform] - -Azure DevOps Example: - -- Example input file: [inputs-azure-devops-terraform.yaml][example_powershell_inputs_azure_devops_terraform] - -Run the accelerator: - -```powershell -# Working Directory: C:\users\johndoe -Deploy-Accelerator -Inputs "inputs.yaml" -autoApprove -``` - [//]: # (************************) [//]: # (INSERT LINK LABELS BELOW) [//]: # (************************) [wiki_yaml_schema_reference]: %5BUser-Guide%5D-YAML-Schema-Reference "Wiki - YAML Schema Reference" -[wiki_frequently_asked_questions]: Frequently-Asked-Questions "Wiki - Frequently Asked Questions" -[example_powershell_inputs_azure_devops_terraform]: examples/powershell-inputs/inputs-azure-devops-terraform.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform" -[example_powershell_inputs_github_terraform]: examples/powershell-inputs/inputs-github-terraform.yaml "Example - PowerShell Inputs - GitHub - Terraform" [example_starter_module_complete_config_hub_spoke]: examples/starter-module-config/complete/config-hub-spoke.yaml "Example - Starter Module Config - Complete - Hub and Spoke" [example_starter_module_complete_config_vwan]: examples/starter-module-config/complete/config-vwan.yaml "Example - Starter Module Config - Complete - Virtual WAN" +[example_powershell_inputs_azure_devops_terraform_complete]: examples/powershell-inputs/inputs-azure-devops-terraform-complete.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Complete" +[example_powershell_inputs_github_terraform_complete]: examples/powershell-inputs/inputs-github-terraform-complete.yaml "Example - PowerShell Inputs - GitHub - Terraform - Complete" +[example_powershell_inputs_local_terraform_complete]: examples/powershell-inputs/inputs-local-terraform-complete.yaml "Example - PowerShell Inputs - Local - Terraform - Complete" diff --git a/docs/wiki/[User-Guide]-Starter-Module-Terraform-HubNetworking.md b/docs/wiki/[User-Guide]-Starter-Module-Terraform-HubNetworking.md index 737b964f..aa797bc5 100644 --- a/docs/wiki/[User-Guide]-Starter-Module-Terraform-HubNetworking.md +++ b/docs/wiki/[User-Guide]-Starter-Module-Terraform-HubNetworking.md @@ -1,37 +1,27 @@ -The `hubnetworking` starter module builds off the `basic` starter module ([Basic Starter Module][wiki_starter_module_basic]) and additionally configures hub networking resources such as the Virtual Network, Firewall and Virtual Network Gateway. +The `hubnetworking` starter module deploys the management group hierarchy, management resources, policies and hub networking. -## High Level Design +Example input files can be found here: -![Alt text](./media/starter-module-hubnetworking.png) +- [inputs-azure-devops-terraform-hubnetworking.yaml][example_powershell_inputs_azure_devops_terraform_hubnetworking] +- [inputs-github-terraform-hubnetworking.yaml][example_powershell_inputs_github_terraform_hubnetworking] +- [inputs-local-terraform-hubnetworking.yaml][example_powershell_inputs_local_terraform_hubnetworking] -## Terraform Modules +The following table describes the inputs required for the `hubnetworking` starter module. -### `caf-enterprise-scale` - -The `caf-enterprise-scale` has been used to deploy the management group hierarchy, policy assignments and management resources. For more information on the module itself see [here](https://github.com/Azure/terraform-azurerm-caf-enterprise-scale). - -### `hubnetworking` - -The `hubnetworking` module is used to deploy connectivity resources such as Virtual Networks and Firewalls. By default, the module will deploy a Virtual Network with a Firewall in your `default_location`. - This module can be extended however to deploy multiple Virtual Networks at scale, Route Tables, and Resource Locks. For more information on the module itself see [here](https://github.com/Azure/terraform-azurerm-hubnetworking). - -### `avm-ptn-vnetgateway` - -The `avm-ptn-vnetgateway` module is used to deploy a Virtual Network Gateway inside your Virtual Network. By default, the resources of the module will not be deployed unless `virtual_network_gateway_creation_enabled` is set to true, if so, the module will deploy a ExpressRoute Gateway with SKU ErGw1AZ. - Further configuration can be added depending on requirements to deploy Local Network Gateways, configure Virtual Network Gateway Connections, deploy ExpressRoute Gateways and more. Additional information on the module can be found [here](https://github.com/Azure/terraform-azurerm-avm-ptn-vnetgateway). - -## Inputs - -- `root_id`: The root id is the identity for the root management group and a prefix applied to all management group identities. -- `root_name`: The display name for the root management group. -- `hub_virtual_network_address_prefix`: The IP address range for the hub network in CIDR format (e.g 10.0.0.0/16). -- `firewall_subnet_address_prefix`: The IP address range for the firewall subnet in CIDR format (e.g. 10.0.0.0/24). -- `gateway_subnet_address_prefix`: The IP address range for the gateway subnet in CIDR format (e.g. 10.0.1.0/24). -- `virtual_network_gateway_creation_enabled`: Whether the virtual network gateway is created. +| Input | Placeholder | Description | +| - | -- | --- | +| `root_id` | `` | This is the prefix for the ID of management groups. | +| `root_name` | `` | This is the prefix for the name of management groups. | +| `hub_virtual_network_address_prefix` | `` | This is the ip address prefix for the hub virtual network. This must be a valid CIDR, e.g. `10.0.0.0/16`. | +| `firewall_subnet_address_prefix` | `` | This is the ip address prefix for the firewall subnet. This must be a valid CIDR, e.g. `10.0.0.0/24`. | +| `gateway_subnet_address_prefix` | `` | This is the ip address prefix for the gateway subnet. This must be a valid CIDR, e.g. `10.0.1.0/24`. | +| `virtual_network_gateway_creation_enabled` | `true` | Determines whether or not to deploy the gateway. | [//]: # (************************) [//]: # (INSERT LINK LABELS BELOW) [//]: # (************************) -[wiki_starter_module_basic]: %5BUser-Guide%5D-Starter-Module-Basic "Wiki - Starter Modules - Basic" +[example_powershell_inputs_azure_devops_terraform_hubnetworking]: examples/powershell-inputs/inputs-azure-devops-terraform-hubnetworking.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Hub Networking" +[example_powershell_inputs_github_terraform_hubnetworking]: examples/powershell-inputs/inputs-github-terraform-hubnetworking.yaml "Example - PowerShell Inputs - GitHub - Terraform - Hub Networking" +[example_powershell_inputs_local_terraform_hubnetworking]: examples/powershell-inputs/inputs-local-terraform-hubnetworking.yaml "Example - PowerShell Inputs - Local - Terraform - Hub Networking" diff --git a/docs/wiki/examples/powershell-inputs/inputs-azure-devops-bicep.yaml b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-bicep-complete.yaml similarity index 89% rename from docs/wiki/examples/powershell-inputs/inputs-azure-devops-bicep.yaml rename to docs/wiki/examples/powershell-inputs/inputs-azure-devops-bicep-complete.yaml index 53d2c4cf..d6c10e3b 100644 --- a/docs/wiki/examples/powershell-inputs/inputs-azure-devops-bicep.yaml +++ b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-bicep-complete.yaml @@ -33,9 +33,9 @@ allow_storage_access_from_my_ip: "false" apply_approvers: "" create_branch_policies: "true" -# Starter Module Specific Variables +# Complete Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Bicep-Complete) Prefix: "alz" -Location: "" Environment: "live" networkType: "hubNetworking" SecurityContact: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform.yaml b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-basic.yaml similarity index 85% rename from docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform.yaml rename to docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-basic.yaml index 8e5b9e3a..5a939e81 100644 --- a/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform.yaml +++ b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-basic.yaml @@ -33,7 +33,7 @@ allow_storage_access_from_my_ip: "false" apply_approvers: "" create_branch_policies: "true" -# Starter Module Specific Variables -default_location: "" -default_postfix: "landing-zone" -configuration_file_path: "" # Only required for the `complete` starter module +# Basic Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Basic) +root_id: "" +root_name: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-complete-vnext.yaml b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-complete-vnext.yaml new file mode 100644 index 00000000..ab77b8f8 --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-complete-vnext.yaml @@ -0,0 +1,39 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-Azure-DevOps#2212-azure-devops-with-terraform + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_azuredevops" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +azure_devops_personal_access_token: "" +azure_devops_agents_personal_access_token: "" +azure_devops_organization_name: "" +use_separate_repository_for_templates: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" +azure_devops_use_organisation_legacy_url: "false" +azure_devops_create_project: "true" +azure_devops_project_name: "" +use_self_hosted_agents: "true" +use_private_networking: "true" +allow_storage_access_from_my_ip: "false" +apply_approvers: "" +create_branch_policies: "true" + +# Complete vNext Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Complete-vNext) +configuration_file_path: "" # Only required for the `complete` starter module. NOTE: This must be an absolute path. +default_postfix: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-complete.yaml b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-complete.yaml new file mode 100644 index 00000000..b74476be --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-complete.yaml @@ -0,0 +1,39 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-Azure-DevOps#2212-azure-devops-with-terraform + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_azuredevops" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +azure_devops_personal_access_token: "" +azure_devops_agents_personal_access_token: "" +azure_devops_organization_name: "" +use_separate_repository_for_templates: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" +azure_devops_use_organisation_legacy_url: "false" +azure_devops_create_project: "true" +azure_devops_project_name: "" +use_self_hosted_agents: "true" +use_private_networking: "true" +allow_storage_access_from_my_ip: "false" +apply_approvers: "" +create_branch_policies: "true" + +# Complete Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Complete) +configuration_file_path: "" # Only required for the `complete` starter module. NOTE: This must be an absolute path. +default_postfix: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-hubnetworking.yaml b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-hubnetworking.yaml new file mode 100644 index 00000000..5cccceaf --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-azure-devops-terraform-hubnetworking.yaml @@ -0,0 +1,43 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-Azure-DevOps#2212-azure-devops-with-terraform + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_azuredevops" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +azure_devops_personal_access_token: "" +azure_devops_agents_personal_access_token: "" +azure_devops_organization_name: "" +use_separate_repository_for_templates: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" +azure_devops_use_organisation_legacy_url: "false" +azure_devops_create_project: "true" +azure_devops_project_name: "" +use_self_hosted_agents: "true" +use_private_networking: "true" +allow_storage_access_from_my_ip: "false" +apply_approvers: "" +create_branch_policies: "true" + +# Hub Networking Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-HubNetworking) +root_id: "" +root_name: "" +hub_virtual_network_address_prefix: "" +firewall_subnet_address_prefix: "" +gateway_subnet_address_prefix: "" +virtual_network_gateway_creation_enabled: "true" diff --git a/docs/wiki/examples/powershell-inputs/inputs-github-bicep.yaml b/docs/wiki/examples/powershell-inputs/inputs-github-bicep-complete.yaml similarity index 91% rename from docs/wiki/examples/powershell-inputs/inputs-github-bicep.yaml rename to docs/wiki/examples/powershell-inputs/inputs-github-bicep-complete.yaml index 86286108..cb7e93b5 100644 --- a/docs/wiki/examples/powershell-inputs/inputs-github-bicep.yaml +++ b/docs/wiki/examples/powershell-inputs/inputs-github-bicep-complete.yaml @@ -31,8 +31,8 @@ apply_approvers: "" create_branch_policies: "true" # Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Bicep-Complete) Prefix: "alz" -Location: "" Environment: "live" networkType: "hubNetworking" SecurityContact: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-github-terraform.yaml b/docs/wiki/examples/powershell-inputs/inputs-github-terraform-basic.yaml similarity index 83% rename from docs/wiki/examples/powershell-inputs/inputs-github-terraform.yaml rename to docs/wiki/examples/powershell-inputs/inputs-github-terraform-basic.yaml index d1be4eb1..ddc9c38b 100644 --- a/docs/wiki/examples/powershell-inputs/inputs-github-terraform.yaml +++ b/docs/wiki/examples/powershell-inputs/inputs-github-terraform-basic.yaml @@ -30,7 +30,7 @@ allow_storage_access_from_my_ip: "false" apply_approvers: "" create_branch_policies: "true" -# Starter Module Specific Variables -default_location: "" -default_postfix: "landing-zone" -configuration_file_path: "" # Only required for the `complete` starter module +# Basic Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Basic) +root_id: "" +root_name: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-github-terraform-complete-vnext.yaml b/docs/wiki/examples/powershell-inputs/inputs-github-terraform-complete-vnext.yaml new file mode 100644 index 00000000..6b49abc1 --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-github-terraform-complete-vnext.yaml @@ -0,0 +1,36 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-GitHub#2222-github-with-terraform + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_github" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +github_personal_access_token: "" +github_runners_personal_access_token: "" +github_organization_name: "" +use_separate_repository_for_templates: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" +use_self_hosted_runners: "true" +use_private_networking: "true" +allow_storage_access_from_my_ip: "false" +apply_approvers: "" +create_branch_policies: "true" + +# Complete vNext Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Complete-vNext) +configuration_file_path: "" # Only required for the `complete` starter module. NOTE: This must be an absolute path. +default_postfix: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-github-terraform-complete.yaml b/docs/wiki/examples/powershell-inputs/inputs-github-terraform-complete.yaml new file mode 100644 index 00000000..cd32423b --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-github-terraform-complete.yaml @@ -0,0 +1,36 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-GitHub#2222-github-with-terraform + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_github" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +github_personal_access_token: "" +github_runners_personal_access_token: "" +github_organization_name: "" +use_separate_repository_for_templates: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" +use_self_hosted_runners: "true" +use_private_networking: "true" +allow_storage_access_from_my_ip: "false" +apply_approvers: "" +create_branch_policies: "true" + +# Complete Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Complete) +configuration_file_path: "" # Only required for the `complete` starter module. NOTE: This must be an absolute path. +default_postfix: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-github-terraform-hubnetworking.yaml b/docs/wiki/examples/powershell-inputs/inputs-github-terraform-hubnetworking.yaml new file mode 100644 index 00000000..2940ae63 --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-github-terraform-hubnetworking.yaml @@ -0,0 +1,40 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-GitHub#2222-github-with-terraform + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_github" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +github_personal_access_token: "" +github_runners_personal_access_token: "" +github_organization_name: "" +use_separate_repository_for_templates: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" +use_self_hosted_runners: "true" +use_private_networking: "true" +allow_storage_access_from_my_ip: "false" +apply_approvers: "" +create_branch_policies: "true" + +# Hub Networking Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-HubNetworking) +root_id: "" +root_name: "" +hub_virtual_network_address_prefix: "" +firewall_subnet_address_prefix: "" +gateway_subnet_address_prefix: "" +virtual_network_gateway_creation_enabled: "true" diff --git a/docs/wiki/examples/powershell-inputs/inputs-local-bicep.yaml b/docs/wiki/examples/powershell-inputs/inputs-local-bicep-complete.yaml similarity index 89% rename from docs/wiki/examples/powershell-inputs/inputs-local-bicep.yaml rename to docs/wiki/examples/powershell-inputs/inputs-local-bicep-complete.yaml index 8e4506d2..d141ba54 100644 --- a/docs/wiki/examples/powershell-inputs/inputs-local-bicep.yaml +++ b/docs/wiki/examples/powershell-inputs/inputs-local-bicep-complete.yaml @@ -24,8 +24,8 @@ environment_name: "mgmt" postfix_number: "1" # Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Bicep-Complete) Prefix: "alz" -Location: "" Environment: "live" networkType: "hubNetworking" SecurityContact: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-local-terraform.yaml b/docs/wiki/examples/powershell-inputs/inputs-local-terraform-basic.yaml similarity index 79% rename from docs/wiki/examples/powershell-inputs/inputs-local-terraform.yaml rename to docs/wiki/examples/powershell-inputs/inputs-local-terraform-basic.yaml index 9031a771..3a605152 100644 --- a/docs/wiki/examples/powershell-inputs/inputs-local-terraform.yaml +++ b/docs/wiki/examples/powershell-inputs/inputs-local-terraform-basic.yaml @@ -23,7 +23,7 @@ service_name: "alz" environment_name: "mgmt" postfix_number: "1" -# Starter Module Specific Variables -default_location: "" -default_postfix: "landing-zone" -configuration_file_path: "" # Only required for the `complete` starter module +# Basic Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Basic) +root_id: "" +root_name: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-local-terraform-complete-vnext.yaml b/docs/wiki/examples/powershell-inputs/inputs-local-terraform-complete-vnext.yaml new file mode 100644 index 00000000..eadc9e73 --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-local-terraform-complete-vnext.yaml @@ -0,0 +1,29 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-Azure-DevOps#2211-azure-devops-with-bicep + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_local" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +target_directory: "" +create_bootstrap_resources_in_azure: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" + +# Complete vNext Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Complete-vNext) +configuration_file_path: "" # Only required for the `complete` starter module. NOTE: This must be an absolute path. +default_postfix: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-local-terraform-complete.yaml b/docs/wiki/examples/powershell-inputs/inputs-local-terraform-complete.yaml new file mode 100644 index 00000000..dc77a092 --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-local-terraform-complete.yaml @@ -0,0 +1,29 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-Azure-DevOps#2211-azure-devops-with-bicep + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_local" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +target_directory: "" +create_bootstrap_resources_in_azure: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" + +# Complete Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-Complete) +configuration_file_path: "" # Only required for the `complete` starter module. NOTE: This must be an absolute path. +default_postfix: "" diff --git a/docs/wiki/examples/powershell-inputs/inputs-local-terraform-hubnetworking.yaml b/docs/wiki/examples/powershell-inputs/inputs-local-terraform-hubnetworking.yaml new file mode 100644 index 00000000..dcc742da --- /dev/null +++ b/docs/wiki/examples/powershell-inputs/inputs-local-terraform-hubnetworking.yaml @@ -0,0 +1,33 @@ +--- +# For detailed instructions on using this file, visit: +# https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Quick-Start-Phase-2-Azure-DevOps#2211-azure-devops-with-bicep + +# Basic Inputs +iac: "terraform" +bootstrap: "alz_local" +starter: "complete" + +# Shared Interface Inputs +bootstrap_location: "" +starter_location: "" +root_parent_management_group_id: "" +subscription_id_management: "" +subscription_id_identity: "" +subscription_id_connectivity: "" + +# Bootstrap Inputs +target_directory: "" +create_bootstrap_resources_in_azure: "true" +bootstrap_subscription_id: "" +service_name: "alz" +environment_name: "mgmt" +postfix_number: "1" + +# Hub Networking Starter Module Specific Variables +# (Details: https://github.com/Azure/ALZ-PowerShell-Module/wiki/%5BUser-Guide%5D-Starter-Module-Terraform-HubNetworking) +root_id: "" +root_name: "" +hub_virtual_network_address_prefix: "" +firewall_subnet_address_prefix: "" +gateway_subnet_address_prefix: "" +virtual_network_gateway_creation_enabled: "true" From 0c6c04e2840eccee68f8f0115c72f462dd3791c3 Mon Sep 17 00:00:00 2001 From: Jared Holgate Date: Tue, 3 Sep 2024 11:28:13 +0100 Subject: [PATCH 2/3] Fix linting --- .github/ISSUE_TEMPLATE/bug_report.yml | 179 +++++++++++---------- .github/ISSUE_TEMPLATE/feature_request.yml | 107 ++++++------ 2 files changed, 144 insertions(+), 142 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.yml b/.github/ISSUE_TEMPLATE/bug_report.yml index e037795c..da175d30 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.yml +++ b/.github/ISSUE_TEMPLATE/bug_report.yml @@ -1,89 +1,90 @@ -name: "Bug report \U0001F41B" -description: Report errors or unexpected behaviour -title: "Bug: " -labels: ['Needs: Triage :mag:','bug'] -body: - - type: markdown - attributes: - value: | - Thank you for taking the time to fill out a bug report. - If you are not running the latest version of this module, please try to reproduce your bug with the latest version before opening an issue. - - type: checkboxes - attributes: - label: Is there an existing issue for this? - description: Please search to see if an issue already exists for the bug you encountered. - options: - - label: I have searched the existing issues - required: true - - type: dropdown - attributes: - label: Infrastrcuture as Code Type? (Required) - description: Are you using Bicep or Terraform? - multiple: false - options: - - bicep - - terraform - validations: - required: true - - type: textarea - id: versions - attributes: - label: Module Versions (Required) - description: Please provide relevant module versions. - value: | - ALZ PowerShell Module: x.x.x - Accelerator Bootstrap Modules: x.x.x - Terraform Starter Modules: x.x.x - Bicep Starter Modules: x.x.x - validations: - required: true - - type: textarea - id: inputs - attributes: - label: Input arguments of the ALZ-PowerShell-Module (Optional) - description: Please provide any relevant input arguments of the ALZ PowerShell Module that can reproduce the issue. - validations: - required: false - - type: textarea - id: debug - attributes: - label: Debug Output/Panic Output (Optional) - description: | - For long debug logs please provide a link to a GitHub Gist containing the complete debug output. Please do NOT paste the debug output in the issue; just paste a link to the Gist. - To obtain the debug output, see the [Terraform documentation on debugging](https://www.terraform.io/docs/internals/debugging.html). - render: shell - validations: - required: false - - type: textarea - id: expected - attributes: - label: Expected Behaviour (Required) - description: What should have happened? - validations: - required: true - - type: textarea - id: actual - attributes: - label: Actual Behaviour (Required) - description: What actually happened? - validations: - required: true - - type: textarea - id: reproduce - attributes: - label: Steps to Reproduce (Optional) - description: | - Please list the steps required to reproduce the issue, e.g. - - type: textarea - id: facts - attributes: - label: Important Factoids (Optional) - description: | - Are there anything atypical about your accounts that we should know? For example: Running in a Azure China/Germany/Government? - - type: textarea - id: references - attributes: - label: References (Optional) - description: | - Information about referencing Github Issues: https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests - Are there any other GitHub issues (open or closed) or pull requests that should be linked here? Such as vendor documentation? +--- +name: "Bug report \U0001F41B" +description: Report errors or unexpected behaviour +title: "Bug: " +labels: ['Needs: Triage :mag:', 'Type: Bug :beetle:'] +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to fill out a bug report. + If you are not running the latest version of this module, please try to reproduce your bug with the latest version before opening an issue. + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the bug you encountered. + options: + - label: I have searched the existing issues + required: true + - type: dropdown + attributes: + label: Infrastrcuture as Code Type? (Required) + description: Are you using Bicep or Terraform? + multiple: false + options: + - bicep + - terraform + validations: + required: true + - type: textarea + id: versions + attributes: + label: Module Versions (Required) + description: Please provide relevant module versions. + value: | + ALZ PowerShell Module: x.x.x + Accelerator Bootstrap Modules: x.x.x + Terraform Starter Modules: x.x.x + Bicep Starter Modules: x.x.x + validations: + required: true + - type: textarea + id: inputs + attributes: + label: Input arguments of the ALZ-PowerShell-Module (Optional) + description: Please provide any relevant input arguments of the ALZ PowerShell Module that can reproduce the issue. + validations: + required: false + - type: textarea + id: debug + attributes: + label: Debug Output/Panic Output (Optional) + description: | + For long debug logs please provide a link to a GitHub Gist containing the complete debug output. Please do NOT paste the debug output in the issue; just paste a link to the Gist. + To obtain the debug output, see the [Terraform documentation on debugging](https://www.terraform.io/docs/internals/debugging.html). + render: shell + validations: + required: false + - type: textarea + id: expected + attributes: + label: Expected Behaviour (Required) + description: What should have happened? + validations: + required: true + - type: textarea + id: actual + attributes: + label: Actual Behaviour (Required) + description: What actually happened? + validations: + required: true + - type: textarea + id: reproduce + attributes: + label: Steps to Reproduce (Optional) + description: | + Please list the steps required to reproduce the issue, e.g. + - type: textarea + id: facts + attributes: + label: Important Factoids (Optional) + description: | + Are there anything atypical about your accounts that we should know? For example: Running in a Azure China/Germany/Government? + - type: textarea + id: references + attributes: + label: References (Optional) + description: | + Information about referencing Github Issues: https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests + Are there any other GitHub issues (open or closed) or pull requests that should be linked here? Such as vendor documentation? diff --git a/.github/ISSUE_TEMPLATE/feature_request.yml b/.github/ISSUE_TEMPLATE/feature_request.yml index bdf16c64..bd27e5f3 100644 --- a/.github/ISSUE_TEMPLATE/feature_request.yml +++ b/.github/ISSUE_TEMPLATE/feature_request.yml @@ -1,53 +1,54 @@ -name: "Feature request \U0001F680" -description: Suggest an idea for this project -title: 'Feature Request: ' -labels: ['Needs: Triage :mag:','enhancement'] -body: - - type: markdown - attributes: - value: | - Thank you for taking the time to fill out a feature request. - - type: checkboxes - attributes: - label: Is there an existing issue for this? - description: Please search to see if an issue already exists for the proposed feature. - options: - - label: I have searched the existing issues - required: true - - type: dropdown - attributes: - label: Infrastrcuture as Code Type? (Required) - description: Are you using Bicep or Terraform? - multiple: false - options: - - bicep - - terraform - validations: - required: true - - type: textarea - id: usecase - attributes: - label: Use Case (Required) - description: Describe the use case for this feature? - validations: - required: true - - type: textarea - id: solution - attributes: - label: Proposed Solution (Required) - description: Describe how this feature could be implemented? - validations: - required: true - - type: textarea - id: facts - attributes: - label: Important Factoids (Optional) - description: | - Are there anything atypical about your accounts that we should know? For example: Running in a Azure China/Germany/Government? - - type: textarea - id: references - attributes: - label: References (Optional) - description: | - Information about referencing Github Issues: https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests - Are there any other GitHub issues (open or closed) or pull requests that should be linked here? Such as vendor documentation? +--- +name: "Feature request \U0001F680" +description: Suggest an idea for this project +title: 'Feature Request: ' +labels: ['Needs: Triage :mag:', 'Type: Enhancement :sparkles:'] +body: + - type: markdown + attributes: + value: | + Thank you for taking the time to fill out a feature request. + - type: checkboxes + attributes: + label: Is there an existing issue for this? + description: Please search to see if an issue already exists for the proposed feature. + options: + - label: I have searched the existing issues + required: true + - type: dropdown + attributes: + label: Infrastrcuture as Code Type? (Required) + description: Are you using Bicep or Terraform? + multiple: false + options: + - bicep + - terraform + validations: + required: true + - type: textarea + id: usecase + attributes: + label: Use Case (Required) + description: Describe the use case for this feature? + validations: + required: true + - type: textarea + id: solution + attributes: + label: Proposed Solution (Required) + description: Describe how this feature could be implemented? + validations: + required: true + - type: textarea + id: facts + attributes: + label: Important Factoids (Optional) + description: | + Are there anything atypical about your accounts that we should know? For example: Running in a Azure China/Germany/Government? + - type: textarea + id: references + attributes: + label: References (Optional) + description: | + Information about referencing Github Issues: https://help.github.com/articles/basic-writing-and-formatting-syntax/#referencing-issues-and-pull-requests + Are there any other GitHub issues (open or closed) or pull requests that should be linked here? Such as vendor documentation? From 9fa655dbdadb21de556b27a430cfe0e598cd6cea Mon Sep 17 00:00:00 2001 From: Jared Holgate Date: Tue, 3 Sep 2024 11:35:08 +0100 Subject: [PATCH 3/3] Update side bar --- docs/wiki/_Sidebar.md | 36 ++++++++++++++++++++++++------------ 1 file changed, 24 insertions(+), 12 deletions(-) diff --git a/docs/wiki/_Sidebar.md b/docs/wiki/_Sidebar.md index a4e6cb14..caba04be 100644 --- a/docs/wiki/_Sidebar.md +++ b/docs/wiki/_Sidebar.md @@ -23,12 +23,18 @@ - [Example Hub and Spoke config][example_starter_module_complete_config_hub_spoke] - [Example Virtual WAN config][example_starter_module_complete_config_vwan] - Input Files - - [Azure DevOps Bicep Inputs][example_powershell_inputs_azure_devops_bicep] - - [Azure DevOps Terraform Inputs][example_powershell_inputs_azure_devops_terraform] - - [GitHub Bicep Inputs][example_powershell_inputs_github_bicep] - - [GitHub Terraform Inputs][example_powershell_inputs_github_terraform] - - [Local Bicep Inputs][example_powershell_inputs_local_bicep] - - [Local Terraform Inputs][example_powershell_inputs_local_terraform] + - [Azure DevOps Bicep Complete][example_powershell_inputs_azure_devops_bicep_complete] + - [Azure DevOps Terraform Basic][example_powershell_inputs_azure_devops_terraform_basic] + - [Azure DevOps Terraform Hub Networking][example_powershell_inputs_azure_devops_terraform_hubnetworking] + - [Azure DevOps Terraform Complete][example_powershell_inputs_azure_devops_terraform_complete] + - [GitHub Bicep Complete][example_powershell_inputs_github_bicep_complete] + - [GitHub Terraform Basic][example_powershell_inputs_github_terraform_basic] + - [GitHub Terraform Hub Networking][example_powershell_inputs_github_terraform_hubnetworking] + - [GitHub Terraform Complete][example_powershell_inputs_github_terraform_complete] + - [Local Bicep Complete][example_powershell_inputs_local_bicep_complete] + - [Local Terraform Basic][example_powershell_inputs_local_terraform_basic] + - [Local Terraform Hub Networking][example_powershell_inputs_local_terraform_hubnetworking] + - [Local Terraform Complete][example_powershell_inputs_local_terraform_complete] - [Frequently Asked Questions][wiki_frequently_asked_questions] - [Upgrade Guide][wiki_upgrade_guide] - [Advanced Scenarios][wiki_advanced_scenarios] @@ -69,11 +75,17 @@ [wiki_contributing_to_documentation]: Contributing-to-Documentation "Wiki - Contributing to documentation" [wiki_upgrade_guide]: Upgrade-Guide "Wiki - Upgrade Guide" [wiki_advanced_scenarios]: %5BUser-Guide%5D-Advanced-Scenarios "Wiki - Advanced Scenarios" -[example_powershell_inputs_azure_devops_bicep]: examples/powershell-inputs/inputs-azure-devops-bicep.yaml "Example - PowerShell Inputs - Azure DevOps - Bicep" -[example_powershell_inputs_azure_devops_terraform]: examples/powershell-inputs/inputs-azure-devops-terraform.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform" -[example_powershell_inputs_github_bicep]: examples/powershell-inputs/inputs-github-bicep.yaml "Example - PowerShell Inputs - GitHub - Bicep" -[example_powershell_inputs_github_terraform]: examples/powershell-inputs/inputs-github-terraform.yaml "Example - PowerShell Inputs - GitHub - Terraform" -[example_powershell_inputs_local_bicep]: examples/powershell-inputs/inputs-local-bicep.yaml "Example - PowerShell Inputs - Local - Bicep" -[example_powershell_inputs_local_terraform]: examples/powershell-inputs/inputs-local-terraform.yaml "Example - PowerShell Inputs - Local - Terraform" +[example_powershell_inputs_azure_devops_bicep_complete]: examples/powershell-inputs/inputs-azure-devops-bicep-complete.yaml "Example - PowerShell Inputs - Azure DevOps - Bicep - Complete" +[example_powershell_inputs_github_bicep_complete]: examples/powershell-inputs/inputs-github-bicep-complete.yaml "Example - PowerShell Inputs - GitHub - Bicep - Complete" +[example_powershell_inputs_local_bicep_complete]: examples/powershell-inputs/inputs-local-bicep-complete.yaml "Example - PowerShell Inputs - Local - Bicep - Complete" +[example_powershell_inputs_azure_devops_terraform_basic]: examples/powershell-inputs/inputs-azure-devops-terraform-basic.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Basic" +[example_powershell_inputs_github_terraform_basic]: examples/powershell-inputs/inputs-github-terraform-basic.yaml "Example - PowerShell Inputs - GitHub - Terraform - Basic" +[example_powershell_inputs_local_terraform_basic]: examples/powershell-inputs/inputs-local-terraform-basic.yaml "Example - PowerShell Inputs - Local - Terraform - Basic" +[example_powershell_inputs_azure_devops_terraform_hubnetworking]: examples/powershell-inputs/inputs-azure-devops-terraform-hubnetworking.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Hub Networking" +[example_powershell_inputs_github_terraform_hubnetworking]: examples/powershell-inputs/inputs-github-terraform-hubnetworking.yaml "Example - PowerShell Inputs - GitHub - Terraform - Hub Networking" +[example_powershell_inputs_local_terraform_hubnetworking]: examples/powershell-inputs/inputs-local-terraform-hubnetworking.yaml "Example - PowerShell Inputs - Local - Terraform - Hub Networking" +[example_powershell_inputs_azure_devops_terraform_complete]: examples/powershell-inputs/inputs-azure-devops-terraform-complete.yaml "Example - PowerShell Inputs - Azure DevOps - Terraform - Complete" +[example_powershell_inputs_github_terraform_complete]: examples/powershell-inputs/inputs-github-terraform-complete.yaml "Example - PowerShell Inputs - GitHub - Terraform - Complete" +[example_powershell_inputs_local_terraform_complete]: examples/powershell-inputs/inputs-local-terraform-complete.yaml "Example - PowerShell Inputs - Local - Terraform - Complete" [example_starter_module_complete_config_hub_spoke]: examples/starter-module-config/complete/config-hub-spoke.yaml "Example - Starter Module Config - Complete - Hub and Spoke" [example_starter_module_complete_config_vwan]: examples/starter-module-config/complete/config-vwan.yaml "Example - Starter Module Config - Complete - Virtual WAN"