mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-08-18 16:21:13 +00:00
Upgrade virtualmachin/disk/storageaccount client to use new SDK
This commit is contained in:
parent
b1b930a39b
commit
8a0cae8647
@ -22,11 +22,9 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/Azure/azure-sdk-for-go/arm/compute"
|
||||
"github.com/Azure/azure-sdk-for-go/arm/disk"
|
||||
"github.com/Azure/azure-sdk-for-go/arm/storage"
|
||||
computepreview "github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2017-12-01/compute"
|
||||
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2017-12-01/compute"
|
||||
"github.com/Azure/azure-sdk-for-go/services/network/mgmt/2017-09-01/network"
|
||||
"github.com/Azure/azure-sdk-for-go/services/storage/mgmt/2017-10-01/storage"
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/adal"
|
||||
"github.com/golang/glog"
|
||||
@ -84,10 +82,9 @@ type SubnetListResultPage interface {
|
||||
|
||||
// VirtualMachinesClient defines needed functions for azure compute.VirtualMachinesClient
|
||||
type VirtualMachinesClient interface {
|
||||
CreateOrUpdate(resourceGroupName string, VMName string, parameters compute.VirtualMachine, cancel <-chan struct{}) (<-chan compute.VirtualMachine, <-chan error)
|
||||
Get(resourceGroupName string, VMName string, expand compute.InstanceViewTypes) (result compute.VirtualMachine, err error)
|
||||
List(resourceGroupName string) (result compute.VirtualMachineListResult, err error)
|
||||
ListNextResults(resourceGroupName string, lastResults compute.VirtualMachineListResult) (result compute.VirtualMachineListResult, err error)
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, VMName string, parameters compute.VirtualMachine) (resp *http.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, VMName string, expand compute.InstanceViewTypes) (result compute.VirtualMachine, err error)
|
||||
List(ctx context.Context, resourceGroupName string) (result []compute.VirtualMachine, err error)
|
||||
}
|
||||
|
||||
// InterfacesClient defines needed functions for azure network.InterfacesClient
|
||||
@ -131,20 +128,20 @@ type SecurityGroupsClient interface {
|
||||
List(resourceGroupName string) (result SecurityGroupListResultPage, err error)
|
||||
}
|
||||
|
||||
// VirtualMachineScaleSetsClient defines needed functions for azure computepreview.VirtualMachineScaleSetsClient
|
||||
// VirtualMachineScaleSetsClient defines needed functions for azure compute.VirtualMachineScaleSetsClient
|
||||
type VirtualMachineScaleSetsClient interface {
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, VMScaleSetName string, parameters computepreview.VirtualMachineScaleSet) (resp *http.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, VMScaleSetName string) (result computepreview.VirtualMachineScaleSet, err error)
|
||||
List(ctx context.Context, resourceGroupName string) (result []computepreview.VirtualMachineScaleSet, err error)
|
||||
UpdateInstances(ctx context.Context, resourceGroupName string, VMScaleSetName string, VMInstanceIDs computepreview.VirtualMachineScaleSetVMInstanceRequiredIDs) (resp *http.Response, err error)
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, VMScaleSetName string, parameters compute.VirtualMachineScaleSet) (resp *http.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, VMScaleSetName string) (result compute.VirtualMachineScaleSet, err error)
|
||||
List(ctx context.Context, resourceGroupName string) (result []compute.VirtualMachineScaleSet, err error)
|
||||
UpdateInstances(ctx context.Context, resourceGroupName string, VMScaleSetName string, VMInstanceIDs compute.VirtualMachineScaleSetVMInstanceRequiredIDs) (resp *http.Response, err error)
|
||||
}
|
||||
|
||||
// VirtualMachineScaleSetVMsClient defines needed functions for azure computepreview.VirtualMachineScaleSetVMsClient
|
||||
// VirtualMachineScaleSetVMsClient defines needed functions for azure compute.VirtualMachineScaleSetVMsClient
|
||||
type VirtualMachineScaleSetVMsClient interface {
|
||||
Get(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result computepreview.VirtualMachineScaleSetVM, err error)
|
||||
GetInstanceView(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result computepreview.VirtualMachineScaleSetVMInstanceView, err error)
|
||||
List(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string) (result []computepreview.VirtualMachineScaleSetVM, err error)
|
||||
Update(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, parameters computepreview.VirtualMachineScaleSetVM) (resp *http.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result compute.VirtualMachineScaleSetVM, err error)
|
||||
GetInstanceView(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result compute.VirtualMachineScaleSetVMInstanceView, err error)
|
||||
List(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string) (result []compute.VirtualMachineScaleSetVM, err error)
|
||||
Update(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, parameters compute.VirtualMachineScaleSetVM) (resp *http.Response, err error)
|
||||
}
|
||||
|
||||
// RoutesClient defines needed functions for azure network.RoutesClient
|
||||
@ -161,18 +158,18 @@ type RouteTablesClient interface {
|
||||
|
||||
// StorageAccountClient defines needed functions for azure storage.AccountsClient
|
||||
type StorageAccountClient interface {
|
||||
Create(resourceGroupName string, accountName string, parameters storage.AccountCreateParameters, cancel <-chan struct{}) (<-chan storage.Account, <-chan error)
|
||||
Delete(resourceGroupName string, accountName string) (result autorest.Response, err error)
|
||||
ListKeys(resourceGroupName string, accountName string) (result storage.AccountListKeysResult, err error)
|
||||
ListByResourceGroup(resourceGroupName string) (result storage.AccountListResult, err error)
|
||||
GetProperties(resourceGroupName string, accountName string) (result storage.Account, err error)
|
||||
Create(ctx context.Context, resourceGroupName string, accountName string, parameters storage.AccountCreateParameters) (result *http.Response, err error)
|
||||
Delete(ctx context.Context, resourceGroupName string, accountName string) (result autorest.Response, err error)
|
||||
ListKeys(ctx context.Context, resourceGroupName string, accountName string) (result storage.AccountListKeysResult, err error)
|
||||
ListByResourceGroup(ctx context.Context, resourceGroupName string) (result storage.AccountListResult, err error)
|
||||
GetProperties(ctx context.Context, resourceGroupName string, accountName string) (result storage.Account, err error)
|
||||
}
|
||||
|
||||
// DisksClient defines needed functions for azure disk.DisksClient
|
||||
// DisksClient defines needed functions for azure compute.DisksClient
|
||||
type DisksClient interface {
|
||||
CreateOrUpdate(resourceGroupName string, diskName string, diskParameter disk.Model, cancel <-chan struct{}) (<-chan disk.Model, <-chan error)
|
||||
Delete(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan disk.OperationStatusResponse, <-chan error)
|
||||
Get(resourceGroupName string, diskName string) (result disk.Model, err error)
|
||||
CreateOrUpdate(ctx context.Context, resourceGroupName string, diskName string, diskParameter compute.Disk) (resp *http.Response, err error)
|
||||
Delete(ctx context.Context, resourceGroupName string, diskName string) (resp *http.Response, err error)
|
||||
Get(ctx context.Context, resourceGroupName string, diskName string) (result compute.Disk, err error)
|
||||
}
|
||||
|
||||
// azClientConfig contains all essential information to create an Azure client.
|
||||
@ -211,13 +208,11 @@ func newAzVirtualMachinesClient(config *azClientConfig) *azVirtualMachinesClient
|
||||
}
|
||||
}
|
||||
|
||||
func (az *azVirtualMachinesClient) CreateOrUpdate(resourceGroupName string, VMName string, parameters compute.VirtualMachine, cancel <-chan struct{}) (<-chan compute.VirtualMachine, <-chan error) {
|
||||
/* Write rate limiting */
|
||||
func (az *azVirtualMachinesClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, VMName string, parameters compute.VirtualMachine) (resp *http.Response, err error) {
|
||||
// /* Write rate limiting */
|
||||
if !az.rateLimiterWriter.TryAccept() {
|
||||
errChan := createARMRateLimitErrChannel(true, "NSGCreateOrUpdate")
|
||||
resultChan := make(chan compute.VirtualMachine, 1)
|
||||
resultChan <- compute.VirtualMachine{}
|
||||
return resultChan, errChan
|
||||
err = createARMRateLimitErr(true, "VMCreateOrUpdate")
|
||||
return
|
||||
}
|
||||
|
||||
glog.V(10).Infof("azVirtualMachinesClient.CreateOrUpdate(%q, %q): start", resourceGroupName, VMName)
|
||||
@ -225,16 +220,18 @@ func (az *azVirtualMachinesClient) CreateOrUpdate(resourceGroupName string, VMNa
|
||||
glog.V(10).Infof("azVirtualMachinesClient.CreateOrUpdate(%q, %q): end", resourceGroupName, VMName)
|
||||
}()
|
||||
|
||||
errChan := make(chan error, 1)
|
||||
mc := newMetricContext("vm", "create_or_update", resourceGroupName, az.client.SubscriptionID)
|
||||
resultChan, proxyErrChan := az.client.CreateOrUpdate(resourceGroupName, VMName, parameters, cancel)
|
||||
err := <-proxyErrChan
|
||||
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, VMName, parameters)
|
||||
if err != nil {
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
err = future.WaitForCompletion(ctx, az.client.Client)
|
||||
mc.Observe(err)
|
||||
errChan <- err
|
||||
return resultChan, errChan
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
func (az *azVirtualMachinesClient) Get(resourceGroupName string, VMName string, expand compute.InstanceViewTypes) (result compute.VirtualMachine, err error) {
|
||||
func (az *azVirtualMachinesClient) Get(ctx context.Context, resourceGroupName string, VMName string, expand compute.InstanceViewTypes) (result compute.VirtualMachine, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "VMGet")
|
||||
return
|
||||
@ -246,12 +243,12 @@ func (az *azVirtualMachinesClient) Get(resourceGroupName string, VMName string,
|
||||
}()
|
||||
|
||||
mc := newMetricContext("vm", "get", resourceGroupName, az.client.SubscriptionID)
|
||||
result, err = az.client.Get(resourceGroupName, VMName, expand)
|
||||
result, err = az.client.Get(ctx, resourceGroupName, VMName, expand)
|
||||
mc.Observe(err)
|
||||
return
|
||||
}
|
||||
|
||||
func (az *azVirtualMachinesClient) List(resourceGroupName string) (result compute.VirtualMachineListResult, err error) {
|
||||
func (az *azVirtualMachinesClient) List(ctx context.Context, resourceGroupName string) (result []compute.VirtualMachine, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "VMList")
|
||||
return
|
||||
@ -263,26 +260,22 @@ func (az *azVirtualMachinesClient) List(resourceGroupName string) (result comput
|
||||
}()
|
||||
|
||||
mc := newMetricContext("vm", "list", resourceGroupName, az.client.SubscriptionID)
|
||||
result, err = az.client.List(resourceGroupName)
|
||||
iterator, err := az.client.ListComplete(ctx, resourceGroupName)
|
||||
mc.Observe(err)
|
||||
return
|
||||
}
|
||||
|
||||
func (az *azVirtualMachinesClient) ListNextResults(resourceGroupName string, lastResults compute.VirtualMachineListResult) (result compute.VirtualMachineListResult, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "VMListNextResults")
|
||||
return
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
glog.V(10).Infof("azVirtualMachinesClient.ListNextResults(%q): start", lastResults)
|
||||
defer func() {
|
||||
glog.V(10).Infof("azVirtualMachinesClient.ListNextResults(%q): end", lastResults)
|
||||
}()
|
||||
result = make([]compute.VirtualMachine, 0)
|
||||
for ; iterator.NotDone(); err = iterator.Next() {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
|
||||
mc := newMetricContext("vm", "list_next_results", resourceGroupName, az.client.SubscriptionID)
|
||||
result, err = az.client.ListNextResults(lastResults)
|
||||
mc.Observe(err)
|
||||
return
|
||||
result = append(result, iterator.Value())
|
||||
}
|
||||
|
||||
return result, nil
|
||||
}
|
||||
|
||||
// azInterfacesClient implements InterfacesClient.
|
||||
@ -941,13 +934,13 @@ func (az *azSecurityGroupsClient) List(resourceGroupName string) (SecurityGroupL
|
||||
|
||||
// azVirtualMachineScaleSetsClient implements VirtualMachineScaleSetsClient.
|
||||
type azVirtualMachineScaleSetsClient struct {
|
||||
client computepreview.VirtualMachineScaleSetsClient
|
||||
client compute.VirtualMachineScaleSetsClient
|
||||
rateLimiterReader flowcontrol.RateLimiter
|
||||
rateLimiterWriter flowcontrol.RateLimiter
|
||||
}
|
||||
|
||||
func newAzVirtualMachineScaleSetsClient(config *azClientConfig) *azVirtualMachineScaleSetsClient {
|
||||
virtualMachineScaleSetsClient := computepreview.NewVirtualMachineScaleSetsClient(config.subscriptionID)
|
||||
virtualMachineScaleSetsClient := compute.NewVirtualMachineScaleSetsClient(config.subscriptionID)
|
||||
virtualMachineScaleSetsClient.BaseURI = config.resourceManagerEndpoint
|
||||
virtualMachineScaleSetsClient.Authorizer = autorest.NewBearerAuthorizer(config.servicePrincipalToken)
|
||||
virtualMachineScaleSetsClient.PollingDelay = 5 * time.Second
|
||||
@ -960,7 +953,7 @@ func newAzVirtualMachineScaleSetsClient(config *azClientConfig) *azVirtualMachin
|
||||
}
|
||||
}
|
||||
|
||||
func (az *azVirtualMachineScaleSetsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, VMScaleSetName string, parameters computepreview.VirtualMachineScaleSet) (resp *http.Response, err error) {
|
||||
func (az *azVirtualMachineScaleSetsClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, VMScaleSetName string, parameters compute.VirtualMachineScaleSet) (resp *http.Response, err error) {
|
||||
/* Write rate limiting */
|
||||
if !az.rateLimiterWriter.TryAccept() {
|
||||
err = createARMRateLimitErr(true, "VMSSCreateOrUpdate")
|
||||
@ -984,7 +977,7 @@ func (az *azVirtualMachineScaleSetsClient) CreateOrUpdate(ctx context.Context, r
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
func (az *azVirtualMachineScaleSetsClient) Get(ctx context.Context, resourceGroupName string, VMScaleSetName string) (result computepreview.VirtualMachineScaleSet, err error) {
|
||||
func (az *azVirtualMachineScaleSetsClient) Get(ctx context.Context, resourceGroupName string, VMScaleSetName string) (result compute.VirtualMachineScaleSet, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "VMSSGet")
|
||||
return
|
||||
@ -1001,7 +994,7 @@ func (az *azVirtualMachineScaleSetsClient) Get(ctx context.Context, resourceGrou
|
||||
return
|
||||
}
|
||||
|
||||
func (az *azVirtualMachineScaleSetsClient) List(ctx context.Context, resourceGroupName string) (result []computepreview.VirtualMachineScaleSet, err error) {
|
||||
func (az *azVirtualMachineScaleSetsClient) List(ctx context.Context, resourceGroupName string) (result []compute.VirtualMachineScaleSet, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "VMSSList")
|
||||
return
|
||||
@ -1019,7 +1012,7 @@ func (az *azVirtualMachineScaleSetsClient) List(ctx context.Context, resourceGro
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result = make([]computepreview.VirtualMachineScaleSet, 0)
|
||||
result = make([]compute.VirtualMachineScaleSet, 0)
|
||||
for ; iterator.NotDone(); err = iterator.Next() {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -1031,7 +1024,7 @@ func (az *azVirtualMachineScaleSetsClient) List(ctx context.Context, resourceGro
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (az *azVirtualMachineScaleSetsClient) UpdateInstances(ctx context.Context, resourceGroupName string, VMScaleSetName string, VMInstanceIDs computepreview.VirtualMachineScaleSetVMInstanceRequiredIDs) (resp *http.Response, err error) {
|
||||
func (az *azVirtualMachineScaleSetsClient) UpdateInstances(ctx context.Context, resourceGroupName string, VMScaleSetName string, VMInstanceIDs compute.VirtualMachineScaleSetVMInstanceRequiredIDs) (resp *http.Response, err error) {
|
||||
/* Write rate limiting */
|
||||
if !az.rateLimiterWriter.TryAccept() {
|
||||
err = createARMRateLimitErr(true, "VMSSUpdateInstances")
|
||||
@ -1057,13 +1050,13 @@ func (az *azVirtualMachineScaleSetsClient) UpdateInstances(ctx context.Context,
|
||||
|
||||
// azVirtualMachineScaleSetVMsClient implements VirtualMachineScaleSetVMsClient.
|
||||
type azVirtualMachineScaleSetVMsClient struct {
|
||||
client computepreview.VirtualMachineScaleSetVMsClient
|
||||
client compute.VirtualMachineScaleSetVMsClient
|
||||
rateLimiterReader flowcontrol.RateLimiter
|
||||
rateLimiterWriter flowcontrol.RateLimiter
|
||||
}
|
||||
|
||||
func newAzVirtualMachineScaleSetVMsClient(config *azClientConfig) *azVirtualMachineScaleSetVMsClient {
|
||||
virtualMachineScaleSetVMsClient := computepreview.NewVirtualMachineScaleSetVMsClient(config.subscriptionID)
|
||||
virtualMachineScaleSetVMsClient := compute.NewVirtualMachineScaleSetVMsClient(config.subscriptionID)
|
||||
virtualMachineScaleSetVMsClient.BaseURI = config.resourceManagerEndpoint
|
||||
virtualMachineScaleSetVMsClient.Authorizer = autorest.NewBearerAuthorizer(config.servicePrincipalToken)
|
||||
virtualMachineScaleSetVMsClient.PollingDelay = 5 * time.Second
|
||||
@ -1076,7 +1069,7 @@ func newAzVirtualMachineScaleSetVMsClient(config *azClientConfig) *azVirtualMach
|
||||
}
|
||||
}
|
||||
|
||||
func (az *azVirtualMachineScaleSetVMsClient) Get(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result computepreview.VirtualMachineScaleSetVM, err error) {
|
||||
func (az *azVirtualMachineScaleSetVMsClient) Get(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result compute.VirtualMachineScaleSetVM, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "VMSSGet")
|
||||
return
|
||||
@ -1093,7 +1086,7 @@ func (az *azVirtualMachineScaleSetVMsClient) Get(ctx context.Context, resourceGr
|
||||
return
|
||||
}
|
||||
|
||||
func (az *azVirtualMachineScaleSetVMsClient) GetInstanceView(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result computepreview.VirtualMachineScaleSetVMInstanceView, err error) {
|
||||
func (az *azVirtualMachineScaleSetVMsClient) GetInstanceView(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string) (result compute.VirtualMachineScaleSetVMInstanceView, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "VMSSGetInstanceView")
|
||||
return
|
||||
@ -1110,7 +1103,7 @@ func (az *azVirtualMachineScaleSetVMsClient) GetInstanceView(ctx context.Context
|
||||
return
|
||||
}
|
||||
|
||||
func (az *azVirtualMachineScaleSetVMsClient) List(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string) (result []computepreview.VirtualMachineScaleSetVM, err error) {
|
||||
func (az *azVirtualMachineScaleSetVMsClient) List(ctx context.Context, resourceGroupName string, virtualMachineScaleSetName string, filter string, selectParameter string, expand string) (result []compute.VirtualMachineScaleSetVM, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "VMSSList")
|
||||
return
|
||||
@ -1128,7 +1121,7 @@ func (az *azVirtualMachineScaleSetVMsClient) List(ctx context.Context, resourceG
|
||||
return nil, err
|
||||
}
|
||||
|
||||
result = make([]computepreview.VirtualMachineScaleSetVM, 0)
|
||||
result = make([]compute.VirtualMachineScaleSetVM, 0)
|
||||
for ; iterator.NotDone(); err = iterator.Next() {
|
||||
if err != nil {
|
||||
return nil, err
|
||||
@ -1140,7 +1133,7 @@ func (az *azVirtualMachineScaleSetVMsClient) List(ctx context.Context, resourceG
|
||||
return result, nil
|
||||
}
|
||||
|
||||
func (az *azVirtualMachineScaleSetVMsClient) Update(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, parameters computepreview.VirtualMachineScaleSetVM) (resp *http.Response, err error) {
|
||||
func (az *azVirtualMachineScaleSetVMsClient) Update(ctx context.Context, resourceGroupName string, VMScaleSetName string, instanceID string, parameters compute.VirtualMachineScaleSetVM) (resp *http.Response, err error) {
|
||||
if !az.rateLimiterWriter.TryAccept() {
|
||||
err = createARMRateLimitErr(true, "VMSSUpdate")
|
||||
return
|
||||
@ -1357,13 +1350,11 @@ func newAzStorageAccountClient(config *azClientConfig) *azStorageAccountClient {
|
||||
}
|
||||
}
|
||||
|
||||
func (az *azStorageAccountClient) Create(resourceGroupName string, accountName string, parameters storage.AccountCreateParameters, cancel <-chan struct{}) (<-chan storage.Account, <-chan error) {
|
||||
func (az *azStorageAccountClient) Create(ctx context.Context, resourceGroupName string, accountName string, parameters storage.AccountCreateParameters) (result *http.Response, err error) {
|
||||
/* Write rate limiting */
|
||||
if !az.rateLimiterWriter.TryAccept() {
|
||||
errChan := createARMRateLimitErrChannel(true, "StorageAccountCreate")
|
||||
resultChan := make(chan storage.Account, 1)
|
||||
resultChan <- storage.Account{}
|
||||
return resultChan, errChan
|
||||
err = createARMRateLimitErr(true, "StorageAccountCreate")
|
||||
return
|
||||
}
|
||||
|
||||
glog.V(10).Infof("azStorageAccountClient.Create(%q,%q): start", resourceGroupName, accountName)
|
||||
@ -1371,16 +1362,18 @@ func (az *azStorageAccountClient) Create(resourceGroupName string, accountName s
|
||||
glog.V(10).Infof("azStorageAccountClient.Create(%q,%q): end", resourceGroupName, accountName)
|
||||
}()
|
||||
|
||||
errChan := make(chan error, 1)
|
||||
mc := newMetricContext("storage_account", "create", resourceGroupName, az.client.SubscriptionID)
|
||||
resultChan, proxyErrChan := az.client.Create(resourceGroupName, accountName, parameters, cancel)
|
||||
err := <-proxyErrChan
|
||||
future, err := az.client.Create(ctx, resourceGroupName, accountName, parameters)
|
||||
if err != nil {
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
err = future.WaitForCompletion(ctx, az.client.Client)
|
||||
mc.Observe(err)
|
||||
errChan <- err
|
||||
return resultChan, errChan
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
func (az *azStorageAccountClient) Delete(resourceGroupName string, accountName string) (result autorest.Response, err error) {
|
||||
func (az *azStorageAccountClient) Delete(ctx context.Context, resourceGroupName string, accountName string) (result autorest.Response, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "DeleteStorageAccount")
|
||||
return
|
||||
@ -1392,12 +1385,12 @@ func (az *azStorageAccountClient) Delete(resourceGroupName string, accountName s
|
||||
}()
|
||||
|
||||
mc := newMetricContext("storage_account", "delete", resourceGroupName, az.client.SubscriptionID)
|
||||
result, err = az.client.Delete(resourceGroupName, accountName)
|
||||
result, err = az.client.Delete(ctx, resourceGroupName, accountName)
|
||||
mc.Observe(err)
|
||||
return
|
||||
}
|
||||
|
||||
func (az *azStorageAccountClient) ListKeys(resourceGroupName string, accountName string) (result storage.AccountListKeysResult, err error) {
|
||||
func (az *azStorageAccountClient) ListKeys(ctx context.Context, resourceGroupName string, accountName string) (result storage.AccountListKeysResult, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "ListStorageAccountKeys")
|
||||
return
|
||||
@ -1409,12 +1402,12 @@ func (az *azStorageAccountClient) ListKeys(resourceGroupName string, accountName
|
||||
}()
|
||||
|
||||
mc := newMetricContext("storage_account", "list_keys", resourceGroupName, az.client.SubscriptionID)
|
||||
result, err = az.client.ListKeys(resourceGroupName, accountName)
|
||||
result, err = az.client.ListKeys(ctx, resourceGroupName, accountName)
|
||||
mc.Observe(err)
|
||||
return
|
||||
}
|
||||
|
||||
func (az *azStorageAccountClient) ListByResourceGroup(resourceGroupName string) (result storage.AccountListResult, err error) {
|
||||
func (az *azStorageAccountClient) ListByResourceGroup(ctx context.Context, resourceGroupName string) (result storage.AccountListResult, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "ListStorageAccountsByResourceGroup")
|
||||
return
|
||||
@ -1426,12 +1419,12 @@ func (az *azStorageAccountClient) ListByResourceGroup(resourceGroupName string)
|
||||
}()
|
||||
|
||||
mc := newMetricContext("storage_account", "list_by_resource_group", resourceGroupName, az.client.SubscriptionID)
|
||||
result, err = az.client.ListByResourceGroup(resourceGroupName)
|
||||
result, err = az.client.ListByResourceGroup(ctx, resourceGroupName)
|
||||
mc.Observe(err)
|
||||
return
|
||||
}
|
||||
|
||||
func (az *azStorageAccountClient) GetProperties(resourceGroupName string, accountName string) (result storage.Account, err error) {
|
||||
func (az *azStorageAccountClient) GetProperties(ctx context.Context, resourceGroupName string, accountName string) (result storage.Account, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "GetStorageAccount/Properties")
|
||||
return
|
||||
@ -1443,20 +1436,20 @@ func (az *azStorageAccountClient) GetProperties(resourceGroupName string, accoun
|
||||
}()
|
||||
|
||||
mc := newMetricContext("storage_account", "get_properties", resourceGroupName, az.client.SubscriptionID)
|
||||
result, err = az.client.GetProperties(resourceGroupName, accountName)
|
||||
result, err = az.client.GetProperties(ctx, resourceGroupName, accountName)
|
||||
mc.Observe(err)
|
||||
return
|
||||
}
|
||||
|
||||
// azDisksClient implements DisksClient.
|
||||
type azDisksClient struct {
|
||||
client disk.DisksClient
|
||||
client compute.DisksClient
|
||||
rateLimiterReader flowcontrol.RateLimiter
|
||||
rateLimiterWriter flowcontrol.RateLimiter
|
||||
}
|
||||
|
||||
func newAzDisksClient(config *azClientConfig) *azDisksClient {
|
||||
disksClient := disk.NewDisksClientWithBaseURI(config.resourceManagerEndpoint, config.subscriptionID)
|
||||
disksClient := compute.NewDisksClientWithBaseURI(config.resourceManagerEndpoint, config.subscriptionID)
|
||||
disksClient.Authorizer = autorest.NewBearerAuthorizer(config.servicePrincipalToken)
|
||||
disksClient.PollingDelay = 5 * time.Second
|
||||
configureUserAgent(&disksClient.Client)
|
||||
@ -1468,13 +1461,11 @@ func newAzDisksClient(config *azClientConfig) *azDisksClient {
|
||||
}
|
||||
}
|
||||
|
||||
func (az *azDisksClient) CreateOrUpdate(resourceGroupName string, diskName string, diskParameter disk.Model, cancel <-chan struct{}) (<-chan disk.Model, <-chan error) {
|
||||
func (az *azDisksClient) CreateOrUpdate(ctx context.Context, resourceGroupName string, diskName string, diskParameter compute.Disk) (resp *http.Response, err error) {
|
||||
/* Write rate limiting */
|
||||
if !az.rateLimiterWriter.TryAccept() {
|
||||
errChan := createARMRateLimitErrChannel(true, "DiskCreateOrUpdate")
|
||||
resultChan := make(chan disk.Model, 1)
|
||||
resultChan <- disk.Model{}
|
||||
return resultChan, errChan
|
||||
err = createARMRateLimitErr(true, "DiskCreateOrUpdate")
|
||||
return
|
||||
}
|
||||
|
||||
glog.V(10).Infof("azDisksClient.CreateOrUpdate(%q,%q): start", resourceGroupName, diskName)
|
||||
@ -1482,22 +1473,23 @@ func (az *azDisksClient) CreateOrUpdate(resourceGroupName string, diskName strin
|
||||
glog.V(10).Infof("azDisksClient.CreateOrUpdate(%q,%q): end", resourceGroupName, diskName)
|
||||
}()
|
||||
|
||||
errChan := make(chan error, 1)
|
||||
mc := newMetricContext("disks", "create_or_update", resourceGroupName, az.client.SubscriptionID)
|
||||
resultChan, proxyErrChan := az.client.CreateOrUpdate(resourceGroupName, diskName, diskParameter, cancel)
|
||||
err := <-proxyErrChan
|
||||
future, err := az.client.CreateOrUpdate(ctx, resourceGroupName, diskName, diskParameter)
|
||||
mc.Observe(err)
|
||||
errChan <- err
|
||||
return resultChan, errChan
|
||||
if err != nil {
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
err = future.WaitForCompletion(ctx, az.client.Client)
|
||||
mc.Observe(err)
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
func (az *azDisksClient) Delete(resourceGroupName string, diskName string, cancel <-chan struct{}) (<-chan disk.OperationStatusResponse, <-chan error) {
|
||||
func (az *azDisksClient) Delete(ctx context.Context, resourceGroupName string, diskName string) (resp *http.Response, err error) {
|
||||
/* Write rate limiting */
|
||||
if !az.rateLimiterWriter.TryAccept() {
|
||||
errChan := createARMRateLimitErrChannel(true, "DiskDelete")
|
||||
resultChan := make(chan disk.OperationStatusResponse, 1)
|
||||
resultChan <- disk.OperationStatusResponse{}
|
||||
return resultChan, errChan
|
||||
err = createARMRateLimitErr(true, "DiskDelete")
|
||||
return
|
||||
}
|
||||
|
||||
glog.V(10).Infof("azDisksClient.Delete(%q,%q): start", resourceGroupName, diskName)
|
||||
@ -1505,16 +1497,19 @@ func (az *azDisksClient) Delete(resourceGroupName string, diskName string, cance
|
||||
glog.V(10).Infof("azDisksClient.Delete(%q,%q): end", resourceGroupName, diskName)
|
||||
}()
|
||||
|
||||
errChan := make(chan error, 1)
|
||||
mc := newMetricContext("disks", "delete", resourceGroupName, az.client.SubscriptionID)
|
||||
resultChan, proxyErrChan := az.client.Delete(resourceGroupName, diskName, cancel)
|
||||
err := <-proxyErrChan
|
||||
future, err := az.client.Delete(ctx, resourceGroupName, diskName)
|
||||
mc.Observe(err)
|
||||
errChan <- err
|
||||
return resultChan, errChan
|
||||
if err != nil {
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
err = future.WaitForCompletion(ctx, az.client.Client)
|
||||
mc.Observe(err)
|
||||
return future.Response(), err
|
||||
}
|
||||
|
||||
func (az *azDisksClient) Get(resourceGroupName string, diskName string) (result disk.Model, err error) {
|
||||
func (az *azDisksClient) Get(ctx context.Context, resourceGroupName string, diskName string) (result compute.Disk, err error) {
|
||||
if !az.rateLimiterReader.TryAccept() {
|
||||
err = createARMRateLimitErr(false, "GetDisk")
|
||||
return
|
||||
@ -1526,7 +1521,7 @@ func (az *azDisksClient) Get(resourceGroupName string, diskName string) (result
|
||||
}()
|
||||
|
||||
mc := newMetricContext("disks", "get", resourceGroupName, az.client.SubscriptionID)
|
||||
result, err = az.client.Get(resourceGroupName, diskName)
|
||||
result, err = az.client.Get(ctx, resourceGroupName, diskName)
|
||||
mc.Observe(err)
|
||||
return
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user