mirror of https://github.com/k3s-io/k3s
Merge pull request #74182 from andyzhangx/azuredisk-snapshot-client
add azure disk snapshot client in azure cloud providerpull/564/head
commit
2de487c91f
|
@ -38,6 +38,7 @@ import (
|
|||
cloudprovider "k8s.io/cloud-provider"
|
||||
"k8s.io/kubernetes/pkg/cloudprovider/providers/azure/auth"
|
||||
|
||||
"github.com/Azure/azure-sdk-for-go/services/compute/mgmt/2018-10-01/compute"
|
||||
"github.com/Azure/go-autorest/autorest"
|
||||
"github.com/Azure/go-autorest/autorest/azure"
|
||||
"k8s.io/klog"
|
||||
|
@ -170,6 +171,7 @@ type Cloud struct {
|
|||
VirtualMachinesClient VirtualMachinesClient
|
||||
StorageAccountClient StorageAccountClient
|
||||
DisksClient DisksClient
|
||||
SnapshotsClient *compute.SnapshotsClient
|
||||
FileClient FileClient
|
||||
resourceRequestBackoff wait.Backoff
|
||||
metadata *InstanceMetadataService
|
||||
|
@ -344,6 +346,7 @@ func NewCloud(configReader io.Reader) (cloudprovider.Interface, error) {
|
|||
resourceRequestBackoff: resourceRequestBackoff,
|
||||
|
||||
DisksClient: newAzDisksClient(azClientConfig),
|
||||
SnapshotsClient: newSnapshotsClient(azClientConfig),
|
||||
RoutesClient: newAzRoutesClient(azClientConfig),
|
||||
SubnetsClient: newAzSubnetsClient(azClientConfig),
|
||||
InterfacesClient: newAzInterfacesClient(azClientConfig),
|
||||
|
|
|
@ -1385,6 +1385,18 @@ func (az *azDisksClient) Get(ctx context.Context, resourceGroupName string, disk
|
|||
return
|
||||
}
|
||||
|
||||
func newSnapshotsClient(config *azClientConfig) *compute.SnapshotsClient {
|
||||
snapshotsClient := compute.NewSnapshotsClientWithBaseURI(config.resourceManagerEndpoint, config.subscriptionID)
|
||||
snapshotsClient.Authorizer = autorest.NewBearerAuthorizer(config.servicePrincipalToken)
|
||||
snapshotsClient.PollingDelay = 5 * time.Second
|
||||
if config.ShouldOmitCloudProviderBackoff {
|
||||
snapshotsClient.RetryAttempts = config.CloudProviderBackoffRetries
|
||||
snapshotsClient.RetryDuration = time.Duration(config.CloudProviderBackoffDuration) * time.Second
|
||||
}
|
||||
configureUserAgent(&snapshotsClient.Client)
|
||||
return &snapshotsClient
|
||||
}
|
||||
|
||||
// azVirtualMachineSizesClient implements VirtualMachineSizesClient.
|
||||
type azVirtualMachineSizesClient struct {
|
||||
client compute.VirtualMachineSizesClient
|
||||
|
|
Loading…
Reference in New Issue