package module
v4.2.1 Latest Latest

This package is not in the latest version of its module.

Go to latest
Published: Apr 14, 2023 License: MIT Imports: 16 Imported by: 71


Azure Compute Module for Go


The armcompute module provides operations for working with Azure Compute.

Source code

Getting started


  • an Azure subscription
  • Go 1.18 or above (You could download and install the latest version of Go from here. It will replace the existing Go on your machine. If you want to install multiple Go versions on the same machine, you could refer this doc.)

Install the package

This project uses Go modules for versioning and dependency management.

Install the Azure Compute module:

go get


When creating a client, you will need to provide a credential for authenticating with Azure Compute. The azidentity module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.

cred, err := azidentity.NewDefaultAzureCredential(nil)

For more information on authentication, please see the documentation for azidentity at

Client Factory

Azure Compute module consists of one or more clients. We provide a client factory which could be used to create any client in this module.

clientFactory, err := armcompute.NewClientFactory(<subscription ID>, cred, nil)

You can use ClientOptions in package to set endpoint to connect with public and sovereign clouds as well as Azure Stack. For more information, please see the documentation for azcore at

options := arm.ClientOptions {
    ClientOptions: azcore.ClientOptions {
        Cloud: cloud.AzureChina,
clientFactory, err := armcompute.NewClientFactory(<subscription ID>, cred, &options)


A client groups a set of related APIs, providing access to its functionality. Create one or more clients to access the APIs you require using client factory.

client := clientFactory.NewLogAnalyticsClient()

More sample code

Major Version Upgrade

Go uses semantic import versioning to ensure a good backward compatibility for modules. For Azure Go management SDK, we usually upgrade module version according to cooresponding service's API version. Regarding it could be a complicated experience for major version upgrade, we will try our best to keep the SDK API stable and release new version in backward compatible way. However, if any unavoidable breaking changes and a new major version releases for SDK modules, you could use these commands under your module folder to upgrade:

go install
gomajor get

Provide Feedback

If you encounter bugs or have suggestions, please open an issue and assign the Compute label.


This project welcomes contributions and suggestions. Most contributions require you to agree to a Contributor License Agreement (CLA) declaring that you have the right to, and actually do, grant us the rights to use your contribution. For details, visit

When you submit a pull request, a CLA-bot will automatically determine whether you need to provide a CLA and decorate the PR appropriately (e.g., label, comment). Simply follow the instructions provided by the bot. You will only need to do this once across all repos using our CLA.

This project has adopted the Microsoft Open Source Code of Conduct. For more information, see the Code of Conduct FAQ or contact with any additional questions or comments.