README
Godo
Godo is a Go client library for accessing the DigitalOcean V2 API.
You can view the client API docs here: http://godoc.org/github.com/digitalocean/godo
You can view DigitalOcean API docs here: https://developers.digitalocean.com/documentation/v2/
Install
go get github.com/digitalocean/godo@vX.Y.Z
where X.Y.Z is the version you need.
or
go get github.com/digitalocean/godo
for non Go modules usage or latest version.
Usage
import "github.com/digitalocean/godo"
Create a new DigitalOcean client, then use the exposed services to access different parts of the DigitalOcean API.
Authentication
Currently, Personal Access Token (PAT) is the only method of authenticating with the API. You can manage your tokens at the DigitalOcean Control Panel Applications Page.
You can then use your token to create a new client:
package main
import (
"github.com/digitalocean/godo"
)
func main() {
client := godo.NewFromToken("my-digitalocean-api-token")
}
If you need to provide a context.Context
to your new client, you should use godo.NewClient
to manually construct a client instead.
Examples
To create a new Droplet:
dropletName := "super-cool-droplet"
createRequest := &godo.DropletCreateRequest{
Name: dropletName,
Region: "nyc3",
Size: "s-1vcpu-1gb",
Image: godo.DropletCreateImage{
Slug: "ubuntu-20-04-x64",
},
}
ctx := context.TODO()
newDroplet, _, err := client.Droplets.Create(ctx, createRequest)
if err != nil {
fmt.Printf("Something bad happened: %s\n\n", err)
return err
}
Pagination
If a list of items is paginated by the API, you must request pages individually. For example, to fetch all Droplets:
func DropletList(ctx context.Context, client *godo.Client) ([]godo.Droplet, error) {
// create a list to hold our droplets
list := []godo.Droplet{}
// create options. initially, these will be blank
opt := &godo.ListOptions{}
for {
droplets, resp, err := client.Droplets.List(ctx, opt)
if err != nil {
return nil, err
}
// append the current page's droplets to our list
list = append(list, droplets...)
// if we are at the last page, break out the for loop
if resp.Links == nil || resp.Links.IsLastPage() {
break
}
page, err := resp.Links.CurrentPage()
if err != nil {
return nil, err
}
// set the page we want for the next request
opt.Page = page + 1
}
return list, nil
}
Versioning
Each version of the client is tagged and the version is updated accordingly.
To see the list of past versions, run git tag
.
Documentation
For a comprehensive list of examples, check out the API documentation.
For details on all the functionality in this library, see the GoDoc documentation.
Contributing
We love pull requests! Please see the contribution guidelines.
Documentation
Overview ¶
Package godo is the DigtalOcean API v2 client for Go.
Index ¶
- Constants
- func Bool(v bool) *bool
- func CheckResponse(r *http.Response) error
- func DoRequest(ctx context.Context, req *http.Request) (*http.Response, error)
- func DoRequestWithClient(ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error)
- func Int(v int) *int
- func StreamToString(stream io.Reader) string
- func String(v string) *string
- func Stringify(message interface{}) string
- func ToURN(resourceType string, id interface{}) string
- type Account
- type AccountService
- type AccountServiceOp
- type Action
- type ActionRequest
- type ActionsService
- type ActionsServiceOp
- type Address
- type App
- type AppCORSPolicy
- type AppCreateRequest
- type AppDatabaseSpec
- type AppDatabaseSpecEngine
- type AppDomain
- type AppDomainPhase
- type AppDomainProgress
- type AppDomainProgressStep
- type AppDomainProgressStepReason
- type AppDomainProgressStepStatus
- type AppDomainSpec
- type AppDomainSpecType
- type AppInstanceSize
- type AppInstanceSizeCPUType
- type AppJobSpec
- type AppJobSpecKind
- type AppLogType
- type AppLogs
- type AppProposeRequest
- type AppProposeResponse
- type AppRegion
- type AppRouteSpec
- type AppServiceSpec
- type AppServiceSpecHealthCheck
- type AppSpec
- type AppStaticSiteSpec
- type AppStringMatch
- type AppTier
- type AppUpdateRequest
- type AppVariableDefinition
- type AppVariableScope
- type AppVariableType
- type AppWorkerSpec
- type AppsService
- type AppsServiceOp
- func (s *AppsServiceOp) Create(ctx context.Context, create *AppCreateRequest) (*App, *Response, error)
- func (s *AppsServiceOp) CreateDeployment(ctx context.Context, appID string, create ...*DeploymentCreateRequest) (*Deployment, *Response, error)
- func (s *AppsServiceOp) Delete(ctx context.Context, appID string) (*Response, error)
- func (s *AppsServiceOp) Get(ctx context.Context, appID string) (*App, *Response, error)
- func (s *AppsServiceOp) GetDeployment(ctx context.Context, appID, deploymentID string) (*Deployment, *Response, error)
- func (s *AppsServiceOp) GetInstanceSize(ctx context.Context, slug string) (*AppInstanceSize, *Response, error)
- func (s *AppsServiceOp) GetLogs(ctx context.Context, appID, deploymentID, component string, logType AppLogType, ...) (*AppLogs, *Response, error)
- func (s *AppsServiceOp) GetTier(ctx context.Context, slug string) (*AppTier, *Response, error)
- func (s *AppsServiceOp) List(ctx context.Context, opts *ListOptions) ([]*App, *Response, error)
- func (s *AppsServiceOp) ListDeployments(ctx context.Context, appID string, opts *ListOptions) ([]*Deployment, *Response, error)
- func (s *AppsServiceOp) ListInstanceSizes(ctx context.Context) ([]*AppInstanceSize, *Response, error)
- func (s *AppsServiceOp) ListRegions(ctx context.Context) ([]*AppRegion, *Response, error)
- func (s *AppsServiceOp) ListTiers(ctx context.Context) ([]*AppTier, *Response, error)
- func (s *AppsServiceOp) Propose(ctx context.Context, propose *AppProposeRequest) (*AppProposeResponse, *Response, error)
- func (s *AppsServiceOp) Update(ctx context.Context, appID string, update *AppUpdateRequest) (*App, *Response, error)
- type ArgError
- type AssociatedResource
- type BackupWindow
- type Balance
- type BalanceService
- type BalanceServiceOp
- type BillingHistory
- type BillingHistoryEntry
- type BillingHistoryService
- type BillingHistoryServiceOp
- type CDN
- type CDNCreateRequest
- type CDNFlushCacheRequest
- type CDNService
- type CDNServiceOp
- func (c CDNServiceOp) Create(ctx context.Context, createRequest *CDNCreateRequest) (*CDN, *Response, error)
- func (c CDNServiceOp) Delete(ctx context.Context, id string) (*Response, error)
- func (c CDNServiceOp) FlushCache(ctx context.Context, id string, flushCacheRequest *CDNFlushCacheRequest) (*Response, error)
- func (c CDNServiceOp) Get(ctx context.Context, id string) (*CDN, *Response, error)
- func (c CDNServiceOp) List(ctx context.Context, opt *ListOptions) ([]CDN, *Response, error)
- func (c CDNServiceOp) UpdateCustomDomain(ctx context.Context, id string, updateRequest *CDNUpdateCustomDomainRequest) (*CDN, *Response, error)
- func (c CDNServiceOp) UpdateTTL(ctx context.Context, id string, updateRequest *CDNUpdateTTLRequest) (*CDN, *Response, error)
- type CDNUpdateCustomDomainRequest
- type CDNUpdateTTLRequest
- type Certificate
- type CertificateRequest
- type CertificatesService
- type CertificatesServiceOp
- func (c *CertificatesServiceOp) Create(ctx context.Context, cr *CertificateRequest) (*Certificate, *Response, error)
- func (c *CertificatesServiceOp) Delete(ctx context.Context, cID string) (*Response, error)
- func (c *CertificatesServiceOp) Get(ctx context.Context, cID string) (*Certificate, *Response, error)
- func (c *CertificatesServiceOp) List(ctx context.Context, opt *ListOptions) ([]Certificate, *Response, error)
- type Client
- func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) (*Response, error)
- func (c *Client) GetRate() Rate
- func (c *Client) NewRequest(ctx context.Context, method, urlStr string, body interface{}) (*http.Request, error)
- func (c *Client) OnRequestCompleted(rc RequestCompletionCallback)
- type ClientOpt
- type ClusterlintDiagnostic
- type ClusterlintObject
- type ClusterlintOwner
- type CreateProjectRequest
- type CustomImageCreateRequest
- type Database
- type DatabaseBackup
- type DatabaseConnection
- type DatabaseCreateDBRequest
- type DatabaseCreatePoolRequest
- type DatabaseCreateReplicaRequest
- type DatabaseCreateRequest
- type DatabaseCreateUserRequest
- type DatabaseDB
- type DatabaseFirewallRule
- type DatabaseMaintenanceWindow
- type DatabaseMigrateRequest
- type DatabaseMySQLUserSettings
- type DatabasePool
- type DatabaseReplica
- type DatabaseResetUserAuthRequest
- type DatabaseResizeRequest
- type DatabaseUpdateFirewallRulesRequest
- type DatabaseUpdateMaintenanceRequest
- type DatabaseUser
- type DatabasesService
- type DatabasesServiceOp
- func (svc *DatabasesServiceOp) Create(ctx context.Context, create *DatabaseCreateRequest) (*Database, *Response, error)
- func (svc *DatabasesServiceOp) CreateDB(ctx context.Context, databaseID string, createDB *DatabaseCreateDBRequest) (*DatabaseDB, *Response, error)
- func (svc *DatabasesServiceOp) CreatePool(ctx context.Context, databaseID string, createPool *DatabaseCreatePoolRequest) (*DatabasePool, *Response, error)
- func (svc *DatabasesServiceOp) CreateReplica(ctx context.Context, databaseID string, ...) (*DatabaseReplica, *Response, error)
- func (svc *DatabasesServiceOp) CreateUser(ctx context.Context, databaseID string, createUser *DatabaseCreateUserRequest) (*DatabaseUser, *Response, error)
- func (svc *DatabasesServiceOp) Delete(ctx context.Context, databaseID string) (*Response, error)
- func (svc *DatabasesServiceOp) DeleteDB(ctx context.Context, databaseID, name string) (*Response, error)
- func (svc *DatabasesServiceOp) DeletePool(ctx context.Context, databaseID, name string) (*Response, error)
- func (svc *DatabasesServiceOp) DeleteReplica(ctx context.Context, databaseID, name string) (*Response, error)
- func (svc *DatabasesServiceOp) DeleteUser(ctx context.Context, databaseID, userID string) (*Response, error)
- func (svc *DatabasesServiceOp) Get(ctx context.Context, databaseID string) (*Database, *Response, error)
- func (svc *DatabasesServiceOp) GetDB(ctx context.Context, databaseID, name string) (*DatabaseDB, *Response, error)
- func (svc *DatabasesServiceOp) GetEvictionPolicy(ctx context.Context, databaseID string) (string, *Response, error)
- func (svc *DatabasesServiceOp) GetFirewallRules(ctx context.Context, databaseID string) ([]DatabaseFirewallRule, *Response, error)
- func (svc *DatabasesServiceOp) GetPool(ctx context.Context, databaseID, name string) (*DatabasePool, *Response, error)
- func (svc *DatabasesServiceOp) GetReplica(ctx context.Context, databaseID, name string) (*DatabaseReplica, *Response, error)
- func (svc *DatabasesServiceOp) GetSQLMode(ctx context.Context, databaseID string) (string, *Response, error)
- func (svc *DatabasesServiceOp) GetUser(ctx context.Context, databaseID, userID string) (*DatabaseUser, *Response, error)
- func (svc *DatabasesServiceOp) List(ctx context.Context, opts *ListOptions) ([]Database, *Response, error)
- func (svc *DatabasesServiceOp) ListBackups(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseBackup, *Response, error)
- func (svc *DatabasesServiceOp) ListDBs(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseDB, *Response, error)
- func (svc *DatabasesServiceOp) ListPools(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabasePool, *Response, error)
- func (svc *DatabasesServiceOp) ListReplicas(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseReplica, *Response, error)
- func (svc *DatabasesServiceOp) ListUsers(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseUser, *Response, error)
- func (svc *DatabasesServiceOp) Migrate(ctx context.Context, databaseID string, migrate *DatabaseMigrateRequest) (*Response, error)
- func (svc *DatabasesServiceOp) ResetUserAuth(ctx context.Context, databaseID, userID string, ...) (*DatabaseUser, *Response, error)
- func (svc *DatabasesServiceOp) Resize(ctx context.Context, databaseID string, resize *DatabaseResizeRequest) (*Response, error)
- func (svc *DatabasesServiceOp) SetEvictionPolicy(ctx context.Context, databaseID, policy string) (*Response, error)
- func (svc *DatabasesServiceOp) SetSQLMode(ctx context.Context, databaseID string, sqlModes ...string) (*Response, error)
- func (svc *DatabasesServiceOp) UpdateFirewallRules(ctx context.Context, databaseID string, ...) (*Response, error)
- func (svc *DatabasesServiceOp) UpdateMaintenance(ctx context.Context, databaseID string, ...) (*Response, error)
- type Deployment
- type DeploymentCreateRequest
- type DeploymentJob
- type DeploymentPhase
- type DeploymentProgress
- type DeploymentProgressStep
- type DeploymentProgressStepReason
- type DeploymentProgressStepStatus
- type DeploymentService
- type DeploymentStaticSite
- type DeploymentWorker
- type Destinations
- type DockerCredentials
- type Domain
- type DomainCreateRequest
- type DomainRecord
- type DomainRecordEditRequest
- type DomainsService
- type DomainsServiceOp
- func (s *DomainsServiceOp) Create(ctx context.Context, createRequest *DomainCreateRequest) (*Domain, *Response, error)
- func (s *DomainsServiceOp) CreateRecord(ctx context.Context, domain string, createRequest *DomainRecordEditRequest) (*DomainRecord, *Response, error)
- func (s *DomainsServiceOp) Delete(ctx context.Context, name string) (*Response, error)
- func (s *DomainsServiceOp) DeleteRecord(ctx context.Context, domain string, id int) (*Response, error)
- func (s *DomainsServiceOp) EditRecord(ctx context.Context, domain string, id int, ...) (*DomainRecord, *Response, error)
- func (s *DomainsServiceOp) Get(ctx context.Context, name string) (*Domain, *Response, error)
- func (s DomainsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Domain, *Response, error)
- func (s *DomainsServiceOp) Record(ctx context.Context, domain string, id int) (*DomainRecord, *Response, error)
- func (s *DomainsServiceOp) Records(ctx context.Context, domain string, opt *ListOptions) ([]DomainRecord, *Response, error)
- func (s *DomainsServiceOp) RecordsByName(ctx context.Context, domain, name string, opt *ListOptions) ([]DomainRecord, *Response, error)
- func (s *DomainsServiceOp) RecordsByType(ctx context.Context, domain, ofType string, opt *ListOptions) ([]DomainRecord, *Response, error)
- func (s *DomainsServiceOp) RecordsByTypeAndName(ctx context.Context, domain, ofType, name string, opt *ListOptions) ([]DomainRecord, *Response, error)
- type Droplet
- type DropletActionsService
- type DropletActionsServiceOp
- func (s *DropletActionsServiceOp) ChangeKernel(ctx context.Context, id, kernelID int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) DisableBackups(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) DisableBackupsByTag(ctx context.Context, tag string) ([]Action, *Response, error)
- func (s *DropletActionsServiceOp) EnableBackups(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) EnableBackupsByTag(ctx context.Context, tag string) ([]Action, *Response, error)
- func (s *DropletActionsServiceOp) EnableIPv6(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) EnableIPv6ByTag(ctx context.Context, tag string) ([]Action, *Response, error)
- func (s *DropletActionsServiceOp) EnablePrivateNetworking(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) EnablePrivateNetworkingByTag(ctx context.Context, tag string) ([]Action, *Response, error)
- func (s *DropletActionsServiceOp) Get(ctx context.Context, dropletID, actionID int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) GetByURI(ctx context.Context, rawurl string) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) PasswordReset(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) PowerCycle(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) PowerCycleByTag(ctx context.Context, tag string) ([]Action, *Response, error)
- func (s *DropletActionsServiceOp) PowerOff(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) PowerOffByTag(ctx context.Context, tag string) ([]Action, *Response, error)
- func (s *DropletActionsServiceOp) PowerOn(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) PowerOnByTag(ctx context.Context, tag string) ([]Action, *Response, error)
- func (s *DropletActionsServiceOp) Reboot(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) RebuildByImageID(ctx context.Context, id, imageID int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) RebuildByImageSlug(ctx context.Context, id int, slug string) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) Rename(ctx context.Context, id int, name string) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) Resize(ctx context.Context, id int, sizeSlug string, resizeDisk bool) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) Restore(ctx context.Context, id, imageID int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) Shutdown(ctx context.Context, id int) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) ShutdownByTag(ctx context.Context, tag string) ([]Action, *Response, error)
- func (s *DropletActionsServiceOp) Snapshot(ctx context.Context, id int, name string) (*Action, *Response, error)
- func (s *DropletActionsServiceOp) SnapshotByTag(ctx context.Context, tag string, name string) ([]Action, *Response, error)
- type DropletCreateImage
- type DropletCreateRequest
- type DropletCreateSSHKey
- type DropletCreateVolume
- type DropletMultiCreateRequest
- type DropletsService
- type DropletsServiceOp
- func (s *DropletsServiceOp) Actions(ctx context.Context, dropletID int, opt *ListOptions) ([]Action, *Response, error)
- func (s *DropletsServiceOp) Backups(ctx context.Context, dropletID int, opt *ListOptions) ([]Image, *Response, error)
- func (s *DropletsServiceOp) Create(ctx context.Context, createRequest *DropletCreateRequest) (*Droplet, *Response, error)
- func (s *DropletsServiceOp) CreateMultiple(ctx context.Context, createRequest *DropletMultiCreateRequest) ([]Droplet, *Response, error)
- func (s *DropletsServiceOp) Delete(ctx context.Context, dropletID int) (*Response, error)
- func (s *DropletsServiceOp) DeleteByTag(ctx context.Context, tag string) (*Response, error)
- func (s *DropletsServiceOp) Get(ctx context.Context, dropletID int) (*Droplet, *Response, error)
- func (s *DropletsServiceOp) Kernels(ctx context.Context, dropletID int, opt *ListOptions) ([]Kernel, *Response, error)
- func (s *DropletsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Droplet, *Response, error)
- func (s *DropletsServiceOp) ListByTag(ctx context.Context, tag string, opt *ListOptions) ([]Droplet, *Response, error)
- func (s *DropletsServiceOp) Neighbors(ctx context.Context, dropletID int) ([]Droplet, *Response, error)
- func (s *DropletsServiceOp) Snapshots(ctx context.Context, dropletID int, opt *ListOptions) ([]Image, *Response, error)
- type ErrorResponse
- type Firewall
- type FirewallRequest
- type FirewallRulesRequest
- type FirewallsService
- type FirewallsServiceOp
- func (fw *FirewallsServiceOp) AddDroplets(ctx context.Context, fID string, dropletIDs ...int) (*Response, error)
- func (fw *FirewallsServiceOp) AddRules(ctx context.Context, fID string, rr *FirewallRulesRequest) (*Response, error)
- func (fw *FirewallsServiceOp) AddTags(ctx context.Context, fID string, tags ...string) (*Response, error)
- func (fw *FirewallsServiceOp) Create(ctx context.Context, fr *FirewallRequest) (*Firewall, *Response, error)
- func (fw *FirewallsServiceOp) Delete(ctx context.Context, fID string) (*Response, error)
- func (fw *FirewallsServiceOp) Get(ctx context.Context, fID string) (*Firewall, *Response, error)
- func (fw *FirewallsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Firewall, *Response, error)
- func (fw *FirewallsServiceOp) ListByDroplet(ctx context.Context, dID int, opt *ListOptions) ([]Firewall, *Response, error)
- func (fw *FirewallsServiceOp) RemoveDroplets(ctx context.Context, fID string, dropletIDs ...int) (*Response, error)
- func (fw *FirewallsServiceOp) RemoveRules(ctx context.Context, fID string, rr *FirewallRulesRequest) (*Response, error)
- func (fw *FirewallsServiceOp) RemoveTags(ctx context.Context, fID string, tags ...string) (*Response, error)
- func (fw *FirewallsServiceOp) Update(ctx context.Context, fID string, fr *FirewallRequest) (*Firewall, *Response, error)
- type FloatingIP
- type FloatingIPActionsService
- type FloatingIPActionsServiceOp
- func (s *FloatingIPActionsServiceOp) Assign(ctx context.Context, ip string, dropletID int) (*Action, *Response, error)
- func (s *FloatingIPActionsServiceOp) Get(ctx context.Context, ip string, actionID int) (*Action, *Response, error)
- func (s *FloatingIPActionsServiceOp) List(ctx context.Context, ip string, opt *ListOptions) ([]Action, *Response, error)
- func (s *FloatingIPActionsServiceOp) Unassign(ctx context.Context, ip string) (*Action, *Response, error)
- type FloatingIPCreateRequest
- type FloatingIPsService
- type FloatingIPsServiceOp
- func (f *FloatingIPsServiceOp) Create(ctx context.Context, createRequest *FloatingIPCreateRequest) (*FloatingIP, *Response, error)
- func (f *FloatingIPsServiceOp) Delete(ctx context.Context, ip string) (*Response, error)
- func (f *FloatingIPsServiceOp) Get(ctx context.Context, ip string) (*FloatingIP, *Response, error)
- func (f *FloatingIPsServiceOp) List(ctx context.Context, opt *ListOptions) ([]FloatingIP, *Response, error)
- type ForwardingRule
- type GarbageCollection
- type GarbageCollectionType
- type GitHubSourceSpec
- type GitLabSourceSpec
- type GitSourceSpec
- type HealthCheck
- type Image
- type ImageActionsService
- type ImageActionsServiceOp
- func (i *ImageActionsServiceOp) Convert(ctx context.Context, imageID int) (*Action, *Response, error)
- func (i *ImageActionsServiceOp) Get(ctx context.Context, imageID, actionID int) (*Action, *Response, error)
- func (i *ImageActionsServiceOp) Transfer(ctx context.Context, imageID int, transferRequest *ActionRequest) (*Action, *Response, error)
- type ImageSourceSpec
- type ImageSourceSpecRegistryType
- type ImageUpdateRequest
- type ImagesService
- type ImagesServiceOp
- func (s *ImagesServiceOp) Create(ctx context.Context, createRequest *CustomImageCreateRequest) (*Image, *Response, error)
- func (s *ImagesServiceOp) Delete(ctx context.Context, imageID int) (*Response, error)
- func (s *ImagesServiceOp) GetByID(ctx context.Context, imageID int) (*Image, *Response, error)
- func (s *ImagesServiceOp) GetBySlug(ctx context.Context, slug string) (*Image, *Response, error)
- func (s *ImagesServiceOp) List(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
- func (s *ImagesServiceOp) ListApplication(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
- func (s *ImagesServiceOp) ListByTag(ctx context.Context, tag string, opt *ListOptions) ([]Image, *Response, error)
- func (s *ImagesServiceOp) ListDistribution(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
- func (s *ImagesServiceOp) ListUser(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
- func (s *ImagesServiceOp) Update(ctx context.Context, imageID int, updateRequest *ImageUpdateRequest) (*Image, *Response, error)
- type InboundRule
- type InstallKubernetesAppsRequest
- type InstallKubernetesAppsResponse
- type Invoice
- type InvoiceItem
- type InvoiceList
- type InvoiceListItem
- type InvoiceSummary
- type InvoiceSummaryBreakdown
- type InvoiceSummaryBreakdownItem
- type InvoicesService
- type InvoicesServiceOp
- func (s *InvoicesServiceOp) Get(ctx context.Context, invoiceUUID string, opt *ListOptions) (*Invoice, *Response, error)
- func (s *InvoicesServiceOp) GetCSV(ctx context.Context, invoiceUUID string) ([]byte, *Response, error)
- func (s *InvoicesServiceOp) GetPDF(ctx context.Context, invoiceUUID string) ([]byte, *Response, error)
- func (s *InvoicesServiceOp) GetSummary(ctx context.Context, invoiceUUID string) (*InvoiceSummary, *Response, error)
- func (s *InvoicesServiceOp) List(ctx context.Context, opt *ListOptions) (*InvoiceList, *Response, error)
- type Kernel
- type Key
- type KeyCreateRequest
- type KeyUpdateRequest
- type KeysService
- type KeysServiceOp
- func (s *KeysServiceOp) Create(ctx context.Context, createRequest *KeyCreateRequest) (*Key, *Response, error)
- func (s *KeysServiceOp) DeleteByFingerprint(ctx context.Context, fingerprint string) (*Response, error)
- func (s *KeysServiceOp) DeleteByID(ctx context.Context, keyID int) (*Response, error)
- func (s *KeysServiceOp) GetByFingerprint(ctx context.Context, fingerprint string) (*Key, *Response, error)
- func (s *KeysServiceOp) GetByID(ctx context.Context, keyID int) (*Key, *Response, error)
- func (s *KeysServiceOp) List(ctx context.Context, opt *ListOptions) ([]Key, *Response, error)
- func (s *KeysServiceOp) UpdateByFingerprint(ctx context.Context, fingerprint string, updateRequest *KeyUpdateRequest) (*Key, *Response, error)
- func (s *KeysServiceOp) UpdateByID(ctx context.Context, keyID int, updateRequest *KeyUpdateRequest) (*Key, *Response, error)
- type KubernetesAssociatedResources
- type KubernetesCluster
- type KubernetesClusterConfig
- type KubernetesClusterCreateRequest
- type KubernetesClusterCredentials
- type KubernetesClusterCredentialsGetRequest
- type KubernetesClusterDeleteSelectiveRequest
- type KubernetesClusterRegistryRequest
- type KubernetesClusterStatus
- type KubernetesClusterStatusState
- type KubernetesClusterUpdateRequest
- type KubernetesClusterUpgradeRequest
- type KubernetesClusterUser
- type KubernetesGetClusterlintRequest
- type KubernetesMaintenancePolicy
- type KubernetesMaintenancePolicyDay
- type KubernetesNode
- type KubernetesNodeDeleteRequest
- type KubernetesNodePool
- type KubernetesNodePoolCreateRequest
- type KubernetesNodePoolRecycleNodesRequest
- type KubernetesNodePoolUpdateRequest
- type KubernetesNodeSize
- type KubernetesNodeStatus
- type KubernetesOptions
- type KubernetesRegion
- type KubernetesRunClusterlintRequest
- type KubernetesService
- type KubernetesServiceOp
- func (svc *KubernetesServiceOp) AddRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error)
- func (svc *KubernetesServiceOp) Create(ctx context.Context, create *KubernetesClusterCreateRequest) (*KubernetesCluster, *Response, error)
- func (svc *KubernetesServiceOp) CreateNodePool(ctx context.Context, clusterID string, create *KubernetesNodePoolCreateRequest) (*KubernetesNodePool, *Response, error)
- func (svc *KubernetesServiceOp) Delete(ctx context.Context, clusterID string) (*Response, error)
- func (svc *KubernetesServiceOp) DeleteDangerous(ctx context.Context, clusterID string) (*Response, error)
- func (svc *KubernetesServiceOp) DeleteNode(ctx context.Context, clusterID, poolID, nodeID string, ...) (*Response, error)
- func (svc *KubernetesServiceOp) DeleteNodePool(ctx context.Context, clusterID, poolID string) (*Response, error)
- func (svc *KubernetesServiceOp) DeleteSelective(ctx context.Context, clusterID string, ...) (*Response, error)
- func (svc *KubernetesServiceOp) Get(ctx context.Context, clusterID string) (*KubernetesCluster, *Response, error)
- func (svc *KubernetesServiceOp) GetClusterlintResults(ctx context.Context, clusterID string, req *KubernetesGetClusterlintRequest) ([]*ClusterlintDiagnostic, *Response, error)
- func (svc *KubernetesServiceOp) GetCredentials(ctx context.Context, clusterID string, ...) (*KubernetesClusterCredentials, *Response, error)
- func (svc *KubernetesServiceOp) GetKubeConfig(ctx context.Context, clusterID string) (*KubernetesClusterConfig, *Response, error)
- func (svc *KubernetesServiceOp) GetKubeConfigWithExpiry(ctx context.Context, clusterID string, expirySeconds int64) (*KubernetesClusterConfig, *Response, error)
- func (svc *KubernetesServiceOp) GetNodePool(ctx context.Context, clusterID, poolID string) (*KubernetesNodePool, *Response, error)
- func (svc *KubernetesServiceOp) GetOptions(ctx context.Context) (*KubernetesOptions, *Response, error)
- func (svc *KubernetesServiceOp) GetUpgrades(ctx context.Context, clusterID string) ([]*KubernetesVersion, *Response, error)
- func (svc *KubernetesServiceOp) GetUser(ctx context.Context, clusterID string) (*KubernetesClusterUser, *Response, error)
- func (svc *KubernetesServiceOp) List(ctx context.Context, opts *ListOptions) ([]*KubernetesCluster, *Response, error)
- func (svc *KubernetesServiceOp) ListAssociatedResourcesForDeletion(ctx context.Context, clusterID string) (*KubernetesAssociatedResources, *Response, error)
- func (svc *KubernetesServiceOp) ListNodePools(ctx context.Context, clusterID string, opts *ListOptions) ([]*KubernetesNodePool, *Response, error)
- func (svc *KubernetesServiceOp) RecycleNodePoolNodes(ctx context.Context, clusterID, poolID string, ...) (*Response, error)
- func (svc *KubernetesServiceOp) RemoveRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error)
- func (svc *KubernetesServiceOp) RunClusterlint(ctx context.Context, clusterID string, req *KubernetesRunClusterlintRequest) (string, *Response, error)
- func (svc *KubernetesServiceOp) Update(ctx context.Context, clusterID string, update *KubernetesClusterUpdateRequest) (*KubernetesCluster, *Response, error)
- func (svc *KubernetesServiceOp) UpdateNodePool(ctx context.Context, clusterID, poolID string, ...) (*KubernetesNodePool, *Response, error)
- func (svc *KubernetesServiceOp) Upgrade(ctx context.Context, clusterID string, ...) (*Response, error)
- type KubernetesVersion
- type LinkAction
- type Links
- type ListOptions
- type ListVolumeParams
- type LoadBalancer
- type LoadBalancerRequest
- type LoadBalancersService
- type LoadBalancersServiceOp
- func (l *LoadBalancersServiceOp) AddDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error)
- func (l *LoadBalancersServiceOp) AddForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error)
- func (l *LoadBalancersServiceOp) Create(ctx context.Context, lbr *LoadBalancerRequest) (*LoadBalancer, *Response, error)
- func (l *LoadBalancersServiceOp) Delete(ctx context.Context, ldID string) (*Response, error)
- func (l *LoadBalancersServiceOp) Get(ctx context.Context, lbID string) (*LoadBalancer, *Response, error)
- func (l *LoadBalancersServiceOp) List(ctx context.Context, opt *ListOptions) ([]LoadBalancer, *Response, error)
- func (l *LoadBalancersServiceOp) RemoveDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error)
- func (l *LoadBalancersServiceOp) RemoveForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error)
- func (l *LoadBalancersServiceOp) Update(ctx context.Context, lbID string, lbr *LoadBalancerRequest) (*LoadBalancer, *Response, error)
- type Meta
- type NetworkV4
- type NetworkV6
- type Networks
- type OneClick
- type OneClickService
- type OneClickServiceOp
- type OneClicksRoot
- type OutboundRule
- type Pages
- type PendingChange
- type Project
- type ProjectResource
- type ProjectResourceLinks
- type ProjectsService
- type ProjectsServiceOp
- func (p *ProjectsServiceOp) AssignResources(ctx context.Context, projectID string, resources ...interface{}) ([]ProjectResource, *Response, error)
- func (p *ProjectsServiceOp) Create(ctx context.Context, cr *CreateProjectRequest) (*Project, *Response, error)
- func (p *ProjectsServiceOp) Delete(ctx context.Context, projectID string) (*Response, error)
- func (p *ProjectsServiceOp) Get(ctx context.Context, projectID string) (*Project, *Response, error)
- func (p *ProjectsServiceOp) GetDefault(ctx context.Context) (*Project, *Response, error)
- func (p *ProjectsServiceOp) List(ctx context.Context, opts *ListOptions) ([]Project, *Response, error)
- func (p *ProjectsServiceOp) ListResources(ctx context.Context, projectID string, opts *ListOptions) ([]ProjectResource, *Response, error)
- func (p *ProjectsServiceOp) Update(ctx context.Context, projectID string, ur *UpdateProjectRequest) (*Project, *Response, error)
- type Rate
- type Region
- type RegionsService
- type RegionsServiceOp
- type Registry
- type RegistryCreateRequest
- type RegistryDockerCredentialsRequest
- type RegistryOptions
- type RegistryService
- type RegistryServiceOp
- func (svc *RegistryServiceOp) Create(ctx context.Context, create *RegistryCreateRequest) (*Registry, *Response, error)
- func (svc *RegistryServiceOp) Delete(ctx context.Context) (*Response, error)
- func (svc *RegistryServiceOp) DeleteManifest(ctx context.Context, registry, repository, digest string) (*Response, error)
- func (svc *RegistryServiceOp) DeleteTag(ctx context.Context, registry, repository, tag string) (*Response, error)
- func (svc *RegistryServiceOp) DockerCredentials(ctx context.Context, request *RegistryDockerCredentialsRequest) (*DockerCredentials, *Response, error)
- func (svc *RegistryServiceOp) Get(ctx context.Context) (*Registry, *Response, error)
- func (svc *RegistryServiceOp) GetGarbageCollection(ctx context.Context, registry string) (*GarbageCollection, *Response, error)
- func (svc *RegistryServiceOp) GetOptions(ctx context.Context) (*RegistryOptions, *Response, error)
- func (svc *RegistryServiceOp) GetSubscription(ctx context.Context) (*RegistrySubscription, *Response, error)
- func (svc *RegistryServiceOp) ListGarbageCollections(ctx context.Context, registry string, opts *ListOptions) ([]*GarbageCollection, *Response, error)
- func (svc *RegistryServiceOp) ListRepositories(ctx context.Context, registry string, opts *ListOptions) ([]*Repository, *Response, error)
- func (svc *RegistryServiceOp) ListRepositoryTags(ctx context.Context, registry, repository string, opts *ListOptions) ([]*RepositoryTag, *Response, error)
- func (svc *RegistryServiceOp) StartGarbageCollection(ctx context.Context, registry string, ...) (*GarbageCollection, *Response, error)
- func (svc *RegistryServiceOp) UpdateGarbageCollection(ctx context.Context, registry, gcUUID string, ...) (*GarbageCollection, *Response, error)
- func (svc *RegistryServiceOp) UpdateSubscription(ctx context.Context, request *RegistrySubscriptionUpdateRequest) (*RegistrySubscription, *Response, error)
- type RegistrySubscription
- type RegistrySubscriptionTier
- type RegistrySubscriptionUpdateRequest
- type Repository
- type RepositoryTag
- type RequestCompletionCallback
- type Resource
- type ResourceType
- type ResourceWithURN
- type Response
- type Size
- type SizesService
- type SizesServiceOp
- type Snapshot
- type SnapshotCreateRequest
- type SnapshotsService
- type SnapshotsServiceOp
- func (s *SnapshotsServiceOp) Delete(ctx context.Context, snapshotID string) (*Response, error)
- func (s *SnapshotsServiceOp) Get(ctx context.Context, snapshotID string) (*Snapshot, *Response, error)
- func (s *SnapshotsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Snapshot, *Response, error)
- func (s *SnapshotsServiceOp) ListDroplet(ctx context.Context, opt *ListOptions) ([]Snapshot, *Response, error)
- func (s *SnapshotsServiceOp) ListVolume(ctx context.Context, opt *ListOptions) ([]Snapshot, *Response, error)
- type Sources
- type StartGarbageCollectionRequest
- type StickySessions
- type StorageActionsService
- type StorageActionsServiceOp
- func (s *StorageActionsServiceOp) Attach(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error)
- func (s *StorageActionsServiceOp) DetachByDropletID(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error)
- func (s *StorageActionsServiceOp) Get(ctx context.Context, volumeID string, actionID int) (*Action, *Response, error)
- func (s *StorageActionsServiceOp) List(ctx context.Context, volumeID string, opt *ListOptions) ([]Action, *Response, error)
- func (s *StorageActionsServiceOp) Resize(ctx context.Context, volumeID string, sizeGigabytes int, regionSlug string) (*Action, *Response, error)
- type StorageAttachment
- type StorageService
- type StorageServiceOp
- func (svc *StorageServiceOp) CreateSnapshot(ctx context.Context, createRequest *SnapshotCreateRequest) (*Snapshot, *Response, error)
- func (svc *StorageServiceOp) CreateVolume(ctx context.Context, createRequest *VolumeCreateRequest) (*Volume, *Response, error)
- func (svc *StorageServiceOp) DeleteSnapshot(ctx context.Context, id string) (*Response, error)
- func (svc *StorageServiceOp) DeleteVolume(ctx context.Context, id string) (*Response, error)
- func (svc *StorageServiceOp) GetSnapshot(ctx context.Context, id string) (*Snapshot, *Response, error)
- func (svc *StorageServiceOp) GetVolume(ctx context.Context, id string) (*Volume, *Response, error)
- func (svc *StorageServiceOp) ListSnapshots(ctx context.Context, volumeID string, opt *ListOptions) ([]Snapshot, *Response, error)
- func (svc *StorageServiceOp) ListVolumes(ctx context.Context, params *ListVolumeParams) ([]Volume, *Response, error)
- type Tag
- type TagCreateRequest
- type TagResourcesRequest
- type TaggedDatabasesResources
- type TaggedDropletsResources
- type TaggedImagesResources
- type TaggedResources
- type TaggedResourcesData
- type TaggedVolumeSnapshotsResources
- type TaggedVolumesResources
- type TagsService
- type TagsServiceOp
- func (s *TagsServiceOp) Create(ctx context.Context, createRequest *TagCreateRequest) (*Tag, *Response, error)
- func (s *TagsServiceOp) Delete(ctx context.Context, name string) (*Response, error)
- func (s *TagsServiceOp) Get(ctx context.Context, name string) (*Tag, *Response, error)
- func (s *TagsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Tag, *Response, error)
- func (s *TagsServiceOp) TagResources(ctx context.Context, name string, tagRequest *TagResourcesRequest) (*Response, error)
- func (s *TagsServiceOp) UntagResources(ctx context.Context, name string, untagRequest *UntagResourcesRequest) (*Response, error)
- type Taint
- type Timestamp
- type UntagResourcesRequest
- type UpdateGarbageCollectionRequest
- type UpdateProjectRequest
- type VPC
- type VPCCreateRequest
- type VPCSetDescription
- type VPCSetField
- type VPCSetName
- type VPCUpdateRequest
- type VPCsService
- type VPCsServiceOp
- func (v *VPCsServiceOp) Create(ctx context.Context, create *VPCCreateRequest) (*VPC, *Response, error)
- func (v *VPCsServiceOp) Delete(ctx context.Context, id string) (*Response, error)
- func (v *VPCsServiceOp) Get(ctx context.Context, id string) (*VPC, *Response, error)
- func (v *VPCsServiceOp) List(ctx context.Context, opt *ListOptions) ([]*VPC, *Response, error)
- func (v *VPCsServiceOp) Set(ctx context.Context, id string, fields ...VPCSetField) (*VPC, *Response, error)
- func (v *VPCsServiceOp) Update(ctx context.Context, id string, update *VPCUpdateRequest) (*VPC, *Response, error)
- type Volume
- type VolumeCreateRequest
Constants ¶
const ( // ActionInProgress is an in progress action status ActionInProgress = "in-progress" //ActionCompleted is a completed action status ActionCompleted = "completed" )
const ( SQLModeAllowInvalidDates = "ALLOW_INVALID_DATES" SQLModeANSIQuotes = "ANSI_QUOTES" SQLModeHighNotPrecedence = "HIGH_NOT_PRECEDENCE" SQLModeIgnoreSpace = "IGNORE_SPACE" SQLModeNoAuthCreateUser = "NO_AUTO_CREATE_USER" SQLModeNoAutoValueOnZero = "NO_AUTO_VALUE_ON_ZERO" SQLModeNoBackslashEscapes = "NO_BACKSLASH_ESCAPES" SQLModeNoDirInCreate = "NO_DIR_IN_CREATE" SQLModeNoEngineSubstitution = "NO_ENGINE_SUBSTITUTION" SQLModeNoFieldOptions = "NO_FIELD_OPTIONS" SQLModeNoKeyOptions = "NO_KEY_OPTIONS" SQLModeNoTableOptions = "NO_TABLE_OPTIONS" SQLModeNoUnsignedSubtraction = "NO_UNSIGNED_SUBTRACTION" SQLModeNoZeroDate = "NO_ZERO_DATE" SQLModeNoZeroInDate = "NO_ZERO_IN_DATE" SQLModeOnlyFullGroupBy = "ONLY_FULL_GROUP_BY" SQLModePadCharToFullLength = "PAD_CHAR_TO_FULL_LENGTH" SQLModePipesAsConcat = "PIPES_AS_CONCAT" SQLModeRealAsFloat = "REAL_AS_FLOAT" SQLModeStrictAllTables = "STRICT_ALL_TABLES" SQLModeStrictTransTables = "STRICT_TRANS_TABLES" SQLModeANSI = "ANSI" SQLModeDB2 = "DB2" SQLModeMaxDB = "MAXDB" SQLModeMSSQL = "MSSQL" SQLModeMYSQL323 = "MYSQL323" SQLModeMYSQL40 = "MYSQL40" SQLModeOracle = "ORACLE" SQLModePostgreSQL = "POSTGRESQL" SQLModeTraditional = "TRADITIONAL" )
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
const ( SQLAuthPluginNative = "mysql_native_password" SQLAuthPluginCachingSHA2 = "caching_sha2_password" )
SQL Auth constants allow for MySQL-specific user auth plugins
const ( EvictionPolicyNoEviction = "noeviction" EvictionPolicyAllKeysLRU = "allkeys_lru" EvictionPolicyAllKeysRandom = "allkeys_random" EvictionPolicyVolatileLRU = "volatile_lru" EvictionPolicyVolatileRandom = "volatile_random" EvictionPolicyVolatileTTL = "volatile_ttl" )
Redis eviction policies supported by the managed Redis product.
const ( KubernetesClusterStatusProvisioning = KubernetesClusterStatusState("provisioning") KubernetesClusterStatusRunning = KubernetesClusterStatusState("running") KubernetesClusterStatusDegraded = KubernetesClusterStatusState("degraded") KubernetesClusterStatusError = KubernetesClusterStatusState("error") KubernetesClusterStatusDeleted = KubernetesClusterStatusState("deleted") KubernetesClusterStatusUpgrading = KubernetesClusterStatusState("upgrading") KubernetesClusterStatusInvalid = KubernetesClusterStatusState("invalid") )
Possible states for a cluster.
const ( // GCTypeUntaggedManifestsOnly indicates that a garbage collection should // only delete untagged manifests. GCTypeUntaggedManifestsOnly = GarbageCollectionType("untagged manifests only") // GCTypeUnreferencedBlobsOnly indicates that a garbage collection should // only delete unreferenced blobs. GCTypeUnreferencedBlobsOnly = GarbageCollectionType("unreferenced blobs only") // GCTypeUntaggedManifestsAndUnreferencedBlobs indicates that a garbage // collection should delete both untagged manifests and unreferenced blobs. GCTypeUntaggedManifestsAndUnreferencedBlobs = GarbageCollectionType("untagged manifests and unreferenced blobs") )
const ( // DefaultProject is the ID you should use if you are working with your // default project. DefaultProject = "default" )
const (
// RegistryServer is the hostname of the DigitalOcean registry service
RegistryServer = "registry.digitalocean.com"
)
Variables ¶
Functions ¶
func Bool ¶
Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.
func CheckResponse ¶
CheckResponse checks the API response for errors, and returns them if present. A response is considered an error if it has a status code outside the 200 range. API error responses are expected to have either no response body, or a JSON response body that maps to ErrorResponse. Any other response body will be silently ignored.
func DoRequestWithClient ¶
func DoRequestWithClient( ctx context.Context, client *http.Client, req *http.Request) (*http.Response, error)
DoRequestWithClient submits an HTTP request using the specified client.
func Int ¶
Int is a helper routine that allocates a new int32 value to store v and returns a pointer to it, but unlike Int32 its argument value is an int.
func StreamToString ¶
StreamToString converts a reader to a string
func String ¶
String is a helper routine that allocates a new string value to store v and returns a pointer to it.
Types ¶
type Account ¶
type Account struct { DropletLimit int `json:"droplet_limit,omitempty"` FloatingIPLimit int `json:"floating_ip_limit,omitempty"` VolumeLimit int `json:"volume_limit,omitempty"` Email string `json:"email,omitempty"` UUID string `json:"uuid,omitempty"` EmailVerified bool `json:"email_verified,omitempty"` Status string `json:"status,omitempty"` StatusMessage string `json:"status_message,omitempty"` }
Account represents a DigitalOcean Account
type AccountService ¶
AccountService is an interface for interfacing with the Account endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2/#account
type AccountServiceOp ¶
type AccountServiceOp struct {
// contains filtered or unexported fields
}
AccountServiceOp handles communication with the Account related methods of the DigitalOcean API.
type Action ¶
type Action struct { ID int `json:"id"` Status string `json:"status"` Type string `json:"type"` StartedAt *Timestamp `json:"started_at"` CompletedAt *Timestamp `json:"completed_at"` ResourceID int `json:"resource_id"` ResourceType string `json:"resource_type"` Region *Region `json:"region,omitempty"` RegionSlug string `json:"region_slug,omitempty"` }
Action represents a DigitalOcean Action
type ActionRequest ¶
type ActionRequest map[string]interface{}
ActionRequest reprents DigitalOcean Action Request
type ActionsService ¶
type ActionsService interface { List(context.Context, *ListOptions) ([]Action, *Response, error) Get(context.Context, int) (*Action, *Response, error) }
ActionsService handles communction with action related methods of the DigitalOcean API: https://developers.digitalocean.com/documentation/v2#actions
type ActionsServiceOp ¶
type ActionsServiceOp struct {
// contains filtered or unexported fields
}
ActionsServiceOp handles communition with the image action related methods of the DigitalOcean API.
func (*ActionsServiceOp) List ¶
func (s *ActionsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Action, *Response, error)
List all actions
type Address ¶
type Address struct { AddressLine1 string `json:"address_line1"` AddressLine2 string `json:"address_line2"` City string `json:"city"` Region string `json:"region"` PostalCode string `json:"postal_code"` CountryISO2Code string `json:"country_iso2_code"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
Address represents the billing address of a customer
type App ¶
type App struct { ID string `json:"id,omitempty"` OwnerUUID string `json:"owner_uuid,omitempty"` Spec *AppSpec `json:"spec"` DefaultIngress string `json:"default_ingress,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` ActiveDeployment *Deployment `json:"active_deployment,omitempty"` InProgressDeployment *Deployment `json:"in_progress_deployment,omitempty"` LastDeploymentCreatedAt time.Time `json:"last_deployment_created_at,omitempty"` LiveURL string `json:"live_url,omitempty"` Region *AppRegion `json:"region,omitempty"` TierSlug string `json:"tier_slug,omitempty"` LiveURLBase string `json:"live_url_base,omitempty"` LiveDomain string `json:"live_domain,omitempty"` Domains []*AppDomain `json:"domains,omitempty"` }
App An application's configuration and status.
type AppCORSPolicy ¶
type AppCORSPolicy struct { // The set of allowed CORS origins. AllowOrigins []*AppStringMatch `json:"allow_origins,omitempty"` }
AppCORSPolicy struct for AppCORSPolicy
type AppCreateRequest ¶
type AppCreateRequest struct {
Spec *AppSpec `json:"spec"`
}
AppCreateRequest represents a request to create an app.
type AppDatabaseSpec ¶
type AppDatabaseSpec struct { // The name. Must be unique across all components within the same app. Name string `json:"name"` Engine AppDatabaseSpecEngine `json:"engine,omitempty"` Version string `json:"version,omitempty"` // Deprecated. Size string `json:"size,omitempty"` // Deprecated. NumNodes int64 `json:"num_nodes,omitempty"` // Whether this is a production or dev database. Production bool `json:"production,omitempty"` // The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned. ClusterName string `json:"cluster_name,omitempty"` // The name of the MySQL or PostgreSQL database to configure. DBName string `json:"db_name,omitempty"` // The name of the MySQL or PostgreSQL user to configure. DBUser string `json:"db_user,omitempty"` }
AppDatabaseSpec struct for AppDatabaseSpec
type AppDatabaseSpecEngine ¶
type AppDatabaseSpecEngine string
AppDatabaseSpecEngine the model 'AppDatabaseSpecEngine'
const ( AppDatabaseSpecEngine_Unset AppDatabaseSpecEngine = "UNSET" AppDatabaseSpecEngine_MySQL AppDatabaseSpecEngine = "MYSQL" AppDatabaseSpecEngine_PG AppDatabaseSpecEngine = "PG" AppDatabaseSpecEngine_Redis AppDatabaseSpecEngine = "REDIS" )
List of AppDatabaseSpecEngine
type AppDomain ¶
type AppDomain struct { ID string `json:"id,omitempty"` Spec *AppDomainSpec `json:"spec,omitempty"` Phase AppDomainPhase `json:"phase,omitempty"` Progress *AppDomainProgress `json:"progress,omitempty"` }
AppDomain struct for AppDomain
type AppDomainPhase ¶
type AppDomainPhase string
AppDomainPhase the model 'AppDomainPhase'
const ( AppJobSpecKindPHASE_Unknown AppDomainPhase = "UNKNOWN" AppJobSpecKindPHASE_Pending AppDomainPhase = "PENDING" AppJobSpecKindPHASE_Configuring AppDomainPhase = "CONFIGURING" AppJobSpecKindPHASE_Active AppDomainPhase = "ACTIVE" AppJobSpecKindPHASE_Error AppDomainPhase = "ERROR" )
List of AppDomainPhase
type AppDomainProgress ¶
type AppDomainProgress struct {
Steps []*AppDomainProgressStep `json:"steps,omitempty"`
}
AppDomainProgress struct for AppDomainProgress
type AppDomainProgressStep ¶
type AppDomainProgressStep struct { Name string `json:"name,omitempty"` Status AppDomainProgressStepStatus `json:"status,omitempty"` Steps []*AppDomainProgressStep `json:"steps,omitempty"` StartedAt time.Time `json:"started_at,omitempty"` EndedAt time.Time `json:"ended_at,omitempty"` Reason *AppDomainProgressStepReason `json:"reason,omitempty"` }
AppDomainProgressStep struct for AppDomainProgressStep
type AppDomainProgressStepReason ¶
type AppDomainProgressStepReason struct { Code string `json:"code,omitempty"` Message string `json:"message,omitempty"` }
AppDomainProgressStepReason struct for AppDomainProgressStepReason
type AppDomainProgressStepStatus ¶
type AppDomainProgressStepStatus string
AppDomainProgressStepStatus the model 'AppDomainProgressStepStatus'
const ( AppJobSpecKindProgressStepStatus_Unknown AppDomainProgressStepStatus = "UNKNOWN" AppJobSpecKindProgressStepStatus_Pending AppDomainProgressStepStatus = "PENDING" AppJobSpecKindProgressStepStatus_Running AppDomainProgressStepStatus = "RUNNING" AppJobSpecKindProgressStepStatus_Error AppDomainProgressStepStatus = "ERROR" AppJobSpecKindProgressStepStatus_Success AppDomainProgressStepStatus = "SUCCESS" )
List of AppDomainProgressStepStatus
type AppDomainSpec ¶
type AppDomainSpec struct { Domain string `json:"domain"` Type AppDomainSpecType `json:"type,omitempty"` Wildcard bool `json:"wildcard,omitempty"` // Optional. If the domain uses DigitalOcean DNS and you would like App Platform to automatically manage it for you, set this to the name of the domain on your account. For example, If the domain you are adding is `app.domain.com`, the zone could be `domain.com`. Zone string `json:"zone,omitempty"` }
AppDomainSpec struct for AppDomainSpec
type AppDomainSpecType ¶
type AppDomainSpecType string
AppDomainSpecType the model 'AppDomainSpecType'
const ( AppDomainSpecType_Unspecified AppDomainSpecType = "UNSPECIFIED" AppDomainSpecType_Default AppDomainSpecType = "DEFAULT" AppDomainSpecType_Primary AppDomainSpecType = "PRIMARY" AppDomainSpecType_Alias AppDomainSpecType = "ALIAS" )
List of AppDomainSpecType
type AppInstanceSize ¶
type AppInstanceSize struct { Name string `json:"name,omitempty"` Slug string `json:"slug,omitempty"` CPUType AppInstanceSizeCPUType `json:"cpu_type,omitempty"` CPUs string `json:"cpus,omitempty"` MemoryBytes string `json:"memory_bytes,omitempty"` USDPerMonth string `json:"usd_per_month,omitempty"` USDPerSecond string `json:"usd_per_second,omitempty"` TierSlug string `json:"tier_slug,omitempty"` TierUpgradeTo string `json:"tier_upgrade_to,omitempty"` TierDowngradeTo string `json:"tier_downgrade_to,omitempty"` }
AppInstanceSize struct for AppInstanceSize
type AppInstanceSizeCPUType ¶
type AppInstanceSizeCPUType string
AppInstanceSizeCPUType the model 'AppInstanceSizeCPUType'
const ( AppInstanceSizeCPUType_Unspecified AppInstanceSizeCPUType = "UNSPECIFIED" AppInstanceSizeCPUType_Dedicated AppInstanceSizeCPUType = "DEDICATED" )
List of AppInstanceSizeCPUType
type AppJobSpec ¶
type AppJobSpec struct { // The name. Must be unique across all components within the same app. Name string `json:"name"` Git *GitSourceSpec `json:"git,omitempty"` GitHub *GitHubSourceSpec `json:"github,omitempty"` Image *ImageSourceSpec `json:"image,omitempty"` GitLab *GitLabSourceSpec `json:"gitlab,omitempty"` // The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. DockerfilePath string `json:"dockerfile_path,omitempty"` // An optional build command to run while building this component from source. BuildCommand string `json:"build_command,omitempty"` // An optional run command to override the component's default. RunCommand string `json:"run_command,omitempty"` // An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. SourceDir string `json:"source_dir,omitempty"` // An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/). EnvironmentSlug string `json:"environment_slug,omitempty"` // A list of environment variables made available to the component. Envs []*AppVariableDefinition `json:"envs,omitempty"` // The instance size to use for this component. InstanceSizeSlug string `json:"instance_size_slug,omitempty"` InstanceCount int64 `json:"instance_count,omitempty"` Kind AppJobSpecKind `json:"kind,omitempty"` }
AppJobSpec struct for AppJobSpec
type AppJobSpecKind ¶
type AppJobSpecKind string
AppJobSpecKind - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. - PRE_DEPLOY: Indicates a job that runs before an app deployment. - POST_DEPLOY: Indicates a job that runs after an app deployment. - FAILED_DEPLOY: Indicates a job that runs after a component fails to deploy.
const ( AppJobSpecKind_Unspecified AppJobSpecKind = "UNSPECIFIED" AppJobSpecKind_PreDeploy AppJobSpecKind = "PRE_DEPLOY" AppJobSpecKind_PostDeploy AppJobSpecKind = "POST_DEPLOY" AppJobSpecKind_FailedDeploy AppJobSpecKind = "FAILED_DEPLOY" )
List of AppJobSpecKind
type AppLogType ¶
type AppLogType string
AppLogType is the type of app logs.
const ( // AppLogTypeBuild represents build logs. AppLogTypeBuild AppLogType = "BUILD" // AppLogTypeDeploy represents deploy logs. AppLogTypeDeploy AppLogType = "DEPLOY" // AppLogTypeRun represents run logs. AppLogTypeRun AppLogType = "RUN" )
type AppLogs ¶
type AppLogs struct { LiveURL string `json:"live_url"` HistoricURLs []string `json:"historic_urls"` }
AppLogs represent app logs.
type AppProposeRequest ¶
type AppProposeRequest struct { Spec *AppSpec `json:"spec"` // An optional ID of an existing app. If set, the proposed spec will be treated as an update against the specified app. AppID string `json:"app_id,omitempty"` }
AppProposeRequest struct for AppProposeRequest
type AppProposeResponse ¶
type AppProposeResponse struct { AppIsStatic bool `json:"app_is_static,omitempty"` AppNameAvailable bool `json:"app_name_available,omitempty"` // If the app name is unavailable, this will be set to a suggested available name. AppNameSuggestion string `json:"app_name_suggestion,omitempty"` // The number of existing static apps the account has. ExistingStaticApps string `json:"existing_static_apps,omitempty"` // The maximum number of free static apps the account can have. Any additional static apps will be charged for. MaxFreeStaticApps string `json:"max_free_static_apps,omitempty"` Spec *AppSpec `json:"spec,omitempty"` AppCost float32 `json:"app_cost,omitempty"` AppTierUpgradeCost float32 `json:"app_tier_upgrade_cost,omitempty"` AppTierDowngradeCost float32 `json:"app_tier_downgrade_cost,omitempty"` }
AppProposeResponse struct for AppProposeResponse
type AppRegion ¶
type AppRegion struct { Slug string `json:"slug,omitempty"` Label string `json:"label,omitempty"` Flag string `json:"flag,omitempty"` Continent string `json:"continent,omitempty"` Disabled bool `json:"disabled,omitempty"` DataCenters []string `json:"data_centers,omitempty"` Reason string `json:"reason,omitempty"` // Whether or not the region is presented as the default. Default bool `json:"default,omitempty"` }
AppRegion struct for AppRegion
type AppRouteSpec ¶
type AppRouteSpec struct { // An HTTP path prefix. Paths must start with / and must be unique across all components within an app. Path string `json:"path,omitempty"` }
AppRouteSpec struct for AppRouteSpec
type AppServiceSpec ¶
type AppServiceSpec struct { // The name. Must be unique across all components within the same app. Name string `json:"name"` Git *GitSourceSpec `json:"git,omitempty"` GitHub *GitHubSourceSpec `json:"github,omitempty"` Image *ImageSourceSpec `json:"image,omitempty"` GitLab *GitLabSourceSpec `json:"gitlab,omitempty"` // The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. DockerfilePath string `json:"dockerfile_path,omitempty"` // An optional build command to run while building this component from source. BuildCommand string `json:"build_command,omitempty"` // An optional run command to override the component's default. RunCommand string `json:"run_command,omitempty"` // An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. SourceDir string `json:"source_dir,omitempty"` // An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/). EnvironmentSlug string `json:"environment_slug,omitempty"` // A list of environment variables made available to the component. Envs []*AppVariableDefinition `json:"envs,omitempty"` InstanceSizeSlug string `json:"instance_size_slug,omitempty"` InstanceCount int64 `json:"instance_count,omitempty"` // The internal port on which this service's run command will listen. Default: 8080 If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field. HTTPPort int64 `json:"http_port,omitempty"` // A list of HTTP routes that should be routed to this component. Routes []*AppRouteSpec `json:"routes,omitempty"` HealthCheck *AppServiceSpecHealthCheck `json:"health_check,omitempty"` CORS *AppCORSPolicy `json:"cors,omitempty"` // The ports on which this service will listen for internal traffic. InternalPorts []int64 `json:"internal_ports,omitempty"` }
AppServiceSpec struct for AppServiceSpec
type AppServiceSpecHealthCheck ¶
type AppServiceSpecHealthCheck struct { // Deprecated. Use http_path instead. Path string `json:"path,omitempty"` // The number of seconds to wait before beginning health checks. InitialDelaySeconds int32 `json:"initial_delay_seconds,omitempty"` // The number of seconds to wait between health checks. PeriodSeconds int32 `json:"period_seconds,omitempty"` // The number of seconds after which the check times out. TimeoutSeconds int32 `json:"timeout_seconds,omitempty"` // The number of successful health checks before considered healthy. SuccessThreshold int32 `json:"success_threshold,omitempty"` // The number of failed health checks before considered unhealthy. FailureThreshold int32 `json:"failure_threshold,omitempty"` // The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead. HTTPPath string `json:"http_path,omitempty"` }
AppServiceSpecHealthCheck struct for AppServiceSpecHealthCheck
type AppSpec ¶
type AppSpec struct { // The name of the app. Must be unique across all apps in the same account. Name string `json:"name"` // Workloads which expose publicy-accessible HTTP services. Services []*AppServiceSpec `json:"services,omitempty"` // Content which can be rendered to static web assets. StaticSites []*AppStaticSiteSpec `json:"static_sites,omitempty"` // Workloads which do not expose publicly-accessible HTTP services. Workers []*AppWorkerSpec `json:"workers,omitempty"` // Pre and post deployment workloads which do not expose publicly-accessible HTTP routes. Jobs []*AppJobSpec `json:"jobs,omitempty"` // Database instances which can provide persistence to workloads within the application. Databases []*AppDatabaseSpec `json:"databases,omitempty"` // A set of hostnames where the application will be available. Domains []*AppDomainSpec `json:"domains,omitempty"` Region string `json:"region,omitempty"` // A list of environment variables made available to all components in the app. Envs []*AppVariableDefinition `json:"envs,omitempty"` }
AppSpec The desired configuration of an application.
type AppStaticSiteSpec ¶
type AppStaticSiteSpec struct { // The name. Must be unique across all components within the same app. Name string `json:"name"` Git *GitSourceSpec `json:"git,omitempty"` GitHub *GitHubSourceSpec `json:"github,omitempty"` GitLab *GitLabSourceSpec `json:"gitlab,omitempty"` // The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. DockerfilePath string `json:"dockerfile_path,omitempty"` // An optional build command to run while building this component from source. BuildCommand string `json:"build_command,omitempty"` // An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. SourceDir string `json:"source_dir,omitempty"` // An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/). EnvironmentSlug string `json:"environment_slug,omitempty"` // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`, `build`. OutputDir string `json:"output_dir,omitempty"` IndexDocument string `json:"index_document,omitempty"` // The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one. ErrorDocument string `json:"error_document,omitempty"` // A list of environment variables made available to the component. Envs []*AppVariableDefinition `json:"envs,omitempty"` // A list of HTTP routes that should be routed to this component. Routes []*AppRouteSpec `json:"routes,omitempty"` CORS *AppCORSPolicy `json:"cors,omitempty"` // The name of the document to use as the fallback for any requests to documents that are not found when serving this static site. Only 1 of `catchall_document` or `error_document` can be set. CatchallDocument string `json:"catchall_document,omitempty"` }
AppStaticSiteSpec struct for AppStaticSiteSpec
type AppStringMatch ¶
type AppStringMatch struct { // Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set. Exact string `json:"exact,omitempty"` // Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set. Prefix string `json:"prefix,omitempty"` Regex string `json:"regex,omitempty"` }
AppStringMatch struct for AppStringMatch
type AppTier ¶
type AppTier struct { Name string `json:"name,omitempty"` Slug string `json:"slug,omitempty"` EgressBandwidthBytes string `json:"egress_bandwidth_bytes,omitempty"` BuildSeconds string `json:"build_seconds,omitempty"` }
AppTier struct for AppTier
type AppUpdateRequest ¶
type AppUpdateRequest struct {
Spec *AppSpec `json:"spec"`
}
AppUpdateRequest represents a request to update an app.
type AppVariableDefinition ¶
type AppVariableDefinition struct { // The name Key string `json:"key"` // The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used. Value string `json:"value,omitempty"` Scope AppVariableScope `json:"scope,omitempty"` Type AppVariableType `json:"type,omitempty"` }
AppVariableDefinition struct for AppVariableDefinition
type AppVariableScope ¶
type AppVariableScope string
AppVariableScope the model 'AppVariableScope'
const ( AppVariableScope_Unset AppVariableScope = "UNSET" AppVariableScope_RunTime AppVariableScope = "RUN_TIME" AppVariableScope_BuildTime AppVariableScope = "BUILD_TIME" AppVariableScope_RunAndBuildTime AppVariableScope = "RUN_AND_BUILD_TIME" )
List of AppVariableScope
type AppVariableType ¶
type AppVariableType string
AppVariableType the model 'AppVariableType'
const ( AppVariableType_General AppVariableType = "GENERAL" AppVariableType_Secret AppVariableType = "SECRET" )
List of AppVariableType
type AppWorkerSpec ¶
type AppWorkerSpec struct { // The name. Must be unique across all components within the same app. Name string `json:"name"` Git *GitSourceSpec `json:"git,omitempty"` GitHub *GitHubSourceSpec `json:"github,omitempty"` Image *ImageSourceSpec `json:"image,omitempty"` GitLab *GitLabSourceSpec `json:"gitlab,omitempty"` // The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks. DockerfilePath string `json:"dockerfile_path,omitempty"` // An optional build command to run while building this component from source. BuildCommand string `json:"build_command,omitempty"` // An optional run command to override the component's default. RunCommand string `json:"run_command,omitempty"` // An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo. SourceDir string `json:"source_dir,omitempty"` // An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/). EnvironmentSlug string `json:"environment_slug,omitempty"` // A list of environment variables made available to the component. Envs []*AppVariableDefinition `json:"envs,omitempty"` // The instance size to use for this component. InstanceSizeSlug string `json:"instance_size_slug,omitempty"` InstanceCount int64 `json:"instance_count,omitempty"` }
AppWorkerSpec struct for AppWorkerSpec
type AppsService ¶
type AppsService interface { Create(ctx context.Context, create *AppCreateRequest) (*App, *Response, error) Get(ctx context.Context, appID string) (*App, *Response, error) List(ctx context.Context, opts *ListOptions) ([]*App, *Response, error) Update(ctx context.Context, appID string, update *AppUpdateRequest) (*App, *Response, error) Delete(ctx context.Context, appID string) (*Response, error) Propose(ctx context.Context, propose *AppProposeRequest) (*AppProposeResponse, *Response, error) GetDeployment(ctx context.Context, appID, deploymentID string) (*Deployment, *Response, error) ListDeployments(ctx context.Context, appID string, opts *ListOptions) ([]*Deployment, *Response, error) CreateDeployment(ctx context.Context, appID string, create ...*DeploymentCreateRequest) (*Deployment, *Response, error) GetLogs(ctx context.Context, appID, deploymentID, component string, logType AppLogType, follow bool) (*AppLogs, *Response, error) ListRegions(ctx context.Context) ([]*AppRegion, *Response, error) ListTiers(ctx context.Context) ([]*AppTier, *Response, error) GetTier(ctx context.Context, slug string) (*AppTier, *Response, error) ListInstanceSizes(ctx context.Context) ([]*AppInstanceSize, *Response, error) GetInstanceSize(ctx context.Context, slug string) (*AppInstanceSize, *Response, error) }
AppsService is an interface for interfacing with the App Platform endpoints of the DigitalOcean API.
type AppsServiceOp ¶
type AppsServiceOp struct {
// contains filtered or unexported fields
}
AppsServiceOp handles communication with Apps methods of the DigitalOcean API.
func (*AppsServiceOp) Create ¶
func (s *AppsServiceOp) Create(ctx context.Context, create *AppCreateRequest) (*App, *Response, error)
Create an app.
func (*AppsServiceOp) CreateDeployment ¶
func (s *AppsServiceOp) CreateDeployment(ctx context.Context, appID string, create ...*DeploymentCreateRequest) (*Deployment, *Response, error)
CreateDeployment creates an app deployment.
func (*AppsServiceOp) GetDeployment ¶
func (s *AppsServiceOp) GetDeployment(ctx context.Context, appID, deploymentID string) (*Deployment, *Response, error)
GetDeployment gets an app deployment.
func (*AppsServiceOp) GetInstanceSize ¶
func (s *AppsServiceOp) GetInstanceSize(ctx context.Context, slug string) (*AppInstanceSize, *Response, error)
GetInstanceSize retreives information about a specific instance size for service, worker, and job components.
func (*AppsServiceOp) GetLogs ¶
func (s *AppsServiceOp) GetLogs(ctx context.Context, appID, deploymentID, component string, logType AppLogType, follow bool) (*AppLogs, *Response, error)
GetLogs retrieves app logs.
func (*AppsServiceOp) List ¶
func (s *AppsServiceOp) List(ctx context.Context, opts *ListOptions) ([]*App, *Response, error)
List apps.
func (*AppsServiceOp) ListDeployments ¶
func (s *AppsServiceOp) ListDeployments(ctx context.Context, appID string, opts *ListOptions) ([]*Deployment, *Response, error)
ListDeployments lists an app deployments.
func (*AppsServiceOp) ListInstanceSizes ¶
func (s *AppsServiceOp) ListInstanceSizes(ctx context.Context) ([]*AppInstanceSize, *Response, error)
ListInstanceSizes lists available instance sizes for service, worker, and job components.
func (*AppsServiceOp) ListRegions ¶
ListRegions lists all regions supported by App Platform.
func (*AppsServiceOp) Propose ¶
func (s *AppsServiceOp) Propose(ctx context.Context, propose *AppProposeRequest) (*AppProposeResponse, *Response, error)
Propose an app.
func (*AppsServiceOp) Update ¶
func (s *AppsServiceOp) Update(ctx context.Context, appID string, update *AppUpdateRequest) (*App, *Response, error)
Update an app.
type ArgError ¶
type ArgError struct {
// contains filtered or unexported fields
}
ArgError is an error that represents an error with an input to godo. It identifies the argument and the cause (if possible).
func NewArgError ¶
NewArgError creates an InputError.
type AssociatedResource ¶
AssociatedResource is the object to represent a Kubernetes cluster associated resource's Id and Name.
type BackupWindow ¶
type BackupWindow struct { Start *Timestamp `json:"start,omitempty"` End *Timestamp `json:"end,omitempty"` }
BackupWindow object
type Balance ¶
type Balance struct { MonthToDateBalance string `json:"month_to_date_balance"` AccountBalance string `json:"account_balance"` MonthToDateUsage string `json:"month_to_date_usage"` GeneratedAt time.Time `json:"generated_at"` }
Balance represents a DigitalOcean Balance
type BalanceService ¶
BalanceService is an interface for interfacing with the Balance endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2/#balance
type BalanceServiceOp ¶
type BalanceServiceOp struct {
// contains filtered or unexported fields
}
BalanceServiceOp handles communication with the Balance related methods of the DigitalOcean API.
type BillingHistory ¶
type BillingHistory struct { BillingHistory []BillingHistoryEntry `json:"billing_history"` Links *Links `json:"links"` Meta *Meta `json:"meta"` }
BillingHistory represents a DigitalOcean Billing History
func (BillingHistory) String ¶
func (b BillingHistory) String() string
type BillingHistoryEntry ¶
type BillingHistoryEntry struct { Description string `json:"description"` Amount string `json:"amount"` InvoiceID *string `json:"invoice_id"` InvoiceUUID *string `json:"invoice_uuid"` Date time.Time `json:"date"` Type string `json:"type"` }
BillingHistoryEntry represents an entry in a customer's Billing History
type BillingHistoryService ¶
type BillingHistoryService interface {
List(context.Context, *ListOptions) (*BillingHistory, *Response, error)
}
BillingHistoryService is an interface for interfacing with the BillingHistory endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2/#billing_history
type BillingHistoryServiceOp ¶
type BillingHistoryServiceOp struct {
// contains filtered or unexported fields
}
BillingHistoryServiceOp handles communication with the BillingHistory related methods of the DigitalOcean API.
func (*BillingHistoryServiceOp) List ¶
func (s *BillingHistoryServiceOp) List(ctx context.Context, opt *ListOptions) (*BillingHistory, *Response, error)
List the Billing History for a customer
type CDN ¶
type CDN struct { ID string `json:"id"` Origin string `json:"origin"` Endpoint string `json:"endpoint"` CreatedAt time.Time `json:"created_at"` TTL uint32 `json:"ttl"` CertificateID string `json:"certificate_id,omitempty"` CustomDomain string `json:"custom_domain,omitempty"` }
CDN represents a DigitalOcean CDN
type CDNCreateRequest ¶
type CDNCreateRequest struct { Origin string `json:"origin"` TTL uint32 `json:"ttl"` CustomDomain string `json:"custom_domain,omitempty"` CertificateID string `json:"certificate_id,omitempty"` }
CDNCreateRequest represents a request to create a CDN.
type CDNFlushCacheRequest ¶
type CDNFlushCacheRequest struct {
Files []string `json:"files"`
}
CDNFlushCacheRequest represents a request to flush cache of a CDN.
type CDNService ¶
type CDNService interface { List(context.Context, *ListOptions) ([]CDN, *Response, error) Get(context.Context, string) (*CDN, *Response, error) Create(context.Context, *CDNCreateRequest) (*CDN, *Response, error) UpdateTTL(context.Context, string, *CDNUpdateTTLRequest) (*CDN, *Response, error) UpdateCustomDomain(context.Context, string, *CDNUpdateCustomDomainRequest) (*CDN, *Response, error) FlushCache(context.Context, string, *CDNFlushCacheRequest) (*Response, error) Delete(context.Context, string) (*Response, error) }
CDNService is an interface for managing Spaces CDN with the DigitalOcean API.
type CDNServiceOp ¶
type CDNServiceOp struct {
// contains filtered or unexported fields
}
CDNServiceOp handles communication with the CDN related methods of the DigitalOcean API.
func (CDNServiceOp) Create ¶
func (c CDNServiceOp) Create(ctx context.Context, createRequest *CDNCreateRequest) (*CDN, *Response, error)
Create a new CDN
func (CDNServiceOp) FlushCache ¶
func (c CDNServiceOp) FlushCache(ctx context.Context, id string, flushCacheRequest *CDNFlushCacheRequest) (*Response, error)
FlushCache flushes the cache of an individual CDN. Requires a non-empty slice of file paths and/or wildcards
func (CDNServiceOp) List ¶
func (c CDNServiceOp) List(ctx context.Context, opt *ListOptions) ([]CDN, *Response, error)
List all CDN endpoints
func (CDNServiceOp) UpdateCustomDomain ¶
func (c CDNServiceOp) UpdateCustomDomain(ctx context.Context, id string, updateRequest *CDNUpdateCustomDomainRequest) (*CDN, *Response, error)
UpdateCustomDomain sets or removes the custom domain of an individual CDN
func (CDNServiceOp) UpdateTTL ¶
func (c CDNServiceOp) UpdateTTL(ctx context.Context, id string, updateRequest *CDNUpdateTTLRequest) (*CDN, *Response, error)
UpdateTTL updates the ttl of an individual CDN
type CDNUpdateCustomDomainRequest ¶
type CDNUpdateCustomDomainRequest struct { CustomDomain string `json:"custom_domain"` CertificateID string `json:"certificate_id"` }
CDNUpdateCustomDomainRequest represents a request to update the custom domain of a CDN.
type CDNUpdateTTLRequest ¶
type CDNUpdateTTLRequest struct {
TTL uint32 `json:"ttl"`
}
CDNUpdateTTLRequest represents a request to update the ttl of a CDN.
type Certificate ¶
type Certificate struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` DNSNames []string `json:"dns_names,omitempty"` NotAfter string `json:"not_after,omitempty"` SHA1Fingerprint string `json:"sha1_fingerprint,omitempty"` Created string `json:"created_at,omitempty"` State string `json:"state,omitempty"` Type string `json:"type,omitempty"` }
Certificate represents a DigitalOcean certificate configuration.
type CertificateRequest ¶
type CertificateRequest struct { Name string `json:"name,omitempty"` DNSNames []string `json:"dns_names,omitempty"` PrivateKey string `json:"private_key,omitempty"` LeafCertificate string `json:"leaf_certificate,omitempty"` CertificateChain string `json:"certificate_chain,omitempty"` Type string `json:"type,omitempty"` }
CertificateRequest represents configuration for a new certificate.
type CertificatesService ¶
type CertificatesService interface { Get(context.Context, string) (*Certificate, *Response, error) List(context.Context, *ListOptions) ([]Certificate, *Response, error) Create(context.Context, *CertificateRequest) (*Certificate, *Response, error) Delete(context.Context, string) (*Response, error) }
CertificatesService is an interface for managing certificates with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2/#certificates
type CertificatesServiceOp ¶
type CertificatesServiceOp struct {
// contains filtered or unexported fields
}
CertificatesServiceOp handles communication with certificates methods of the DigitalOcean API.
func (*CertificatesServiceOp) Create ¶
func (c *CertificatesServiceOp) Create(ctx context.Context, cr *CertificateRequest) (*Certificate, *Response, error)
Create a new certificate with provided configuration.
func (*CertificatesServiceOp) Get ¶
func (c *CertificatesServiceOp) Get(ctx context.Context, cID string) (*Certificate, *Response, error)
Get an existing certificate by its identifier.
func (*CertificatesServiceOp) List ¶
func (c *CertificatesServiceOp) List(ctx context.Context, opt *ListOptions) ([]Certificate, *Response, error)
List all certificates.
type Client ¶
type Client struct { // Base URL for API requests. BaseURL *url.URL // User agent for client UserAgent string // Rate contains the current rate limit for the client as determined by the most recent // API call. It is not thread-safe. Please consider using GetRate() instead. Rate Rate // Services used for communicating with the API Account AccountService Actions ActionsService Apps AppsService Balance BalanceService BillingHistory BillingHistoryService CDNs CDNService Domains DomainsService Droplets DropletsService DropletActions DropletActionsService Images ImagesService ImageActions ImageActionsService Invoices InvoicesService Keys KeysService Regions RegionsService Sizes SizesService FloatingIPs FloatingIPsService FloatingIPActions FloatingIPActionsService Snapshots SnapshotsService Storage StorageService StorageActions StorageActionsService Tags TagsService LoadBalancers LoadBalancersService Certificates CertificatesService Firewalls FirewallsService Projects ProjectsService Kubernetes KubernetesService Registry RegistryService Databases DatabasesService VPCs VPCsService OneClick OneClickService // contains filtered or unexported fields }
Client manages communication with DigitalOcean V2 API.
func NewClient ¶
NewClient returns a new DigitalOcean API client, using the given http.Client to perform all requests.
Users who wish to pass their own http.Client should use this method. If you're in need of further customization, the godo.New method allows more options, such as setting a custom URL or a custom user agent string.
func NewFromToken ¶
NewFromToken returns a new DigitalOcean API client with the given API token.
func (*Client) Do ¶
Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response will be written to v, without attempting to decode it.
func (*Client) GetRate ¶
GetRate returns the current rate limit for the client as determined by the most recent API call. It is thread-safe.
func (*Client) NewRequest ¶
func (c *Client) NewRequest(ctx context.Context, method, urlStr string, body interface{}) (*http.Request, error)
NewRequest creates an API request. A relative URL can be provided in urlStr, which will be resolved to the BaseURL of the Client. Relative URLS should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included in as the request body.
func (*Client) OnRequestCompleted ¶
func (c *Client) OnRequestCompleted(rc RequestCompletionCallback)
OnRequestCompleted sets the DO API request completion callback
type ClientOpt ¶
ClientOpt are options for New.
func SetBaseURL ¶
SetBaseURL is a client option for setting the base URL.
func SetRequestHeaders ¶
SetRequestHeaders sets optional HTTP headers on the client that are sent on each HTTP request.
func SetUserAgent ¶
SetUserAgent is a client option for setting the user agent.
type ClusterlintDiagnostic ¶
type ClusterlintDiagnostic struct { CheckName string `json:"check_name"` Severity string `json:"severity"` Message string `json:"message"` Object *ClusterlintObject `json:"object"` }
ClusterlintDiagnostic is a diagnostic returned from clusterlint.
type ClusterlintObject ¶
type ClusterlintObject struct { Kind string `json:"kind"` Name string `json:"name"` Namespace string `json:"namespace"` Owners []*ClusterlintOwner `json:"owners,omitempty"` }
ClusterlintObject is the object a clusterlint diagnostic refers to.
type ClusterlintOwner ¶
ClusterlintOwner indicates the resource that owns the offending object.
type CreateProjectRequest ¶
type CreateProjectRequest struct { Name string `json:"name"` Description string `json:"description"` Purpose string `json:"purpose"` Environment string `json:"environment"` }
CreateProjectRequest represents the request to create a new project.
type CustomImageCreateRequest ¶
type CustomImageCreateRequest struct { Name string `json:"name"` Url string `json:"url"` Region string `json:"region"` Distribution string `json:"distribution,omitempty"` Description string `json:"description,omitempty"` Tags []string `json:"tags,omitempty"` }
CustomImageCreateRequest represents a request to create a custom image.
type Database ¶
type Database struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` EngineSlug string `json:"engine,omitempty"` VersionSlug string `json:"version,omitempty"` Connection *DatabaseConnection `json:"connection,omitempty"` PrivateConnection *DatabaseConnection `json:"private_connection,omitempty"` Users []DatabaseUser `json:"users,omitempty"` NumNodes int `json:"num_nodes,omitempty"` SizeSlug string `json:"size,omitempty"` DBNames []string `json:"db_names,omitempty"` RegionSlug string `json:"region,omitempty"` Status string `json:"status,omitempty"` MaintenanceWindow *DatabaseMaintenanceWindow `json:"maintenance_window,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` PrivateNetworkUUID string `json:"private_network_uuid,omitempty"` Tags []string `json:"tags,omitempty"` }
Database represents a DigitalOcean managed database product. These managed databases are usually comprised of a cluster of database nodes, a primary and 0 or more replicas. The EngineSlug is a string which indicates the type of database service. Some examples are "pg", "mysql" or "redis". A Database also includes connection information and other properties of the service like region, size and current status.
type DatabaseBackup ¶
type DatabaseBackup struct { CreatedAt time.Time `json:"created_at,omitempty"` SizeGigabytes float64 `json:"size_gigabytes,omitempty"` }
DatabaseBackup represents a database backup.
type DatabaseConnection ¶
type DatabaseConnection struct { URI string `json:"uri,omitempty"` Database string `json:"database,omitempty"` Host string `json:"host,omitempty"` Port int `json:"port,omitempty"` User string `json:"user,omitempty"` Password string `json:"password,omitempty"` SSL bool `json:"ssl,omitempty"` }
DatabaseConnection represents a database connection
type DatabaseCreateDBRequest ¶
type DatabaseCreateDBRequest struct {
Name string `json:"name"`
}
DatabaseCreateDBRequest is used to create a new engine-specific database within the cluster
type DatabaseCreatePoolRequest ¶
type DatabaseCreatePoolRequest struct { User string `json:"user"` Name string `json:"name"` Size int `json:"size"` Database string `json:"db"` Mode string `json:"mode"` }
DatabaseCreatePoolRequest is used to create a new database connection pool
type DatabaseCreateReplicaRequest ¶
type DatabaseCreateReplicaRequest struct { Name string `json:"name"` Region string `json:"region"` Size string `json:"size"` PrivateNetworkUUID string `json:"private_network_uuid"` Tags []string `json:"tags,omitempty"` }
DatabaseCreateReplicaRequest is used to create a new read-only replica
type DatabaseCreateRequest ¶
type DatabaseCreateRequest struct { Name string `json:"name,omitempty"` EngineSlug string `json:"engine,omitempty"` Version string `json:"version,omitempty"` SizeSlug string `json:"size,omitempty"` Region string `json:"region,omitempty"` NumNodes int `json:"num_nodes,omitempty"` PrivateNetworkUUID string `json:"private_network_uuid"` Tags []string `json:"tags,omitempty"` }
DatabaseCreateRequest represents a request to create a database cluster
type DatabaseCreateUserRequest ¶
type DatabaseCreateUserRequest struct { Name string `json:"name"` MySQLSettings *DatabaseMySQLUserSettings `json:"mysql_settings,omitempty"` }
DatabaseCreateUserRequest is used to create a new database user
type DatabaseDB ¶
type DatabaseDB struct {
Name string `json:"name"`
}
DatabaseDB represents an engine-specific database created within a database cluster. For SQL databases like PostgreSQL or MySQL, a "DB" refers to a database created on the RDBMS. For instance, a PostgreSQL database server can contain many database schemas, each with it's own settings, access permissions and data. ListDBs will return all databases present on the server.
type DatabaseFirewallRule ¶
type DatabaseFirewallRule struct { UUID string `json:"uuid"` ClusterUUID string `json:"cluster_uuid"` Type string `json:"type"` Value string `json:"value"` CreatedAt time.Time `json:"created_at"` }
DatabaseFirewallRule is a rule describing an inbound source to a database
type DatabaseMaintenanceWindow ¶
type DatabaseMaintenanceWindow struct { Day string `json:"day,omitempty"` Hour string `json:"hour,omitempty"` Pending bool `json:"pending,omitempty"` Description []string `json:"description,omitempty"` }
DatabaseMaintenanceWindow represents the maintenance_window of a database cluster
type DatabaseMigrateRequest ¶
type DatabaseMigrateRequest struct { Region string `json:"region,omitempty"` PrivateNetworkUUID string `json:"private_network_uuid"` }
DatabaseMigrateRequest can be used to initiate a database migrate operation.
type DatabaseMySQLUserSettings ¶
type DatabaseMySQLUserSettings struct {
AuthPlugin string `json:"auth_plugin"`
}
DatabaseMySQLUserSettings contains MySQL-specific user settings
type DatabasePool ¶
type DatabasePool struct { User string `json:"user"` Name string `json:"name"` Size int `json:"size"` Database string `json:"db"` Mode string `json:"mode"` Connection *DatabaseConnection `json:"connection"` PrivateConnection *DatabaseConnection `json:"private_connection,omitempty"` }
DatabasePool represents a database connection pool
type DatabaseReplica ¶
type DatabaseReplica struct { Name string `json:"name"` Connection *DatabaseConnection `json:"connection"` PrivateConnection *DatabaseConnection `json:"private_connection,omitempty"` Region string `json:"region"` Status string `json:"status"` CreatedAt time.Time `json:"created_at"` PrivateNetworkUUID string `json:"private_network_uuid,omitempty"` Tags []string `json:"tags,omitempty"` }
DatabaseReplica represents a read-only replica of a particular database
type DatabaseResetUserAuthRequest ¶
type DatabaseResetUserAuthRequest struct {
MySQLSettings *DatabaseMySQLUserSettings `json:"mysql_settings,omitempty"`
}
DatabaseResetUserAuthRequest is used to reset a users DB auth
type DatabaseResizeRequest ¶
type DatabaseResizeRequest struct { SizeSlug string `json:"size,omitempty"` NumNodes int `json:"num_nodes,omitempty"` }
DatabaseResizeRequest can be used to initiate a database resize operation.
type DatabaseUpdateFirewallRulesRequest ¶
type DatabaseUpdateFirewallRulesRequest struct {
Rules []*DatabaseFirewallRule `json:"rules"`
}
DatabaseUpdateFirewallRulesRequest is used to set the firewall rules for a database
type DatabaseUpdateMaintenanceRequest ¶
type DatabaseUpdateMaintenanceRequest struct { Day string `json:"day,omitempty"` Hour string `json:"hour,omitempty"` }
DatabaseUpdateMaintenanceRequest can be used to update the database's maintenance window.
type DatabaseUser ¶
type DatabaseUser struct { Name string `json:"name,omitempty"` Role string `json:"role,omitempty"` Password string `json:"password,omitempty"` MySQLSettings *DatabaseMySQLUserSettings `json:"mysql_settings,omitempty"` }
DatabaseUser represents a user in the database
type DatabasesService ¶
type DatabasesService interface { List(context.Context, *ListOptions) ([]Database, *Response, error) Get(context.Context, string) (*Database, *Response, error) Create(context.Context, *DatabaseCreateRequest) (*Database, *Response, error) Delete(context.Context, string) (*Response, error) Resize(context.Context, string, *DatabaseResizeRequest) (*Response, error) Migrate(context.Context, string, *DatabaseMigrateRequest) (*Response, error) UpdateMaintenance(context.Context, string, *DatabaseUpdateMaintenanceRequest) (*Response, error) ListBackups(context.Context, string, *ListOptions) ([]DatabaseBackup, *Response, error) GetUser(context.Context, string, string) (*DatabaseUser, *Response, error) ListUsers(context.Context, string, *ListOptions) ([]DatabaseUser, *Response, error) CreateUser(context.Context, string, *DatabaseCreateUserRequest) (*DatabaseUser, *Response, error) DeleteUser(context.Context, string, string) (*Response, error) ResetUserAuth(context.Context, string, string, *DatabaseResetUserAuthRequest) (*DatabaseUser, *Response, error) ListDBs(context.Context, string, *ListOptions) ([]DatabaseDB, *Response, error) CreateDB(context.Context, string, *DatabaseCreateDBRequest) (*DatabaseDB, *Response, error) GetDB(context.Context, string, string) (*DatabaseDB, *Response, error) DeleteDB(context.Context, string, string) (*Response, error) ListPools(context.Context, string, *ListOptions) ([]DatabasePool, *Response, error) CreatePool(context.Context, string, *DatabaseCreatePoolRequest) (*DatabasePool, *Response, error) GetPool(context.Context, string, string) (*DatabasePool, *Response, error) DeletePool(context.Context, string, string) (*Response, error) GetReplica(context.Context, string, string) (*DatabaseReplica, *Response, error) ListReplicas(context.Context, string, *ListOptions) ([]DatabaseReplica, *Response, error) CreateReplica(context.Context, string, *DatabaseCreateReplicaRequest) (*DatabaseReplica, *Response, error) DeleteReplica(context.Context, string, string) (*Response, error) GetEvictionPolicy(context.Context, string) (string, *Response, error) SetEvictionPolicy(context.Context, string, string) (*Response, error) GetSQLMode(context.Context, string) (string, *Response, error) SetSQLMode(context.Context, string, ...string) (*Response, error) GetFirewallRules(context.Context, string) ([]DatabaseFirewallRule, *Response, error) UpdateFirewallRules(context.Context, string, *DatabaseUpdateFirewallRulesRequest) (*Response, error) }
The DatabasesService provides access to the DigitalOcean managed database suite of products through the public API. Customers can create new database clusters, migrate them between regions, create replicas and interact with their configurations. Each database service is referred to as a Database. A SQL database service can have multiple databases residing in the system. To help make these entities distinct from Databases in godo, we refer to them here as DatabaseDBs.
See: https://developers.digitalocean.com/documentation/v2#databases
type DatabasesServiceOp ¶
type DatabasesServiceOp struct {
// contains filtered or unexported fields
}
DatabasesServiceOp handles communication with the Databases related methods of the DigitalOcean API.
func (*DatabasesServiceOp) Create ¶
func (svc *DatabasesServiceOp) Create(ctx context.Context, create *DatabaseCreateRequest) (*Database, *Response, error)
Create creates a database cluster
func (*DatabasesServiceOp) CreateDB ¶
func (svc *DatabasesServiceOp) CreateDB(ctx context.Context, databaseID string, createDB *DatabaseCreateDBRequest) (*DatabaseDB, *Response, error)
CreateDB will create a new database
func (*DatabasesServiceOp) CreatePool ¶
func (svc *DatabasesServiceOp) CreatePool(ctx context.Context, databaseID string, createPool *DatabaseCreatePoolRequest) (*DatabasePool, *Response, error)
CreatePool will create a new database connection pool
func (*DatabasesServiceOp) CreateReplica ¶
func (svc *DatabasesServiceOp) CreateReplica(ctx context.Context, databaseID string, createReplica *DatabaseCreateReplicaRequest) (*DatabaseReplica, *Response, error)
CreateReplica will create a new database connection pool
func (*DatabasesServiceOp) CreateUser ¶
func (svc *DatabasesServiceOp) CreateUser(ctx context.Context, databaseID string, createUser *DatabaseCreateUserRequest) (*DatabaseUser, *Response, error)
CreateUser will create a new database user
func (*DatabasesServiceOp) Delete ¶
Delete deletes a database cluster. There is no way to recover a cluster once it has been destroyed.
func (*DatabasesServiceOp) DeleteDB ¶
func (svc *DatabasesServiceOp) DeleteDB(ctx context.Context, databaseID, name string) (*Response, error)
DeleteDB will delete an existing database
func (*DatabasesServiceOp) DeletePool ¶
func (svc *DatabasesServiceOp) DeletePool(ctx context.Context, databaseID, name string) (*Response, error)
DeletePool will delete an existing database connection pool
func (*DatabasesServiceOp) DeleteReplica ¶
func (svc *DatabasesServiceOp) DeleteReplica(ctx context.Context, databaseID, name string) (*Response, error)
DeleteReplica will delete an existing database replica
func (*DatabasesServiceOp) DeleteUser ¶
func (svc *DatabasesServiceOp) DeleteUser(ctx context.Context, databaseID, userID string) (*Response, error)
DeleteUser will delete an existing database user
func (*DatabasesServiceOp) Get ¶
func (svc *DatabasesServiceOp) Get(ctx context.Context, databaseID string) (*Database, *Response, error)
Get retrieves the details of a database cluster
func (*DatabasesServiceOp) GetDB ¶
func (svc *DatabasesServiceOp) GetDB(ctx context.Context, databaseID, name string) (*DatabaseDB, *Response, error)
GetDB returns a single database by name
func (*DatabasesServiceOp) GetEvictionPolicy ¶
func (svc *DatabasesServiceOp) GetEvictionPolicy(ctx context.Context, databaseID string) (string, *Response, error)
GetEvictionPolicy loads the eviction policy for a given Redis cluster.
func (*DatabasesServiceOp) GetFirewallRules ¶
func (svc *DatabasesServiceOp) GetFirewallRules(ctx context.Context, databaseID string) ([]DatabaseFirewallRule, *Response, error)
GetFirewallRules loads the inbound sources for a given cluster.
func (*DatabasesServiceOp) GetPool ¶
func (svc *DatabasesServiceOp) GetPool(ctx context.Context, databaseID, name string) (*DatabasePool, *Response, error)
GetPool returns a single database connection pool by name
func (*DatabasesServiceOp) GetReplica ¶
func (svc *DatabasesServiceOp) GetReplica(ctx context.Context, databaseID, name string) (*DatabaseReplica, *Response, error)
GetReplica returns a single database replica
func (*DatabasesServiceOp) GetSQLMode ¶
func (svc *DatabasesServiceOp) GetSQLMode(ctx context.Context, databaseID string) (string, *Response, error)
GetSQLMode loads the SQL Mode settings for a given MySQL cluster.
func (*DatabasesServiceOp) GetUser ¶
func (svc *DatabasesServiceOp) GetUser(ctx context.Context, databaseID, userID string) (*DatabaseUser, *Response, error)
GetUser returns the database user identified by userID
func (*DatabasesServiceOp) List ¶
func (svc *DatabasesServiceOp) List(ctx context.Context, opts *ListOptions) ([]Database, *Response, error)
List returns a list of the Databases visible with the caller's API token
func (*DatabasesServiceOp) ListBackups ¶
func (svc *DatabasesServiceOp) ListBackups(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseBackup, *Response, error)
ListBackups returns a list of the current backups of a database
func (*DatabasesServiceOp) ListDBs ¶
func (svc *DatabasesServiceOp) ListDBs(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseDB, *Response, error)
ListDBs returns all databases for a given database cluster
func (*DatabasesServiceOp) ListPools ¶
func (svc *DatabasesServiceOp) ListPools(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabasePool, *Response, error)
ListPools returns all connection pools for a given database cluster
func (*DatabasesServiceOp) ListReplicas ¶
func (svc *DatabasesServiceOp) ListReplicas(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseReplica, *Response, error)
ListReplicas returns all read-only replicas for a given database cluster
func (*DatabasesServiceOp) ListUsers ¶
func (svc *DatabasesServiceOp) ListUsers(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseUser, *Response, error)
ListUsers returns all database users for the database
func (*DatabasesServiceOp) Migrate ¶
func (svc *DatabasesServiceOp) Migrate(ctx context.Context, databaseID string, migrate *DatabaseMigrateRequest) (*Response, error)
Migrate migrates a database cluster to a new region
func (*DatabasesServiceOp) ResetUserAuth ¶
func (svc *DatabasesServiceOp) ResetUserAuth(ctx context.Context, databaseID, userID string, resetAuth *DatabaseResetUserAuthRequest) (*DatabaseUser, *Response, error)
ResetUserAuth will reset user authentication
func (*DatabasesServiceOp) Resize ¶
func (svc *DatabasesServiceOp) Resize(ctx context.Context, databaseID string, resize *DatabaseResizeRequest) (*Response, error)
Resize resizes a database cluster by number of nodes or size
func (*DatabasesServiceOp) SetEvictionPolicy ¶
func (svc *DatabasesServiceOp) SetEvictionPolicy(ctx context.Context, databaseID, policy string) (*Response, error)
SetEvictionPolicy updates the eviction policy for a given Redis cluster.
The valid eviction policies are documented by the exported string constants with the prefix `EvictionPolicy`.
func (*DatabasesServiceOp) SetSQLMode ¶
func (svc *DatabasesServiceOp) SetSQLMode(ctx context.Context, databaseID string, sqlModes ...string) (*Response, error)
SetSQLMode updates the SQL Mode settings for a given MySQL cluster.
func (*DatabasesServiceOp) UpdateFirewallRules ¶
func (svc *DatabasesServiceOp) UpdateFirewallRules(ctx context.Context, databaseID string, firewallRulesReq *DatabaseUpdateFirewallRulesRequest) (*Response, error)
UpdateFirewallRules sets the inbound sources for a given cluster.
func (*DatabasesServiceOp) UpdateMaintenance ¶
func (svc *DatabasesServiceOp) UpdateMaintenance(ctx context.Context, databaseID string, maintenance *DatabaseUpdateMaintenanceRequest) (*Response, error)
UpdateMaintenance updates the maintenance window on a cluster
type Deployment ¶
type Deployment struct { ID string `json:"id,omitempty"` Spec *AppSpec `json:"spec,omitempty"` Services []*DeploymentService `json:"services,omitempty"` StaticSites []*DeploymentStaticSite `json:"static_sites,omitempty"` Workers []*DeploymentWorker `json:"workers,omitempty"` Jobs []*DeploymentJob `json:"jobs,omitempty"` PhaseLastUpdatedAt time.Time `json:"phase_last_updated_at,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` Cause string `json:"cause,omitempty"` ClonedFrom string `json:"cloned_from,omitempty"` Progress *DeploymentProgress `json:"progress,omitempty"` Phase DeploymentPhase `json:"phase,omitempty"` TierSlug string `json:"tier_slug,omitempty"` }
Deployment struct for Deployment
type DeploymentCreateRequest ¶
type DeploymentCreateRequest struct {
ForceBuild bool `json:"force_build"`
}
DeploymentCreateRequest represents a request to create a deployment.
type DeploymentJob ¶
type DeploymentJob struct { Name string `json:"name,omitempty"` SourceCommitHash string `json:"source_commit_hash,omitempty"` }
DeploymentJob struct for DeploymentJob
type DeploymentPhase ¶
type DeploymentPhase string
DeploymentPhase the model 'DeploymentPhase'
const ( DeploymentPhase_Unknown DeploymentPhase = "UNKNOWN" DeploymentPhase_PendingBuild DeploymentPhase = "PENDING_BUILD" DeploymentPhase_Building DeploymentPhase = "BUILDING" DeploymentPhase_PendingDeploy DeploymentPhase = "PENDING_DEPLOY" DeploymentPhase_Deploying DeploymentPhase = "DEPLOYING" DeploymentPhase_Active DeploymentPhase = "ACTIVE" DeploymentPhase_Superseded DeploymentPhase = "SUPERSEDED" DeploymentPhase_Error DeploymentPhase = "ERROR" DeploymentPhase_Canceled DeploymentPhase = "CANCELED" )
List of DeploymentPhase
type DeploymentProgress ¶
type DeploymentProgress struct { PendingSteps int32 `json:"pending_steps,omitempty"` RunningSteps int32 `json:"running_steps,omitempty"` SuccessSteps int32 `json:"success_steps,omitempty"` ErrorSteps int32 `json:"error_steps,omitempty"` TotalSteps int32 `json:"total_steps,omitempty"` Steps []*DeploymentProgressStep `json:"steps,omitempty"` SummarySteps []*DeploymentProgressStep `json:"summary_steps,omitempty"` }
DeploymentProgress struct for DeploymentProgress
type DeploymentProgressStep ¶
type DeploymentProgressStep struct { Name string `json:"name,omitempty"` Status DeploymentProgressStepStatus `json:"status,omitempty"` Steps []*DeploymentProgressStep `json:"steps,omitempty"` StartedAt time.Time `json:"started_at,omitempty"` EndedAt time.Time `json:"ended_at,omitempty"` Reason *DeploymentProgressStepReason `json:"reason,omitempty"` ComponentName string `json:"component_name,omitempty"` // The base of a human-readable description of the step intended to be combined with the component name for presentation. For example: `message_base` = \"Building service\" `component_name` = \"api\" MessageBase string `json:"message_base,omitempty"` }
DeploymentProgressStep struct for DeploymentProgressStep
type DeploymentProgressStepReason ¶
type DeploymentProgressStepReason struct { Code string `json:"code,omitempty"` Message string `json:"message,omitempty"` }
DeploymentProgressStepReason struct for DeploymentProgressStepReason
type DeploymentProgressStepStatus ¶
type DeploymentProgressStepStatus string
DeploymentProgressStepStatus the model 'DeploymentProgressStepStatus'
const ( DeploymentProgressStepStatus_Unknown DeploymentProgressStepStatus = "UNKNOWN" DeploymentProgressStepStatus_Pending DeploymentProgressStepStatus = "PENDING" DeploymentProgressStepStatus_Running DeploymentProgressStepStatus = "RUNNING" DeploymentProgressStepStatus_Error DeploymentProgressStepStatus = "ERROR" DeploymentProgressStepStatus_Success DeploymentProgressStepStatus = "SUCCESS" )
List of DeploymentProgressStepStatus
type DeploymentService ¶
type DeploymentService struct { Name string `json:"name,omitempty"` SourceCommitHash string `json:"source_commit_hash,omitempty"` }
DeploymentService struct for DeploymentService
type DeploymentStaticSite ¶
type DeploymentStaticSite struct { Name string `json:"name,omitempty"` SourceCommitHash string `json:"source_commit_hash,omitempty"` }
DeploymentStaticSite struct for DeploymentStaticSite
type DeploymentWorker ¶
type DeploymentWorker struct { Name string `json:"name,omitempty"` SourceCommitHash string `json:"source_commit_hash,omitempty"` }
DeploymentWorker struct for DeploymentWorker
type Destinations ¶
type Destinations struct { Addresses []string `json:"addresses,omitempty"` Tags []string `json:"tags,omitempty"` DropletIDs []int `json:"droplet_ids,omitempty"` LoadBalancerUIDs []string `json:"load_balancer_uids,omitempty"` }
Destinations represents a DigitalOcean Firewall OutboundRule destinations.
type DockerCredentials ¶
type DockerCredentials struct {
DockerConfigJSON []byte
}
DockerCredentials is the content of a Docker config file that is used by the docker CLI See: https://docs.docker.com/engine/reference/commandline/cli/#configjson-properties
type Domain ¶
type Domain struct { Name string `json:"name"` TTL int `json:"ttl"` ZoneFile string `json:"zone_file"` }
Domain represents a DigitalOcean domain
type DomainCreateRequest ¶
type DomainCreateRequest struct { Name string `json:"name"` IPAddress string `json:"ip_address,omitempty"` }
DomainCreateRequest respresents a request to create a domain.
type DomainRecord ¶
type DomainRecord struct { ID int `json:"id,float64,omitempty"` Type string `json:"type,omitempty"` Name string `json:"name,omitempty"` Data string `json:"data,omitempty"` Priority int `json:"priority"` Port int `json:"port"` TTL int `json:"ttl,omitempty"` Weight int `json:"weight"` Flags int `json:"flags"` Tag string `json:"tag,omitempty"` }
DomainRecord represents a DigitalOcean DomainRecord
func (DomainRecord) String ¶
func (d DomainRecord) String() string
Converts a DomainRecord to a string.
type DomainRecordEditRequest ¶
type DomainRecordEditRequest struct { Type string `json:"type,omitempty"` Name string `json:"name,omitempty"` Data string `json:"data,omitempty"` Priority int `json:"priority"` Port int `json:"port"` TTL int `json:"ttl,omitempty"` Weight int `json:"weight"` Flags int `json:"flags"` Tag string `json:"tag,omitempty"` }
DomainRecordEditRequest represents a request to update a domain record.
func (DomainRecordEditRequest) String ¶
func (d DomainRecordEditRequest) String() string
Converts a DomainRecordEditRequest to a string.
type DomainsService ¶
type DomainsService interface { List(context.Context, *ListOptions) ([]Domain, *Response, error) Get(context.Context, string) (*Domain, *Response, error) Create(context.Context, *DomainCreateRequest) (*Domain, *Response, error) Delete(context.Context, string) (*Response, error) Records(context.Context, string, *ListOptions) ([]DomainRecord, *Response, error) RecordsByType(context.Context, string, string, *ListOptions) ([]DomainRecord, *Response, error) RecordsByName(context.Context, string, string, *ListOptions) ([]DomainRecord, *Response, error) RecordsByTypeAndName(context.Context, string, string, string, *ListOptions) ([]DomainRecord, *Response, error) Record(context.Context, string, int) (*DomainRecord, *Response, error) DeleteRecord(context.Context, string, int) (*Response, error) EditRecord(context.Context, string, int, *DomainRecordEditRequest) (*DomainRecord, *Response, error) CreateRecord(context.Context, string, *DomainRecordEditRequest) (*DomainRecord, *Response, error) }
DomainsService is an interface for managing DNS with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#domains and https://developers.digitalocean.com/documentation/v2#domain-records
type DomainsServiceOp ¶
type DomainsServiceOp struct {
// contains filtered or unexported fields
}
DomainsServiceOp handles communication with the domain related methods of the DigitalOcean API.
func (*DomainsServiceOp) Create ¶
func (s *DomainsServiceOp) Create(ctx context.Context, createRequest *DomainCreateRequest) (*Domain, *Response, error)
Create a new domain
func (*DomainsServiceOp) CreateRecord ¶
func (s *DomainsServiceOp) CreateRecord(ctx context.Context, domain string, createRequest *DomainRecordEditRequest) (*DomainRecord, *Response, error)
CreateRecord creates a record using a DomainRecordEditRequest
func (*DomainsServiceOp) DeleteRecord ¶
func (s *DomainsServiceOp) DeleteRecord(ctx context.Context, domain string, id int) (*Response, error)
DeleteRecord deletes a record from a domain identified by id
func (*DomainsServiceOp) EditRecord ¶
func (s *DomainsServiceOp) EditRecord(ctx context.Context, domain string, id int, editRequest *DomainRecordEditRequest, ) (*DomainRecord, *Response, error)
EditRecord edits a record using a DomainRecordEditRequest
func (DomainsServiceOp) List ¶
func (s DomainsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Domain, *Response, error)
List all domains.
func (*DomainsServiceOp) Record ¶
func (s *DomainsServiceOp) Record(ctx context.Context, domain string, id int) (*DomainRecord, *Response, error)
Record returns the record id from a domain
func (*DomainsServiceOp) Records ¶
func (s *DomainsServiceOp) Records(ctx context.Context, domain string, opt *ListOptions) ([]DomainRecord, *Response, error)
Records returns a slice of DomainRecord for a domain.
func (*DomainsServiceOp) RecordsByName ¶
func (s *DomainsServiceOp) RecordsByName(ctx context.Context, domain, name string, opt *ListOptions) ([]DomainRecord, *Response, error)
RecordsByName returns a slice of DomainRecord for a domain matched by record name.
func (*DomainsServiceOp) RecordsByType ¶
func (s *DomainsServiceOp) RecordsByType(ctx context.Context, domain, ofType string, opt *ListOptions) ([]DomainRecord, *Response, error)
RecordsByType returns a slice of DomainRecord for a domain matched by record type.
func (*DomainsServiceOp) RecordsByTypeAndName ¶
func (s *DomainsServiceOp) RecordsByTypeAndName(ctx context.Context, domain, ofType, name string, opt *ListOptions) ([]DomainRecord, *Response, error)
RecordsByTypeAndName returns a slice of DomainRecord for a domain matched by record type and name.
type Droplet ¶
type Droplet struct { ID int `json:"id,float64,omitempty"` Name string `json:"name,omitempty"` Memory int `json:"memory,omitempty"` Vcpus int `json:"vcpus,omitempty"` Disk int `json:"disk,omitempty"` Region *Region `json:"region,omitempty"` Image *Image `json:"image,omitempty"` Size *Size `json:"size,omitempty"` SizeSlug string `json:"size_slug,omitempty"` BackupIDs []int `json:"backup_ids,omitempty"` NextBackupWindow *BackupWindow `json:"next_backup_window,omitempty"` SnapshotIDs []int `json:"snapshot_ids,omitempty"` Features []string `json:"features,omitempty"` Locked bool `json:"locked,bool,omitempty"` Status string `json:"status,omitempty"` Networks *Networks `json:"networks,omitempty"` Created string `json:"created_at,omitempty"` Kernel *Kernel `json:"kernel,omitempty"` Tags []string `json:"tags,omitempty"` VolumeIDs []string `json:"volume_ids"` VPCUUID string `json:"vpc_uuid,omitempty"` }
Droplet represents a DigitalOcean Droplet
func (*Droplet) PrivateIPv4 ¶
PrivateIPv4 returns the private IPv4 address for the Droplet.
func (*Droplet) PublicIPv4 ¶
PublicIPv4 returns the public IPv4 address for the Droplet.
func (*Droplet) PublicIPv6 ¶
PublicIPv6 returns the public IPv6 address for the Droplet.
type DropletActionsService ¶
type DropletActionsService interface { Shutdown(context.Context, int) (*Action, *Response, error) ShutdownByTag(context.Context, string) ([]Action, *Response, error) PowerOff(context.Context, int) (*Action, *Response, error) PowerOffByTag(context.Context, string) ([]Action, *Response, error) PowerOn(context.Context, int) (*Action, *Response, error) PowerOnByTag(context.Context, string) ([]Action, *Response, error) PowerCycle(context.Context, int) (*Action, *Response, error) PowerCycleByTag(context.Context, string) ([]Action, *Response, error) Reboot(context.Context, int) (*Action, *Response, error) Restore(context.Context, int, int) (*Action, *Response, error) Resize(context.Context, int, string, bool) (*Action, *Response, error) Rename(context.Context, int, string) (*Action, *Response, error) Snapshot(context.Context, int, string) (*Action, *Response, error) SnapshotByTag(context.Context, string, string) ([]Action, *Response, error) EnableBackups(context.Context, int) (*Action, *Response, error) EnableBackupsByTag(context.Context, string) ([]Action, *Response, error) DisableBackups(context.Context, int) (*Action, *Response, error) DisableBackupsByTag(context.Context, string) ([]Action, *Response, error) PasswordReset(context.Context, int) (*Action, *Response, error) RebuildByImageID(context.Context, int, int) (*Action, *Response, error) RebuildByImageSlug(context.Context, int, string) (*Action, *Response, error) ChangeKernel(context.Context, int, int) (*Action, *Response, error) EnableIPv6(context.Context, int) (*Action, *Response, error) EnableIPv6ByTag(context.Context, string) ([]Action, *Response, error) EnablePrivateNetworking(context.Context, int) (*Action, *Response, error) EnablePrivateNetworkingByTag(context.Context, string) ([]Action, *Response, error) Get(context.Context, int, int) (*Action, *Response, error) GetByURI(context.Context, string) (*Action, *Response, error) }
DropletActionsService is an interface for interfacing with the Droplet actions endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#droplet-actions
type DropletActionsServiceOp ¶
type DropletActionsServiceOp struct {
// contains filtered or unexported fields
}
DropletActionsServiceOp handles communication with the Droplet action related methods of the DigitalOcean API.
func (*DropletActionsServiceOp) ChangeKernel ¶
func (s *DropletActionsServiceOp) ChangeKernel(ctx context.Context, id, kernelID int) (*Action, *Response, error)
ChangeKernel changes the kernel for a Droplet.
func (*DropletActionsServiceOp) DisableBackups ¶
func (s *DropletActionsServiceOp) DisableBackups(ctx context.Context, id int) (*Action, *Response, error)
DisableBackups disables backups for a Droplet.
func (*DropletActionsServiceOp) DisableBackupsByTag ¶
func (s *DropletActionsServiceOp) DisableBackupsByTag(ctx context.Context, tag string) ([]Action, *Response, error)
DisableBackupsByTag disables backups for Droplet matched by a Tag.
func (*DropletActionsServiceOp) EnableBackups ¶
func (s *DropletActionsServiceOp) EnableBackups(ctx context.Context, id int) (*Action, *Response, error)
EnableBackups enables backups for a Droplet.
func (*DropletActionsServiceOp) EnableBackupsByTag ¶
func (s *DropletActionsServiceOp) EnableBackupsByTag(ctx context.Context, tag string) ([]Action, *Response, error)
EnableBackupsByTag enables backups for Droplets matched by a Tag.
func (*DropletActionsServiceOp) EnableIPv6 ¶
func (s *DropletActionsServiceOp) EnableIPv6(ctx context.Context, id int) (*Action, *Response, error)
EnableIPv6 enables IPv6 for a Droplet.
func (*DropletActionsServiceOp) EnableIPv6ByTag ¶
func (s *DropletActionsServiceOp) EnableIPv6ByTag(ctx context.Context, tag string) ([]Action, *Response, error)
EnableIPv6ByTag enables IPv6 for Droplets matched by a Tag.
func (*DropletActionsServiceOp) EnablePrivateNetworking ¶
func (s *DropletActionsServiceOp) EnablePrivateNetworking(ctx context.Context, id int) (*Action, *Response, error)
EnablePrivateNetworking enables private networking for a Droplet.
func (*DropletActionsServiceOp) EnablePrivateNetworkingByTag ¶
func (s *DropletActionsServiceOp) EnablePrivateNetworkingByTag(ctx context.Context, tag string) ([]Action, *Response, error)
EnablePrivateNetworkingByTag enables private networking for Droplets matched by a Tag.
func (*DropletActionsServiceOp) Get ¶
func (s *DropletActionsServiceOp) Get(ctx context.Context, dropletID, actionID int) (*Action, *Response, error)
Get an action for a particular Droplet by id.
func (*DropletActionsServiceOp) GetByURI ¶
func (s *DropletActionsServiceOp) GetByURI(ctx context.Context, rawurl string) (*Action, *Response, error)
GetByURI gets an action for a particular Droplet by id.
func (*DropletActionsServiceOp) PasswordReset ¶
func (s *DropletActionsServiceOp) PasswordReset(ctx context.Context, id int) (*Action, *Response, error)
PasswordReset resets the password for a Droplet.
func (*DropletActionsServiceOp) PowerCycle ¶
func (s *DropletActionsServiceOp) PowerCycle(ctx context.Context, id int) (*Action, *Response, error)
PowerCycle a Droplet
func (*DropletActionsServiceOp) PowerCycleByTag ¶
func (s *DropletActionsServiceOp) PowerCycleByTag(ctx context.Context, tag string) ([]Action, *Response, error)
PowerCycleByTag power cycles Droplets matched by a Tag.
func (*DropletActionsServiceOp) PowerOffByTag ¶
func (s *DropletActionsServiceOp) PowerOffByTag(ctx context.Context, tag string) ([]Action, *Response, error)
PowerOffByTag powers off Droplets matched by a Tag.
func (*DropletActionsServiceOp) PowerOnByTag ¶
func (s *DropletActionsServiceOp) PowerOnByTag(ctx context.Context, tag string) ([]Action, *Response, error)
PowerOnByTag powers on Droplets matched by a Tag.
func (*DropletActionsServiceOp) RebuildByImageID ¶
func (s *DropletActionsServiceOp) RebuildByImageID(ctx context.Context, id, imageID int) (*Action, *Response, error)
RebuildByImageID rebuilds a Droplet from an image with a given id.
func (*DropletActionsServiceOp) RebuildByImageSlug ¶
func (s *DropletActionsServiceOp) RebuildByImageSlug(ctx context.Context, id int, slug string) (*Action, *Response, error)
RebuildByImageSlug rebuilds a Droplet from an Image matched by a given Slug.
func (*DropletActionsServiceOp) Rename ¶
func (s *DropletActionsServiceOp) Rename(ctx context.Context, id int, name string) (*Action, *Response, error)
Rename a Droplet
func (*DropletActionsServiceOp) Resize ¶
func (s *DropletActionsServiceOp) Resize(ctx context.Context, id int, sizeSlug string, resizeDisk bool) (*Action, *Response, error)
Resize a Droplet
func (*DropletActionsServiceOp) Restore ¶
func (s *DropletActionsServiceOp) Restore(ctx context.Context, id, imageID int) (*Action, *Response, error)
Restore an image to a Droplet
func (*DropletActionsServiceOp) ShutdownByTag ¶
func (s *DropletActionsServiceOp) ShutdownByTag(ctx context.Context, tag string) ([]Action, *Response, error)
ShutdownByTag shuts down Droplets matched by a Tag.
func (*DropletActionsServiceOp) Snapshot ¶
func (s *DropletActionsServiceOp) Snapshot(ctx context.Context, id int, name string) (*Action, *Response, error)
Snapshot a Droplet.
func (*DropletActionsServiceOp) SnapshotByTag ¶
func (s *DropletActionsServiceOp) SnapshotByTag(ctx context.Context, tag string, name string) ([]Action, *Response, error)
SnapshotByTag snapshots Droplets matched by a Tag.
type DropletCreateImage ¶
DropletCreateImage identifies an image for the create request. It prefers slug over ID.
func (DropletCreateImage) MarshalJSON ¶
func (d DropletCreateImage) MarshalJSON() ([]byte, error)
MarshalJSON returns either the slug or id of the image. It returns the id if the slug is empty.
type DropletCreateRequest ¶
type DropletCreateRequest struct { Name string `json:"name"` Region string `json:"region"` Size string `json:"size"` Image DropletCreateImage `json:"image"` SSHKeys []DropletCreateSSHKey `json:"ssh_keys"` Backups bool `json:"backups"` IPv6 bool `json:"ipv6"` PrivateNetworking bool `json:"private_networking"` Monitoring bool `json:"monitoring"` UserData string `json:"user_data,omitempty"` Volumes []DropletCreateVolume `json:"volumes,omitempty"` Tags []string `json:"tags"` VPCUUID string `json:"vpc_uuid,omitempty"` }
DropletCreateRequest represents a request to create a Droplet.
func (DropletCreateRequest) String ¶
func (d DropletCreateRequest) String() string
type DropletCreateSSHKey ¶
DropletCreateSSHKey identifies a SSH Key for the create request. It prefers fingerprint over ID.
func (DropletCreateSSHKey) MarshalJSON ¶
func (d DropletCreateSSHKey) MarshalJSON() ([]byte, error)
MarshalJSON returns either the fingerprint or id of the ssh key. It returns the id if the fingerprint is empty.
type DropletCreateVolume ¶
type DropletCreateVolume struct { ID string // Deprecated: You must pass a the volume's ID when creating a Droplet. Name string }
DropletCreateVolume identifies a volume to attach for the create request.
func (DropletCreateVolume) MarshalJSON ¶
func (d DropletCreateVolume) MarshalJSON() ([]byte, error)
MarshalJSON returns an object with either the ID or name of the volume. It prefers the ID over the name.
type DropletMultiCreateRequest ¶
type DropletMultiCreateRequest struct { Names []string `json:"names"` Region string `json:"region"` Size string `json:"size"` Image DropletCreateImage `json:"image"` SSHKeys []DropletCreateSSHKey `json:"ssh_keys"` Backups bool `json:"backups"` IPv6 bool `json:"ipv6"` PrivateNetworking bool `json:"private_networking"` Monitoring bool `json:"monitoring"` UserData string `json:"user_data,omitempty"` Tags []string `json:"tags"` VPCUUID string `json:"vpc_uuid,omitempty"` }
DropletMultiCreateRequest is a request to create multiple Droplets.
func (DropletMultiCreateRequest) String ¶
func (d DropletMultiCreateRequest) String() string
type DropletsService ¶
type DropletsService interface { List(context.Context, *ListOptions) ([]Droplet, *Response, error) ListByTag(context.Context, string, *ListOptions) ([]Droplet, *Response, error) Get(context.Context, int) (*Droplet, *Response, error) Create(context.Context, *DropletCreateRequest) (*Droplet, *Response, error) CreateMultiple(context.Context, *DropletMultiCreateRequest) ([]Droplet, *Response, error) Delete(context.Context, int) (*Response, error) DeleteByTag(context.Context, string) (*Response, error) Kernels(context.Context, int, *ListOptions) ([]Kernel, *Response, error) Snapshots(context.Context, int, *ListOptions) ([]Image, *Response, error) Backups(context.Context, int, *ListOptions) ([]Image, *Response, error) Actions(context.Context, int, *ListOptions) ([]Action, *Response, error) Neighbors(context.Context, int) ([]Droplet, *Response, error) }
DropletsService is an interface for interfacing with the Droplet endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#droplets
type DropletsServiceOp ¶
type DropletsServiceOp struct {
// contains filtered or unexported fields
}
DropletsServiceOp handles communication with the Droplet related methods of the DigitalOcean API.
func (*DropletsServiceOp) Actions ¶
func (s *DropletsServiceOp) Actions(ctx context.Context, dropletID int, opt *ListOptions) ([]Action, *Response, error)
Actions lists the actions for a Droplet.
func (*DropletsServiceOp) Backups ¶
func (s *DropletsServiceOp) Backups(ctx context.Context, dropletID int, opt *ListOptions) ([]Image, *Response, error)
Backups lists the backups for a Droplet.
func (*DropletsServiceOp) Create ¶
func (s *DropletsServiceOp) Create(ctx context.Context, createRequest *DropletCreateRequest) (*Droplet, *Response, error)
Create Droplet
func (*DropletsServiceOp) CreateMultiple ¶
func (s *DropletsServiceOp) CreateMultiple(ctx context.Context, createRequest *DropletMultiCreateRequest) ([]Droplet, *Response, error)
CreateMultiple creates multiple Droplets.
func (*DropletsServiceOp) DeleteByTag ¶
DeleteByTag deletes Droplets matched by a Tag.
func (*DropletsServiceOp) Kernels ¶
func (s *DropletsServiceOp) Kernels(ctx context.Context, dropletID int, opt *ListOptions) ([]Kernel, *Response, error)
Kernels lists kernels available for a Droplet.
func (*DropletsServiceOp) List ¶
func (s *DropletsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Droplet, *Response, error)
List all Droplets.
func (*DropletsServiceOp) ListByTag ¶
func (s *DropletsServiceOp) ListByTag(ctx context.Context, tag string, opt *ListOptions) ([]Droplet, *Response, error)
ListByTag lists all Droplets matched by a Tag.
func (*DropletsServiceOp) Neighbors ¶
func (s *DropletsServiceOp) Neighbors(ctx context.Context, dropletID int) ([]Droplet, *Response, error)
Neighbors lists the neighbors for a Droplet.
func (*DropletsServiceOp) Snapshots ¶
func (s *DropletsServiceOp) Snapshots(ctx context.Context, dropletID int, opt *ListOptions) ([]Image, *Response, error)
Snapshots lists the snapshots available for a Droplet.
type ErrorResponse ¶
type ErrorResponse struct { // HTTP response that caused this error Response *http.Response // Error message Message string `json:"message"` // RequestID returned from the API, useful to contact support. RequestID string `json:"request_id"` }
An ErrorResponse reports the error caused by an API request
func (*ErrorResponse) Error ¶
func (r *ErrorResponse) Error() string
type Firewall ¶
type Firewall struct { ID string `json:"id"` Name string `json:"name"` Status string `json:"status"` InboundRules []InboundRule `json:"inbound_rules"` OutboundRules []OutboundRule `json:"outbound_rules"` DropletIDs []int `json:"droplet_ids"` Tags []string `json:"tags"` Created string `json:"created_at"` PendingChanges []PendingChange `json:"pending_changes"` }
Firewall represents a DigitalOcean Firewall configuration.
type FirewallRequest ¶
type FirewallRequest struct { Name string `json:"name"` InboundRules []InboundRule `json:"inbound_rules"` OutboundRules []OutboundRule `json:"outbound_rules"` DropletIDs []int `json:"droplet_ids"` Tags []string `json:"tags"` }
FirewallRequest represents the configuration to be applied to an existing or a new Firewall.
type FirewallRulesRequest ¶
type FirewallRulesRequest struct { InboundRules []InboundRule `json:"inbound_rules"` OutboundRules []OutboundRule `json:"outbound_rules"` }
FirewallRulesRequest represents rules configuration to be applied to an existing Firewall.
type FirewallsService ¶
type FirewallsService interface { Get(context.Context, string) (*Firewall, *Response, error) Create(context.Context, *FirewallRequest) (*Firewall, *Response, error) Update(context.Context, string, *FirewallRequest) (*Firewall, *Response, error) Delete(context.Context, string) (*Response, error) List(context.Context, *ListOptions) ([]Firewall, *Response, error) ListByDroplet(context.Context, int, *ListOptions) ([]Firewall, *Response, error) AddDroplets(context.Context, string, ...int) (*Response, error) RemoveDroplets(context.Context, string, ...int) (*Response, error) AddTags(context.Context, string, ...string) (*Response, error) RemoveTags(context.Context, string, ...string) (*Response, error) AddRules(context.Context, string, *FirewallRulesRequest) (*Response, error) RemoveRules(context.Context, string, *FirewallRulesRequest) (*Response, error) }
FirewallsService is an interface for managing Firewalls with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2/#firewalls
type FirewallsServiceOp ¶
type FirewallsServiceOp struct {
// contains filtered or unexported fields
}
FirewallsServiceOp handles communication with Firewalls methods of the DigitalOcean API.
func (*FirewallsServiceOp) AddDroplets ¶
func (fw *FirewallsServiceOp) AddDroplets(ctx context.Context, fID string, dropletIDs ...int) (*Response, error)
AddDroplets to a Firewall.
func (*FirewallsServiceOp) AddRules ¶
func (fw *FirewallsServiceOp) AddRules(ctx context.Context, fID string, rr *FirewallRulesRequest) (*Response, error)
AddRules to a Firewall.
func (*FirewallsServiceOp) AddTags ¶
func (fw *FirewallsServiceOp) AddTags(ctx context.Context, fID string, tags ...string) (*Response, error)
AddTags to a Firewall.
func (*FirewallsServiceOp) Create ¶
func (fw *FirewallsServiceOp) Create(ctx context.Context, fr *FirewallRequest) (*Firewall, *Response, error)
Create a new Firewall with a given configuration.
func (*FirewallsServiceOp) List ¶
func (fw *FirewallsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Firewall, *Response, error)
List Firewalls.
func (*FirewallsServiceOp) ListByDroplet ¶
func (fw *FirewallsServiceOp) ListByDroplet(ctx context.Context, dID int, opt *ListOptions) ([]Firewall, *Response, error)
ListByDroplet Firewalls.
func (*FirewallsServiceOp) RemoveDroplets ¶
func (fw *FirewallsServiceOp) RemoveDroplets(ctx context.Context, fID string, dropletIDs ...int) (*Response, error)
RemoveDroplets from a Firewall.
func (*FirewallsServiceOp) RemoveRules ¶
func (fw *FirewallsServiceOp) RemoveRules(ctx context.Context, fID string, rr *FirewallRulesRequest) (*Response, error)
RemoveRules from a Firewall.
func (*FirewallsServiceOp) RemoveTags ¶
func (fw *FirewallsServiceOp) RemoveTags(ctx context.Context, fID string, tags ...string) (*Response, error)
RemoveTags from a Firewall.
func (*FirewallsServiceOp) Update ¶
func (fw *FirewallsServiceOp) Update(ctx context.Context, fID string, fr *FirewallRequest) (*Firewall, *Response, error)
Update an existing Firewall with new configuration.
type FloatingIP ¶
type FloatingIP struct { Region *Region `json:"region"` Droplet *Droplet `json:"droplet"` IP string `json:"ip"` }
FloatingIP represents a Digital Ocean floating IP.
func (FloatingIP) String ¶
func (f FloatingIP) String() string
func (FloatingIP) URN ¶
func (f FloatingIP) URN() string
URN returns the floating IP in a valid DO API URN form.
type FloatingIPActionsService ¶
type FloatingIPActionsService interface { Assign(ctx context.Context, ip string, dropletID int) (*Action, *Response, error) Unassign(ctx context.Context, ip string) (*Action, *Response, error) Get(ctx context.Context, ip string, actionID int) (*Action, *Response, error) List(ctx context.Context, ip string, opt *ListOptions) ([]Action, *Response, error) }
FloatingIPActionsService is an interface for interfacing with the floating IPs actions endpoints of the Digital Ocean API. See: https://developers.digitalocean.com/documentation/v2#floating-ips-action
type FloatingIPActionsServiceOp ¶
type FloatingIPActionsServiceOp struct {
// contains filtered or unexported fields
}
FloatingIPActionsServiceOp handles communication with the floating IPs action related methods of the DigitalOcean API.
func (*FloatingIPActionsServiceOp) Assign ¶
func (s *FloatingIPActionsServiceOp) Assign(ctx context.Context, ip string, dropletID int) (*Action, *Response, error)
Assign a floating IP to a droplet.
func (*FloatingIPActionsServiceOp) Get ¶
func (s *FloatingIPActionsServiceOp) Get(ctx context.Context, ip string, actionID int) (*Action, *Response, error)
Get an action for a particular floating IP by id.
func (*FloatingIPActionsServiceOp) List ¶
func (s *FloatingIPActionsServiceOp) List(ctx context.Context, ip string, opt *ListOptions) ([]Action, *Response, error)
List the actions for a particular floating IP.
type FloatingIPCreateRequest ¶
type FloatingIPCreateRequest struct { Region string `json:"region"` DropletID int `json:"droplet_id,omitempty"` }
FloatingIPCreateRequest represents a request to create a floating IP. If DropletID is not empty, the floating IP will be assigned to the droplet.
type FloatingIPsService ¶
type FloatingIPsService interface { List(context.Context, *ListOptions) ([]FloatingIP, *Response, error) Get(context.Context, string) (*FloatingIP, *Response, error) Create(context.Context, *FloatingIPCreateRequest) (*FloatingIP, *Response, error) Delete(context.Context, string) (*Response, error) }
FloatingIPsService is an interface for interfacing with the floating IPs endpoints of the Digital Ocean API. See: https://developers.digitalocean.com/documentation/v2#floating-ips
type FloatingIPsServiceOp ¶
type FloatingIPsServiceOp struct {
// contains filtered or unexported fields
}
FloatingIPsServiceOp handles communication with the floating IPs related methods of the DigitalOcean API.
func (*FloatingIPsServiceOp) Create ¶
func (f *FloatingIPsServiceOp) Create(ctx context.Context, createRequest *FloatingIPCreateRequest) (*FloatingIP, *Response, error)
Create a floating IP. If the DropletID field of the request is not empty, the floating IP will also be assigned to the droplet.
func (*FloatingIPsServiceOp) Get ¶
func (f *FloatingIPsServiceOp) Get(ctx context.Context, ip string) (*FloatingIP, *Response, error)
Get an individual floating IP.
func (*FloatingIPsServiceOp) List ¶
func (f *FloatingIPsServiceOp) List(ctx context.Context, opt *ListOptions) ([]FloatingIP, *Response, error)
List all floating IPs.
type ForwardingRule ¶
type ForwardingRule struct { EntryProtocol string `json:"entry_protocol,omitempty"` EntryPort int `json:"entry_port,omitempty"` TargetProtocol string `json:"target_protocol,omitempty"` TargetPort int `json:"target_port,omitempty"` CertificateID string `json:"certificate_id,omitempty"` TlsPassthrough bool `json:"tls_passthrough,omitempty"` }
ForwardingRule represents load balancer forwarding rules.
func (ForwardingRule) String ¶
func (f ForwardingRule) String() string
String creates a human-readable description of a ForwardingRule.
type GarbageCollection ¶
type GarbageCollection struct { UUID string `json:"uuid"` RegistryName string `json:"registry_name"` Status string `json:"status"` Type GarbageCollectionType `json:"type"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` BlobsDeleted uint64 `json:"blobs_deleted"` FreedBytes uint64 `json:"freed_bytes"` }
GarbageCollection represents a garbage collection.
type GarbageCollectionType ¶
type GarbageCollectionType string
type GitHubSourceSpec ¶
type GitHubSourceSpec struct { Repo string `json:"repo,omitempty"` Branch string `json:"branch,omitempty"` DeployOnPush bool `json:"deploy_on_push,omitempty"` }
GitHubSourceSpec struct for GitHubSourceSpec
type GitLabSourceSpec ¶
type GitLabSourceSpec struct { Repo string `json:"repo,omitempty"` Branch string `json:"branch,omitempty"` DeployOnPush bool `json:"deploy_on_push,omitempty"` }
GitLabSourceSpec struct for GitLabSourceSpec
type GitSourceSpec ¶
type GitSourceSpec struct { RepoCloneURL string `json:"repo_clone_url,omitempty"` Branch string `json:"branch,omitempty"` }
GitSourceSpec struct for GitSourceSpec
type HealthCheck ¶
type HealthCheck struct { Protocol string `json:"protocol,omitempty"` Port int `json:"port,omitempty"` Path string `json:"path,omitempty"` CheckIntervalSeconds int `json:"check_interval_seconds,omitempty"` ResponseTimeoutSeconds int `json:"response_timeout_seconds,omitempty"` HealthyThreshold int `json:"healthy_threshold,omitempty"` UnhealthyThreshold int `json:"unhealthy_threshold,omitempty"` }
HealthCheck represents optional load balancer health check rules.
func (HealthCheck) String ¶
func (h HealthCheck) String() string
String creates a human-readable description of a HealthCheck.
type Image ¶
type Image struct { ID int `json:"id,float64,omitempty"` Name string `json:"name,omitempty"` Type string `json:"type,omitempty"` Distribution string `json:"distribution,omitempty"` Slug string `json:"slug,omitempty"` Public bool `json:"public,omitempty"` Regions []string `json:"regions,omitempty"` MinDiskSize int `json:"min_disk_size,omitempty"` SizeGigaBytes float64 `json:"size_gigabytes,omitempty"` Created string `json:"created_at,omitempty"` Description string `json:"description,omitempty"` Tags []string `json:"tags,omitempty"` Status string `json:"status,omitempty"` ErrorMessage string `json:"error_message,omitempty"` }
Image represents a DigitalOcean Image
type ImageActionsService ¶
type ImageActionsService interface { Get(context.Context, int, int) (*Action, *Response, error) Transfer(context.Context, int, *ActionRequest) (*Action, *Response, error) Convert(context.Context, int) (*Action, *Response, error) }
ImageActionsService is an interface for interfacing with the image actions endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#image-actions
type ImageActionsServiceOp ¶
type ImageActionsServiceOp struct {
// contains filtered or unexported fields
}
ImageActionsServiceOp handles communition with the image action related methods of the DigitalOcean API.
func (*ImageActionsServiceOp) Convert ¶
func (i *ImageActionsServiceOp) Convert(ctx context.Context, imageID int) (*Action, *Response, error)
Convert an image to a snapshot
func (*ImageActionsServiceOp) Get ¶
func (i *ImageActionsServiceOp) Get(ctx context.Context, imageID, actionID int) (*Action, *Response, error)
Get an action for a particular image by id.
func (*ImageActionsServiceOp) Transfer ¶
func (i *ImageActionsServiceOp) Transfer(ctx context.Context, imageID int, transferRequest *ActionRequest) (*Action, *Response, error)
Transfer an image
type ImageSourceSpec ¶
type ImageSourceSpec struct { RegistryType ImageSourceSpecRegistryType `json:"registry_type,omitempty"` // The registry name. Must be left empty for the `DOCR` registry type. Required for the `DOCKER_HUB` registry type. Registry string `json:"registry,omitempty"` // The repository name. Repository string `json:"repository,omitempty"` // The repository tag. Defaults to `latest` if not provided. Tag string `json:"tag,omitempty"` }
ImageSourceSpec struct for ImageSourceSpec
type ImageSourceSpecRegistryType ¶
type ImageSourceSpecRegistryType string
ImageSourceSpecRegistryType - DOCR: The DigitalOcean container registry type. - DOCKER_HUB: The DockerHub container registry type.
const ( ImageSourceSpecRegistryType_Unspecified ImageSourceSpecRegistryType = "UNSPECIFIED" ImageSourceSpecRegistryType_DOCR ImageSourceSpecRegistryType = "DOCR" ImageSourceSpecRegistryType_DockerHub ImageSourceSpecRegistryType = "DOCKER_HUB" )
List of ImageSourceSpecRegistryType
type ImageUpdateRequest ¶
type ImageUpdateRequest struct { Name string `json:"name,omitempty"` Distribution string `json:"distribution,omitempty"` Description string `json:"description,omitempty"` }
ImageUpdateRequest represents a request to update an image.
type ImagesService ¶
type ImagesService interface { List(context.Context, *ListOptions) ([]Image, *Response, error) ListDistribution(ctx context.Context, opt *ListOptions) ([]Image, *Response, error) ListApplication(ctx context.Context, opt *ListOptions) ([]Image, *Response, error) ListUser(ctx context.Context, opt *ListOptions) ([]Image, *Response, error) ListByTag(ctx context.Context, tag string, opt *ListOptions) ([]Image, *Response, error) GetByID(context.Context, int) (*Image, *Response, error) GetBySlug(context.Context, string) (*Image, *Response, error) Create(context.Context, *CustomImageCreateRequest) (*Image, *Response, error) Update(context.Context, int, *ImageUpdateRequest) (*Image, *Response, error) Delete(context.Context, int) (*Response, error) }
ImagesService is an interface for interfacing with the images endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#images
type ImagesServiceOp ¶
type ImagesServiceOp struct {
// contains filtered or unexported fields
}
ImagesServiceOp handles communication with the image related methods of the DigitalOcean API.
func (*ImagesServiceOp) Create ¶
func (s *ImagesServiceOp) Create(ctx context.Context, createRequest *CustomImageCreateRequest) (*Image, *Response, error)
Create a new image
func (*ImagesServiceOp) List ¶
func (s *ImagesServiceOp) List(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
List lists all the images available.
func (*ImagesServiceOp) ListApplication ¶
func (s *ImagesServiceOp) ListApplication(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
ListApplication lists all the application images.
func (*ImagesServiceOp) ListByTag ¶
func (s *ImagesServiceOp) ListByTag(ctx context.Context, tag string, opt *ListOptions) ([]Image, *Response, error)
ListByTag lists all images with a specific tag applied.
func (*ImagesServiceOp) ListDistribution ¶
func (s *ImagesServiceOp) ListDistribution(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
ListDistribution lists all the distribution images.
func (*ImagesServiceOp) ListUser ¶
func (s *ImagesServiceOp) ListUser(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
ListUser lists all the user images.
func (*ImagesServiceOp) Update ¶
func (s *ImagesServiceOp) Update(ctx context.Context, imageID int, updateRequest *ImageUpdateRequest) (*Image, *Response, error)
Update an image name.
type InboundRule ¶
type InboundRule struct { Protocol string `json:"protocol,omitempty"` PortRange string `json:"ports,omitempty"` Sources *Sources `json:"sources"` }
InboundRule represents a DigitalOcean Firewall inbound rule.
type InstallKubernetesAppsRequest ¶
type InstallKubernetesAppsRequest struct { Slugs []string `json:"addon_slugs"` ClusterUUID string `json:"cluster_uuid"` }
InstallKubernetesAppsRequest represents a request required to install 1-click kubernetes apps
type InstallKubernetesAppsResponse ¶
type InstallKubernetesAppsResponse struct {
Message string `json:"message"`
}
InstallKubernetesAppsResponse is the response of a kubernetes 1-click install request
type Invoice ¶
type Invoice struct { InvoiceItems []InvoiceItem `json:"invoice_items"` Links *Links `json:"links"` Meta *Meta `json:"meta"` }
Invoice represents a DigitalOcean Invoice
type InvoiceItem ¶
type InvoiceItem struct { Product string `json:"product"` ResourceID string `json:"resource_id"` ResourceUUID string `json:"resource_uuid"` GroupDescription string `json:"group_description"` Description string `json:"description"` Amount string `json:"amount"` Duration string `json:"duration"` DurationUnit string `json:"duration_unit"` StartTime time.Time `json:"start_time"` EndTime time.Time `json:"end_time"` ProjectName string `json:"project_name"` Category string `json:"category"` }
InvoiceItem represents a line-item on a DigitalOcean Invoice
type InvoiceList ¶
type InvoiceList struct { Invoices []InvoiceListItem `json:"invoices"` InvoicePreview InvoiceListItem `json:"invoice_preview"` Links *Links `json:"links"` Meta *Meta `json:"meta"` }
InvoiceList contains a paginated list of all of a customer's invoices. The InvoicePreview is the month-to-date usage generated by DigitalOcean.
type InvoiceListItem ¶
type InvoiceListItem struct { InvoiceUUID string `json:"invoice_uuid"` Amount string `json:"amount"` InvoicePeriod string `json:"invoice_period"` UpdatedAt time.Time `json:"updated_at"` }
InvoiceListItem contains a small list of information about a customer's invoice. More information can be found in the Invoice or InvoiceSummary
type InvoiceSummary ¶
type InvoiceSummary struct { InvoiceUUID string `json:"invoice_uuid"` BillingPeriod string `json:"billing_period"` Amount string `json:"amount"` UserName string `json:"user_name"` UserBillingAddress Address `json:"user_billing_address"` UserCompany string `json:"user_company"` UserEmail string `json:"user_email"` ProductCharges InvoiceSummaryBreakdown `json:"product_charges"` Overages InvoiceSummaryBreakdown `json:"overages"` Taxes InvoiceSummaryBreakdown `json:"taxes"` CreditsAndAdjustments InvoiceSummaryBreakdown `json:"credits_and_adjustments"` }
InvoiceSummary contains metadata and summarized usage for an invoice generated by DigitalOcean
type InvoiceSummaryBreakdown ¶
type InvoiceSummaryBreakdown struct { Name string `json:"name"` Amount string `json:"amount"` Items []InvoiceSummaryBreakdownItem `json:"items"` }
InvoiceSummaryBreakdown is a grouped set of InvoiceItems from an invoice
type InvoiceSummaryBreakdownItem ¶
type InvoiceSummaryBreakdownItem struct { Name string `json:"name"` Amount string `json:"amount"` Count string `json:"count"` }
InvoiceSummaryBreakdownItem further breaks down the InvoiceSummary by product
type InvoicesService ¶
type InvoicesService interface { Get(context.Context, string, *ListOptions) (*Invoice, *Response, error) GetPDF(context.Context, string) ([]byte, *Response, error) GetCSV(context.Context, string) ([]byte, *Response, error) List(context.Context, *ListOptions) (*InvoiceList, *Response, error) GetSummary(context.Context, string) (*InvoiceSummary, *Response, error) }
InvoicesService is an interface for interfacing with the Invoice endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2/#invoices
type InvoicesServiceOp ¶
type InvoicesServiceOp struct {
// contains filtered or unexported fields
}
InvoicesServiceOp handles communication with the Invoice related methods of the DigitalOcean API.
func (*InvoicesServiceOp) Get ¶
func (s *InvoicesServiceOp) Get(ctx context.Context, invoiceUUID string, opt *ListOptions) (*Invoice, *Response, error)
Get detailed invoice items for an Invoice
func (*InvoicesServiceOp) GetCSV ¶
func (s *InvoicesServiceOp) GetCSV(ctx context.Context, invoiceUUID string) ([]byte, *Response, error)
GetCSV returns the csv for an Invoice
func (*InvoicesServiceOp) GetPDF ¶
func (s *InvoicesServiceOp) GetPDF(ctx context.Context, invoiceUUID string) ([]byte, *Response, error)
GetPDF returns the pdf for an Invoice
func (*InvoicesServiceOp) GetSummary ¶
func (s *InvoicesServiceOp) GetSummary(ctx context.Context, invoiceUUID string) (*InvoiceSummary, *Response, error)
GetSummary returns a summary of metadata and summarized usage for an Invoice
func (*InvoicesServiceOp) List ¶
func (s *InvoicesServiceOp) List(ctx context.Context, opt *ListOptions) (*InvoiceList, *Response, error)
List invoices for a customer
type Kernel ¶
type Kernel struct { ID int `json:"id,float64,omitempty"` Name string `json:"name,omitempty"` Version string `json:"version,omitempty"` }
Kernel object
type Key ¶
type Key struct { ID int `json:"id,float64,omitempty"` Name string `json:"name,omitempty"` Fingerprint string `json:"fingerprint,omitempty"` PublicKey string `json:"public_key,omitempty"` }
Key represents a DigitalOcean Key.
type KeyCreateRequest ¶
KeyCreateRequest represents a request to create a new key.
type KeyUpdateRequest ¶
type KeyUpdateRequest struct {
Name string `json:"name"`
}
KeyUpdateRequest represents a request to update a DigitalOcean key.
type KeysService ¶
type KeysService interface { List(context.Context, *ListOptions) ([]Key, *Response, error) GetByID(context.Context, int) (*Key, *Response, error) GetByFingerprint(context.Context, string) (*Key, *Response, error) Create(context.Context, *KeyCreateRequest) (*Key, *Response, error) UpdateByID(context.Context, int, *KeyUpdateRequest) (*Key, *Response, error) UpdateByFingerprint(context.Context, string, *KeyUpdateRequest) (*Key, *Response, error) DeleteByID(context.Context, int) (*Response, error) DeleteByFingerprint(context.Context, string) (*Response, error) }
KeysService is an interface for interfacing with the keys endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#keys
type KeysServiceOp ¶
type KeysServiceOp struct {
// contains filtered or unexported fields
}
KeysServiceOp handles communication with key related method of the DigitalOcean API.
func (*KeysServiceOp) Create ¶
func (s *KeysServiceOp) Create(ctx context.Context, createRequest *KeyCreateRequest) (*Key, *Response, error)
Create a key using a KeyCreateRequest
func (*KeysServiceOp) DeleteByFingerprint ¶
func (s *KeysServiceOp) DeleteByFingerprint(ctx context.Context, fingerprint string) (*Response, error)
DeleteByFingerprint deletes a key by its fingerprint
func (*KeysServiceOp) DeleteByID ¶
DeleteByID deletes a key by its id
func (*KeysServiceOp) GetByFingerprint ¶
func (s *KeysServiceOp) GetByFingerprint(ctx context.Context, fingerprint string) (*Key, *Response, error)
GetByFingerprint gets a Key by by fingerprint
func (*KeysServiceOp) List ¶
func (s *KeysServiceOp) List(ctx context.Context, opt *ListOptions) ([]Key, *Response, error)
List all keys
func (*KeysServiceOp) UpdateByFingerprint ¶
func (s *KeysServiceOp) UpdateByFingerprint(ctx context.Context, fingerprint string, updateRequest *KeyUpdateRequest) (*Key, *Response, error)
UpdateByFingerprint updates a key name by fingerprint.
func (*KeysServiceOp) UpdateByID ¶
func (s *KeysServiceOp) UpdateByID(ctx context.Context, keyID int, updateRequest *KeyUpdateRequest) (*Key, *Response, error)
UpdateByID updates a key name by ID.
type KubernetesAssociatedResources ¶
type KubernetesAssociatedResources struct { Volumes []*AssociatedResource `json:"volumes"` VolumeSnapshots []*AssociatedResource `json:"volume_snapshots"` LoadBalancers []*AssociatedResource `json:"load_balancers"` }
KubernetesAssociatedResources represents a cluster's associated resources
type KubernetesCluster ¶
type KubernetesCluster struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` RegionSlug string `json:"region,omitempty"` VersionSlug string `json:"version,omitempty"` ClusterSubnet string `json:"cluster_subnet,omitempty"` ServiceSubnet string `json:"service_subnet,omitempty"` IPv4 string `json:"ipv4,omitempty"` Endpoint string `json:"endpoint,omitempty"` Tags []string `json:"tags,omitempty"` VPCUUID string `json:"vpc_uuid,omitempty"` NodePools []*KubernetesNodePool `json:"node_pools,omitempty"` MaintenancePolicy *KubernetesMaintenancePolicy `json:"maintenance_policy,omitempty"` AutoUpgrade bool `json:"auto_upgrade,omitempty"` SurgeUpgrade bool `json:"surge_upgrade,omitempty"` RegistryEnabled bool `json:"registry_enabled,omitempty"` Status *KubernetesClusterStatus `json:"status,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` }
KubernetesCluster represents a Kubernetes cluster.
type KubernetesClusterConfig ¶
type KubernetesClusterConfig struct {
KubeconfigYAML []byte
}
KubernetesClusterConfig is the content of a Kubernetes config file, which can be used to interact with your Kubernetes cluster using `kubectl`. See: https://kubernetes.io/docs/tasks/tools/install-kubectl/
type KubernetesClusterCreateRequest ¶
type KubernetesClusterCreateRequest struct { Name string `json:"name,omitempty"` RegionSlug string `json:"region,omitempty"` VersionSlug string `json:"version,omitempty"` Tags []string `json:"tags,omitempty"` VPCUUID string `json:"vpc_uuid,omitempty"` NodePools []*KubernetesNodePoolCreateRequest `json:"node_pools,omitempty"` MaintenancePolicy *KubernetesMaintenancePolicy `json:"maintenance_policy"` AutoUpgrade bool `json:"auto_upgrade"` SurgeUpgrade bool `json:"surge_upgrade"` }
KubernetesClusterCreateRequest represents a request to create a Kubernetes cluster.
type KubernetesClusterCredentials ¶
type KubernetesClusterCredentials struct { Server string `json:"server"` CertificateAuthorityData []byte `json:"certificate_authority_data"` ClientCertificateData []byte `json:"client_certificate_data"` ClientKeyData []byte `json:"client_key_data"` Token string `json:"token"` ExpiresAt time.Time `json:"expires_at"` }
KubernetesClusterCredentials represents Kubernetes cluster credentials.
type KubernetesClusterCredentialsGetRequest ¶
type KubernetesClusterCredentialsGetRequest struct {
ExpirySeconds *int `json:"expiry_seconds,omitempty"`
}
KubernetesClusterCredentialsGetRequest is a request to get cluster credentials.
type KubernetesClusterDeleteSelectiveRequest ¶
type KubernetesClusterDeleteSelectiveRequest struct { Volumes []string `json:"volumes"` VolumeSnapshots []string `json:"volume_snapshots"` LoadBalancers []string `json:"load_balancers"` }
KubernetesClusterDeleteSelectiveRequest represents a delete selective request to delete a cluster and it's associated resources.
type KubernetesClusterRegistryRequest ¶
type KubernetesClusterRegistryRequest struct {
ClusterUUIDs []string `json:"cluster_uuids,omitempty"`
}
KubernetesClusterRegistryRequest represents clusters to integrate with docr registry
type KubernetesClusterStatus ¶
type KubernetesClusterStatus struct { State KubernetesClusterStatusState `json:"state,omitempty"` Message string `json:"message,omitempty"` }
KubernetesClusterStatus describes the status of a cluster.
type KubernetesClusterStatusState ¶
type KubernetesClusterStatusState string
KubernetesClusterStatusState represents states for a cluster.
func (*KubernetesClusterStatusState) UnmarshalText ¶
func (s *KubernetesClusterStatusState) UnmarshalText(text []byte) error
UnmarshalText unmarshals the state.
type KubernetesClusterUpdateRequest ¶
type KubernetesClusterUpdateRequest struct { Name string `json:"name,omitempty"` Tags []string `json:"tags,omitempty"` MaintenancePolicy *KubernetesMaintenancePolicy `json:"maintenance_policy,omitempty"` AutoUpgrade *bool `json:"auto_upgrade,omitempty"` SurgeUpgrade bool `json:"surge_upgrade,omitempty"` }
KubernetesClusterUpdateRequest represents a request to update a Kubernetes cluster.
type KubernetesClusterUpgradeRequest ¶
type KubernetesClusterUpgradeRequest struct {
VersionSlug string `json:"version,omitempty"`
}
KubernetesClusterUpgradeRequest represents a request to upgrade a Kubernetes cluster.
type KubernetesClusterUser ¶
type KubernetesClusterUser struct { Username string `json:"username,omitempty"` Groups []string `json:"groups,omitempty"` }
KubernetesClusterUser represents a Kubernetes cluster user.
type KubernetesGetClusterlintRequest ¶
type KubernetesGetClusterlintRequest struct {
RunId string `json:"run_id"`
}
type KubernetesMaintenancePolicy ¶
type KubernetesMaintenancePolicy struct { StartTime string `json:"start_time"` Duration string `json:"duration"` Day KubernetesMaintenancePolicyDay `json:"day"` }
KubernetesMaintenancePolicy is a configuration to set the maintenance window of a cluster
type KubernetesMaintenancePolicyDay ¶
type KubernetesMaintenancePolicyDay int
KubernetesMaintenancePolicyDay represents the possible days of a maintenance window
const ( // KubernetesMaintenanceDayAny sets the KubernetesMaintenancePolicyDay to any // day of the week KubernetesMaintenanceDayAny KubernetesMaintenancePolicyDay = iota // KubernetesMaintenanceDayMonday sets the KubernetesMaintenancePolicyDay to // Monday KubernetesMaintenanceDayMonday // KubernetesMaintenanceDayTuesday sets the KubernetesMaintenancePolicyDay to // Tuesday KubernetesMaintenanceDayTuesday // KubernetesMaintenanceDayWednesday sets the KubernetesMaintenancePolicyDay to // Wednesday KubernetesMaintenanceDayWednesday // KubernetesMaintenanceDayThursday sets the KubernetesMaintenancePolicyDay to // Thursday KubernetesMaintenanceDayThursday // KubernetesMaintenanceDayFriday sets the KubernetesMaintenancePolicyDay to // Friday KubernetesMaintenanceDayFriday // KubernetesMaintenanceDaySaturday sets the KubernetesMaintenancePolicyDay to // Saturday KubernetesMaintenanceDaySaturday // KubernetesMaintenanceDaySunday sets the KubernetesMaintenancePolicyDay to // Sunday KubernetesMaintenanceDaySunday )
func KubernetesMaintenanceToDay ¶
func KubernetesMaintenanceToDay(day string) (KubernetesMaintenancePolicyDay, error)
KubernetesMaintenanceToDay returns the appropriate KubernetesMaintenancePolicyDay for the given string.
func (KubernetesMaintenancePolicyDay) MarshalJSON ¶
func (k KubernetesMaintenancePolicyDay) MarshalJSON() ([]byte, error)
MarshalJSON returns the JSON string for KubernetesMaintenancePolicyDay
func (KubernetesMaintenancePolicyDay) String ¶
func (k KubernetesMaintenancePolicyDay) String() string
func (*KubernetesMaintenancePolicyDay) UnmarshalJSON ¶
func (k *KubernetesMaintenancePolicyDay) UnmarshalJSON(data []byte) error
UnmarshalJSON parses the JSON string into KubernetesMaintenancePolicyDay
type KubernetesNode ¶
type KubernetesNode struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Status *KubernetesNodeStatus `json:"status,omitempty"` DropletID string `json:"droplet_id,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` }
KubernetesNode represents a Node in a node pool in a Kubernetes cluster.
type KubernetesNodeDeleteRequest ¶
type KubernetesNodeDeleteRequest struct { // Replace will cause a new node to be created to replace the deleted node. Replace bool `json:"replace,omitempty"` // SkipDrain skips draining the node before deleting it. SkipDrain bool `json:"skip_drain,omitempty"` }
KubernetesNodeDeleteRequest is a request to delete a specific node in a node pool.
type KubernetesNodePool ¶
type KubernetesNodePool struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` Size string `json:"size,omitempty"` Count int `json:"count,omitempty"` Tags []string `json:"tags,omitempty"` Labels map[string]string `json:"labels,omitempty"` Taints []Taint `json:"taints,omitempty"` AutoScale bool `json:"auto_scale,omitempty"` MinNodes int `json:"min_nodes,omitempty"` MaxNodes int `json:"max_nodes,omitempty"` Nodes []*KubernetesNode `json:"nodes,omitempty"` }
KubernetesNodePool represents a node pool in a Kubernetes cluster.
type KubernetesNodePoolCreateRequest ¶
type KubernetesNodePoolCreateRequest struct { Name string `json:"name,omitempty"` Size string `json:"size,omitempty"` Count int `json:"count,omitempty"` Tags []string `json:"tags,omitempty"` Labels map[string]string `json:"labels,omitempty"` Taints []Taint `json:"taints,omitempty"` AutoScale bool `json:"auto_scale,omitempty"` MinNodes int `json:"min_nodes,omitempty"` MaxNodes int `json:"max_nodes,omitempty"` }
KubernetesNodePoolCreateRequest represents a request to create a node pool for a Kubernetes cluster.
type KubernetesNodePoolRecycleNodesRequest ¶
type KubernetesNodePoolRecycleNodesRequest struct {
Nodes []string `json:"nodes,omitempty"`
}
KubernetesNodePoolRecycleNodesRequest is DEPRECATED please use DeleteNode The type will be removed in godo 2.0.
type KubernetesNodePoolUpdateRequest ¶
type KubernetesNodePoolUpdateRequest struct { Name string `json:"name,omitempty"` Count *int `json:"count,omitempty"` Tags []string `json:"tags,omitempty"` Labels map[string]string `json:"labels,omitempty"` Taints *[]Taint `json:"taints,omitempty"` AutoScale *bool `json:"auto_scale,omitempty"` MinNodes *int `json:"min_nodes,omitempty"` MaxNodes *int `json:"max_nodes,omitempty"` }
KubernetesNodePoolUpdateRequest represents a request to update a node pool in a Kubernetes cluster.
type KubernetesNodeSize ¶
KubernetesNodeSize is a node sizes supported for Kubernetes clusters.
type KubernetesNodeStatus ¶
type KubernetesNodeStatus struct { State string `json:"state,omitempty"` Message string `json:"message,omitempty"` }
KubernetesNodeStatus represents the status of a particular Node in a Kubernetes cluster.
type KubernetesOptions ¶
type KubernetesOptions struct { Versions []*KubernetesVersion `json:"versions,omitempty"` Regions []*KubernetesRegion `json:"regions,omitempty"` Sizes []*KubernetesNodeSize `json:"sizes,omitempty"` }
KubernetesOptions represents options available for creating Kubernetes clusters.
type KubernetesRegion ¶
KubernetesRegion is a region usable by Kubernetes clusters.
type KubernetesService ¶
type KubernetesService interface { Create(context.Context, *KubernetesClusterCreateRequest) (*KubernetesCluster, *Response, error) Get(context.Context, string) (*KubernetesCluster, *Response, error) GetUser(context.Context, string) (*KubernetesClusterUser, *Response, error) GetUpgrades(context.Context, string) ([]*KubernetesVersion, *Response, error) GetKubeConfig(context.Context, string) (*KubernetesClusterConfig, *Response, error) GetKubeConfigWithExpiry(context.Context, string, int64) (*KubernetesClusterConfig, *Response, error) GetCredentials(context.Context, string, *KubernetesClusterCredentialsGetRequest) (*KubernetesClusterCredentials, *Response, error) List(context.Context, *ListOptions) ([]*KubernetesCluster, *Response, error) Update(context.Context, string, *KubernetesClusterUpdateRequest) (*KubernetesCluster, *Response, error) Upgrade(context.Context, string, *KubernetesClusterUpgradeRequest) (*Response, error) Delete(context.Context, string) (*Response, error) DeleteSelective(context.Context, string, *KubernetesClusterDeleteSelectiveRequest) (*Response, error) DeleteDangerous(context.Context, string) (*Response, error) ListAssociatedResourcesForDeletion(context.Context, string) (*KubernetesAssociatedResources, *Response, error) CreateNodePool(ctx context.Context, clusterID string, req *KubernetesNodePoolCreateRequest) (*KubernetesNodePool, *Response, error) GetNodePool(ctx context.Context, clusterID, poolID string) (*KubernetesNodePool, *Response, error) ListNodePools(ctx context.Context, clusterID string, opts *ListOptions) ([]*KubernetesNodePool, *Response, error) UpdateNodePool(ctx context.Context, clusterID, poolID string, req *KubernetesNodePoolUpdateRequest) (*KubernetesNodePool, *Response, error) // RecycleNodePoolNodes is DEPRECATED please use DeleteNode // The method will be removed in godo 2.0. RecycleNodePoolNodes(ctx context.Context, clusterID, poolID string, req *KubernetesNodePoolRecycleNodesRequest) (*Response, error) DeleteNodePool(ctx context.Context, clusterID, poolID string) (*Response, error) DeleteNode(ctx context.Context, clusterID, poolID, nodeID string, req *KubernetesNodeDeleteRequest) (*Response, error) GetOptions(context.Context) (*KubernetesOptions, *Response, error) AddRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error) RemoveRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error) RunClusterlint(ctx context.Context, clusterID string, req *KubernetesRunClusterlintRequest) (string, *Response, error) GetClusterlintResults(ctx context.Context, clusterID string, req *KubernetesGetClusterlintRequest) ([]*ClusterlintDiagnostic, *Response, error) }
KubernetesService is an interface for interfacing with the Kubernetes endpoints of the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#kubernetes
type KubernetesServiceOp ¶
type KubernetesServiceOp struct {
// contains filtered or unexported fields
}
KubernetesServiceOp handles communication with Kubernetes methods of the DigitalOcean API.
func (*KubernetesServiceOp) AddRegistry ¶
func (svc *KubernetesServiceOp) AddRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error)
AddRegistry integrates docr registry with all the specified clusters
func (*KubernetesServiceOp) Create ¶
func (svc *KubernetesServiceOp) Create(ctx context.Context, create *KubernetesClusterCreateRequest) (*KubernetesCluster, *Response, error)
Create creates a Kubernetes cluster.
func (*KubernetesServiceOp) CreateNodePool ¶
func (svc *KubernetesServiceOp) CreateNodePool(ctx context.Context, clusterID string, create *KubernetesNodePoolCreateRequest) (*KubernetesNodePool, *Response, error)
CreateNodePool creates a new node pool in an existing Kubernetes cluster.
func (*KubernetesServiceOp) Delete ¶
Delete deletes a Kubernetes cluster. There is no way to recover a cluster once it has been destroyed.
func (*KubernetesServiceOp) DeleteDangerous ¶
func (svc *KubernetesServiceOp) DeleteDangerous(ctx context.Context, clusterID string) (*Response, error)
DeleteDangerous deletes a Kubernetes cluster and all its associated resources. There is no way to recover a cluster or it's associated resources once destroyed.
func (*KubernetesServiceOp) DeleteNode ¶
func (svc *KubernetesServiceOp) DeleteNode(ctx context.Context, clusterID, poolID, nodeID string, deleteReq *KubernetesNodeDeleteRequest) (*Response, error)
DeleteNode deletes a specific node in a node pool.
func (*KubernetesServiceOp) DeleteNodePool ¶
func (svc *KubernetesServiceOp) DeleteNodePool(ctx context.Context, clusterID, poolID string) (*Response, error)
DeleteNodePool deletes a node pool, and subsequently all the nodes in that pool.
func (*KubernetesServiceOp) DeleteSelective ¶
func (svc *KubernetesServiceOp) DeleteSelective(ctx context.Context, clusterID string, request *KubernetesClusterDeleteSelectiveRequest) (*Response, error)
DeleteSelective deletes a Kubernetes cluster and the specified associated resources. Users can choose to delete specific volumes, volume snapshots or load balancers along with the cluster There is no way to recover a cluster or the specified resources once destroyed.
func (*KubernetesServiceOp) Get ¶
func (svc *KubernetesServiceOp) Get(ctx context.Context, clusterID string) (*KubernetesCluster, *Response, error)
Get retrieves the details of a Kubernetes cluster.
func (*KubernetesServiceOp) GetClusterlintResults ¶
func (svc *KubernetesServiceOp) GetClusterlintResults(ctx context.Context, clusterID string, req *KubernetesGetClusterlintRequest) ([]*ClusterlintDiagnostic, *Response, error)
GetClusterlintResults fetches the diagnostics after clusterlint run completes
func (*KubernetesServiceOp) GetCredentials ¶
func (svc *KubernetesServiceOp) GetCredentials(ctx context.Context, clusterID string, get *KubernetesClusterCredentialsGetRequest) (*KubernetesClusterCredentials, *Response, error)
GetCredentials returns a Kubernetes API server credentials for the specified cluster.
func (*KubernetesServiceOp) GetKubeConfig ¶
func (svc *KubernetesServiceOp) GetKubeConfig(ctx context.Context, clusterID string) (*KubernetesClusterConfig, *Response, error)
GetKubeConfig returns a Kubernetes config file for the specified cluster.
func (*KubernetesServiceOp) GetKubeConfigWithExpiry ¶
func (svc *KubernetesServiceOp) GetKubeConfigWithExpiry(ctx context.Context, clusterID string, expirySeconds int64) (*KubernetesClusterConfig, *Response, error)
GetKubeConfigWithExpiry returns a Kubernetes config file for the specified cluster with expiry_seconds.
func (*KubernetesServiceOp) GetNodePool ¶
func (svc *KubernetesServiceOp) GetNodePool(ctx context.Context, clusterID, poolID string) (*KubernetesNodePool, *Response, error)
GetNodePool retrieves an existing node pool in a Kubernetes cluster.
func (*KubernetesServiceOp) GetOptions ¶
func (svc *KubernetesServiceOp) GetOptions(ctx context.Context) (*KubernetesOptions, *Response, error)
GetOptions returns options about the Kubernetes service, such as the versions available for cluster creation.
func (*KubernetesServiceOp) GetUpgrades ¶
func (svc *KubernetesServiceOp) GetUpgrades(ctx context.Context, clusterID string) ([]*KubernetesVersion, *Response, error)
GetUpgrades retrieves versions a Kubernetes cluster can be upgraded to. An upgrade can be requested using `Upgrade`.
func (*KubernetesServiceOp) GetUser ¶
func (svc *KubernetesServiceOp) GetUser(ctx context.Context, clusterID string) (*KubernetesClusterUser, *Response, error)
GetUser retrieves the details of a Kubernetes cluster user.
func (*KubernetesServiceOp) List ¶
func (svc *KubernetesServiceOp) List(ctx context.Context, opts *ListOptions) ([]*KubernetesCluster, *Response, error)
List returns a list of the Kubernetes clusters visible with the caller's API token.
func (*KubernetesServiceOp) ListAssociatedResourcesForDeletion ¶
func (svc *KubernetesServiceOp) ListAssociatedResourcesForDeletion(ctx context.Context, clusterID string) (*KubernetesAssociatedResources, *Response, error)
ListAssociatedResourcesForDeletion lists a Kubernetes cluster's resources that can be selected for deletion along with the cluster. See DeleteSelective Associated resources include volumes, volume snapshots and load balancers.
func (*KubernetesServiceOp) ListNodePools ¶
func (svc *KubernetesServiceOp) ListNodePools(ctx context.Context, clusterID string, opts *ListOptions) ([]*KubernetesNodePool, *Response, error)
ListNodePools lists all the node pools found in a Kubernetes cluster.
func (*KubernetesServiceOp) RecycleNodePoolNodes ¶
func (svc *KubernetesServiceOp) RecycleNodePoolNodes(ctx context.Context, clusterID, poolID string, recycle *KubernetesNodePoolRecycleNodesRequest) (*Response, error)
RecycleNodePoolNodes is DEPRECATED please use DeleteNode The method will be removed in godo 2.0.
func (*KubernetesServiceOp) RemoveRegistry ¶
func (svc *KubernetesServiceOp) RemoveRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error)
RemoveRegistry removes docr registry support for all the specified clusters
func (*KubernetesServiceOp) RunClusterlint ¶
func (svc *KubernetesServiceOp) RunClusterlint(ctx context.Context, clusterID string, req *KubernetesRunClusterlintRequest) (string, *Response, error)
RunClusterlint schedules a clusterlint run for the specified cluster
func (*KubernetesServiceOp) Update ¶
func (svc *KubernetesServiceOp) Update(ctx context.Context, clusterID string, update *KubernetesClusterUpdateRequest) (*KubernetesCluster, *Response, error)
Update updates a Kubernetes cluster's properties.
func (*KubernetesServiceOp) UpdateNodePool ¶
func (svc *KubernetesServiceOp) UpdateNodePool(ctx context.Context, clusterID, poolID string, update *KubernetesNodePoolUpdateRequest) (*KubernetesNodePool, *Response, error)
UpdateNodePool updates the details of an existing node pool.
func (*KubernetesServiceOp) Upgrade ¶
func (svc *KubernetesServiceOp) Upgrade(ctx context.Context, clusterID string, upgrade *KubernetesClusterUpgradeRequest) (*Response, error)
Upgrade upgrades a Kubernetes cluster to a new version. Valid upgrade versions for a given cluster can be retrieved with `GetUpgrades`.
type KubernetesVersion ¶
type KubernetesVersion struct { Slug string `json:"slug,omitempty"` KubernetesVersion string `json:"kubernetes_version,omitempty"` }
KubernetesVersion is a DigitalOcean Kubernetes release.
type LinkAction ¶
type LinkAction struct { ID int `json:"id,omitempty"` Rel string `json:"rel,omitempty"` HREF string `json:"href,omitempty"` }
LinkAction is a pointer to an action
type Links ¶
type Links struct { Pages *Pages `json:"pages,omitempty"` Actions []LinkAction `json:"actions,omitempty"` }
Links manages links that are returned along with a List
func (*Links) CurrentPage ¶
CurrentPage is current page of the list
func (*Links) IsLastPage ¶
IsLastPage returns true if the current page is the last
type ListOptions ¶
type ListOptions struct { // For paginated result sets, page of results to retrieve. Page int `url:"page,omitempty"` // For paginated result sets, the number of results to include per page. PerPage int `url:"per_page,omitempty"` }
ListOptions specifies the optional parameters to various List methods that support pagination.
type ListVolumeParams ¶
type ListVolumeParams struct { Region string `json:"region"` Name string `json:"name"` ListOptions *ListOptions `json:"list_options,omitempty"` }
ListVolumeParams stores the options you can set for a ListVolumeCall
type LoadBalancer ¶
type LoadBalancer struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` IP string `json:"ip,omitempty"` SizeSlug string `json:"size,omitempty"` Algorithm string `json:"algorithm,omitempty"` Status string `json:"status,omitempty"` Created string `json:"created_at,omitempty"` ForwardingRules []ForwardingRule `json:"forwarding_rules,omitempty"` HealthCheck *HealthCheck `json:"health_check,omitempty"` StickySessions *StickySessions `json:"sticky_sessions,omitempty"` Region *Region `json:"region,omitempty"` DropletIDs []int `json:"droplet_ids,omitempty"` Tag string `json:"tag,omitempty"` Tags []string `json:"tags,omitempty"` RedirectHttpToHttps bool `json:"redirect_http_to_https,omitempty"` EnableProxyProtocol bool `json:"enable_proxy_protocol,omitempty"` EnableBackendKeepalive bool `json:"enable_backend_keepalive,omitempty"` VPCUUID string `json:"vpc_uuid,omitempty"` }
LoadBalancer represents a DigitalOcean load balancer configuration. Tags can only be provided upon the creation of a Load Balancer.
func (LoadBalancer) AsRequest ¶
func (l LoadBalancer) AsRequest() *LoadBalancerRequest
AsRequest creates a LoadBalancerRequest that can be submitted to Update with the current values of the LoadBalancer. Modifying the returned LoadBalancerRequest will not modify the original LoadBalancer.
func (LoadBalancer) String ¶
func (l LoadBalancer) String() string
String creates a human-readable description of a LoadBalancer.
func (LoadBalancer) URN ¶
func (l LoadBalancer) URN() string
URN returns the load balancer ID in a valid DO API URN form.
type LoadBalancerRequest ¶
type LoadBalancerRequest struct { Name string `json:"name,omitempty"` Algorithm string `json:"algorithm,omitempty"` Region string `json:"region,omitempty"` SizeSlug string `json:"size,omitempty"` ForwardingRules []ForwardingRule `json:"forwarding_rules,omitempty"` HealthCheck *HealthCheck `json:"health_check,omitempty"` StickySessions *StickySessions `json:"sticky_sessions,omitempty"` DropletIDs []int `json:"droplet_ids,omitempty"` Tag string `json:"tag,omitempty"` Tags []string `json:"tags,omitempty"` RedirectHttpToHttps bool `json:"redirect_http_to_https,omitempty"` EnableProxyProtocol bool `json:"enable_proxy_protocol,omitempty"` EnableBackendKeepalive bool `json:"enable_backend_keepalive,omitempty"` VPCUUID string `json:"vpc_uuid,omitempty"` }
LoadBalancerRequest represents the configuration to be applied to an existing or a new load balancer.
func (LoadBalancerRequest) String ¶
func (l LoadBalancerRequest) String() string
String creates a human-readable description of a LoadBalancerRequest.
type LoadBalancersService ¶
type LoadBalancersService interface { Get(context.Context, string) (*LoadBalancer, *Response, error) List(context.Context, *ListOptions) ([]LoadBalancer, *Response, error) Create(context.Context, *LoadBalancerRequest) (*LoadBalancer, *Response, error) Update(ctx context.Context, lbID string, lbr *LoadBalancerRequest) (*LoadBalancer, *Response, error) Delete(ctx context.Context, lbID string) (*Response, error) AddDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error) RemoveDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error) AddForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error) RemoveForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error) }
LoadBalancersService is an interface for managing load balancers with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#load-balancers
type LoadBalancersServiceOp ¶
type LoadBalancersServiceOp struct {
// contains filtered or unexported fields
}
LoadBalancersServiceOp handles communication with load balancer-related methods of the DigitalOcean API.
func (*LoadBalancersServiceOp) AddDroplets ¶
func (l *LoadBalancersServiceOp) AddDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error)
AddDroplets adds droplets to a load balancer.
func (*LoadBalancersServiceOp) AddForwardingRules ¶
func (l *LoadBalancersServiceOp) AddForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error)
AddForwardingRules adds forwarding rules to a load balancer.
func (*LoadBalancersServiceOp) Create ¶
func (l *LoadBalancersServiceOp) Create(ctx context.Context, lbr *LoadBalancerRequest) (*LoadBalancer, *Response, error)
Create a new load balancer with a given configuration.
func (*LoadBalancersServiceOp) Get ¶
func (l *LoadBalancersServiceOp) Get(ctx context.Context, lbID string) (*LoadBalancer, *Response, error)
Get an existing load balancer by its identifier.
func (*LoadBalancersServiceOp) List ¶
func (l *LoadBalancersServiceOp) List(ctx context.Context, opt *ListOptions) ([]LoadBalancer, *Response, error)
List load balancers, with optional pagination.
func (*LoadBalancersServiceOp) RemoveDroplets ¶
func (l *LoadBalancersServiceOp) RemoveDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error)
RemoveDroplets removes droplets from a load balancer.
func (*LoadBalancersServiceOp) RemoveForwardingRules ¶
func (l *LoadBalancersServiceOp) RemoveForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error)
RemoveForwardingRules removes forwarding rules from a load balancer.
func (*LoadBalancersServiceOp) Update ¶
func (l *LoadBalancersServiceOp) Update(ctx context.Context, lbID string, lbr *LoadBalancerRequest) (*LoadBalancer, *Response, error)
Update an existing load balancer with new configuration.
type Meta ¶
type Meta struct {
Total int `json:"total"`
}
Meta describes generic information about a response.
type NetworkV4 ¶
type NetworkV4 struct { IPAddress string `json:"ip_address,omitempty"` Netmask string `json:"netmask,omitempty"` Gateway string `json:"gateway,omitempty"` Type string `json:"type,omitempty"` }
NetworkV4 represents a DigitalOcean IPv4 Network.
type NetworkV6 ¶
type NetworkV6 struct { IPAddress string `json:"ip_address,omitempty"` Netmask int `json:"netmask,omitempty"` Gateway string `json:"gateway,omitempty"` Type string `json:"type,omitempty"` }
NetworkV6 represents a DigitalOcean IPv6 network.
type OneClickService ¶
type OneClickService interface { List(context.Context, string) ([]*OneClick, *Response, error) InstallKubernetes(context.Context, *InstallKubernetesAppsRequest) (*InstallKubernetesAppsResponse, *Response, error) }
OneClickService is an interface for interacting with 1-clicks with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2/#1-click-applications
type OneClickServiceOp ¶
type OneClickServiceOp struct {
// contains filtered or unexported fields
}
OneClickServiceOp interfaces with 1-click endpoints in the DigitalOcean API.
func (*OneClickServiceOp) InstallKubernetes ¶
func (ocs *OneClickServiceOp) InstallKubernetes(ctx context.Context, install *InstallKubernetesAppsRequest) (*InstallKubernetesAppsResponse, *Response, error)
InstallKubernetes installs an addon on a kubernetes cluster
type OneClicksRoot ¶
type OneClicksRoot struct {
List []*OneClick `json:"1_clicks"`
}
OneClicksRoot is the root of the json payload that contains a list of 1-clicks
type OutboundRule ¶
type OutboundRule struct { Protocol string `json:"protocol,omitempty"` PortRange string `json:"ports,omitempty"` Destinations *Destinations `json:"destinations"` }
OutboundRule represents a DigitalOcean Firewall outbound rule.
type Pages ¶
type Pages struct { First string `json:"first,omitempty"` Prev string `json:"prev,omitempty"` Last string `json:"last,omitempty"` Next string `json:"next,omitempty"` }
Pages are pages specified in Links
type PendingChange ¶
type PendingChange struct { DropletID int `json:"droplet_id,omitempty"` Removing bool `json:"removing,omitempty"` Status string `json:"status,omitempty"` }
PendingChange represents a DigitalOcean Firewall status details.
type Project ¶
type Project struct { ID string `json:"id"` OwnerUUID string `json:"owner_uuid"` OwnerID uint64 `json:"owner_id"` Name string `json:"name"` Description string `json:"description"` Purpose string `json:"purpose"` Environment string `json:"environment"` IsDefault bool `json:"is_default"` CreatedAt string `json:"created_at"` UpdatedAt string `json:"updated_at"` }
Project represents a DigitalOcean Project configuration.
type ProjectResource ¶
type ProjectResource struct { URN string `json:"urn"` AssignedAt string `json:"assigned_at"` Links *ProjectResourceLinks `json:"links"` Status string `json:"status,omitempty"` }
ProjectResource is the projects API's representation of a resource.
type ProjectResourceLinks ¶
type ProjectResourceLinks struct {
Self string `json:"self"`
}
ProjectResourceLinks specify the link for more information about the resource.
type ProjectsService ¶
type ProjectsService interface { List(context.Context, *ListOptions) ([]Project, *Response, error) GetDefault(context.Context) (*Project, *Response, error) Get(context.Context, string) (*Project, *Response, error) Create(context.Context, *CreateProjectRequest) (*Project, *Response, error) Update(context.Context, string, *UpdateProjectRequest) (*Project, *Response, error) Delete(context.Context, string) (*Response, error) ListResources(context.Context, string, *ListOptions) ([]ProjectResource, *Response, error) AssignResources(context.Context, string, ...interface{}) ([]ProjectResource, *Response, error) }
ProjectsService is an interface for creating and managing Projects with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2/#projects
type ProjectsServiceOp ¶
type ProjectsServiceOp struct {
// contains filtered or unexported fields
}
ProjectsServiceOp handles communication with Projects methods of the DigitalOcean API.
func (*ProjectsServiceOp) AssignResources ¶
func (p *ProjectsServiceOp) AssignResources(ctx context.Context, projectID string, resources ...interface{}) ([]ProjectResource, *Response, error)
AssignResources assigns one or more resources to a project. AssignResources accepts resources in two possible formats:
1. The resource type, like `&Droplet{ID: 1}` or `&FloatingIP{IP: "1.2.3.4"}` 2. A valid DO URN as a string, like "do:droplet:1234"
There is no unassign. To move a resource to another project, just assign it to that other project.
func (*ProjectsServiceOp) Create ¶
func (p *ProjectsServiceOp) Create(ctx context.Context, cr *CreateProjectRequest) (*Project, *Response, error)
Create a new project.
func (*ProjectsServiceOp) Delete ¶
Delete an existing project. You cannot have any resources in a project before deleting it. See the API documentation for more details.
func (*ProjectsServiceOp) GetDefault ¶
GetDefault project.
func (*ProjectsServiceOp) List ¶
func (p *ProjectsServiceOp) List(ctx context.Context, opts *ListOptions) ([]Project, *Response, error)
List Projects.
func (*ProjectsServiceOp) ListResources ¶
func (p *ProjectsServiceOp) ListResources(ctx context.Context, projectID string, opts *ListOptions) ([]ProjectResource, *Response, error)
ListResources lists all resources in a project.
func (*ProjectsServiceOp) Update ¶
func (p *ProjectsServiceOp) Update(ctx context.Context, projectID string, ur *UpdateProjectRequest) (*Project, *Response, error)
Update an existing project.
type Rate ¶
type Rate struct { // The number of request per hour the client is currently limited to. Limit int `json:"limit"` // The number of remaining requests the client can make this hour. Remaining int `json:"remaining"` // The time at which the current rate limit will reset. Reset Timestamp `json:"reset"` }
Rate contains the rate limit for the current client.
type Region ¶
type Region struct { Slug string `json:"slug,omitempty"` Name string `json:"name,omitempty"` Sizes []string `json:"sizes,omitempty"` Available bool `json:"available,omitempty"` Features []string `json:"features,omitempty"` }
Region represents a DigitalOcean Region
type RegionsService ¶
RegionsService is an interface for interfacing with the regions endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#regions
type RegionsServiceOp ¶
type RegionsServiceOp struct {
// contains filtered or unexported fields
}
RegionsServiceOp handles communication with the region related methods of the DigitalOcean API.
func (*RegionsServiceOp) List ¶
func (s *RegionsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Region, *Response, error)
List all regions
type Registry ¶
type Registry struct { Name string `json:"name,omitempty"` StorageUsageBytes uint64 `json:"storage_usage_bytes,omitempty"` StorageUsageBytesUpdatedAt time.Time `json:"storage_usage_bytes_updated_at,omitempty"` CreatedAt time.Time `json:"created_at,omitempty"` }
Registry represents a registry.
type RegistryCreateRequest ¶
type RegistryCreateRequest struct { Name string `json:"name,omitempty"` SubscriptionTierSlug string `json:"subscription_tier_slug,omitempty"` }
RegistryCreateRequest represents a request to create a registry.
type RegistryDockerCredentialsRequest ¶
type RegistryDockerCredentialsRequest struct { ReadWrite bool `json:"read_write"` ExpirySeconds *int `json:"expiry_seconds,omitempty"` }
RegistryDockerCredentialsRequest represents a request to retrieve docker credentials for a registry.
type RegistryOptions ¶
type RegistryOptions struct {
SubscriptionTiers []*RegistrySubscriptionTier `json:"subscription_tiers,omitempty"`
}
RegistryOptions are options for users when creating or updating a registry.
type RegistryService ¶
type RegistryService interface { Create(context.Context, *RegistryCreateRequest) (*Registry, *Response, error) Get(context.Context) (*Registry, *Response, error) Delete(context.Context) (*Response, error) DockerCredentials(context.Context, *RegistryDockerCredentialsRequest) (*DockerCredentials, *Response, error) ListRepositories(context.Context, string, *ListOptions) ([]*Repository, *Response, error) ListRepositoryTags(context.Context, string, string, *ListOptions) ([]*RepositoryTag, *Response, error) DeleteTag(context.Context, string, string, string) (*Response, error) DeleteManifest(context.Context, string, string, string) (*Response, error) StartGarbageCollection(context.Context, string, ...*StartGarbageCollectionRequest) (*GarbageCollection, *Response, error) GetGarbageCollection(context.Context, string) (*GarbageCollection, *Response, error) ListGarbageCollections(context.Context, string, *ListOptions) ([]*GarbageCollection, *Response, error) UpdateGarbageCollection(context.Context, string, string, *UpdateGarbageCollectionRequest) (*GarbageCollection, *Response, error) GetOptions(context.Context) (*RegistryOptions, *Response, error) GetSubscription(context.Context) (*RegistrySubscription, *Response, error) UpdateSubscription(context.Context, *RegistrySubscriptionUpdateRequest) (*RegistrySubscription, *Response, error) }
RegistryService is an interface for interfacing with the Registry endpoints of the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#registry
type RegistryServiceOp ¶
type RegistryServiceOp struct {
// contains filtered or unexported fields
}
RegistryServiceOp handles communication with Registry methods of the DigitalOcean API.
func (*RegistryServiceOp) Create ¶
func (svc *RegistryServiceOp) Create(ctx context.Context, create *RegistryCreateRequest) (*Registry, *Response, error)
Create creates a registry.
func (*RegistryServiceOp) Delete ¶
func (svc *RegistryServiceOp) Delete(ctx context.Context) (*Response, error)
Delete deletes a registry. There is no way to recover a registry once it has been destroyed.
func (*RegistryServiceOp) DeleteManifest ¶
func (svc *RegistryServiceOp) DeleteManifest(ctx context.Context, registry, repository, digest string) (*Response, error)
DeleteManifest deletes a manifest by its digest within a given repository.
func (*RegistryServiceOp) DeleteTag ¶
func (svc *RegistryServiceOp) DeleteTag(ctx context.Context, registry, repository, tag string) (*Response, error)
DeleteTag deletes a tag within a given repository.
func (*RegistryServiceOp) DockerCredentials ¶
func (svc *RegistryServiceOp) DockerCredentials(ctx context.Context, request *RegistryDockerCredentialsRequest) (*DockerCredentials, *Response, error)
DockerCredentials retrieves a Docker config file containing the registry's credentials.
func (*RegistryServiceOp) GetGarbageCollection ¶
func (svc *RegistryServiceOp) GetGarbageCollection(ctx context.Context, registry string) (*GarbageCollection, *Response, error)
GetGarbageCollection retrieves the currently-active garbage collection for the specified registry; if there are no active garbage collections, then return a 404/NotFound error. There can only be one active garbage collection on a registry.
func (*RegistryServiceOp) GetOptions ¶
func (svc *RegistryServiceOp) GetOptions(ctx context.Context) (*RegistryOptions, *Response, error)
GetOptions returns options the user can use when creating or updating a registry.
func (*RegistryServiceOp) GetSubscription ¶
func (svc *RegistryServiceOp) GetSubscription(ctx context.Context) (*RegistrySubscription, *Response, error)
GetSubscription retrieves the user's subscription.
func (*RegistryServiceOp) ListGarbageCollections ¶
func (svc *RegistryServiceOp) ListGarbageCollections(ctx context.Context, registry string, opts *ListOptions) ([]*GarbageCollection, *Response, error)
ListGarbageCollections retrieves all garbage collections (active and inactive) for the specified registry.
func (*RegistryServiceOp) ListRepositories ¶
func (svc *RegistryServiceOp) ListRepositories(ctx context.Context, registry string, opts *ListOptions) ([]*Repository, *Response, error)
ListRepositories returns a list of the Repositories visible with the registry's credentials.
func (*RegistryServiceOp) ListRepositoryTags ¶
func (svc *RegistryServiceOp) ListRepositoryTags(ctx context.Context, registry, repository string, opts *ListOptions) ([]*RepositoryTag, *Response, error)
ListRepositoryTags returns a list of the RepositoryTags available within the given repository.
func (*RegistryServiceOp) StartGarbageCollection ¶
func (svc *RegistryServiceOp) StartGarbageCollection(ctx context.Context, registry string, request ...*StartGarbageCollectionRequest) (*GarbageCollection, *Response, error)
StartGarbageCollection requests a garbage collection for the specified registry.
func (*RegistryServiceOp) UpdateGarbageCollection ¶
func (svc *RegistryServiceOp) UpdateGarbageCollection(ctx context.Context, registry, gcUUID string, request *UpdateGarbageCollectionRequest) (*GarbageCollection, *Response, error)
UpdateGarbageCollection updates the specified garbage collection for the specified registry. While only the currently-active garbage collection can be updated we still require the exact garbage collection to be specified to avoid race conditions that might may arise from issuing an update to the implicit "currently-active" garbage collection. Returns the updated garbage collection.
func (*RegistryServiceOp) UpdateSubscription ¶
func (svc *RegistryServiceOp) UpdateSubscription(ctx context.Context, request *RegistrySubscriptionUpdateRequest) (*RegistrySubscription, *Response, error)
UpdateSubscription updates the user's registry subscription.
type RegistrySubscription ¶
type RegistrySubscription struct { Tier *RegistrySubscriptionTier `json:"tier"` CreatedAt time.Time `json:"created_at"` UpdatedAt time.Time `json:"updated_at"` }
RegistrySubscription is a user's subscription.
type RegistrySubscriptionTier ¶
type RegistrySubscriptionTier struct { Name string `json:"name"` Slug string `json:"slug"` IncludedRepositories uint64 `json:"included_repositories"` IncludedStorageBytes uint64 `json:"included_storage_bytes"` AllowStorageOverage bool `json:"allow_storage_overage"` IncludedBandwidthBytes uint64 `json:"included_bandwidth_bytes"` MonthlyPriceInCents uint64 `json:"monthly_price_in_cents"` Eligible bool `json:"eligible,omitempty"` // EligibilityReaons is included when Eligible is false, and indicates the // reasons why this tier is not availble to the user. EligibilityReasons []string `json:"eligibility_reasons,omitempty"` }
RegistrySubscriptionTier is a subscription tier for container registry.
type RegistrySubscriptionUpdateRequest ¶
type RegistrySubscriptionUpdateRequest struct {
TierSlug string `json:"tier_slug"`
}
RegistrySubscriptionUpdateRequest represents a request to update the subscription plan for a registry.
type Repository ¶
type Repository struct { RegistryName string `json:"registry_name,omitempty"` Name string `json:"name,omitempty"` LatestTag *RepositoryTag `json:"latest_tag,omitempty"` TagCount uint64 `json:"tag_count,omitempty"` }
Repository represents a repository
type RepositoryTag ¶
type RepositoryTag struct { RegistryName string `json:"registry_name,omitempty"` Repository string `json:"repository,omitempty"` Tag string `json:"tag,omitempty"` ManifestDigest string `json:"manifest_digest,omitempty"` CompressedSizeBytes uint64 `json:"compressed_size_bytes,omitempty"` SizeBytes uint64 `json:"size_bytes,omitempty"` UpdatedAt time.Time `json:"updated_at,omitempty"` }
RepositoryTag represents a repository tag
type RequestCompletionCallback ¶
RequestCompletionCallback defines the type of the request callback function
type Resource ¶
type Resource struct { ID string `json:"resource_id,omitempty"` Type ResourceType `json:"resource_type,omitempty"` }
Resource represent a single resource for associating/disassociating with tags
type ResourceType ¶
type ResourceType string
ResourceType represents a class of resource, currently only droplet are supported
const ( // DropletResourceType holds the string representing our ResourceType of Droplet. DropletResourceType ResourceType = "droplet" // ImageResourceType holds the string representing our ResourceType of Image. ImageResourceType ResourceType = "image" // VolumeResourceType holds the string representing our ResourceType of Volume. VolumeResourceType ResourceType = "volume" // LoadBalancerResourceType holds the string representing our ResourceType of LoadBalancer. LoadBalancerResourceType ResourceType = "load_balancer" // VolumeSnapshotResourceType holds the string representing our ResourceType for storage Snapshots. VolumeSnapshotResourceType ResourceType = "volume_snapshot" // DatabaseResourceType holds the string representing our ResourceType of Database. DatabaseResourceType ResourceType = "database" )
type ResourceWithURN ¶
type ResourceWithURN interface {
URN() string
}
ResourceWithURN is an interface for interfacing with the types that implement the URN method.
type Response ¶
type Response struct { *http.Response // Links that were returned with the response. These are parsed from // request body and not the header. Links *Links // Meta describes generic information about the response. Meta *Meta // Monitoring URI Monitor string Rate }
Response is a DigitalOcean response. This wraps the standard http.Response returned from DigitalOcean.
type Size ¶
type Size struct { Slug string `json:"slug,omitempty"` Memory int `json:"memory,omitempty"` Vcpus int `json:"vcpus,omitempty"` Disk int `json:"disk,omitempty"` PriceMonthly float64 `json:"price_monthly,omitempty"` PriceHourly float64 `json:"price_hourly,omitempty"` Regions []string `json:"regions,omitempty"` Available bool `json:"available,omitempty"` Transfer float64 `json:"transfer,omitempty"` Description string `json:"description,omitempty"` }
Size represents a DigitalOcean Size
type SizesService ¶
SizesService is an interface for interfacing with the size endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#sizes
type SizesServiceOp ¶
type SizesServiceOp struct {
// contains filtered or unexported fields
}
SizesServiceOp handles communication with the size related methods of the DigitalOcean API.
func (*SizesServiceOp) List ¶
func (s *SizesServiceOp) List(ctx context.Context, opt *ListOptions) ([]Size, *Response, error)
List all images
type Snapshot ¶
type Snapshot struct { ID string `json:"id,omitempty"` Name string `json:"name,omitempty"` ResourceID string `json:"resource_id,omitempty"` ResourceType string `json:"resource_type,omitempty"` Regions []string `json:"regions,omitempty"` MinDiskSize int `json:"min_disk_size,omitempty"` SizeGigaBytes float64 `json:"size_gigabytes,omitempty"` Created string `json:"created_at,omitempty"` Tags []string `json:"tags,omitempty"` }
Snapshot represents a DigitalOcean Snapshot
type SnapshotCreateRequest ¶
type SnapshotCreateRequest struct { VolumeID string `json:"volume_id"` Name string `json:"name"` Description string `json:"description"` Tags []string `json:"tags"` }
SnapshotCreateRequest represents a request to create a block store volume.
type SnapshotsService ¶
type SnapshotsService interface { List(context.Context, *ListOptions) ([]Snapshot, *Response, error) ListVolume(context.Context, *ListOptions) ([]Snapshot, *Response, error) ListDroplet(context.Context, *ListOptions) ([]Snapshot, *Response, error) Get(context.Context, string) (*Snapshot, *Response, error) Delete(context.Context, string) (*Response, error) }
SnapshotsService is an interface for interfacing with the snapshots endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#snapshots
type SnapshotsServiceOp ¶
type SnapshotsServiceOp struct {
// contains filtered or unexported fields
}
SnapshotsServiceOp handles communication with the snapshot related methods of the DigitalOcean API.
func (*SnapshotsServiceOp) Get ¶
func (s *SnapshotsServiceOp) Get(ctx context.Context, snapshotID string) (*Snapshot, *Response, error)
Get retrieves an snapshot by id.
func (*SnapshotsServiceOp) List ¶
func (s *SnapshotsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Snapshot, *Response, error)
List lists all the snapshots available.
func (*SnapshotsServiceOp) ListDroplet ¶
func (s *SnapshotsServiceOp) ListDroplet(ctx context.Context, opt *ListOptions) ([]Snapshot, *Response, error)
ListDroplet lists all the Droplet snapshots.
func (*SnapshotsServiceOp) ListVolume ¶
func (s *SnapshotsServiceOp) ListVolume(ctx context.Context, opt *ListOptions) ([]Snapshot, *Response, error)
ListVolume lists all the volume snapshots.
type Sources ¶
type Sources struct { Addresses []string `json:"addresses,omitempty"` Tags []string `json:"tags,omitempty"` DropletIDs []int `json:"droplet_ids,omitempty"` LoadBalancerUIDs []string `json:"load_balancer_uids,omitempty"` }
Sources represents a DigitalOcean Firewall InboundRule sources.
type StartGarbageCollectionRequest ¶
type StartGarbageCollectionRequest struct {
Type GarbageCollectionType `json:"type"`
}
StartGarbageCollectionRequest represents options to a garbage collection start request.
type StickySessions ¶
type StickySessions struct { Type string `json:"type,omitempty"` CookieName string `json:"cookie_name,omitempty"` CookieTtlSeconds int `json:"cookie_ttl_seconds,omitempty"` }
StickySessions represents optional load balancer session affinity rules.
func (StickySessions) String ¶
func (s StickySessions) String() string
String creates a human-readable description of a StickySessions instance.
type StorageActionsService ¶
type StorageActionsService interface { Attach(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error) DetachByDropletID(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error) Get(ctx context.Context, volumeID string, actionID int) (*Action, *Response, error) List(ctx context.Context, volumeID string, opt *ListOptions) ([]Action, *Response, error) Resize(ctx context.Context, volumeID string, sizeGigabytes int, regionSlug string) (*Action, *Response, error) }
StorageActionsService is an interface for interfacing with the storage actions endpoints of the Digital Ocean API. See: https://developers.digitalocean.com/documentation/v2#storage-actions
type StorageActionsServiceOp ¶
type StorageActionsServiceOp struct {
// contains filtered or unexported fields
}
StorageActionsServiceOp handles communication with the storage volumes action related methods of the DigitalOcean API.
func (*StorageActionsServiceOp) Attach ¶
func (s *StorageActionsServiceOp) Attach(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error)
Attach a storage volume to a Droplet.
func (*StorageActionsServiceOp) DetachByDropletID ¶
func (s *StorageActionsServiceOp) DetachByDropletID(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error)
DetachByDropletID a storage volume from a Droplet by Droplet ID.
func (*StorageActionsServiceOp) Get ¶
func (s *StorageActionsServiceOp) Get(ctx context.Context, volumeID string, actionID int) (*Action, *Response, error)
Get an action for a particular storage volume by id.
func (*StorageActionsServiceOp) List ¶
func (s *StorageActionsServiceOp) List(ctx context.Context, volumeID string, opt *ListOptions) ([]Action, *Response, error)
List the actions for a particular storage volume.
type StorageAttachment ¶
type StorageAttachment struct {
DropletID int `json:"droplet_id"`
}
StorageAttachment represents the attachement of a block storage volume to a specific Droplet under the device name.
type StorageService ¶
type StorageService interface { ListVolumes(context.Context, *ListVolumeParams) ([]Volume, *Response, error) GetVolume(context.Context, string) (*Volume, *Response, error) CreateVolume(context.Context, *VolumeCreateRequest) (*Volume, *Response, error) DeleteVolume(context.Context, string) (*Response, error) ListSnapshots(ctx context.Context, volumeID string, opts *ListOptions) ([]Snapshot, *Response, error) GetSnapshot(context.Context, string) (*Snapshot, *Response, error) CreateSnapshot(context.Context, *SnapshotCreateRequest) (*Snapshot, *Response, error) DeleteSnapshot(context.Context, string) (*Response, error) }
StorageService is an interface for interfacing with the storage endpoints of the Digital Ocean API. See: https://developers.digitalocean.com/documentation/v2/#block-storage
type StorageServiceOp ¶
type StorageServiceOp struct {
// contains filtered or unexported fields
}
StorageServiceOp handles communication with the storage volumes related methods of the DigitalOcean API.