godo

package module
v1.131.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 25, 2024 License: BSD-3-Clause, MIT Imports: 22 Imported by: 1,365

README

Godo

GitHub Actions CI GoDoc

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://docs.digitalocean.com/reference/api/api-reference/

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
}

Some endpoints offer token based pagination. For example, to fetch all Registry Repositories:

func ListRepositoriesV2(ctx context.Context, client *godo.Client, registryName string) ([]*godo.RepositoryV2, error) {
    // create a list to hold our registries
    list := []*godo.RepositoryV2{}

    // create options. initially, these will be blank
    opt := &godo.TokenListOptions{}
    for {
        repositories, resp, err := client.Registry.ListRepositoriesV2(ctx, registryName, opt)
        if err != nil {
            return nil, err
        }

        // append the current page's registries to our list
        list = append(list, repositories...)

        // if we are at the last page, break out the for loop
        if resp.Links == nil || resp.Links.IsLastPage() {
            break
        }

        // grab the next page token
        nextPageToken, err := resp.Links.NextPageToken()
        if err != nil {
            return nil, err
        }

        // provide the next page token for the next request
        opt.Token = nextPageToken
    }

    return list, nil
}
Automatic Retries and Exponential Backoff

The Godo client can be configured to use automatic retries and exponentional backoff for requests that fail with 429 or 500-level response codes via go-retryablehttp. To configure Godo to enable usage of go-retryablehttp, the RetryConfig.RetryMax must be set.

tokenSrc := oauth2.StaticTokenSource(&oauth2.Token{
    AccessToken: "dop_v1_xxxxxx",
})

oauth_client := oauth2.NewClient(oauth2.NoContext, tokenSrc)

waitMax := godo.PtrTo(6.0)
waitMin := godo.PtrTo(3.0)

retryConfig := godo.RetryConfig{
    RetryMax:     3,
    RetryWaitMin: waitMin,
    RetryWaitMax: waitMax,
}

client, err := godo.New(oauth_client, godo.WithRetryAndBackoffs(retryConfig))

Please refer to the RetryConfig Godo documentation for more information.

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 DigitalOcean API v2 client for Go.

Index

Constants

View Source
const (

	// ActionInProgress is an in progress action status
	ActionInProgress = "in-progress"

	//ActionCompleted is a completed action status
	ActionCompleted = "completed"
)
View Source
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.

View Source
const (
	SQLAuthPluginNative      = "mysql_native_password"
	SQLAuthPluginCachingSHA2 = "caching_sha2_password"
)

SQL Auth constants allow for MySQL-specific user auth plugins

View Source
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.

View Source
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.

View Source
const (
	// Load Balancer types
	LoadBalancerTypeGlobal          = "GLOBAL"
	LoadBalancerTypeRegional        = "REGIONAL"
	LoadBalancerTypeRegionalNetwork = "REGIONAL_NETWORK"

	// Load Balancer network types
	LoadBalancerNetworkTypeExternal = "EXTERNAL"
	LoadBalancerNetworkTypeInternal = "INTERNAL"
)
View Source
const (
	DropletCPUUtilizationPercent        = "v1/insights/droplet/cpu"
	DropletMemoryUtilizationPercent     = "v1/insights/droplet/memory_utilization_percent"
	DropletDiskUtilizationPercent       = "v1/insights/droplet/disk_utilization_percent"
	DropletPublicOutboundBandwidthRate  = "v1/insights/droplet/public_outbound_bandwidth"
	DropletPublicInboundBandwidthRate   = "v1/insights/droplet/public_inbound_bandwidth"
	DropletPrivateOutboundBandwidthRate = "v1/insights/droplet/private_outbound_bandwidth"
	DropletPrivateInboundBandwidthRate  = "v1/insights/droplet/private_inbound_bandwidth"
	DropletDiskReadRate                 = "v1/insights/droplet/disk_read"
	DropletDiskWriteRate                = "v1/insights/droplet/disk_write"
	DropletOneMinuteLoadAverage         = "v1/insights/droplet/load_1"
	DropletFiveMinuteLoadAverage        = "v1/insights/droplet/load_5"
	DropletFifteenMinuteLoadAverage     = "v1/insights/droplet/load_15"

	LoadBalancerCPUUtilizationPercent                = "v1/insights/lbaas/avg_cpu_utilization_percent"
	LoadBalancerConnectionUtilizationPercent         = "v1/insights/lbaas/connection_utilization_percent"
	LoadBalancerDropletHealth                        = "v1/insights/lbaas/droplet_health"
	LoadBalancerTLSUtilizationPercent                = "v1/insights/lbaas/tls_connections_per_second_utilization_percent"
	LoadBalancerIncreaseInHTTPErrorRatePercentage5xx = "v1/insights/lbaas/increase_in_http_error_rate_percentage_5xx"
	LoadBalancerIncreaseInHTTPErrorRatePercentage4xx = "v1/insights/lbaas/increase_in_http_error_rate_percentage_4xx"
	LoadBalancerIncreaseInHTTPErrorRateCount5xx      = "v1/insights/lbaas/increase_in_http_error_rate_count_5xx"
	LoadBalancerIncreaseInHTTPErrorRateCount4xx      = "v1/insights/lbaas/increase_in_http_error_rate_count_4xx"
	LoadBalancerHighHttpResponseTime                 = "v1/insights/lbaas/high_http_request_response_time"
	LoadBalancerHighHttpResponseTime50P              = "v1/insights/lbaas/high_http_request_response_time_50p"
	LoadBalancerHighHttpResponseTime95P              = "v1/insights/lbaas/high_http_request_response_time_95p"
	LoadBalancerHighHttpResponseTime99P              = "v1/insights/lbaas/high_http_request_response_time_99p"

	DbaasFifteenMinuteLoadAverage = "v1/dbaas/alerts/load_15_alerts"
	DbaasMemoryUtilizationPercent = "v1/dbaas/alerts/memory_utilization_alerts"
	DbaasDiskUtilizationPercent   = "v1/dbaas/alerts/disk_utilization_alerts"
	DbaasCPUUtilizationPercent    = "v1/dbaas/alerts/cpu_alerts"
)
View Source
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")
)
View Source
const (
	// DefaultProject is the ID you should use if you are working with your
	// default project.
	DefaultProject = "default"
)
View Source
const (

	// RegistryServer is the hostname of the DigitalOcean registry service
	RegistryServer = "registry.digitalocean.com"
)

Variables

This section is empty.

Functions

func Bool deprecated

func Bool(v bool) *bool

Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.

Deprecated: Use PtrTo instead.

func CIDRSourceFirewall added in v1.92.0

func CIDRSourceFirewall(cidr string) string

CIDRSourceFirewall takes a CIDR notation IP address and prefix length string like "192.0.2.0/24" and returns a formatted cidr source firewall rule

func CheckResponse

func CheckResponse(r *http.Response) error

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. If the API error response does not include the request ID in its body, the one from its header will be used.

func DoRequest added in v1.2.0

func DoRequest(ctx context.Context, req *http.Request) (*http.Response, error)

DoRequest submits an HTTP request.

func DoRequestWithClient added in v1.2.0

func DoRequestWithClient(
	ctx context.Context,
	client *http.Client,
	req *http.Request) (*http.Response, error)

DoRequestWithClient submits an HTTP request using the specified client.

func ForEachAppSpecComponent added in v1.85.0

func ForEachAppSpecComponent[T any](s *AppSpec, fn func(component T) error) error

ForEachAppSpecComponent loops over each component spec that matches the provided interface type. The type constraint is intentionally set to `any` to allow use of arbitrary interfaces to match the desired component types.

Examples:

  • interface constraint godo.ForEachAppSpecComponent(spec, func(component godo.AppBuildableComponentSpec) error { ... })
  • struct type constraint godo.ForEachAppSpecComponent(spec, func(component *godo.AppStaticSiteSpec) error { ... })

func GetAppSpecComponent added in v1.85.0

func GetAppSpecComponent[T interface {
	GetName() string
}](s *AppSpec, name string) (T, error)

GetAppSpecComponent returns an app spec component by type and name.

Examples:

  • interface constraint godo.GetAppSpecComponent[godo.AppBuildableComponentSpec](spec, "component-name")
  • struct type constraint godo.GetAppSpecComponent[*godo.AppServiceSpec](spec, "component-name")

func IPSourceFirewall added in v1.92.0

func IPSourceFirewall(ip string) string

IPSourceFirewall takes an IP (string) and returns a formatted ip source firewall rule

func Int deprecated

func Int(v int) *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.

Deprecated: Use PtrTo instead.

func PtrTo added in v1.90.0

func PtrTo[T any](v T) *T

PtrTo returns a pointer to the provided input.

func StreamToString

func StreamToString(stream io.Reader) string

StreamToString converts a reader to a string

func String deprecated

func String(v string) *string

String is a helper routine that allocates a new string value to store v and returns a pointer to it.

Deprecated: Use PtrTo instead.

func Stringify

func Stringify(message interface{}) string

Stringify attempts to create a string representation of DigitalOcean types

func ToURN added in v1.6.0

func ToURN(resourceType string, id interface{}) string

ToURN converts the resource type and ID to a valid DO API URN.

Types

type Account added in v0.9.0

type Account struct {
	DropletLimit    int       `json:"droplet_limit,omitempty"`
	FloatingIPLimit int       `json:"floating_ip_limit,omitempty"`
	ReservedIPLimit int       `json:"reserved_ip_limit,omitempty"`
	VolumeLimit     int       `json:"volume_limit,omitempty"`
	Email           string    `json:"email,omitempty"`
	Name            string    `json:"name,omitempty"`
	UUID            string    `json:"uuid,omitempty"`
	EmailVerified   bool      `json:"email_verified,omitempty"`
	Status          string    `json:"status,omitempty"`
	StatusMessage   string    `json:"status_message,omitempty"`
	Team            *TeamInfo `json:"team,omitempty"`
}

Account represents a DigitalOcean Account

func (Account) String added in v0.9.0

func (r Account) String() string

type AccountService added in v0.9.0

type AccountService interface {
	Get(context.Context) (*Account, *Response, error)
}

AccountService is an interface for interfacing with the Account endpoints of the DigitalOcean API See: https://docs.digitalocean.com/reference/api/api-reference/#tag/Account

type AccountServiceOp added in v0.9.0

type AccountServiceOp struct {
	// contains filtered or unexported fields
}

AccountServiceOp handles communication with the Account related methods of the DigitalOcean API.

