Skip to content

Commit

Permalink
Aded DeleteDisk method
Browse files Browse the repository at this point in the history
Aded DeleteDisk method to vmDiskClient.go
  • Loading branch information
ruslangabitov committed Oct 7, 2014
1 parent 72aed89 commit 1988e0c
Show file tree
Hide file tree
Showing 2 changed files with 42 additions and 0 deletions.
13 changes: 13 additions & 0 deletions clients/vmClient/vmClient.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ import (
"github.com/MSOpenTech/azure-sdk-for-go/clients/locationClient"
"github.com/MSOpenTech/azure-sdk-for-go/clients/imageClient"
"github.com/MSOpenTech/azure-sdk-for-go/clients/storageServiceClient"
"github.com/MSOpenTech/azure-sdk-for-go/clients/vmDiskClient"
azure "github.com/MSOpenTech/azure-sdk-for-go"
)

Expand Down Expand Up @@ -329,13 +330,25 @@ func DeleteVMDeployment(cloudserviceName, deploymentName string) error {
return fmt.Errorf(azure.ParamNotSpecifiedError, "deploymentName")
}

vmDeployment, err := GetVMDeployment(cloudserviceName, deploymentName)
if err != nil {
return err
}
vmDiskName := vmDeployment.RoleList.Role[0].OSVirtualHardDisk.DiskName

requestURL := fmt.Sprintf(azureDeploymentURL, cloudserviceName, deploymentName)
requestId, err := azure.SendAzureDeleteRequest(requestURL)
if err != nil {
return err
}

azure.WaitAsyncOperation(requestId)

err = vmDiskClient.DeleteDisk(vmDiskName)
if err != nil {
return err
}

return nil
}

Expand Down
29 changes: 29 additions & 0 deletions clients/vmDiskClient/vmDiskClient.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
package vmDiskClient

import (
"fmt"
azure "github.com/MSOpenTech/azure-sdk-for-go"
)

const (
azureVMDiskURL = "services/disks/%s"
)

//Region public methods starts

func DeleteDisk(diskName string) error {
if len(diskName) == 0 {
return fmt.Errorf(azure.ParamNotSpecifiedError, "diskName")
}

requestURL := fmt.Sprintf(azureVMDiskURL, diskName)
requestId, err := azure.SendAzureDeleteRequest(requestURL)
if err != nil {
return err
}

azure.WaitAsyncOperation(requestId)
return nil
}

//Region public methods ends

0 comments on commit 1988e0c

Please sign in to comment.