avmsgraph-sdk-go is an opinionated Go SDK for a subset of the Microsoft Graph API's Golang SDK generated using Kiota and maintained by Aurva.
This SDK simplifies integration with Microsoft Graph for common directory and role management use cases in Go applications and makes the application significantly lighter.
- Built using Kiota for consistency and performance
- Targets selected Microsoft Graph paths:
/users/applications/groups/directoryObjects/getByIds/directoryRoles/directoryRoleTemplates/roleManagement/directory/roleDefinitions
- Backing store support for advanced state management
Install using go get:
go get github.com/aurva-io/aurva/avmsgraph-sdk-go./kiota generate --language Go --openapi ./openapi.yaml --backing-store --output ./avmsgraph-sdk-go --namespace-name "github.com/aurva-io/avmsgraph-sdk-go" --include-path "/users" --include-path "/applications" --include-path "/directoryObjects/getByIds" --include-path "/groups" --include-path "/directoryRoles" --include-path "/directoryRoleTemplates" --include-path "/roleManagement/directory/roleDefinitions"package main
import (
"fmt"
"github.com/Azure/azure-sdk-for-go/sdk/azidentity"
avmsgraphsdk "github.com/aurva-io/avmsgraph-sdk-go"
azurekiota "github.com/microsoft/kiota-authentication-azure-go"
bundle "github.com/microsoft/kiota-bundle-go"
)
func main() {
cred, err := azidentity.NewClientSecretCredential("a.tenantID", "a.clientID", "a.clientSecret", nil)
if err != nil {
return "", fmt.Errorf("failed to get Azure credentials: %w", err)
}
authProvider, err := azurekiota.NewAzureIdentityAuthenticationProvider(cred)
if err != nil {
fmt.Printf("Error creating auth provider: %v\n", err)
}
adapter, err := bundle.NewDefaultRequestAdapter(authProvider)
if err != nil {
fmt.Printf("Error creating request adapter: %v\n", err)
}
client := avmsgraphsdk.NewApiClient(adapter, nil)
}