func (*AccountServiceOp) Get added in v0.9.0

Get DigitalOcean account info

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

func (Action) String

func (a Action) String() string

type ActionRequest

type ActionRequest map[string]interface{}

ActionRequest represents DigitalOcean Action Request

type ActionsService

type ActionsService interface {
	List(context.Context, *ListOptions) ([]Action, *Response, error)
	Get(context.Context, int) (*Action, *Response, error)
}

ActionsService handles communication with action related methods of the DigitalOcean API: https://docs.digitalocean.com/reference/api/api-reference/#tag/Actions

type ActionsServiceOp added in v0.3.0

type ActionsServiceOp struct {
	// contains filtered or unexported fields
}

ActionsServiceOp handles communication with the image action related methods of the DigitalOcean API.

func (*ActionsServiceOp) Get added in v0.3.0

func (s *ActionsServiceOp) Get(ctx context.Context, id int) (*Action, *Response, error)

Get an action by ID.

func (*ActionsServiceOp) List added in v0.3.0

func (s *ActionsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Action, *Response, error)

List all actions

type Address added in v1.31.0

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 AlertDestinationUpdateRequest added in v1.65.0

type AlertDestinationUpdateRequest struct {
	Emails        []string                `json:"emails"`
	SlackWebhooks []*AppAlertSlackWebhook `json:"slack_webhooks"`
}

AlertDestinationUpdateRequest represents a request to update alert destinations.

type AlertPolicy added in v1.64.0

type AlertPolicy struct {
	UUID        string          `json:"uuid"`
	Type        string          `json:"type"`
	Description string          `json:"description"`
	Compare     AlertPolicyComp `json:"compare"`
	Value       float32         `json:"value"`
	Window      string          `json:"window"`
	Entities    []string        `json:"entities"`
	Tags        []string        `json:"tags"`
	Alerts      Alerts          `json:"alerts"`
	Enabled     bool            `json:"enabled"`
}

AlertPolicy represents a DigitalOcean alert policy

type AlertPolicyComp added in v1.64.0

type AlertPolicyComp string

AlertPolicyComp represents an alert policy comparison operation

const (
	// GreaterThan is the comparison >
	GreaterThan AlertPolicyComp = "GreaterThan"
	// LessThan is the comparison <
	LessThan AlertPolicyComp = "LessThan"
)

type AlertPolicyCreateRequest added in v1.64.0

type AlertPolicyCreateRequest struct {
	Type        string          `json:"type"`
	Description string          `json:"description"`
	Compare     AlertPolicyComp `json:"compare"`
	Value       float32         `json:"value"`
	Window      string          `json:"window"`
	Entities    []string        `json:"entities"`
	Tags        []string        `json:"tags"`
	Alerts      Alerts          `json:"alerts"`
	Enabled     *bool           `json:"enabled"`
}

AlertPolicyCreateRequest holds the info for creating a new alert policy

type AlertPolicyUpdateRequest added in v1.64.0

type AlertPolicyUpdateRequest struct {
	Type        string          `json:"type"`
	Description string          `json:"description"`
	Compare     AlertPolicyComp `json:"compare"`
	Value       float32         `json:"value"`
	Window      string          `json:"window"`
	Entities    []string        `json:"entities"`
	Tags        []string        `json:"tags"`
	Alerts      Alerts          `json:"alerts"`
	Enabled     *bool           `json:"enabled"`
}

AlertPolicyUpdateRequest holds the info for updating an existing alert policy

type Alerts added in v1.64.0

type Alerts struct {
	Slack []SlackDetails `json:"slack"`
	Email []string       `json:"email"`
}

Alerts represents the alerts section of an alert policy

type App added in v1.39.0

type App struct {
	ID                      string          `json:"id,omitempty"`
	OwnerUUID               string          `json:"owner_uuid,omitempty"`
	Spec                    *AppSpec        `json:"spec"`
	LastDeploymentActiveAt  time.Time       `json:"last_deployment_active_at,omitempty"`
	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"`
	PendingDeployment       *Deployment     `json:"pending_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"`
	PinnedDeployment        *Deployment     `json:"pinned_deployment,omitempty"`
	BuildConfig             *AppBuildConfig `json:"build_config,omitempty"`
	// The id of the project for the app. This will be empty if there is a fleet (project) lookup failure.
	ProjectID string `json:"project_id,omitempty"`
	// The dedicated egress ip addresses associated with the app.
	DedicatedIps []*AppDedicatedIp `json:"dedicated_ips,omitempty"`
}

App An application's configuration and status.

func (*App) GetActiveDeployment added in v1.85.0

func (a *App) GetActiveDeployment() *Deployment

GetActiveDeployment returns the ActiveDeployment field.

func (*App) GetBuildConfig added in v1.85.0

func (a *App) GetBuildConfig() *AppBuildConfig

GetBuildConfig returns the BuildConfig field.

func (*App) GetCreatedAt added in v1.85.0

func (a *App) GetCreatedAt() time.Time

GetCreatedAt returns the CreatedAt field.

func (*App) GetDedicatedIps added in v1.109.0

func (a *App) GetDedicatedIps() []*AppDedicatedIp

GetDedicatedIps returns the DedicatedIps field.

func (*App) GetDefaultIngress added in v1.85.0

func (a *App) GetDefaultIngress() string

GetDefaultIngress returns the DefaultIngress field.

func (*App) GetDomains added in v1.85.0

func (a *App) GetDomains() []*AppDomain

GetDomains returns the Domains field.

func (*App) GetID added in v1.85.0

func (a *App) GetID() string

GetID returns the ID field.

func (*App) GetInProgressDeployment added in v1.85.0

func (a *App) GetInProgressDeployment() *Deployment

GetInProgressDeployment returns the InProgressDeployment field.

func (*App) GetLastDeploymentActiveAt added in v1.85.0

func (a *App) GetLastDeploymentActiveAt() time.Time

GetLastDeploymentActiveAt returns the LastDeploymentActiveAt field.

func (*App) GetLastDeploymentCreatedAt added in v1.85.0

func (a *App) GetLastDeploymentCreatedAt() time.Time

GetLastDeploymentCreatedAt returns the LastDeploymentCreatedAt field.

func (*App) GetLiveDomain added in v1.85.0

func (a *App) GetLiveDomain() string

GetLiveDomain returns the LiveDomain field.

func (*App) GetLiveURL added in v1.85.0

func (a *App) GetLiveURL() string

GetLiveURL returns the LiveURL field.

func (*App) GetLiveURLBase added in v1.85.0

func (a *App) GetLiveURLBase() string

GetLiveURLBase returns the LiveURLBase field.

func (*App) GetOwnerUUID added in v1.85.0

func (a *App) GetOwnerUUID() string

GetOwnerUUID returns the OwnerUUID field.

func (*App) GetPendingDeployment added in v1.97.0

func (a *App) GetPendingDeployment() *Deployment

GetPendingDeployment returns the PendingDeployment field.

func (*App) GetPinnedDeployment added in v1.85.0

func (a *App) GetPinnedDeployment() *Deployment

GetPinnedDeployment returns the PinnedDeployment field.

func (*App) GetProjectID added in v1.88.0

func (a *App) GetProjectID() string

GetProjectID returns the ProjectID field.

func (*App) GetRegion added in v1.85.0

func (a *App) GetRegion() *AppRegion

GetRegion returns the Region field.

func (*App) GetSpec added in v1.85.0

func (a *App) GetSpec() *AppSpec

GetSpec returns the Spec field.

func (*App) GetTierSlug added in v1.85.0

func (a *App) GetTierSlug() string

GetTierSlug returns the TierSlug field.

func (*App) GetUpdatedAt added in v1.85.0

func (a *App) GetUpdatedAt() time.Time

GetUpdatedAt returns the UpdatedAt field.

func (App) URN added in v1.82.0

func (a App) URN() string

URN returns a URN identifier for the app

type AppAlert added in v1.65.0

type AppAlert struct {
	// The ID of the alert. This will be auto-generated by App Platform once the spec is submitted.
	ID string `json:"id,omitempty"`
	// Name of the component this alert applies to.
	ComponentName string        `json:"component_name,omitempty"`
	Spec          *AppAlertSpec `json:"spec,omitempty"`
	// Email destinations for the alert when triggered.
	Emails []string `json:"emails,omitempty"`
	// Slack webhook destinations for the alert when triggered.
	SlackWebhooks []*AppAlertSlackWebhook `json:"slack_webhooks,omitempty"`
	Phase         AppAlertPhase           `json:"phase,omitempty"`
	Progress      *AppAlertProgress       `json:"progress,omitempty"`
}

AppAlert Represents an alert configured for an app or component.

func (*AppAlert) GetComponentName added in v1.85.0

func (a *AppAlert) GetComponentName() string

GetComponentName returns the ComponentName field.

func (*AppAlert) GetEmails added in v1.85.0

func (a *AppAlert) GetEmails() []string

GetEmails returns the Emails field.

func (*AppAlert) GetID added in v1.85.0

func (a *AppAlert) GetID() string

GetID returns the ID field.

func (*AppAlert) GetPhase added in v1.85.0

func (a *AppAlert) GetPhase() AppAlertPhase

GetPhase returns the Phase field.

func (*AppAlert) GetProgress added in v1.85.0

func (a *AppAlert) GetProgress() *AppAlertProgress

GetProgress returns the Progress field.

func (*AppAlert) GetSlackWebhooks added in v1.85.0

func (a *AppAlert) GetSlackWebhooks() []*AppAlertSlackWebhook

GetSlackWebhooks returns the SlackWebhooks field.

func (*AppAlert) GetSpec added in v1.85.0

func (a *AppAlert) GetSpec() *AppAlertSpec

GetSpec returns the Spec field.

type AppAlertPhase added in v1.65.0

type AppAlertPhase string

AppAlertPhase the model 'AppAlertPhase'

const (
	AppAlertPhase_Unknown     AppAlertPhase = "UNKNOWN"
	AppAlertPhase_Pending     AppAlertPhase = "PENDING"
	AppAlertPhase_Configuring AppAlertPhase = "CONFIGURING"
	AppAlertPhase_Active      AppAlertPhase = "ACTIVE"
	AppAlertPhase_Error       AppAlertPhase = "ERROR"
)

List of AppAlertPhase

type AppAlertProgress added in v1.65.0

type AppAlertProgress struct {
	Steps []*AppAlertProgressStep `json:"steps,omitempty"`
}

AppAlertProgress struct for AppAlertProgress

