Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New Resource: azurerm_network_interface_security_group_association #5765

Closed
wants to merge 4 commits into from

Conversation

tombuildsstuff
Copy link
Contributor

This commit introduces a new resource for linking a Network Interface and a Network Security Group which is required to work around a dependency issue in the Azure API where the NSG must be detached in order to be able to delete dependent resources. By introducing a separate resource to do this we can force this in Terraform which also handily works around the issue in the Azure API.

Due to a design limitation which exists in the Azure SDK for Go <-> Azure Resource Manager API - this PR introduces an override from the Go SDK which allows us to remove the Network Security Group ID - which is required for this resource to work.

Ultimately this resource & a patch to the Application Security Group association resource may need to be backported to 1.x - will confirm on Monday.

@tombuildsstuff tombuildsstuff added new-resource service/network-interfaces new-virtual-resource Resources which are split out to enhance the user experience labels Feb 14, 2020
@tombuildsstuff tombuildsstuff requested a review from a team February 14, 2020 19:42
@tombuildsstuff tombuildsstuff self-assigned this Feb 14, 2020
This commit introduces a new resource for linking a Network Interface and a Network Security Group
which is required to work around a dependency issue in the Azure API where the NSG must be detached
in order to be able to delete dependent resources.
@tombuildsstuff tombuildsstuff force-pushed the f/network-interface-nsg-association branch from ca328ae to 05bac6e Compare February 17, 2020 07:39
@tombuildsstuff tombuildsstuff added this to the v2.0.0 milestone Feb 17, 2020
@tombuildsstuff
Copy link
Contributor Author

Tests pass:

Screenshot 2020-02-17 at 09 20 49

Copy link
Member

@jackofallops jackofallops left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One question on test, and possibly a change required for the separator for the association ID?

}

// first double-check it doesn't exist
resourceId := fmt.Sprintf("%s|%s", networkInterfaceId, networkSecurityGroupId)
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The pipe separator may cause issue with terraform import ? (see comment on docs)

@tombuildsstuff
Copy link
Contributor Author

Superseded by #5784

@tombuildsstuff tombuildsstuff deleted the f/network-interface-nsg-association branch February 17, 2020 11:31
@ghost
Copy link

ghost commented Feb 24, 2020

This has been released in version 2.0.0 of the provider. Please see the Terraform documentation on provider versioning or reach out if you need any assistance upgrading. As an example:

provider "azurerm" {
    version = "~> 2.0.0"
}
# ... other configuration ...

@ghost
Copy link

ghost commented Mar 28, 2020

I'm going to lock this issue because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active issues.

If you feel this issue should be reopened, we encourage creating a new issue linking back to this one for added context. If you feel I made an error 🤖 🙉 , please reach out to my human friends 👉 [email protected]. Thanks!

@ghost ghost locked and limited conversation to collaborators Mar 28, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants