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

[ARO-4562] Migrate DNS to track2 SDK, arm dns client creation. #3625

Merged
merged 8 commits into from
Jun 26, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions go.mod
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ require (
github.com/Azure/azure-sdk-for-go/sdk/azcore v1.9.1
github.com/Azure/azure-sdk-for-go/sdk/azidentity v1.4.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v2 v2.5.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault v1.4.0
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v2 v2.2.1
github.com/Azure/go-autorest/autorest v0.11.29
Expand Down
2 changes: 2 additions & 0 deletions go.sum
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@ github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1 h1:6oNBlSdi1QqM1PNW7FPA6xO
github.com/Azure/azure-sdk-for-go/sdk/internal v1.5.1/go.mod h1:s4kgfzA0covAXNicZHDMN58jExvcng2mC/DepXiF1EI=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v2 v2.5.0 h1:FTNvxTFH/08JBmhcbL5lmLaGYVXokZM6Ni92Mqr+gSg=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v2 v2.5.0/go.mod h1:T0ryqIz5h5qg4HOBni+VeRn24alSqOx1Se1IAwUByOk=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0 h1:lpOxwrQ919lCZoNCd69rVt8u1eLZuMORrGXqy8sNf3c=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns v1.2.0/go.mod h1:fSvRkb8d26z9dbL40Uf/OO6Vo9iExtZK3D0ulRV+8M0=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal v1.1.2 h1:mLY+pNLjCUeKhgnAJWAKhEUQM+RJQo2H1fuGSw1Ky1E=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 v2.0.0 h1:PTFGRSlMKCQelWwxUyYVEUqseBJVemLyqWJjvMyt0do=
github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/keyvault/armkeyvault v1.4.0 h1:HlZMUZW8S4P9oob1nCHxCCKrytxyLc+24nUJGssoEto=
Expand Down
8 changes: 8 additions & 0 deletions pkg/util/azureclient/azuresdk/armdns/generate.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
package armdns

// Copyright (c) Microsoft Corporation.
// Licensed under the Apache License 2.0.

//go:generate rm -rf ../../../../../pkg/util/mocks/azureclient/azuresdk/$GOPACKAGE
//go:generate go run ../../../../../vendor/github.com/golang/mock/mockgen -destination=../../../mocks/azureclient/azuresdk/$GOPACKAGE/$GOPACKAGE.go github.com/Azure/ARO-RP/pkg/util/azureclient/azuresdk/$GOPACKAGE RecordSetsClient,ZonesClient
//go:generate go run ../../../../../vendor/golang.org/x/tools/cmd/goimports -local=github.com/Azure/ARO-RP -e -w ../../../mocks/azureclient/azuresdk/$GOPACKAGE/$GOPACKAGE.go
37 changes: 37 additions & 0 deletions pkg/util/azureclient/azuresdk/armdns/recordsets.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package armdns

// Copyright (c) Microsoft Corporation.
// Licensed under the Apache License 2.0.

import (
"context"

"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
sdkdns "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns"
)

// RecordSetsClient is a minimal interface for azure RecordSetsClient
type RecordSetsClient interface {
CreateOrUpdate(ctx context.Context, resourceGroupName string, zoneName string, relativeRecordSetName string, recordType sdkdns.RecordType, parameters sdkdns.RecordSet, options *sdkdns.RecordSetsClientCreateOrUpdateOptions) (sdkdns.RecordSetsClientCreateOrUpdateResponse, error)
Delete(ctx context.Context, resourceGroupName string, zoneName string, relativeRecordSetName string, recordType sdkdns.RecordType, options *sdkdns.RecordSetsClientDeleteOptions) (sdkdns.RecordSetsClientDeleteResponse, error)
Get(ctx context.Context, resourceGroupName string, zoneName string, relativeRecordSetName string, recordType sdkdns.RecordType, options *sdkdns.RecordSetsClientGetOptions) (sdkdns.RecordSetsClientGetResponse, error)
}

type recordSetsClient struct {
sdkdns.RecordSetsClient
}

var _ RecordSetsClient = &recordSetsClient{}

// NewRecordSetsClient creates a new RecordSetsClient
func NewRecordSetsClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) RecordSetsClient {
clientFactory, err := sdkdns.NewClientFactory(subscriptionID, credential, options)
if err != nil {
return nil
}
client := clientFactory.NewRecordSetsClient()
return &recordSetsClient{
RecordSetsClient: *client,
}
}
35 changes: 35 additions & 0 deletions pkg/util/azureclient/azuresdk/armdns/zones.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
package armdns

// Copyright (c) Microsoft Corporation.
// Licensed under the Apache License 2.0.

import (
"context"

"github.com/Azure/azure-sdk-for-go/sdk/azcore"
"github.com/Azure/azure-sdk-for-go/sdk/azcore/arm"
sdkdns "github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dns/armdns"
)

// ZonesClient is a minimal interface for azure ZonesClient
type ZonesClient interface {
Get(ctx context.Context, resourceGroupName string, zoneName string, options *sdkdns.ZonesClientGetOptions) (sdkdns.ZonesClientGetResponse, error)
}

type zonesClient struct {
sdkdns.ZonesClient
}

var _ ZonesClient = &zonesClient{}

// NewZonesClient creates a new ZonesClient
func NewZonesClient(subscriptionID string, credential azcore.TokenCredential, options *arm.ClientOptions) ZonesClient {
clientFactory, err := sdkdns.NewClientFactory(subscriptionID, credential, options)
if err != nil {
return nil
}
client := clientFactory.NewZonesClient()
return &zonesClient{
ZonesClient: *client,
}
}
119 changes: 119 additions & 0 deletions pkg/util/mocks/azureclient/azuresdk/armdns/armdns.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading