README.md
1# Azure Container Service Module for Go
2
3[![PkgGoDev](https://pkg.go.dev/badge/github.com/Azure/azure-sdk-for-go/sdk/containerservice/armcontainerservice)](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/containerservice/armcontainerservice)
4
5The `armcontainerservice` module provides operations for working with Azure Container Service.
6
7[Source code](https://github.com/Azure/azure-sdk-for-go/tree/main/sdk/containerservice/armcontainerservice)
8
9# Getting started
10
11## Prerequisites
12
13- an [Azure subscription](https://azure.microsoft.com/free/)
14- Go 1.13 or above
15
16## Install the package
17
18This project uses [Go modules](https://github.com/golang/go/wiki/Modules) for versioning and dependency management.
19
20Install the Azure Container Service module:
21
22```sh
23go get github.com/Azure/azure-sdk-for-go/sdk/containerservice/armcontainerservice
24```
25
26## Authorization
27
28When creating a client, you will need to provide a credential for authenticating with Azure Container Service. The `azidentity` module provides facilities for various ways of authenticating with Azure including client/secret, certificate, managed identity, and more.
29
30```go
31cred, err := azidentity.NewDefaultAzureCredential(nil)
32```
33
34For more information on authentication, please see the documentation for `azidentity` at [pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/azidentity).
35
36## Connecting to Azure Container Service
37
38Once you have a credential, create a connection to the desired ARM endpoint. The `armcore` module provides facilities for connecting with ARM endpoints including public and sovereign clouds as well as Azure Stack.
39
40```go
41con := armcore.NewDefaultConnection(cred, nil)
42```
43
44For more information on ARM connections, please see the documentation for `armcore` at [pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/armcore](https://pkg.go.dev/github.com/Azure/azure-sdk-for-go/sdk/armcore).
45
46## Clients
47
48Azure Container Service modules consist of one or more clients. A client groups a set of related APIs, providing access to its functionality within the specified subscription. Create one or more clients to access the APIs you require using your `armcore.Connection`.
49
50```go
51client := armcontainerservice.NewManagedClustersClient(con, "<subscription ID>")
52```
53
54## Provide Feedback
55
56If you encounter bugs or have suggestions, please
57[open an issue](https://github.com/Azure/azure-sdk-for-go/issues) and assign the `Container Service` label.
58
59# Contributing
60
61This project welcomes contributions and suggestions. Most contributions require
62you to agree to a Contributor License Agreement (CLA) declaring that you have
63the right to, and actually do, grant us the rights to use your contribution.
64For details, visit [https://cla.microsoft.com](https://cla.microsoft.com).
65
66When you submit a pull request, a CLA-bot will automatically determine whether
67you need to provide a CLA and decorate the PR appropriately (e.g., label,
68comment). Simply follow the instructions provided by the bot. You will only
69need to do this once across all repos using our CLA.
70
71This project has adopted the
72[Microsoft Open Source Code of Conduct](https://opensource.microsoft.com/codeofconduct/).
73For more information, see the
74[Code of Conduct FAQ](https://opensource.microsoft.com/codeofconduct/faq/)
75or contact [opencode@microsoft.com](mailto:opencode@microsoft.com) with any
76additional questions or comments.