func (*AppAlertProgress) GetSteps added in v1.85.0

func (a *AppAlertProgress) GetSteps() []*AppAlertProgressStep

GetSteps returns the Steps field.

type AppAlertProgressStep added in v1.65.0

type AppAlertProgressStep struct {
	Name      string                      `json:"name,omitempty"`
	Status    AppAlertProgressStepStatus  `json:"status,omitempty"`
	Steps     []*AppAlertProgressStep     `json:"steps,omitempty"`
	StartedAt time.Time                   `json:"started_at,omitempty"`
	EndedAt   time.Time                   `json:"ended_at,omitempty"`
	Reason    *AppAlertProgressStepReason `json:"reason,omitempty"`
}

AppAlertProgressStep struct for AppAlertProgressStep

func (*AppAlertProgressStep) GetEndedAt added in v1.85.0

func (a *AppAlertProgressStep) GetEndedAt() time.Time

GetEndedAt returns the EndedAt field.

func (*AppAlertProgressStep) GetName added in v1.85.0

func (a *AppAlertProgressStep) GetName() string

GetName returns the Name field.

func (*AppAlertProgressStep) GetReason added in v1.85.0

GetReason returns the Reason field.

func (*AppAlertProgressStep) GetStartedAt added in v1.85.0

func (a *AppAlertProgressStep) GetStartedAt() time.Time

GetStartedAt returns the StartedAt field.

func (*AppAlertProgressStep) GetStatus added in v1.85.0

GetStatus returns the Status field.

func (*AppAlertProgressStep) GetSteps added in v1.85.0

func (a *AppAlertProgressStep) GetSteps() []*AppAlertProgressStep

GetSteps returns the Steps field.

type AppAlertProgressStepReason added in v1.65.0

type AppAlertProgressStepReason struct {
	Code    string `json:"code,omitempty"`
	Message string `json:"message,omitempty"`
}

AppAlertProgressStepReason struct for AppAlertProgressStepReason

func (*AppAlertProgressStepReason) GetCode added in v1.85.0

func (a *AppAlertProgressStepReason) GetCode() string

GetCode returns the Code field.

func (*AppAlertProgressStepReason) GetMessage added in v1.85.0

func (a *AppAlertProgressStepReason) GetMessage() string

GetMessage returns the Message field.

type AppAlertProgressStepStatus added in v1.65.0

type AppAlertProgressStepStatus string

AppAlertProgressStepStatus the model 'AppAlertProgressStepStatus'

const (
	AppAlertProgressStepStatus_Unknown AppAlertProgressStepStatus = "UNKNOWN"
	AppAlertProgressStepStatus_Pending AppAlertProgressStepStatus = "PENDING"
	AppAlertProgressStepStatus_Running AppAlertProgressStepStatus = "RUNNING"
	AppAlertProgressStepStatus_Error   AppAlertProgressStepStatus = "ERROR"
	AppAlertProgressStepStatus_Success AppAlertProgressStepStatus = "SUCCESS"
)

List of AppAlertProgressStepStatus

type AppAlertSlackWebhook added in v1.65.0

type AppAlertSlackWebhook struct {
	// URL for the Slack webhook.
	URL string `json:"url,omitempty"`
	// Name of the Slack channel.
	Channel string `json:"channel,omitempty"`
}

AppAlertSlackWebhook Configuration of a Slack alerting destination.

func (*AppAlertSlackWebhook) GetChannel added in v1.85.0

func (a *AppAlertSlackWebhook) GetChannel() string

GetChannel returns the Channel field.

func (*AppAlertSlackWebhook) GetURL added in v1.85.0

func (a *AppAlertSlackWebhook) GetURL() string

GetURL returns the URL field.

type AppAlertSpec added in v1.65.0

type AppAlertSpec struct {
	Rule AppAlertSpecRule `json:"rule,omitempty"`
	// Determines whether or not the alert is disabled.
	Disabled bool                 `json:"disabled,omitempty"`
	Operator AppAlertSpecOperator `json:"operator,omitempty"`
	// The meaning is dependent upon the rule. It is used in conjunction with the operator and window to determine when an alert should trigger.
	Value  float32            `json:"value,omitempty"`
	Window AppAlertSpecWindow `json:"window,omitempty"`
}

AppAlertSpec Configuration of an alert for the app or a individual component.

func (*AppAlertSpec) GetDisabled added in v1.85.0

func (a *AppAlertSpec) GetDisabled() bool

GetDisabled returns the Disabled field.

func (*AppAlertSpec) GetOperator added in v1.85.0

func (a *AppAlertSpec) GetOperator() AppAlertSpecOperator

GetOperator returns the Operator field.

func (*AppAlertSpec) GetRule added in v1.85.0

func (a *AppAlertSpec) GetRule() AppAlertSpecRule

GetRule returns the Rule field.

func (*AppAlertSpec) GetValue added in v1.85.0

func (a *AppAlertSpec) GetValue() float32

GetValue returns the Value field.

func (*AppAlertSpec) GetWindow added in v1.85.0

func (a *AppAlertSpec) GetWindow() AppAlertSpecWindow

GetWindow returns the Window field.

type AppAlertSpecOperator added in v1.65.0

type AppAlertSpecOperator string

AppAlertSpecOperator the model 'AppAlertSpecOperator'

const (
	AppAlertSpecOperator_UnspecifiedOperator AppAlertSpecOperator = "UNSPECIFIED_OPERATOR"
	AppAlertSpecOperator_GreaterThan         AppAlertSpecOperator = "GREATER_THAN"
	AppAlertSpecOperator_LessThan            AppAlertSpecOperator = "LESS_THAN"
)

List of AppAlertSpecOperator

type AppAlertSpecRule added in v1.65.0

type AppAlertSpecRule string

AppAlertSpecRule - CPU_UTILIZATION: Represents CPU for a given container instance. Only applicable at the component level. - MEM_UTILIZATION: Represents RAM for a given container instance. Only applicable at the component level. - RESTART_COUNT: Represents restart count for a given container instance. Only applicable at the component level. - DEPLOYMENT_FAILED: Represents whether a deployment has failed. Only applicable at the app level. - DEPLOYMENT_LIVE: Represents whether a deployment has succeeded. Only applicable at the app level. - DEPLOYMENT_STARTED: Represents whether a deployment has started. Only applicable at the app level. - DEPLOYMENT_CANCELED: Represents whether a deployment has been canceled. Only applicable at the app level. - DOMAIN_FAILED: Represents whether a domain configuration has failed. Only applicable at the app level. - DOMAIN_LIVE: Represents whether a domain configuration has succeeded. Only applicable at the app level. - FUNCTIONS_ACTIVATION_COUNT: Represents an activation count for a given functions instance. Only applicable to functions components. - FUNCTIONS_AVERAGE_DURATION_MS: Represents the average duration for function runtimes. Only applicable to functions components. - FUNCTIONS_ERROR_RATE_PER_MINUTE: Represents an error rate per minute for a given functions instance. Only applicable to functions components. - FUNCTIONS_AVERAGE_WAIT_TIME_MS: Represents the average wait time for functions. Only applicable to functions components. - FUNCTIONS_ERROR_COUNT: Represents an error count for a given functions instance. Only applicable to functions components. - FUNCTIONS_GB_RATE_PER_SECOND: Represents the rate of memory consumption (GB x seconds) for functions. Only applicable to functions components.

const (
	AppAlertSpecRule_UnspecifiedRule             AppAlertSpecRule = "UNSPECIFIED_RULE"
	AppAlertSpecRule_CPUUtilization              AppAlertSpecRule = "CPU_UTILIZATION"
	AppAlertSpecRule_MemUtilization              AppAlertSpecRule = "MEM_UTILIZATION"
	AppAlertSpecRule_RestartCount                AppAlertSpecRule = "RESTART_COUNT"
	AppAlertSpecRule_DeploymentFailed            AppAlertSpecRule = "DEPLOYMENT_FAILED"
	AppAlertSpecRule_DeploymentLive              AppAlertSpecRule = "DEPLOYMENT_LIVE"
	AppAlertSpecRule_DeploymentStarted           AppAlertSpecRule = "DEPLOYMENT_STARTED"
	AppAlertSpecRule_DeploymentCanceled          AppAlertSpecRule = "DEPLOYMENT_CANCELED"
	AppAlertSpecRule_DomainFailed                AppAlertSpecRule = "DOMAIN_FAILED"
	AppAlertSpecRule_DomainLive                  AppAlertSpecRule = "DOMAIN_LIVE"
	AppAlertSpecRule_FunctionsActivationCount    AppAlertSpecRule = "FUNCTIONS_ACTIVATION_COUNT"
	AppAlertSpecRule_FunctionsAverageDurationMS  AppAlertSpecRule = "FUNCTIONS_AVERAGE_DURATION_MS"
	AppAlertSpecRule_FunctionsErrorRatePerMinute AppAlertSpecRule = "FUNCTIONS_ERROR_RATE_PER_MINUTE"
	AppAlertSpecRule_FunctionsAverageWaitTimeMs  AppAlertSpecRule = "FUNCTIONS_AVERAGE_WAIT_TIME_MS"
	AppAlertSpecRule_FunctionsErrorCount         AppAlertSpecRule = "FUNCTIONS_ERROR_COUNT"
	AppAlertSpecRule_FunctionsGBRatePerSecond    AppAlertSpecRule = "FUNCTIONS_GB_RATE_PER_SECOND"
)

List of AppAlertSpecRule

type AppAlertSpecWindow added in v1.65.0

type AppAlertSpecWindow string

AppAlertSpecWindow the model 'AppAlertSpecWindow'

const (
	AppAlertSpecWindow_UnspecifiedWindow AppAlertSpecWindow = "UNSPECIFIED_WINDOW"
	AppAlertSpecWindow_FiveMinutes       AppAlertSpecWindow = "FIVE_MINUTES"
	AppAlertSpecWindow_TenMinutes        AppAlertSpecWindow = "TEN_MINUTES"
	AppAlertSpecWindow_ThirtyMinutes     AppAlertSpecWindow = "THIRTY_MINUTES"
	AppAlertSpecWindow_OneHour           AppAlertSpecWindow = "ONE_HOUR"
)

List of AppAlertSpecWindow

type AppAutoscalingSpec added in v1.105.0

