kubernetes/kops · error
listing nat gateways: %w
Error message
listing nat gateways: %w
What it means
Listing NAT gateways via the ARM pager failed with an error other than ResourceGroupNotFound (already handled as empty). Fires on authorization, throttling, or transient ARM errors.
Source
Thrown at upup/pkg/fi/cloudup/azure/natgateway.go:68
}
return &resp.NatGateway, err
}
func (c *NatGatewaysClientImpl) List(ctx context.Context, resourceGroupName string) ([]*network.NatGateway, error) {
if resourceGroupName == "" {
return nil, nil
}
var l []*network.NatGateway
pager := c.c.NewListPager(resourceGroupName, nil)
for pager.More() {
resp, err := pager.NextPage(ctx)
if err != nil {
var respErr *azcore.ResponseError
if errors.As(err, &respErr) && respErr.ErrorCode == "ResourceGroupNotFound" {
return nil, nil
}
return nil, fmt.Errorf("listing nat gateways: %w", err)
}
l = append(l, resp.Value...)
}
return l, nil
}
func (c *NatGatewaysClientImpl) Delete(ctx context.Context, resourceGroupName, natGatewayName string) error {
future, err := c.c.BeginDelete(ctx, resourceGroupName, natGatewayName, nil)
if err != nil {
return fmt.Errorf("deleting nat gateway: %w", err)
}
if _, err := future.PollUntilDone(ctx, nil); err != nil {
return fmt.Errorf("waiting for nat gateway deletion completion: %w", err)
}
return nil
}
func newNatGatewaysClientImpl(subscriptionID string, cred *azidentity.DefaultAzureCredential) (*NatGatewaysClientImpl, error) {View on GitHub (pinned to 4c8573c808)
Solutions
- Verify list permissions on the resource group
- Retry after transient ARM errors
Defensive patterns
Strategy: retry
When it happens
Trigger: Thrown at upup/pkg/fi/cloudup/azure/natgateway.go:68 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of kubernetes/kops@4c8573c808 (2026-09-05).
Data as JSON: /api/errors/2cbafeb4a5f701fa.
Report an issue: GitHub.