diff options
| author | Jeff Carr <[email protected]> | 2024-01-01 15:33:08 -0600 |
|---|---|---|
| committer | Jeff Carr <[email protected]> | 2024-01-01 15:33:08 -0600 |
| commit | f03f76bc082a245f852dcd0cc52fef9ff48cdc93 (patch) | |
| tree | 5e63087bc7cd1fe22743a4b60d120121ce0f7886 /api.go | |
initial commit
Diffstat (limited to 'api.go')
| -rw-r--r-- | api.go | 36 |
1 files changed, 36 insertions, 0 deletions
@@ -0,0 +1,36 @@ +package digitalocean + +import ( + "context" + + "golang.org/x/oauth2" + "github.com/digitalocean/godo" + + "go.wit.com/log" +) + +func (d *DigitalOcean) listRegions() []godo.Region { + tokenSource := oauth2.StaticTokenSource(&oauth2.Token{AccessToken: d.token}) + oauthClient := oauth2.NewClient(context.Background(), tokenSource) + client := godo.NewClient(oauthClient) + + ctx := context.TODO() + + // Retrieve all regions. + regions, _, err := client.Regions.List(ctx, &godo.ListOptions{}) + if err != nil { + d.err = err + log.Warn(err, "digitalocean.listRegions() failed") + return nil + } + + /* + // Print details of each region. + fmt.Println("Available Regions:") + for _, region := range regions { + fmt.Printf("Slug: %s, Name: %s, Available: %v\n", region.Slug, region.Name, region.Available) + } + */ + + return regions +} |
