# README
golang-sdk
Create your project
go mod init github.com/github-repo-name/projectname
Create sdk.go file and copy the below code into the file
package main
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/sailpoint-api-client-go"
)
func main() {
ctx := context.TODO()
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
resp, r, err := apiClient.V3.AccountsApi.ListAccounts(ctx).Execute()
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AccountsApi.ListAccount``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ListAccounts`: []Account
fmt.Fprintf(os.Stdout, "First response from `AccountsApi.ListAccount`: %v\n", resp[0].Name)
}
Create a configuration file or save your configuration as environment variables
You can create a local configuration file using the CLI tool or you can store your configuration in environment variables
- SAIL_BASE_URL
- SAIL_CLIENT_ID
- SAIL_CLIENT_SECRET
Install sdk
go mod tidy
Run the example
go run sdk.go
Handling Pagination
there is a built in pagination function that can be used to automatically call and collect responses from APIs that support pagination. Use the following syntax to call it:
import (
"context"
"fmt"
"os"
sailpoint "github.com/sailpoint-oss/sailpoint-api-client-go"
// need to import the v3 library so we are aware of the sailpointsdk.Account struct
sailpointsdk "github.com/sailpoint-oss/sailpoint-api-client-go/v3"
)
func main() {
ctx := context.TODO()
configuration := sailpoint.NewDefaultConfiguration()
apiClient := sailpoint.NewAPIClient(configuration)
// use the paginate function to get 1000 results instead of hitting the normal 250 limit
resp, r, err := sailpoint.PaginateWithDefaults[sailpointsdk.Account](apiClient.V3.AccountsApi.ListAccounts(ctx))
if err != nil {
fmt.Fprintf(os.Stderr, "Error when calling `AccountsApi.ListAccount``: %v\n", err)
fmt.Fprintf(os.Stderr, "Full HTTP response: %v\n", r)
}
// response from `ListAccounts`: []Account
fmt.Fprintf(os.Stdout, "First response from `AccountsApi.ListAccount`: %v\n", resp[0].Name)
}
See more uses of the SDK here.
# Functions
No description provided by the author
NewAPIClient creates a new API client.
NewConfiguration returns a new Configuration object.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
# Structs
APIClient manages communication with the IdentityNow V3 API API v3.0.0 In most cases there should be only one, shared, APIClient.
No description provided by the author
Configuration stores the configuration of the API client.
No description provided by the author
No description provided by the author
No description provided by the author
ServerVariable stores the information about a server variable.
No description provided by the author