type AppAutoscalingSpec struct {
	// The minimum amount of instances for this component.
	MinInstanceCount int64 `json:"min_instance_count,omitempty"`
	// The maximum amount of instances for this component.
	MaxInstanceCount int64                      `json:"max_instance_count,omitempty"`
	Metrics          *AppAutoscalingSpecMetrics `json:"metrics,omitempty"`
}

AppAutoscalingSpec struct for AppAutoscalingSpec

func (*AppAutoscalingSpec) GetMaxInstanceCount added in v1.105.0

func (a *AppAutoscalingSpec) GetMaxInstanceCount() int64

GetMaxInstanceCount returns the MaxInstanceCount field.

func (*AppAutoscalingSpec) GetMetrics added in v1.105.0

GetMetrics returns the Metrics field.

func (*AppAutoscalingSpec) GetMinInstanceCount added in v1.105.0

func (a *AppAutoscalingSpec) GetMinInstanceCount() int64

GetMinInstanceCount returns the MinInstanceCount field.

type AppAutoscalingSpecMetricCPU added in v1.105.0

type AppAutoscalingSpecMetricCPU struct {
	// The average target CPU utilization for the component.
	Percent int64 `json:"percent,omitempty"`
}

AppAutoscalingSpecMetricCPU struct for AppAutoscalingSpecMetricCPU

func (*AppAutoscalingSpecMetricCPU) GetPercent added in v1.105.0

func (a *AppAutoscalingSpecMetricCPU) GetPercent() int64

GetPercent returns the Percent field.

type AppAutoscalingSpecMetrics added in v1.105.0

type AppAutoscalingSpecMetrics struct {
	CPU *AppAutoscalingSpecMetricCPU `json:"cpu,omitempty"`
}

AppAutoscalingSpecMetrics struct for AppAutoscalingSpecMetrics

func (*AppAutoscalingSpecMetrics) GetCPU added in v1.105.0

GetCPU returns the CPU field.

type AppBuildConfig added in v1.85.0

type AppBuildConfig struct {
	CNBVersioning *AppBuildConfigCNBVersioning `json:"cnb_versioning,omitempty"`
}

AppBuildConfig struct for AppBuildConfig

func (*AppBuildConfig) GetCNBVersioning added in v1.85.0

func (a *AppBuildConfig) GetCNBVersioning() *AppBuildConfigCNBVersioning

GetCNBVersioning returns the CNBVersioning field.

type AppBuildConfigCNBVersioning added in v1.85.0

type AppBuildConfigCNBVersioning struct {
	// List of versioned buildpacks used for the application.  Buildpacks are only versioned based on the major semver version, therefore exact versions will not be available at the app build config.
	Buildpacks []*Buildpack `json:"buildpacks,omitempty"`
	// A version id that represents the underlying CNB stack. The version of the stack indicates what buildpacks are supported.
	StackID string `json:"stack_id,omitempty"`
}

AppBuildConfigCNBVersioning struct for AppBuildConfigCNBVersioning

func (*AppBuildConfigCNBVersioning) GetBuildpacks added in v1.85.0

func (a *AppBuildConfigCNBVersioning) GetBuildpacks() []*Buildpack

GetBuildpacks returns the Buildpacks field.

func (*AppBuildConfigCNBVersioning) GetStackID added in v1.98.0

func (a *AppBuildConfigCNBVersioning) GetStackID() string

GetStackID returns the StackID field.

type AppBuildableComponentSpec added in v1.85.0

type AppBuildableComponentSpec interface {
	AppComponentSpec

	GetGit() *GitSourceSpec
	GetGitHub() *GitHubSourceSpec
	GetGitLab() *GitLabSourceSpec

	GetSourceDir() string

	GetEnvs() []*AppVariableDefinition
}

AppBuildableComponentSpec is a component that is buildable from source.

type AppCNBBuildableComponentSpec added in v1.85.0

type AppCNBBuildableComponentSpec interface {
	AppBuildableComponentSpec

	GetBuildCommand() string
}

AppCNBBuildableComponentSpec is a component that is buildable from source using cloud native buildpacks.

type AppCORSPolicy added in v1.48.0

type AppCORSPolicy struct {
	// The set of allowed CORS origins. This configures the Access-Control-Allow-Origin header.
	AllowOrigins []*AppStringMatch `json:"allow_origins,omitempty"`
	// The set of allowed HTTP methods. This configures the Access-Control-Allow-Methods header.
	AllowMethods []string `json:"allow_methods,omitempty"`
	// The set of allowed HTTP request headers. This configures the Access-Control-Allow-Headers header.
	AllowHeaders []string `json:"allow_headers,omitempty"`
	// The set of HTTP response headers that browsers are allowed to access. This configures the Access-Control-Expose-Headers  header.
	ExposeHeaders []string `json:"expose_headers,omitempty"`
	// An optional duration specifying how long browsers can cache the results of a preflight request. This configures the Access-Control-Max-Age header. Example: `5h30m`.
	MaxAge string `json:"max_age,omitempty"`
	// Whether browsers should expose the response to the client-side JavaScript code when the request's credentials mode is `include`. This configures the Access-Control-Allow-Credentials header.
	AllowCredentials bool `json:"allow_credentials,omitempty"`
}

AppCORSPolicy struct for AppCORSPolicy

func (*AppCORSPolicy) GetAllowCredentials added in v1.85.0

func (a *AppCORSPolicy) GetAllowCredentials() bool

GetAllowCredentials returns the AllowCredentials field.

func (*AppCORSPolicy) GetAllowHeaders added in v1.85.0

func (a *AppCORSPolicy) GetAllowHeaders() []string

GetAllowHeaders returns the AllowHeaders field.

func (*AppCORSPolicy) GetAllowMethods added in v1.85.0

func (a *AppCORSPolicy) GetAllowMethods() []string

GetAllowMethods returns the AllowMethods field.

func (*AppCORSPolicy) GetAllowOrigins added in v1.85.0

func (a *AppCORSPolicy) GetAllowOrigins() []*AppStringMatch

GetAllowOrigins returns the AllowOrigins field.

func (*AppCORSPolicy) GetExposeHeaders added in v1.85.0

func (a *AppCORSPolicy) GetExposeHeaders() []string

GetExposeHeaders returns the ExposeHeaders field.

func (*AppCORSPolicy) GetMaxAge added in v1.85.0

func (a *AppCORSPolicy) GetMaxAge() string

GetMaxAge returns the MaxAge field.

type AppComponentSpec added in v1.85.0

type AppComponentSpec interface {
	GetName() string
	GetType() AppComponentType
}

AppComponentSpec represents a component's spec.

type AppComponentType added in v1.85.0

type AppComponentType string

AppComponentType is an app component type.

const (
	// AppComponentTypeService is the type for a service component.
	AppComponentTypeService AppComponentType = "service"
	// AppComponentTypeWorker is the type for a worker component.
	AppComponentTypeWorker AppComponentType = "worker"
	// AppComponentTypeJob is the type for a job component.
	AppComponentTypeJob AppComponentType = "job"
	// AppComponentTypeStaticSite is the type for a static site component.
	AppComponentTypeStaticSite AppComponentType = "static_site"
	// AppComponentTypeDatabase is the type for a database component.
	AppComponentTypeDatabase AppComponentType = "database"
	// AppComponentTypeFunctions is the type for a functions component.
	AppComponentTypeFunctions AppComponentType = "functions"
)

type AppContainerComponentSpec added in v1.85.0

type AppContainerComponentSpec interface {
	AppBuildableComponentSpec

	GetImage() *ImageSourceSpec
	GetRunCommand() string
	GetInstanceSizeSlug() string
	GetInstanceCount() int64
}

AppContainerComponentSpec is a component that runs in a cluster.

type AppCreateRequest added in v1.39.0

type AppCreateRequest struct {
	Spec *AppSpec `json:"spec"`
	// Optional. The UUID of the project the app should be assigned.
	ProjectID string `json:"project_id,omitempty"`
}

AppCreateRequest struct for AppCreateRequest

func (*AppCreateRequest) GetProjectID added in v1.88.0

func (a *AppCreateRequest) GetProjectID() string

GetProjectID returns the ProjectID field.

func (*AppCreateRequest) GetSpec added in v1.85.0

func (a *AppCreateRequest) GetSpec() *AppSpec

GetSpec returns the Spec field.

type AppDatabaseSpec added in v1.39.0

