hashicorp / terraform-provider-azurestack

Terraform provider for Azure Stack
https://www.terraform.io/docs/providers/azurestack/
Mozilla Public License 2.0
40 stars 63 forks source link

network_security_group_id missing #195

Open FawenYo opened 2 years ago

FawenYo commented 2 years ago

Community Note

Terraform (and AzureStack Provider) Version

Terraform v0.13.3 Azurestack v1.0.0

Affected Resource(s)

Description

network_security_group_id argument is missing in Azurestack 1.0.0 with no documents.

Output

Error: Unsupported argument

  on modules/bastion/main.tf line 63, in resource "azurestack_network_interface" "bastion":
  63:   network_security_group_id = azurestack_network_security_group.bastion_ssh.id

An argument named "network_security_group_id" is not expected here.

Steps to Reproduce

  1. terraform apply
paul-towler commented 2 years ago

This also applies to azurestack_subnet

jsburckhardt commented 2 years ago

the azurestack_subnet is also missing route_table_id

jonstevecg commented 1 year ago

any chance that these two items could be fixed any time soon?

simonbrady commented 1 year ago

206 indirectly addresses this by adding the various association resource types that made these attributes redundant in the azurerm provider.

bwilkinscloud commented 1 year ago

We are having the same issue and are looking for a quick resolution soon. When using the azurestack Terraform provider, we are observing an issue where attaching a network security group id to a subnet isn’t an option. In the documentation, it seems like we should be able to supply a network security group id but when attempting this terraform gives us the following error: “Unsupported Argument: An argument named network_security_group_id is not expected here.”

paul-towler commented 1 year ago

@bwilkinscloud We got around this issue by using the azure_stack_virtual_network resource with a dynamic field for subnets that loop through a map of subnets. For example:

resource "azurestack_virtual_network" "main" {
  name                = var.vnet_name
  location            = local.location
  resource_group_name = data.azurestack_resource_group.networks.name
  tags                = local.tags

  address_space = var.address_space
  dns_servers   = var.dns_servers

  dynamic "subnet" {
    for_each = var.subnets

    iterator = subnet
    content {
      name           = subnet.key
      address_prefix = subnet.value.ip_address
      security_group = subnet.value.nsg ? azurestack_network_security_group.vnet.id : null
    }
  }

  depends_on = [var.module_depends_on]
}