-
Notifications
You must be signed in to change notification settings - Fork 4.7k
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
azurerm_virtual_network_peering
- update to use go-azure-sdk
package
#26065
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @neil-yechenwei. I left some comments around consistency and making sure to use Create/Update/Delete ThenPoll methods. Could you please fix those up?
if err != nil { | ||
return err | ||
} | ||
|
||
locks.ByID(virtualNetworkPeeringResourceType) | ||
defer locks.UnlockByID(virtualNetworkPeeringResourceType) | ||
|
||
existing, err := client.Get(ctx, id.ResourceGroup, id.VirtualNetworkName, id.Name) | ||
existing, err := client.Get(ctx, pointer.From(id)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
existing, err := client.Get(ctx, pointer.From(id)) | |
existing, err := client.Get(ctx, *id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
if err != nil { | ||
return fmt.Errorf("retrieving %s: %+v", *id, err) | ||
} | ||
|
||
if existing.Model == nil || existing.Model.Properties == nil { | ||
return fmt.Errorf("retrieving %s: `properties` was nil", pointer.From(id)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return fmt.Errorf("retrieving %s: `properties` was nil", pointer.From(id)) | |
return fmt.Errorf("retrieving %s: `properties` was nil", *id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
} | ||
} | ||
|
||
future, err := client.CreateOrUpdate(ctx, id.ResourceGroup, id.VirtualNetworkName, id.Name, existing, network.SyncRemoteAddressSpaceTrue) | ||
future, err := client.CreateOrUpdate(ctx, pointer.From(id), pointer.From(existing.Model), virtualnetworkpeerings.CreateOrUpdateOperationOptions{SyncRemoteAddressSpace: pointer.To(virtualnetworkpeerings.SyncRemoteAddressSpaceTrue)}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
future, err := client.CreateOrUpdate(ctx, pointer.From(id), pointer.From(existing.Model), virtualnetworkpeerings.CreateOrUpdateOperationOptions{SyncRemoteAddressSpace: pointer.To(virtualnetworkpeerings.SyncRemoteAddressSpaceTrue)}) | |
if err := client.CreateOrUpdate(ctx, *id, *existing.Model, virtualnetworkpeerings.CreateOrUpdateOperationOptions{SyncRemoteAddressSpace: pointer.To(virtualnetworkpeerings.SyncRemoteAddressSpaceTrue)}); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
if err != nil { | ||
return fmt.Errorf("updating %s: %+v", *id, err) | ||
} | ||
if err := future.WaitForCompletionRef(ctx, client.Client); err != nil { | ||
if err := future.Poller.PollUntilDone(ctx); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be able to replace this by the CreateOrUpdateThenPoll
method
if err := future.Poller.PollUntilDone(ctx); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
if err != nil { | ||
return err | ||
} | ||
|
||
resp, err := client.Get(ctx, id.ResourceGroup, id.VirtualNetworkName, id.Name) | ||
resp, err := client.Get(ctx, pointer.From(id)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resp, err := client.Get(ctx, pointer.From(id)) | |
resp, err := client.Get(ctx, *id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
if err != nil { | ||
return fmt.Errorf("deleting %s: %+v", *id, err) | ||
} | ||
|
||
if err = future.WaitForCompletionRef(ctx, client.Client); err != nil { | ||
if err = future.Poller.PollUntilDone(ctx); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if err = future.Poller.PollUntilDone(ctx); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
if err != nil { | ||
return nil, err | ||
} | ||
resp, err := clients.Network.VnetPeeringsClient.Get(ctx, id.ResourceGroup, id.VirtualNetworkName, id.Name) | ||
resp, err := clients.Network.VirtualNetworkPeerings.Get(ctx, pointer.From(id)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
resp, err := clients.Network.VirtualNetworkPeerings.Get(ctx, pointer.From(id)) | |
resp, err := clients.Network.VirtualNetworkPeerings.Get(ctx, *id) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
if err != nil { | ||
return nil, fmt.Errorf("reading %s: %+v", *id, err) | ||
} | ||
|
||
return utils.Bool(resp.ID != nil), nil | ||
return utils.Bool(resp.Model != nil), nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
return utils.Bool(resp.Model != nil), nil | |
return pointer.To(resp.Model != nil), nil |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
if err != nil { | ||
return nil, err | ||
} | ||
|
||
future, err := client.Network.VnetPeeringsClient.Delete(ctx, id.ResourceGroup, id.VirtualNetworkName, id.Name) | ||
future, err := client.Network.VirtualNetworkPeerings.Delete(ctx, pointer.From(id)) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
future, err := client.Network.VirtualNetworkPeerings.Delete(ctx, pointer.From(id)) | |
if err := client.Network.VirtualNetworkPeerings.DeleteThenPoll(ctx, *id); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
if err != nil { | ||
return nil, fmt.Errorf("deleting on virtual network peering: %+v", err) | ||
} | ||
|
||
if err = future.WaitForCompletionRef(ctx, client.Network.VnetPeeringsClient.Client); err != nil { | ||
if err = future.Poller.PollUntilDone(ctx); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
if err = future.Poller.PollUntilDone(ctx); err != nil { |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated
@stephybun , thanks for the comments. I updated PR. Please take another look. Below is the latest test result I just now triggered. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @neil-yechenwei LGTM 👍
I'm going to lock this pull request because it has been closed for 30 days ⏳. This helps our maintainers find and focus on the active contributions. |
Community Note
Description
Service team is requesting new feature Subnet Peering and this feature only exists in API version 2023-11-01. So we have to update resource to use go-azure-sdk package first and then upgrade API version to 2023-11-01.
PR Checklist
For example: “
resource_name_here
- description of change e.g. adding propertynew_property_name_here
”Changes to existing Resource / Data Source
Testing
Change Log
Below please provide what should go into the changelog (if anything) conforming to the Changelog Format documented here.
azurerm_virtual_network_peering
- update to usego-azure-sdk
packageThis is a (please select all that apply):
Note
If this PR changes meaningfully during the course of review please update the title and description as required.