type AppDatabaseSpec struct {
	// The database's name. The name must be unique across all components within the same app and cannot use capital letters.
	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

func (*AppDatabaseSpec) GetClusterName added in v1.85.0

func (a *AppDatabaseSpec) GetClusterName() string

GetClusterName returns the ClusterName field.

func (*AppDatabaseSpec) GetDBName added in v1.85.0

func (a *AppDatabaseSpec) GetDBName() string

GetDBName returns the DBName field.

func (*AppDatabaseSpec) GetDBUser added in v1.85.0

func (a *AppDatabaseSpec) GetDBUser() string

GetDBUser returns the DBUser field.

func (*AppDatabaseSpec) GetEngine added in v1.85.0

func (a *AppDatabaseSpec) GetEngine() AppDatabaseSpecEngine

GetEngine returns the Engine field.

func (*AppDatabaseSpec) GetName added in v1.85.0

func (a *AppDatabaseSpec) GetName() string

GetName returns the Name field.

func (*AppDatabaseSpec) GetNumNodes added in v1.85.0

func (a *AppDatabaseSpec) GetNumNodes() int64

GetNumNodes returns the NumNodes field.

func (*AppDatabaseSpec) GetProduction added in v1.85.0

func (a *AppDatabaseSpec) GetProduction() bool

GetProduction returns the Production field.

func (*AppDatabaseSpec) GetSize added in v1.85.0

func (a *AppDatabaseSpec) GetSize() string

GetSize returns the Size field.

func (*AppDatabaseSpec) GetType added in v1.85.0

func (s *AppDatabaseSpec) GetType() AppComponentType

GetType returns the Database component type.

func (*AppDatabaseSpec) GetVersion added in v1.85.0

func (a *AppDatabaseSpec) GetVersion() string

GetVersion returns the Version field.

type AppDatabaseSpecEngine added in v1.39.0

type AppDatabaseSpecEngine string

AppDatabaseSpecEngine the model 'AppDatabaseSpecEngine'

const (
	AppDatabaseSpecEngine_Unset      AppDatabaseSpecEngine = "UNSET"
	AppDatabaseSpecEngine_MySQL      AppDatabaseSpecEngine = "MYSQL"
	AppDatabaseSpecEngine_PG         AppDatabaseSpecEngine = "PG"
	AppDatabaseSpecEngine_Redis      AppDatabaseSpecEngine = "REDIS"
	AppDatabaseSpecEngine_MongoDB    AppDatabaseSpecEngine = "MONGODB"
	AppDatabaseSpecEngine_Kafka      AppDatabaseSpecEngine = "KAFKA"
	AppDatabaseSpecEngine_Opensearch AppDatabaseSpecEngine = "OPENSEARCH"
)

List of AppDatabaseSpecEngine

type AppDedicatedIp added in v1.109.0

type AppDedicatedIp struct {
	// The ip address of the dedicated egress ip.
	Ip string `json:"ip,omitempty"`
	// The id of the dedictated egress ip.
	ID     string               `json:"id,omitempty"`
	Status AppDedicatedIpStatus `json:"status,omitempty"`
}

AppDedicatedIp Represents a dedicated egress ip.

func (*AppDedicatedIp) GetID added in v1.109.0

func (a *AppDedicatedIp) GetID() string

GetID returns the ID field.

func (*AppDedicatedIp) GetIp added in v1.109.0

func (a *AppDedicatedIp) GetIp() string

GetIp returns the Ip field.

func (*AppDedicatedIp) GetStatus added in v1.109.0

func (a *AppDedicatedIp) GetStatus() AppDedicatedIpStatus

GetStatus returns the Status field.

type AppDedicatedIpStatus added in v1.109.0

type AppDedicatedIpStatus string

AppDedicatedIpStatus the model 'AppDedicatedIpStatus'

const (
	APPDEDICATEDIPSTATUS_Unknown   AppDedicatedIpStatus = "UNKNOWN"
	APPDEDICATEDIPSTATUS_Assigning AppDedicatedIpStatus = "ASSIGNING"
	APPDEDICATEDIPSTATUS_Assigned  AppDedicatedIpStatus = "ASSIGNED"
	APPDEDICATEDIPSTATUS_Removed   AppDedicatedIpStatus = "REMOVED"
)

List of AppDedicatedIPStatus

type AppDockerBuildableComponentSpec added in v1.85.0

type AppDockerBuildableComponentSpec interface {
	AppBuildableComponentSpec

	GetDockerfilePath() string
}

AppDockerBuildableComponentSpec is a component that is buildable from source using Docker.

type AppDomain added in v1.56.0

type AppDomain struct {
	ID                      string                 `json:"id,omitempty"`
	Spec                    *AppDomainSpec         `json:"spec,omitempty"`
	Phase                   AppDomainPhase         `json:"phase,omitempty"`
	Progress                *AppDomainProgress     `json:"progress,omitempty"`
	Validation              *AppDomainValidation   `json:"validation,omitempty"`
	Validations             []*AppDomainValidation `json:"validations,omitempty"`
	RotateValidationRecords bool                   `json:"rotate_validation_records,omitempty"`
	CertificateExpiresAt    time.Time              `json:"certificate_expires_at,omitempty"`
}

AppDomain struct for AppDomain

func (*AppDomain) GetCertificateExpiresAt added in v1.85.0

func (a *AppDomain) GetCertificateExpiresAt() time.Time

GetCertificateExpiresAt returns the CertificateExpiresAt field.

func (*AppDomain) GetID added in v1.85.0

func (a *AppDomain) GetID() string

GetID returns the ID field.

func (*AppDomain) GetPhase added in v1.85.0

func (a *AppDomain) GetPhase() AppDomainPhase

GetPhase returns the Phase field.

func (*AppDomain) GetProgress added in v1.85.0

func (a *AppDomain) GetProgress() *AppDomainProgress

GetProgress returns the Progress field.

func (*AppDomain) GetRotateValidationRecords added in v1.85.0

func (a *AppDomain) GetRotateValidationRecords() bool

GetRotateValidationRecords returns the RotateValidationRecords field.

func (*AppDomain) GetSpec added in v1.85.0

func (a *AppDomain) GetSpec() *AppDomainSpec

GetSpec returns the Spec field.

func (*AppDomain) GetValidation added in v1.85.0

func (a *AppDomain) GetValidation() *AppDomainValidation

GetValidation returns the Validation field.

func (*AppDomain) GetValidations added in v1.85.0

func (a *AppDomain) GetValidations() []*AppDomainValidation

GetValidations returns the Validations field.

type AppDomainPhase added in v1.56.0

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 added in v1.56.0

type AppDomainProgress struct {
	Steps []*AppDomainProgressStep `json:"steps,omitempty"`
}

AppDomainProgress struct for AppDomainProgress

func (*AppDomainProgress) GetSteps added in v1.85.0

func (a *AppDomainProgress) GetSteps() []*AppDomainProgressStep

GetSteps returns the Steps field.

type AppDomainProgressStep added in v1.56.0

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

func (*AppDomainProgressStep) GetEndedAt added in v1.85.0

func (a *AppDomainProgressStep) GetEndedAt() time.Time

GetEndedAt returns the EndedAt field.

func (*AppDomainProgressStep) GetName added in v1.85.0

func (a *AppDomainProgressStep) GetName() string

GetName returns the Name field.

func (*AppDomainProgressStep) GetReason added in v1.85.0

GetReason returns the Reason field.

func (*AppDomainProgressStep) GetStartedAt added in v1.85.0

func (a *AppDomainProgressStep) GetStartedAt() time.Time

GetStartedAt returns the StartedAt field.

func (*AppDomainProgressStep) GetStatus added in v1.85.0

GetStatus returns the Status field.

func (*AppDomainProgressStep) GetSteps added in v1.85.0

GetSteps returns the Steps field.

type AppDomainProgressStepReason added in v1.56.0

type AppDomainProgressStepReason struct {
	Code    string `json:"code,omitempty"`
	Message string `json:"message,omitempty"`
}

AppDomainProgressStepReason struct for AppDomainProgressStepReason

func (*AppDomainProgressStepReason) GetCode added in v1.85.0

func (a *AppDomainProgressStepReason) GetCode() string

GetCode returns the Code field.

func (*AppDomainProgressStepReason) GetMessage added in v1.85.0

func (a *AppDomainProgressStepReason) GetMessage() string

GetMessage returns the Message field.

type AppDomainProgressStepStatus added in v1.56.0

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 added in v1.39.0

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"`
	Certificate string `json:"certificate,omitempty"`
	// Optional. The minimum version of TLS a client application can use to access resources for the domain.  Must be one of the following values wrapped within quotations: `\"1.2\"` or `\"1.3\"`.
	MinimumTLSVersion string `json:"minimum_tls_version,omitempty"`
}

AppDomainSpec struct for AppDomainSpec

func (*AppDomainSpec) GetCertificate added in v1.85.0

func (a *AppDomainSpec) GetCertificate() string

GetCertificate returns the Certificate field.

func (*AppDomainSpec) GetDomain added in v1.85.0

func (a *AppDomainSpec) GetDomain() string

GetDomain returns the Domain field.

func (*AppDomainSpec) GetMinimumTLSVersion added in v1.85.0

func (a *AppDomainSpec) GetMinimumTLSVersion() string

GetMinimumTLSVersion returns the MinimumTLSVersion field.

func (*AppDomainSpec) GetType added in v1.85.0

func (a *AppDomainSpec) GetType() AppDomainSpecType

GetType returns the Type field.

func (*AppDomainSpec) GetWildcard added in v1.85.0

func (a *AppDomainSpec) GetWildcard() bool

GetWildcard returns the Wildcard field.

func (*AppDomainSpec) GetZone added in v1.85.0

func (a *AppDomainSpec) GetZone() string

GetZone returns the Zone field.

type AppDomainSpecType added in v1.43.0

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 AppDomainValidation added in v1.75.0

type AppDomainValidation struct {
	TXTName  string `json:"txt_name,omitempty"`
	TXTValue string `json:"txt_value,omitempty"`
}

AppDomainValidation struct for AppDomainValidation

func (*AppDomainValidation) GetTXTName added in v1.85.0

func (a *AppDomainValidation) GetTXTName() string

GetTXTName returns the TXTName field.

func (*AppDomainValidation) GetTXTValue added in v1.85.0

func (a *AppDomainValidation) GetTXTValue() string

GetTXTValue returns the TXTValue field.

type AppEgressSpec added in v1.107.0

type AppEgressSpec struct {
	Type AppEgressSpecType `json:"type,omitempty"`
}

AppEgressSpec Specification for app egress configurations.

func (*AppEgressSpec) GetType added in v1.107.0

func (a *AppEgressSpec) GetType() AppEgressSpecType

GetType returns the Type field.

type AppEgressSpecType added in v1.107.0

type AppEgressSpecType string

AppEgressSpecType the model 'AppEgressSpecType'

const (
	APPEGRESSSPECTYPE_Autoassign  AppEgressSpecType = "AUTOASSIGN"
	APPEGRESSSPECTYPE_DedicatedIp AppEgressSpecType = "DEDICATED_IP"
)

List of AppEgressSpecType

type AppExec added in v1.130.0

type AppExec struct {
	URL string `json:"url"`
}

AppExec represents the websocket URL used for sending/receiving console input and output.

type AppFunctionsSpec added in v1.74.0

type AppFunctionsSpec 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"`
	// An optional path to the working directory to use for the build. Must be relative to the root of the repo.
	SourceDir string `json:"source_dir,omitempty"`
	// A list of environment variables made available to the component.
	Envs []*AppVariableDefinition `json:"envs,omitempty"`
	// (Deprecated) A list of HTTP routes that should be routed to this component.
	Routes []*AppRouteSpec `json:"routes,omitempty"`
	// A list of configured alerts the user has enabled.
	Alerts []*AppAlertSpec `json:"alerts,omitempty"`
	// A list of configured log forwarding destinations.
	LogDestinations []*AppLogDestinationSpec `json:"log_destinations,omitempty"`
	CORS            *AppCORSPolicy           `json:"cors,omitempty"`
}

AppFunctionsSpec struct for AppFunctionsSpec

func (*AppFunctionsSpec) GetAlerts added in v1.85.0

func (a *AppFunctionsSpec) GetAlerts() []*AppAlertSpec

GetAlerts returns the Alerts field.

func (*AppFunctionsSpec) GetCORS added in v1.85.0

func (a *AppFunctionsSpec) GetCORS() *AppCORSPolicy

GetCORS returns the CORS field.

func (*AppFunctionsSpec) GetEnvs added in v1.85.0

func (a *AppFunctionsSpec) GetEnvs() []*AppVariableDefinition

