|
1 | | -# Azure <> Terraform module |
2 | | -Terraform module for creation Azure <> |
| 1 | +# Azure Devops VMSS Elastic Pool Terraform module |
| 2 | +Terraform module for creation Azure Devops VMSS Elastic Pool |
3 | 3 |
|
4 | 4 | ## Usage |
| 5 | +```hcl |
| 6 | +data "azurerm_subnet" "example" { |
| 7 | + name = "example-name" |
| 8 | + virtual_network_name = "example-vnet-name" |
| 9 | + resource_group_name = "example-rg" |
| 10 | +} |
5 | 11 |
|
| 12 | +module "ado_vmss_agent_pool" { |
| 13 | + source = "data-platform-hq/vmss-pool/azuredevops" |
| 14 | + version = "~> 1.0" |
| 15 | +
|
| 16 | + vm_scale_set_name = "example-vm-scale-set" |
| 17 | + location = "eastus" |
| 18 | + resource_group = "example-rg" |
| 19 | + subnet_id = data.azurerm_subnet.example.id |
| 20 | + ado_project_name = "datahq" |
| 21 | + ado_service_connection_azurerm_name = "example-ado-service-connection-name" |
| 22 | + ado_vmss_pool_name = "example-ado-vmss-pool-name" |
| 23 | +} |
| 24 | +``` |
6 | 25 | <!-- BEGIN_TF_DOCS --> |
| 26 | +## Requirements |
| 27 | + |
| 28 | +| Name | Version | |
| 29 | +| ---------------------------------------------------------------------------- | --------- | |
| 30 | +| <a name="requirement_terraform"></a> [terraform](#requirement\_terraform) | >= 1.0.0 | |
| 31 | +| <a name="requirement_azurerm"></a> [azurerm](#requirement\_azurerm) | >= 3.75.0 | |
| 32 | +| <a name="requirement_azuredevops"></a> [azuredevops](#requirement\_azuredevops) | >= 0.10.0 | |
| 33 | +| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 4.0.5 | |
| 34 | + |
| 35 | +## Providers |
| 36 | + |
| 37 | +| Name | Version | |
| 38 | +| ---------------------------------------------------------------------- | ------- | |
| 39 | +| <a name="provider_azurerm"></a> [azurerm](#provider\_azurerm) | 3.75.0 | |
| 40 | +| <a name="requirement_azuredevops"></a> [azuredevops](#requirement\_azuredevops) | >= 0.10.0 | |
| 41 | +| <a name="requirement_tls"></a> [tls](#requirement\_tls) | >= 4.0.5 | |
| 42 | + |
| 43 | +## Modules |
| 44 | + |
| 45 | +| Module | Path | Version | |
| 46 | +|--------------------------------------------------------------------|--------------------------------|---------| |
| 47 | +| [vmss](https://github.com/data-platform-hq/terraform-azurerm-vmss) | data-platform-hq/vmss/azurerm | 1.1.0 | |
| 48 | + |
| 49 | +## Resources |
| 50 | + |
| 51 | +| Name | Type | |
| 52 | +|------------------------------------------------------------------------------------------------------------------------------------------------------------------|---------| |
| 53 | +| [tls_private_key.this](https://registry.terraform.io/providers/hashicorp/tls/latest/docs/resources/private_key) | resource | |
| 54 | +| [azuredevops_project.this](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/data-sources/project) | data | |
| 55 | +| [azuredevops_serviceendpoint_azurerm.this](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/data-sources/serviceendpoint_azurerm) | data | |
| 56 | +| [azuredevops_elastic_pool.this](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/elastic_pool) | resource | |
| 57 | +| [azuredevops_agent_queue.this](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/agent_queue) | resource | |
| 58 | +| [azuredevops_pipeline_authorization.this](https://registry.terraform.io/providers/microsoft/azuredevops/latest/docs/resources/pipeline_authorization) resource | |
| 59 | + |
| 60 | +## Inputs |
| 61 | + |
| 62 | +| Name | Description | Type | Default | Required | |
| 63 | +|------|-------------|------|-------------------------------------------------------------------------------------------------------------------------------------------------------|:--------:| |
| 64 | +| <a name="input_vm_scale_set_name"></a> [vm\_scale\_set\_name](#input\_vm\_scale\_set\_name)| VM Scale Sets name | `string` | n/a | yes | |
| 65 | +| <a name="input_resource_group"></a> [resource\_group](#input\_resource\_group)| The name of the resource group. | `string` | n/a| yes | |
| 66 | +| <a name="input_location"></a> [location](#input\_location)| The Azure Region in which all resources in this example should be created. | `string` | n/a | yes | |
| 67 | +| <a name="input_subnet_id"></a> [subnet\_id](#input\_subnet\_id)| Subnet where VM Scale Sets would be provisioned | `string` | n/a | yes | |
| 68 | +| <a name="input_ado_project_name"></a> [ado\_project\_name](#input\_ado\_project\_name)| Target Azure DevOps Project name where VMSS agent pool would be provisioned | `string` | n/a | yes | |
| 69 | +| <a name="input_ado_service_connection_azurerm_name"></a> [ado\_service\_connection\_azurerm\_name](#input\_ado\_service\_connection\_azurerm\_name)| Name of existing Azure DevOps Service Connection AzureRM that points to Azure Subscription with VMSS used in agent pool | `string` | n/a | yes | |
| 70 | +| <a name="input_ado_vmss_pool_name"></a> [ado\_vmss\_pool\_name](#input\_ado\_vmss\_pool\_name)| Given name to Azure DevOps VMSS agent pool | `string` | n/a | yes | |
| 71 | +| <a name="input_ado_vmss_pool_configuration"></a> [ado\_vmss\_pool\_configuration](#input\_ado\_vmss\_pool\_configuration)| Object with configuration options for Azure DevOps VMSS agent pool | <pre>object({<br> desired_idle = optional(number)<br> max_capacity = optional(number)<br> time_to_live_minutes = optional(number)<br> recycle_after_each_use = optional(bool)<br>})</pre> |<pre>object({<br> desired_idle = optional(number, 0)<br> max_capacity = optional(number, 3)<br> time_to_live_minutes = optional(number, 30)<br> recycle_after_each_use = optional(bool, false)<br>})</pre> | no | |
| 72 | + |
| 73 | +## Outputs |
| 74 | + |
| 75 | +| Name | Description | |
| 76 | +| ----------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------- | |
| 77 | +| <a name="output_vmss_id"></a> [vmss\_id](#output\_vmss\_id) | VM Scale Sets id | |
| 78 | +| <a name="output_public_ip_prefix"></a> [public\_ip\_prefix](#output\_public\_ip\_prefix) | Public IP Address Prefix CIDR | |
7 | 79 |
|
8 | 80 | <!-- END_TF_DOCS --> |
9 | 81 |
|
10 | 82 | ## License |
11 | 83 |
|
12 | | -Apache 2 Licensed. For more information please see [LICENSE](https://github.com/data-platform-hq/terraform-azurerm<>/tree/master/LICENSE) |
| 84 | +Apache 2 Licensed. For more information please see [LICENSE](https://github.com/data-platform-hq/terraform-azuredevops-vmss-pool/tree/master/LICENSE) |
0 commit comments