pkg/util/azureclient/mgmt/privatedns/virtualnetworklinks_addons.go (30 lines of code) (raw):
package privatedns
// Copyright (c) Microsoft Corporation.
// Licensed under the Apache License 2.0.
import (
"context"
mgmtprivatedns "github.com/Azure/azure-sdk-for-go/services/privatedns/mgmt/2018-09-01/privatedns"
)
// VirtualNetworkLinksClientAddons contains addons for VirtualNetworkLinksClient
type VirtualNetworkLinksClientAddons interface {
DeleteAndWait(ctx context.Context, resourceGroupName string, privateZoneName string, virtualNetworkLinkName string, ifMatch string) error
List(ctx context.Context, resourceGroupName string, privateZoneName string, top *int32) ([]mgmtprivatedns.VirtualNetworkLink, error)
}
func (c *virtualNetworkLinksClient) DeleteAndWait(ctx context.Context, resourceGroupName string, privateZoneName string, virtualNetworkLinkName string, ifMatch string) error {
future, err := c.VirtualNetworkLinksClient.Delete(ctx, resourceGroupName, privateZoneName, virtualNetworkLinkName, ifMatch)
if err != nil {
return err
}
return future.WaitForCompletionRef(ctx, c.Client)
}
func (c *virtualNetworkLinksClient) List(ctx context.Context, resourceGroupName string, privateZoneName string, top *int32) (virtualNetworkLinks []mgmtprivatedns.VirtualNetworkLink, err error) {
page, err := c.VirtualNetworkLinksClient.List(ctx, resourceGroupName, privateZoneName, top)
if err != nil {
return nil, err
}
for page.NotDone() {
virtualNetworkLinks = append(virtualNetworkLinks, page.Values()...)
err = page.NextWithContext(ctx)
if err != nil {
return nil, err
}
}
return virtualNetworkLinks, nil
}