GetEnvs returns the Envs field.

func (*AppFunctionsSpec) GetGit added in v1.85.0

func (a *AppFunctionsSpec) GetGit() *GitSourceSpec

GetGit returns the Git field.

func (*AppFunctionsSpec) GetGitHub added in v1.85.0

func (a *AppFunctionsSpec) GetGitHub() *GitHubSourceSpec

GetGitHub returns the GitHub field.

func (*AppFunctionsSpec) GetGitLab added in v1.85.0

func (a *AppFunctionsSpec) GetGitLab() *GitLabSourceSpec

GetGitLab returns the GitLab field.

func (*AppFunctionsSpec) GetLogDestinations added in v1.85.0

func (a *AppFunctionsSpec) GetLogDestinations() []*AppLogDestinationSpec

GetLogDestinations returns the LogDestinations field.

func (*AppFunctionsSpec) GetName added in v1.85.0

func (a *AppFunctionsSpec) GetName() string

GetName returns the Name field.

func (*AppFunctionsSpec) GetRoutes added in v1.85.0

func (a *AppFunctionsSpec) GetRoutes() []*AppRouteSpec

GetRoutes returns the Routes field.

func (*AppFunctionsSpec) GetSourceDir added in v1.85.0

func (a *AppFunctionsSpec) GetSourceDir() string

GetSourceDir returns the SourceDir field.

func (*AppFunctionsSpec) GetType added in v1.85.0

func (s *AppFunctionsSpec) GetType() AppComponentType

GetType returns the Functions component type.

type AppIngressSpec added in v1.77.0

type AppIngressSpec struct {
	LoadBalancer     AppIngressSpecLoadBalancer `json:"load_balancer,omitempty"`
	LoadBalancerSize int64                      `json:"load_balancer_size,omitempty"`
	// Rules for configuring HTTP ingress for component routes, CORS, rewrites, and redirects.
	Rules []*AppIngressSpecRule `json:"rules,omitempty"`
}

AppIngressSpec Specification for app ingress configurations.

func (*AppIngressSpec) GetLoadBalancer added in v1.85.0

func (a *AppIngressSpec) GetLoadBalancer() AppIngressSpecLoadBalancer

GetLoadBalancer returns the LoadBalancer field.

func (*AppIngressSpec) GetLoadBalancerSize added in v1.85.0

func (a *AppIngressSpec) GetLoadBalancerSize() int64

GetLoadBalancerSize returns the LoadBalancerSize field.

func (*AppIngressSpec) GetRules added in v1.98.0

func (a *AppIngressSpec) GetRules() []*AppIngressSpecRule

GetRules returns the Rules field.

type AppIngressSpecLoadBalancer added in v1.77.0

type AppIngressSpecLoadBalancer string

AppIngressSpecLoadBalancer the model 'AppIngressSpecLoadBalancer'

const (
	AppIngressSpecLoadBalancer_Unknown      AppIngressSpecLoadBalancer = "UNKNOWN"
	AppIngressSpecLoadBalancer_DigitalOcean AppIngressSpecLoadBalancer = "DIGITALOCEAN"
)

List of AppIngressSpecLoadBalancer

type AppIngressSpecRule added in v1.98.0

type AppIngressSpecRule struct {
	Match     *AppIngressSpecRuleMatch            `json:"match,omitempty"`
	Component *AppIngressSpecRuleRoutingComponent `json:"component,omitempty"`
	Redirect  *AppIngressSpecRuleRoutingRedirect  `json:"redirect,omitempty"`
	CORS      *AppCORSPolicy                      `json:"cors,omitempty"`
}

AppIngressSpecRule A rule that configures component routes, rewrites, redirects and cors.

func (*AppIngressSpecRule) GetCORS added in v1.98.0

func (a *AppIngressSpecRule) GetCORS() *AppCORSPolicy

GetCORS returns the CORS field.

func (*AppIngressSpecRule) GetComponent added in v1.98.0

GetComponent returns the Component field.

func (*AppIngressSpecRule) GetMatch added in v1.98.0

GetMatch returns the Match field.

func (*AppIngressSpecRule) GetRedirect added in v1.98.0

GetRedirect returns the Redirect field.

type AppIngressSpecRuleMatch added in v1.98.0

type AppIngressSpecRuleMatch struct {
	Path *AppIngressSpecRuleStringMatch `json:"path,omitempty"`
}

AppIngressSpecRuleMatch The match configuration for a rule.

func (*AppIngressSpecRuleMatch) GetPath added in v1.98.0

GetPath returns the Path field.

type AppIngressSpecRuleRoutingComponent added in v1.98.0

type AppIngressSpecRuleRoutingComponent struct {
	// The name of the component to route to.
	Name string `json:"name,omitempty"`
	// An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components and is mutually exclusive with `rewrite`.
	PreservePathPrefix bool `json:"preserve_path_prefix,omitempty"`
	// An optional field that will rewrite the path of the component to be what is specified here. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If you specified the rewrite to be `/v1/`, requests to `/api/list` would be rewritten to `/v1/list`. Note: this is mutually exclusive with `preserve_path_prefix`.
	Rewrite string `json:"rewrite,omitempty"`
}

AppIngressSpecRuleRoutingComponent The component routing configuration.

func (*AppIngressSpecRuleRoutingComponent) GetName added in v1.98.0

GetName returns the Name field.

func (*AppIngressSpecRuleRoutingComponent) GetPreservePathPrefix added in v1.98.0

func (a *AppIngressSpecRuleRoutingComponent) GetPreservePathPrefix() bool

GetPreservePathPrefix returns the PreservePathPrefix field.

func (*AppIngressSpecRuleRoutingComponent) GetRewrite added in v1.98.0

GetRewrite returns the Rewrite field.

type AppIngressSpecRuleRoutingRedirect added in v1.98.0

type AppIngressSpecRuleRoutingRedirect struct {
	// An optional URI path to redirect to. Note: if this is specified the whole URI of the original request will be overwritten to this value, irrespective of the original request URI being matched.
	Uri string `json:"uri,omitempty"`
	// The authority/host to redirect to. This can be a hostname or IP address. Note: use `port` to set the port.
	Authority string `json:"authority,omitempty"`
	// The port to redirect to.
	Port int64 `json:"port,omitempty"`
	// The scheme to redirect to. Supported values are `http` or `https`. Default: `https`.
	Scheme string `json:"scheme,omitempty"`
	// The redirect code to use. Defaults to `302`. Supported values are 300, 301, 302, 303, 304, 307, 308.
	RedirectCode int64 `json:"redirect_code,omitempty"`
}

AppIngressSpecRuleRoutingRedirect The redirect routing configuration.

func (*AppIngressSpecRuleRoutingRedirect) GetAuthority added in v1.98.0

func (a *AppIngressSpecRuleRoutingRedirect) GetAuthority() string

GetAuthority returns the Authority field.

func (*AppIngressSpecRuleRoutingRedirect) GetPort added in v1.98.0

GetPort returns the Port field.

func (*AppIngressSpecRuleRoutingRedirect) GetRedirectCode added in v1.98.0

func (a *AppIngressSpecRuleRoutingRedirect) GetRedirectCode() int64

GetRedirectCode returns the RedirectCode field.

func (*AppIngressSpecRuleRoutingRedirect) GetScheme added in v1.98.0

GetScheme returns the Scheme field.

func (*AppIngressSpecRuleRoutingRedirect) GetUri added in v1.98.0

GetUri returns the Uri field.

type AppIngressSpecRuleStringMatch added in v1.98.0

type AppIngressSpecRuleStringMatch struct {
	// Prefix-based match. For example, `/api` will match `/api`, `/api/`, and any nested paths such as `/api/v1/endpoint`.
	Prefix string `json:"prefix,omitempty"`
}

AppIngressSpecRuleStringMatch The string match configuration.

func (*AppIngressSpecRuleStringMatch) GetPrefix added in v1.98.0

func (a *AppIngressSpecRuleStringMatch) GetPrefix() string

GetPrefix returns the Prefix field.

type AppInstanceSize added in v1.48.0

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"`
	// (Deprecated) The slug of the corresponding upgradable instance size on the higher tier.
	TierUpgradeTo string `json:"tier_upgrade_to,omitempty"`
	// (Deprecated) The slug of the corresponding downgradable instance size on the lower tier.
	TierDowngradeTo string `json:"tier_downgrade_to,omitempty"`
	// Indicates if the tier instance size can enable autoscaling.
	Scalable bool `json:"scalable,omitempty"`
	// (Deprecated) Indicates if the tier instance size is in feature preview state.
	FeaturePreview bool `json:"feature_preview,omitempty"`
	// Indicates if the tier instance size allows more than one instance.
	SingleInstanceOnly bool `json:"single_instance_only,omitempty"`
	// Indicates if the tier instance size is intended for deprecation.
	DeprecationIntent bool `json:"deprecation_intent,omitempty"`
	// The bandwidth allowance in GiB for the tier instance size.
	BandwidthAllowanceGib string `json:"bandwidth_allowance_gib,omitempty"`
}

AppInstanceSize struct for AppInstanceSize

func (*AppInstanceSize) GetBandwidthAllowanceGib added in v1.110.0

func (a *AppInstanceSize) GetBandwidthAllowanceGib() string

GetBandwidthAllowanceGib returns the BandwidthAllowanceGib field.

func (*AppInstanceSize) GetCPUType added in v1.85.0

func (a *AppInstanceSize) GetCPUType() AppInstanceSizeCPUType

GetCPUType returns the CPUType field.

func (*AppInstanceSize) GetCPUs added in v1.85.0

func (a *AppInstanceSize) GetCPUs() string

GetCPUs returns the CPUs field.

func (*AppInstanceSize) GetDeprecationIntent added in v1.110.0

func (a *AppInstanceSize) GetDeprecationIntent() bool

GetDeprecationIntent returns the DeprecationIntent field.

func (*AppInstanceSize) GetFeaturePreview added in v1.109.0

func (a *AppInstanceSize) GetFeaturePreview() bool

GetFeaturePreview returns the FeaturePreview field.

func (*AppInstanceSize) GetMemoryBytes added in v1.85.0

func (a *AppInstanceSize) GetMemoryBytes() string

GetMemoryBytes returns the MemoryBytes field.

func (*AppInstanceSize) GetName added in v1.85.0

func (a *AppInstanceSize) GetName() string

GetName returns the Name field.

func (*AppInstanceSize) GetScalable added in v1.109.0

func (a *AppInstanceSize) GetScalable() bool

