This project provides a Golang package that makes it easy to consume and manage Microsoft Azure Services.
- Install Golang: https://golang.org/doc/install
- Get Azure SDK package:
go get github.com/MSOpenTech/azure-sdk-for-go
- Install:
go install github.com/MSOpenTech/azure-sdk-for-go
Create linux VM:
package main
import (
"fmt"
"os"
"github.com/MSOpenTech/azure-sdk-for-go/management"
"github.com/MSOpenTech/azure-sdk-for-go/management/virtualmachine"
)
func main() {
dnsName := "test-vm-from-go"
location := "West US"
vmSize := "Small"
vmImage := "b39f27a8b8c64d52b05eac6a62ebad85__Ubuntu-14_04-LTS-amd64-server-20140724-en-us-30GB"
userName := "testuser"
userPassword := "Test123"
sshCert := ""
sshPort := 22
client, err := management.NewClientFromPublishSettings(SUBSCRIPTION_ID, SUBSCRIPTION_CERTIFICATE)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
vmClient := virtualmachine.NewClient(client)
vmConfig, err := vmClient.CreateAzureVMConfiguration(dnsName, vmSize, vmImage, location)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
vmConfig, err = vmClient.AddAzureLinuxProvisioningConfig(vmConfig, userName, userPassword, sshCert, sshPort)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
err = vmClient.CreateAzureVM(vmConfig, dnsName, location)
if err != nil {
fmt.Println(err)
os.Exit(1)
}
}