GetScalable returns the Scalable field.

func (*AppInstanceSize) GetSingleInstanceOnly added in v1.109.0

func (a *AppInstanceSize) GetSingleInstanceOnly() bool

GetSingleInstanceOnly returns the SingleInstanceOnly field.

func (*AppInstanceSize) GetSlug added in v1.85.0

func (a *AppInstanceSize) GetSlug() string

GetSlug returns the Slug field.

func (*AppInstanceSize) GetTierDowngradeTo added in v1.85.0

func (a *AppInstanceSize) GetTierDowngradeTo() string

GetTierDowngradeTo returns the TierDowngradeTo field.

func (*AppInstanceSize) GetTierSlug added in v1.85.0

func (a *AppInstanceSize) GetTierSlug() string

GetTierSlug returns the TierSlug field.

func (*AppInstanceSize) GetTierUpgradeTo added in v1.85.0

func (a *AppInstanceSize) GetTierUpgradeTo() string

GetTierUpgradeTo returns the TierUpgradeTo field.

func (*AppInstanceSize) GetUSDPerMonth added in v1.85.0

func (a *AppInstanceSize) GetUSDPerMonth() string

GetUSDPerMonth returns the USDPerMonth field.

func (*AppInstanceSize) GetUSDPerSecond added in v1.85.0

func (a *AppInstanceSize) GetUSDPerSecond() string

GetUSDPerSecond returns the USDPerSecond field.

type AppInstanceSizeCPUType added in v1.48.0

type AppInstanceSizeCPUType string

AppInstanceSizeCPUType the model 'AppInstanceSizeCPUType'

const (
	AppInstanceSizeCPUType_Unspecified AppInstanceSizeCPUType = "UNSPECIFIED"
	AppInstanceSizeCPUType_Shared      AppInstanceSizeCPUType = "SHARED"
	AppInstanceSizeCPUType_Dedicated   AppInstanceSizeCPUType = "DEDICATED"
)

List of AppInstanceSizeCPUType

type AppJobSpec added in v1.43.0

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"`
	// A list of configured alerts which apply to the component.
	Alerts []*AppAlertSpec `json:"alerts,omitempty"`
	// A list of configured log forwarding destinations.
	LogDestinations []*AppLogDestinationSpec `json:"log_destinations,omitempty"`
	Termination     *AppJobSpecTermination   `json:"termination,omitempty"`
}

AppJobSpec struct for AppJobSpec

func (*AppJobSpec) GetAlerts added in v1.85.0

func (a *AppJobSpec) GetAlerts() []*AppAlertSpec

GetAlerts returns the Alerts field.

func (*AppJobSpec) GetBuildCommand added in v1.85.0

func (a *AppJobSpec) GetBuildCommand() string

GetBuildCommand returns the BuildCommand field.

func (*AppJobSpec) GetDockerfilePath added in v1.85.0

func (a *AppJobSpec) GetDockerfilePath() string

GetDockerfilePath returns the DockerfilePath field.

func (*AppJobSpec) GetEnvironmentSlug added in v1.98.0

func (a *AppJobSpec) GetEnvironmentSlug() string

GetEnvironmentSlug returns the EnvironmentSlug field.

func (*AppJobSpec) GetEnvs added in v1.85.0

func (a *AppJobSpec) GetEnvs() []*AppVariableDefinition

GetEnvs returns the Envs field.

func (*AppJobSpec) GetGit added in v1.85.0

func (a *AppJobSpec) GetGit() *GitSourceSpec

GetGit returns the Git field.

func (*AppJobSpec) GetGitHub added in v1.85.0

func (a *AppJobSpec) GetGitHub() *GitHubSourceSpec

GetGitHub returns the GitHub field.

func (*AppJobSpec) GetGitLab added in v1.85.0

func (a *AppJobSpec) GetGitLab() *GitLabSourceSpec

GetGitLab returns the GitLab field.

func (*AppJobSpec) GetImage added in v1.85.0

func (a *AppJobSpec) GetImage() *ImageSourceSpec

GetImage returns the Image field.

func (*AppJobSpec) GetInstanceCount added in v1.85.0

func (a *AppJobSpec) GetInstanceCount() int64

GetInstanceCount returns the InstanceCount field.

func (*AppJobSpec) GetInstanceSizeSlug added in v1.85.0

func (a *AppJobSpec) GetInstanceSizeSlug() string

GetInstanceSizeSlug returns the InstanceSizeSlug field.

func (*AppJobSpec) GetKind added in v1.85.0

func (a *AppJobSpec) GetKind() AppJobSpecKind

GetKind returns the Kind field.

func (*AppJobSpec) GetLogDestinations added in v1.85.0

func (a *AppJobSpec) GetLogDestinations() []*AppLogDestinationSpec

GetLogDestinations returns the LogDestinations field.

func (*AppJobSpec) GetName added in v1.85.0

func (a *AppJobSpec) GetName() string

GetName returns the Name field.

func (*AppJobSpec) GetRunCommand added in v1.85.0

func (a *AppJobSpec) GetRunCommand() string

GetRunCommand returns the RunCommand field.

func (*AppJobSpec) GetSourceDir added in v1.85.0

func (a *AppJobSpec) GetSourceDir() string

GetSourceDir returns the SourceDir field.

func (*AppJobSpec) GetTermination added in v1.114.0

func (a *AppJobSpec) GetTermination() *AppJobSpecTermination

GetTermination returns the Termination field.

func (*AppJobSpec) GetType added in v1.85.0

func (s *AppJobSpec) GetType() AppComponentType

GetType returns the Job component type.

type AppJobSpecKind added in v1.48.0

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 AppJobSpecTermination added in v1.114.0

type AppJobSpecTermination struct {
	// The number of seconds to wait between sending a TERM signal to a container and issuing a KILL which causes immediate shutdown. Default: 120, Minimum 1, Maximum 600.
	GracePeriodSeconds int32 `json:"grace_period_seconds,omitempty"`
}

AppJobSpecTermination struct for AppJobSpecTermination

func (*AppJobSpecTermination) GetGracePeriodSeconds added in v1.114.0

func (a *AppJobSpecTermination) GetGracePeriodSeconds() int32

GetGracePeriodSeconds returns the GracePeriodSeconds field.

type AppLogDestinationSpec added in v1.71.0

type AppLogDestinationSpec struct {
	// Name of the log destination.
	Name        string                           `json:"name"`
	Papertrail  *AppLogDestinationSpecPapertrail `json:"papertrail,omitempty"`
	Datadog     *AppLogDestinationSpecDataDog    `json:"datadog,omitempty"`
	Logtail     *AppLogDestinationSpecLogtail    `json:"logtail,omitempty"`
	OpenSearch  *AppLogDestinationSpecOpenSearch `json:"open_search,omitempty"`
	Endpoint    string                           `json:"endpoint,omitempty"`
	TLSInsecure bool                             `json:"tls_insecure,omitempty"`
	Headers     []*AppLogDestinationSpecHeader   `json:"headers,omitempty"`
}

AppLogDestinationSpec struct for AppLogDestinationSpec

func (*AppLogDestinationSpec) GetDatadog added in v1.85.0

GetDatadog returns the Datadog field.

func (*AppLogDestinationSpec) GetEndpoint added in v1.85.0

func (a *AppLogDestinationSpec) GetEndpoint() string

GetEndpoint returns the Endpoint field.

func (*AppLogDestinationSpec) GetHeaders added in v1.85.0

GetHeaders returns the Headers field.

func (*AppLogDestinationSpec) GetLogtail added in v1.85.0

GetLogtail returns the Logtail field.

func (*AppLogDestinationSpec) GetName added in v1.85.0

func (a *AppLogDestinationSpec) GetName() string

GetName returns the Name field.

func (*AppLogDestinationSpec) GetOpenSearch added in v1.117.0

GetOpenSearch returns the OpenSearch field.

func (*AppLogDestinationSpec) GetPapertrail added in v1.85.0

GetPapertrail returns the Papertrail field.

func (*AppLogDestinationSpec) GetTLSInsecure added in v1.85.0

func (a *AppLogDestinationSpec) GetTLSInsecure() bool

GetTLSInsecure returns the TLSInsecure field.

type AppLogDestinationSpecDataDog added in v1.71.0

type AppLogDestinationSpecDataDog struct {
	// Datadog HTTP log intake endpoint.
	Endpoint string `json:"endpoint,omitempty"`
	// Datadog API key.
	ApiKey string `json:"api_key"`
}

AppLogDestinationSpecDataDog DataDog configuration.

func (*AppLogDestinationSpecDataDog) GetApiKey added in v1.85.0

func (a *AppLogDestinationSpecDataDog) GetApiKey() string

GetApiKey returns the ApiKey field.

func (*AppLogDestinationSpecDataDog) GetEndpoint added in v1.85.0

func (a *AppLogDestinationSpecDataDog) GetEndpoint() string

GetEndpoint returns the Endpoint field.

type AppLogDestinationSpecHeader added in v1.75.0

type AppLogDestinationSpecHeader struct {
	// The name
	Key string `json:"key"`
	// The header value.
	Value string `json:"value,omitempty"`
}

AppLogDestinationSpecHeader struct for AppLogDestinationSpecHeader

func (*AppLogDestinationSpecHeader) GetKey added in v1.85.0

func (a *AppLogDestinationSpecHeader) GetKey() string

GetKey returns the Key field.

func (*AppLogDestinationSpecHeader) GetValue added in v1.85.0

func (a *AppLogDestinationSpecHeader) GetValue() string

GetValue returns the Value field.

type AppLogDestinationSpecLogtail added in v1.71.0

type AppLogDestinationSpecLogtail struct {
	// Logtail token.
	Token string `json:"token"`
}

AppLogDestinationSpecLogtail Logtail configuration.

func (*AppLogDestinationSpecLogtail) GetToken added in v1.85.0

func (a *AppLogDestinationSpecLogtail) GetToken() string

GetToken returns the Token field.

type AppLogDestinationSpecOpenSearch added in v1.117.0

type AppLogDestinationSpecOpenSearch struct {
	// OpenSearch API Endpoint. Only HTTPS is supported. Format: https://<host>:<port>. Cannot be specified if `cluster_name` is also specified.
	Endpoint  string               `json:"endpoint,omitempty"`
	BasicAuth *OpenSearchBasicAuth `json:"basic_auth,omitempty"`
	// The index name to use for the logs. If not set, the default index name is \"logs\".
	IndexName string `json:"index_name,omitempty"`
	// The name of a DigitalOcean DBaaS OpenSearch cluster to use as a log forwarding destination. Cannot be specified if `endpoint` is also specified.
	ClusterName string `json:"cluster_name,omitempty"`
}

AppLogDestinationSpecOpenSearch OpenSearch configuration.

func (*AppLogDestinationSpecOpenSearch) GetBasicAuth added in v1.117.0

GetBasicAuth returns the BasicAuth field.

func (*AppLogDestinationSpecOpenSearch) GetClusterName added in v1.119.0

func (a *AppLogDestinationSpecOpenSearch) GetClusterName() string

GetClusterName returns the ClusterName field.

func (*AppLogDestinationSpecOpenSearch) GetEndpoint added in v1.117.0

func (a *AppLogDestinationSpecOpenSearch) GetEndpoint() string

GetEndpoint returns the Endpoint field.

func (*AppLogDestinationSpecOpenSearch) GetIndexName added in v1.117.0

func (a *AppLogDestinationSpecOpenSearch) GetIndexName() string

GetIndexName returns the IndexName field.

type AppLogDestinationSpecPapertrail added in v1.71.0

type AppLogDestinationSpecPapertrail struct {
	// Papertrail syslog endpoint.
	Endpoint string `json:"endpoint"`
}

AppLogDestinationSpecPapertrail Papertrail configuration.

func (*AppLogDestinationSpecPapertrail) GetEndpoint added in v1.85.0

func (a *AppLogDestinationSpecPapertrail) GetEndpoint() string

GetEndpoint returns the Endpoint field.

type AppLogType added in v1.39.0

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"
	// AppLogTypeRunRestarted represents logs of crashed/restarted instances during runtime.
	AppLogTypeRunRestarted AppLogType = "RUN_RESTARTED"
)

type AppLogs added in v1.39.0

type AppLogs struct {
	LiveURL      string   `json:"live_url"`
	HistoricURLs []string `json:"historic_urls"`
}

AppLogs represent app logs.

type AppMaintenanceSpec added in v1.128.0

type AppMaintenanceSpec struct {
	// Indicates whether maintenance mode should be enabled for the app.
	Enabled bool `json:"enabled,omitempty"`
	// Indicates whether the app should be archived. Setting this to true implies that enabled is set to true. Note that this feature is currently in closed beta.
	Archive bool `json:"archive,omitempty"`
}

AppMaintenanceSpec struct for AppMaintenanceSpec

func (*AppMaintenanceSpec) GetArchive added in v1.128.0

func (a *AppMaintenanceSpec) GetArchive() bool

GetArchive returns the Archive field.

func (*AppMaintenanceSpec) GetEnabled added in v1.128.0

func (a *AppMaintenanceSpec) GetEnabled() bool

GetEnabled returns the Enabled field.

type AppProposeRequest added in v1.56.0

type AppProposeRequest struct {
	Spec *AppSpec `json:"spec"`
	// An optional ID of an existing app. If set, the spec will be treated as a proposed update to the specified app. The existing app is not modified using this method.
	AppID string `json:"app_id,omitempty"`
}

AppProposeRequest struct for AppProposeRequest

func (*AppProposeRequest) GetAppID added in v1.85.0

func (a *AppProposeRequest) GetAppID() string

GetAppID returns the AppID field.

func (*AppProposeRequest) GetSpec added in v1.85.0

func (a *AppProposeRequest) GetSpec() *AppSpec

GetSpec returns the Spec field.

type AppProposeResponse added in v1.56.0

type AppProposeResponse struct {
	// Deprecated. Please use app_is_starter instead.
	AppIsStatic bool `json:"app_is_static,omitempty"`
	// Indicates whether the app name is available.
	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"`
	// Deprecated. Please use existing_starter_apps instead.
	ExistingStaticApps string `json:"existing_static_apps,omitempty"`
	// Deprecated. Please use max_free_starter_apps instead.
	MaxFreeStaticApps string   `json:"max_free_static_apps,omitempty"`
	Spec              *AppSpec `json:"spec,omitempty"`
	// The monthly cost of the proposed app in USD.
	AppCost float32 `json:"app_cost,omitempty"`
	// (Deprecated) The monthly cost of the proposed app in USD using the next pricing plan tier. For example, if you propose an app that uses the Basic tier, the `app_tier_upgrade_cost` field displays the monthly cost of the app if it were to use the Professional tier. If the proposed app already uses the most expensive tier, the field is empty.
	AppTierUpgradeCost float32 `json:"app_tier_upgrade_cost,omitempty"`
	// (Deprecated) The monthly cost of the proposed app in USD using the previous pricing plan tier. For example, if you propose an app that uses the Professional tier, the `app_tier_downgrade_cost` field displays the monthly cost of the app if it were to use the Basic tier. If the proposed app already uses the lest expensive tier, the field is empty.
	AppTierDowngradeCost float32 `json:"app_tier_downgrade_cost,omitempty"`
	// The number of existing starter tier apps the account has.
	ExistingStarterApps string `json:"existing_starter_apps,omitempty"`
	// The maximum number of free starter apps the account can have. Any additional starter apps will be charged for. These include apps with only static sites, functions, and databases.
	MaxFreeStarterApps string `json:"max_free_starter_apps,omitempty"`
	// Indicates whether the app is a starter tier app.
	AppIsStarter bool `json:"app_is_starter,omitempty"`
}

AppProposeResponse struct for AppProposeResponse

func (*AppProposeResponse) GetAppCost added in v1.85.0

func (a *AppProposeResponse) GetAppCost() float32

GetAppCost returns the AppCost field.

func (*AppProposeResponse) GetAppIsStarter added in v1.85.0

func (a *AppProposeResponse) GetAppIsStarter() bool

GetAppIsStarter returns the AppIsStarter field.

func (*AppProposeResponse) GetAppIsStatic added in v1.85.0

func (a *AppProposeResponse) GetAppIsStatic() bool

GetAppIsStatic returns the AppIsStatic field.

func (*AppProposeResponse) GetAppNameAvailable added in v1.85.0

func (a *AppProposeResponse) GetAppNameAvailable() bool

GetAppNameAvailable returns the AppNameAvailable field.

func (*AppProposeResponse) GetAppNameSuggestion added in v1.85.0

func (a *AppProposeResponse) GetAppNameSuggestion() string

GetAppNameSuggestion returns the AppNameSuggestion field.

func (*AppProposeResponse) GetAppTierDowngradeCost added in v1.85.0

func (a *AppProposeResponse) GetAppTierDowngradeCost() float32

GetAppTierDowngradeCost returns the AppTierDowngradeCost field.

func (*AppProposeResponse) GetAppTierUpgradeCost added in v1.85.0

func (a *AppProposeResponse) GetAppTierUpgradeCost() float32

GetAppTierUpgradeCost returns the AppTierUpgradeCost field.

func (*AppProposeResponse) GetExistingStarterApps added in v1.85.0

func (a *AppProposeResponse) GetExistingStarterApps() string

GetExistingStarterApps returns the ExistingStarterApps field.

func (*AppProposeResponse) GetExistingStaticApps added in v1.85.0

func (a *AppProposeResponse) GetExistingStaticApps() string

GetExistingStaticApps returns the ExistingStaticApps field.

func (*AppProposeResponse) GetMaxFreeStarterApps added in v1.85.0

func (a *AppProposeResponse) GetMaxFreeStarterApps() string

GetMaxFreeStarterApps returns the MaxFreeStarterApps field.

func (*AppProposeResponse) GetMaxFreeStaticApps added in v1.85.0

func (a *AppProposeResponse) GetMaxFreeStaticApps() string

GetMaxFreeStaticApps returns the MaxFreeStaticApps field.

func (*AppProposeResponse) GetSpec added in v1.85.0

func (a *AppProposeResponse) GetSpec() *AppSpec

GetSpec returns the Spec field.

type AppRegion added in v1.45.0

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

func (*AppRegion) GetContinent added in v1.85.0

func (a *AppRegion) GetContinent() string

GetContinent returns the Continent field.

func (*AppRegion) GetDataCenters added in v1.85.0

func (a *AppRegion) GetDataCenters() []string

GetDataCenters returns the DataCenters field.

func (*AppRegion) GetDefault added in v1.85.0

func (a *AppRegion) GetDefault() bool

GetDefault returns the Default field.

func (*AppRegion) GetDisabled added in v1.85.0

func (a *AppRegion) GetDisabled() bool

GetDisabled returns the Disabled field.

func (*AppRegion) GetFlag added in v1.85.0

func (a *AppRegion) GetFlag() string

GetFlag returns the Flag field.

func (*AppRegion) GetLabel added in v1.85.0

func (a *AppRegion) GetLabel() string

GetLabel returns the Label field.

func (*AppRegion) GetReason added in v1.85.0

func (a *AppRegion) GetReason() string

GetReason returns the Reason field.

func (*AppRegion) GetSlug added in v1.85.0

func (a *AppRegion) GetSlug() string

GetSlug returns the Slug field.

type AppRestartRequest added in v1.131.0

type AppRestartRequest struct {
	Components []string `json:"components"`
}

AppRestartRequest represents a request to restart an app.

type AppRoutableComponentSpec added in v1.85.0

type AppRoutableComponentSpec interface {
	AppComponentSpec

	GetRoutes() []*AppRouteSpec
	GetCORS() *AppCORSPolicy
}

AppRoutableComponentSpec is a component that defines routes.

type AppRouteSpec added in v1.39.0

type AppRouteSpec struct {
	// (Deprecated) An HTTP path prefix. Paths must start with / and must be unique across all components within an app.
	Path string `json:"path,omitempty"`
	// (Deprecated) An optional flag to preserve the path that is forwarded to the backend service. By default, the HTTP request path will be trimmed from the left when forwarded to the component. For example, a component with `path=/api` will have requests to `/api/list` trimmed to `/list`. If this value is `true`, the path will remain `/api/list`. Note: this is not applicable for Functions Components.
	PreservePathPrefix bool `json:"preserve_path_prefix,omitempty"`
}

AppRouteSpec struct for AppRouteSpec

func (*AppRouteSpec) GetPath added in v1.85.0

func (a *AppRouteSpec) GetPath() string

GetPath returns the Path field.

func (*AppRouteSpec) GetPreservePathPrefix added in v1.85.0

func (a *AppRouteSpec) GetPreservePathPrefix() bool

GetPreservePathPrefix returns the PreservePathPrefix field.