digitalocean

package
v0.14.0 Latest Latest
Warning

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

Go to latest
Published: Mar 29, 2026 License: Apache-2.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FormatSize added in v0.14.0

func FormatSize(bytes int64) string

FormatSize converts a byte count to a human-readable string (KiB, MiB, GiB).

Types

type Account

type Account struct {
	Email        string `json:"email"`
	UUID         string `json:"uuid"`
	Status       string `json:"status"`
	DropletLimit int    `json:"droplet_limit"`
}

Account represents a DigitalOcean account

type AlertPolicy added in v0.13.0

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

AlertPolicy represents a DigitalOcean monitoring alert policy

type AlertPolicyAlerts added in v0.13.0

type AlertPolicyAlerts struct {
	Slack []AlertPolicySlackDetails `json:"slack,omitempty"`
	Email []string                  `json:"email,omitempty"`
}

AlertPolicyAlerts represents the notification channels configured on an alert policy

type AlertPolicyNodeMetadata added in v0.13.0

type AlertPolicyNodeMetadata struct {
	PolicyID       string                             `json:"policyUuid" mapstructure:"policyUuid"`
	PolicyDesc     string                             `json:"policyDesc" mapstructure:"policyDesc"`
	ScopedDroplets []AlertPolicyScopedDropletMetadata `json:"scopedDroplets,omitempty" mapstructure:"scopedDroplets"`
}

AlertPolicyNodeMetadata stores metadata about an alert policy for display in the UI

type AlertPolicyScopedDropletMetadata added in v0.13.0

type AlertPolicyScopedDropletMetadata struct {
	DropletID   string `json:"dropletId" mapstructure:"dropletId"`
	DropletName string `json:"dropletName" mapstructure:"dropletName"`
}

AlertPolicyScopedDropletMetadata stores the selected scope droplets for alert policy components.

type AlertPolicySlackDetails added in v0.13.0

type AlertPolicySlackDetails struct {
	URL     string `json:"url"`
	Channel string `json:"channel"`
}

AlertPolicySlackDetails represents a Slack notification channel for an alert policy

type App added in v0.14.0

type App struct {
	ID                      string            `json:"id"`
	Spec                    *AppSpec          `json:"spec"`
	DefaultIngress          string            `json:"default_ingress,omitempty"`
	LiveURL                 string            `json:"live_url,omitempty"`
	LiveURLBase             string            `json:"live_url_base,omitempty"`
	LiveDomain              string            `json:"live_domain,omitempty"`
	ActiveDeployment        *Deployment       `json:"active_deployment,omitempty"`
	InProgressDeployment    *Deployment       `json:"in_progress_deployment,omitempty"`
	LastDeploymentCreatedAt string            `json:"last_deployment_created_at,omitempty"`
	CreatedAt               string            `json:"created_at"`
	UpdatedAt               string            `json:"updated_at"`
	Region                  *AppRegion        `json:"region,omitempty"`
	PendingDeployment       PendingDeployment `json:"pending_deployment,omitempty"`
}

App represents a DigitalOcean App Platform application

type AppCORS added in v0.14.0

type AppCORS struct {
	AllowOrigins     []*AppCORSAllowOrigin `json:"allow_origins,omitempty"`
	AllowMethods     []string              `json:"allow_methods,omitempty"`
	AllowHeaders     []string              `json:"allow_headers,omitempty"`
	ExposeHeaders    []string              `json:"expose_headers,omitempty"`
	MaxAge           string                `json:"max_age,omitempty"`
	AllowCredentials bool                  `json:"allow_credentials,omitempty"`
}

AppCORS defines Cross-Origin Resource Sharing configuration

type AppCORSAllowOrigin added in v0.14.0

type AppCORSAllowOrigin struct {
	Exact  string `json:"exact,omitempty"`
	Prefix string `json:"prefix,omitempty"`
	Regex  string `json:"regex,omitempty"`
}

AppCORSAllowOrigin defines an allowed origin for CORS

type AppDatabase added in v0.14.0

type AppDatabase struct {
	Name        string `json:"name"`
	Engine      string `json:"engine,omitempty"`
	Version     string `json:"version,omitempty"`
	Production  bool   `json:"production,omitempty"`
	ClusterName string `json:"cluster_name,omitempty"`
	DBName      string `json:"db_name,omitempty"`
	DBUser      string `json:"db_user,omitempty"`
}

AppDatabase represents a database component in an app

type AppDomain added in v0.14.0

type AppDomain struct {
	Domain   string `json:"domain"`
	Type     string `json:"type,omitempty"`
	Wildcard bool   `json:"wildcard,omitempty"`
	Zone     string `json:"zone,omitempty"`
}

AppDomain represents a custom domain for an app

type AppEnvVar added in v0.14.0

type AppEnvVar struct {
	Key   string `json:"key"`
	Value string `json:"value,omitempty"`
	Scope string `json:"scope,omitempty"`
	Type  string `json:"type,omitempty"`
}

AppEnvVar represents an environment variable

type AppIngress added in v0.14.0

type AppIngress struct {
	Rules []*AppIngressRule `json:"rules,omitempty"`
}

AppIngress defines ingress rules for an app

type AppIngressRule added in v0.14.0

type AppIngressRule struct {
	Match     *AppIngressRuleMatch     `json:"match,omitempty"`
	Component *AppIngressRuleComponent `json:"component,omitempty"`
	CORS      *AppCORS                 `json:"cors,omitempty"`
}

AppIngressRule defines a single ingress rule

type AppIngressRuleComponent added in v0.14.0

type AppIngressRuleComponent struct {
	Name               string `json:"name"`
	PreservePathPrefix bool   `json:"preserve_path_prefix,omitempty"`
}

AppIngressRuleComponent references a component in an ingress rule

type AppIngressRuleMatch added in v0.14.0

type AppIngressRuleMatch struct {
	Path *AppIngressRuleMatchPath `json:"path,omitempty"`
}

AppIngressRuleMatch defines the match criteria for an ingress rule

type AppIngressRuleMatchPath added in v0.14.0

type AppIngressRuleMatchPath struct {
	Prefix string `json:"prefix,omitempty"`
}

AppIngressRuleMatchPath defines path matching for an ingress rule

type AppJob added in v0.14.0

type AppJob struct {
	Name             string           `json:"name"`
	GitHub           *GitHubSource    `json:"github,omitempty"`
	GitLab           *GitLabSource    `json:"gitlab,omitempty"`
	Bitbucket        *BitbucketSource `json:"bitbucket,omitempty"`
	Git              *GitSource       `json:"git,omitempty"`
	Image            *ImageSource     `json:"image,omitempty"`
	EnvironmentSlug  string           `json:"environment_slug,omitempty"`
	EnvVariables     []*AppEnvVar     `json:"envs,omitempty"`
	InstanceCount    int64            `json:"instance_count,omitempty"`
	InstanceSizeSlug string           `json:"instance_size_slug,omitempty"`
	Kind             string           `json:"kind,omitempty"`
	RunCommand       string           `json:"run_command,omitempty"`
	BuildCommand     string           `json:"build_command,omitempty"`
	SourceDir        string           `json:"source_dir,omitempty"`
}

AppJob represents a job component in an app

type AppNodeMetadata added in v0.14.0

type AppNodeMetadata struct {
	AppID   string `json:"appId" mapstructure:"appId"`
	AppName string `json:"appName" mapstructure:"appName"`
}

AppNodeMetadata stores metadata about an app for display in the UI

type AppRegion added in v0.14.0

type AppRegion struct {
	Slug        string   `json:"slug"`
	Label       string   `json:"label"`
	Flag        string   `json:"flag"`
	Continent   string   `json:"continent"`
	DataCenters []string `json:"data_centers,omitempty"`
}

AppRegion represents the region where an app is deployed

type AppRoute added in v0.14.0

type AppRoute struct {
	Path               string `json:"path,omitempty"`
	PreservePathPrefix bool   `json:"preserve_path_prefix,omitempty"`
}

AppRoute represents a route configuration for a service

type AppService added in v0.14.0

type AppService struct {
	Name             string           `json:"name"`
	GitHub           *GitHubSource    `json:"github,omitempty"`
	GitLab           *GitLabSource    `json:"gitlab,omitempty"`
	Bitbucket        *BitbucketSource `json:"bitbucket,omitempty"`
	Git              *GitSource       `json:"git,omitempty"`
	Image            *ImageSource     `json:"image,omitempty"`
	EnvironmentSlug  string           `json:"environment_slug,omitempty"`
	EnvVariables     []*AppEnvVar     `json:"envs,omitempty"`
	InstanceCount    int64            `json:"instance_count,omitempty"`
	InstanceSizeSlug string           `json:"instance_size_slug,omitempty"`
	Routes           []*AppRoute      `json:"routes,omitempty"`
	HealthCheck      *HealthCheck     `json:"health_check,omitempty"`
	HTTPPort         int64            `json:"http_port,omitempty"`
	RunCommand       string           `json:"run_command,omitempty"`
	BuildCommand     string           `json:"build_command,omitempty"`
	SourceDir        string           `json:"source_dir,omitempty"`
}

AppService represents a service component in an app

type AppSpec added in v0.14.0

type AppSpec struct {
	Name        string           `json:"name"`
	Region      string           `json:"region,omitempty"`
	Services    []*AppService    `json:"services,omitempty"`
	Workers     []*AppWorker     `json:"workers,omitempty"`
	Jobs        []*AppJob        `json:"jobs,omitempty"`
	StaticSites []*AppStaticSite `json:"static_sites,omitempty"`
	Databases   []*AppDatabase   `json:"databases,omitempty"`
	Domains     []*AppDomain     `json:"domains,omitempty"`
	Ingress     *AppIngress      `json:"ingress,omitempty"`
	VPC         *AppVPC          `json:"vpc,omitempty"`
}

AppSpec defines the specification for an App Platform application

type AppStaticSite added in v0.14.0

type AppStaticSite struct {
	Name             string           `json:"name"`
	GitHub           *GitHubSource    `json:"github,omitempty"`
	GitLab           *GitLabSource    `json:"gitlab,omitempty"`
	Bitbucket        *BitbucketSource `json:"bitbucket,omitempty"`
	Git              *GitSource       `json:"git,omitempty"`
	EnvironmentSlug  string           `json:"environment_slug,omitempty"`
	EnvVariables     []*AppEnvVar     `json:"envs,omitempty"`
	BuildCommand     string           `json:"build_command,omitempty"`
	OutputDir        string           `json:"output_dir,omitempty"`
	SourceDir        string           `json:"source_dir,omitempty"`
	IndexDocument    string           `json:"index_document,omitempty"`
	ErrorDocument    string           `json:"error_document,omitempty"`
	CatchallDocument string           `json:"catchall_document,omitempty"`
	Routes           []*AppRoute      `json:"routes,omitempty"`
}

AppStaticSite represents a static site component in an app

type AppVPC added in v0.14.0

type AppVPC struct {
	ID string `json:"id"`
}

AppVPC represents a VPC configuration for an app

type AppWorker added in v0.14.0

type AppWorker struct {
	Name             string           `json:"name"`
	GitHub           *GitHubSource    `json:"github,omitempty"`
	GitLab           *GitLabSource    `json:"gitlab,omitempty"`
	Bitbucket        *BitbucketSource `json:"bitbucket,omitempty"`
	Git              *GitSource       `json:"git,omitempty"`
	Image            *ImageSource     `json:"image,omitempty"`
	EnvironmentSlug  string           `json:"environment_slug,omitempty"`
	EnvVariables     []*AppEnvVar     `json:"envs,omitempty"`
	InstanceCount    int64            `json:"instance_count,omitempty"`
	InstanceSizeSlug string           `json:"instance_size_slug,omitempty"`
	RunCommand       string           `json:"run_command,omitempty"`
	BuildCommand     string           `json:"build_command,omitempty"`
	SourceDir        string           `json:"source_dir,omitempty"`
}

AppWorker represents a worker component in an app

type AssignReservedIP added in v0.13.0

type AssignReservedIP struct{}

func (*AssignReservedIP) Actions added in v0.13.0

func (a *AssignReservedIP) Actions() []core.Action

func (*AssignReservedIP) Cancel added in v0.13.0

func (*AssignReservedIP) Cleanup added in v0.13.0

func (a *AssignReservedIP) Cleanup(ctx core.SetupContext) error

func (*AssignReservedIP) Color added in v0.13.0

func (a *AssignReservedIP) Color() string

func (*AssignReservedIP) Configuration added in v0.13.0

func (a *AssignReservedIP) Configuration() []configuration.Field

func (*AssignReservedIP) Description added in v0.13.0

func (a *AssignReservedIP) Description() string

func (*AssignReservedIP) Documentation added in v0.13.0

func (a *AssignReservedIP) Documentation() string

func (*AssignReservedIP) ExampleOutput added in v0.13.0

func (a *AssignReservedIP) ExampleOutput() map[string]any

func (*AssignReservedIP) Execute added in v0.13.0

func (a *AssignReservedIP) Execute(ctx core.ExecutionContext) error

func (*AssignReservedIP) HandleAction added in v0.13.0

func (a *AssignReservedIP) HandleAction(ctx core.ActionContext) error

func (*AssignReservedIP) HandleWebhook added in v0.13.0

func (*AssignReservedIP) Icon added in v0.13.0

func (a *AssignReservedIP) Icon() string

func (*AssignReservedIP) Label added in v0.13.0

func (a *AssignReservedIP) Label() string

func (*AssignReservedIP) Name added in v0.13.0

func (a *AssignReservedIP) Name() string

func (*AssignReservedIP) OutputChannels added in v0.13.0

func (a *AssignReservedIP) OutputChannels(configuration any) []core.OutputChannel

func (*AssignReservedIP) ProcessQueueItem added in v0.13.0

func (a *AssignReservedIP) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*AssignReservedIP) Setup added in v0.13.0

func (a *AssignReservedIP) Setup(ctx core.SetupContext) error

type AssignReservedIPSpec added in v0.13.0

type AssignReservedIPSpec struct {
	ReservedIP string `json:"reservedIP" mapstructure:"reservedIP"`
	Action     string `json:"action" mapstructure:"action"`
	Droplet    string `json:"droplet" mapstructure:"droplet"`
}

type BitbucketSource added in v0.14.0

type BitbucketSource struct {
	Repo         string `json:"repo"`
	Branch       string `json:"branch,omitempty"`
	DeployOnPush bool   `json:"deploy_on_push"`
}

BitbucketSource represents a Bitbucket repository source

type Client

type Client struct {
	Token string

	BaseURL string
	// contains filtered or unexported fields
}

func NewClient

func NewClient(http core.HTTPContext, ctx core.IntegrationContext) (*Client, error)

func (*Client) CreateAlertPolicy added in v0.13.0

func (c *Client) CreateAlertPolicy(req CreateAlertPolicyRequest) (*AlertPolicy, error)

CreateAlertPolicy creates a new monitoring alert policy

func (*Client) CreateApp added in v0.14.0

func (c *Client) CreateApp(req CreateAppRequest) (*App, error)

CreateApp creates a new App Platform application

func (*Client) CreateDNSRecord added in v0.13.0

func (c *Client) CreateDNSRecord(domain string, req DNSRecordRequest) (*DNSRecord, error)

CreateDNSRecord creates a new DNS record for a domain

func (*Client) CreateDroplet

func (c *Client) CreateDroplet(req CreateDropletRequest) (*Droplet, error)

CreateDroplet creates a new droplet

func (*Client) CreateDropletSnapshot added in v0.12.0

func (c *Client) CreateDropletSnapshot(dropletID int, name string) (*DOAction, error)

CreateDropletSnapshot creates a snapshot of a droplet

func (*Client) CreateLoadBalancer added in v0.13.0

func (c *Client) CreateLoadBalancer(req CreateLoadBalancerRequest) (*LoadBalancer, error)

CreateLoadBalancer creates a new load balancer

func (*Client) DeleteAlertPolicy added in v0.13.0

func (c *Client) DeleteAlertPolicy(policyID string) error

DeleteAlertPolicy deletes a monitoring alert policy by its UUID

func (*Client) DeleteApp added in v0.14.0

func (c *Client) DeleteApp(appID string) error

DeleteApp deletes an app by its ID

func (*Client) DeleteDNSRecord added in v0.13.0

func (c *Client) DeleteDNSRecord(domain string, recordID int) error

DeleteDNSRecord deletes a DNS record by its ID

func (*Client) DeleteDroplet added in v0.12.0

func (c *Client) DeleteDroplet(dropletID int) error

DeleteDroplet deletes a droplet by its ID

func (*Client) DeleteLoadBalancer added in v0.13.0

func (c *Client) DeleteLoadBalancer(lbID string) error

DeleteLoadBalancer deletes a load balancer by its ID

func (*Client) DeleteSnapshot added in v0.12.0

func (c *Client) DeleteSnapshot(snapshotID string) error

DeleteSnapshot deletes a snapshot by ID

func (*Client) GetAccount

func (c *Client) GetAccount() (*Account, error)

GetAccount validates the API token by fetching account info

func (*Client) GetAction added in v0.12.0

func (c *Client) GetAction(actionID int) (*DOAction, error)

GetAction retrieves an action by its ID

func (*Client) GetAlertPolicy added in v0.13.0

func (c *Client) GetAlertPolicy(policyID string) (*AlertPolicy, error)

GetAlertPolicy retrieves a monitoring alert policy by its UUID

func (*Client) GetApp added in v0.14.0

func (c *Client) GetApp(appID string) (*App, error)

GetApp retrieves an app by its ID

func (*Client) GetDeployment added in v0.14.0

func (c *Client) GetDeployment(appID, deploymentID string) (*Deployment, error)

GetDeployment retrieves a specific deployment for an app

func (*Client) GetDroplet

func (c *Client) GetDroplet(dropletID int) (*Droplet, error)

GetDroplet retrieves a droplet by its ID

func (*Client) GetDropletBandwidthMetrics added in v0.13.0

func (c *Client) GetDropletBandwidthMetrics(dropletID, iface, direction string, start, end int64) (*MetricsResponse, error)

GetDropletBandwidthMetrics fetches network bandwidth metrics for a droplet.

func (*Client) GetDropletCPUMetrics added in v0.13.0

func (c *Client) GetDropletCPUMetrics(dropletID string, start, end int64) (*MetricsResponse, error)

GetDropletCPUMetrics fetches CPU usage percentage metrics for a droplet

func (*Client) GetDropletMemoryAvailableMetrics added in v0.13.0

func (c *Client) GetDropletMemoryAvailableMetrics(dropletID string, start, end int64) (*MetricsResponse, error)

GetDropletMemoryAvailableMetrics fetches available memory metrics for a droplet. Available memory includes free memory and reclaimable cache, matching what DigitalOcean's dashboard reports as memory utilization.

func (*Client) GetDropletMemoryTotalMetrics added in v0.13.0

func (c *Client) GetDropletMemoryTotalMetrics(dropletID string, start, end int64) (*MetricsResponse, error)

GetDropletMemoryTotalMetrics fetches total memory metrics for a droplet

func (*Client) GetDropletSnapshots added in v0.12.0

func (c *Client) GetDropletSnapshots(dropletID int) ([]Snapshot, error)

GetDropletSnapshots lists snapshots for a given droplet

func (*Client) GetLoadBalancer added in v0.13.0

func (c *Client) GetLoadBalancer(lbID string) (*LoadBalancer, error)

GetLoadBalancer retrieves a load balancer by its ID

func (*Client) GetSnapshot added in v0.12.0

func (c *Client) GetSnapshot(snapshotID string) (*Snapshot, error)

GetSnapshot retrieves a single snapshot by ID

func (*Client) ListActions

func (c *Client) ListActions(resourceType string) ([]DOAction, error)

ListActions retrieves actions filtered by resource type. The DigitalOcean /v2/actions API does not support resource_type as a query parameter, so we fetch all recent actions and filter client-side.

func (*Client) ListAlertPolicies added in v0.13.0

func (c *Client) ListAlertPolicies() ([]AlertPolicy, error)

ListAlertPolicies retrieves all monitoring alert policies in the account

func (*Client) ListApps added in v0.14.0

func (c *Client) ListApps() ([]App, error)

ListApps retrieves all apps in the account

func (*Client) ListDNSRecords added in v0.13.0

func (c *Client) ListDNSRecords(domain string) ([]DNSRecord, error)

ListDNSRecords retrieves all DNS records for a domain

func (*Client) ListDomains added in v0.13.0

func (c *Client) ListDomains() ([]Domain, error)

ListDomains retrieves all domains in the account

func (*Client) ListDroplets added in v0.12.0

func (c *Client) ListDroplets() ([]Droplet, error)

ListDroplets retrieves all droplets in the account

func (*Client) ListImages

func (c *Client) ListImages(imageType string) ([]Image, error)

ListImages retrieves images of a given type (e.g., "distribution")

func (*Client) ListLoadBalancers added in v0.13.0

func (c *Client) ListLoadBalancers() ([]LoadBalancer, error)

ListLoadBalancers retrieves all load balancers in the account

func (*Client) ListRegions

func (c *Client) ListRegions() ([]Region, error)

ListRegions retrieves all available regions

func (*Client) ListReservedIPs added in v0.13.0

func (c *Client) ListReservedIPs() ([]ReservedIP, error)

ListReservedIPs retrieves all reserved IPs in the account

func (*Client) ListSSHKeys added in v0.13.0

func (c *Client) ListSSHKeys() ([]SSHKey, error)

ListSSHKeys retrieves all SSH keys on the account

func (*Client) ListSizes

func (c *Client) ListSizes() ([]Size, error)

ListSizes retrieves all available droplet sizes

func (*Client) ListSnapshots added in v0.12.0

func (c *Client) ListSnapshots() ([]Snapshot, error)

ListSnapshots retrieves all droplet snapshots

func (*Client) ListVPCs added in v0.13.0

func (c *Client) ListVPCs() ([]VPC, error)

ListVPCs retrieves all VPCs in the account

func (*Client) PostDropletAction added in v0.12.0

func (c *Client) PostDropletAction(dropletID int, actionType string) (*DOAction, error)

PostDropletAction initiates a power action on a droplet

func (*Client) PostReservedIPAction added in v0.13.0

func (c *Client) PostReservedIPAction(reservedIP, actionType string, dropletID *int) (*DOAction, error)

PostReservedIPAction initiates an assign or unassign action for a reserved IP

func (*Client) UpdateAlertPolicy added in v0.13.0

func (c *Client) UpdateAlertPolicy(policyID string, req UpdateAlertPolicyRequest) (*AlertPolicy, error)

UpdateAlertPolicy updates an existing monitoring alert policy

func (*Client) UpdateApp added in v0.14.0

func (c *Client) UpdateApp(appID string, req UpdateAppRequest) (*App, error)

UpdateApp updates an existing app

func (*Client) UpdateDNSRecord added in v0.13.0

func (c *Client) UpdateDNSRecord(domain string, recordID int, req DNSRecordRequest) (*DNSRecord, error)

UpdateDNSRecord updates an existing DNS record

type Configuration

type Configuration struct {
	APIToken string `json:"apiToken"`
}

type CopyObject added in v0.14.0

type CopyObject struct{}

func (*CopyObject) Actions added in v0.14.0

func (c *CopyObject) Actions() []core.Action

func (*CopyObject) Cancel added in v0.14.0

func (c *CopyObject) Cancel(ctx core.ExecutionContext) error

func (*CopyObject) Cleanup added in v0.14.0

func (c *CopyObject) Cleanup(ctx core.SetupContext) error

func (*CopyObject) Color added in v0.14.0

func (c *CopyObject) Color() string

func (*CopyObject) Configuration added in v0.14.0

func (c *CopyObject) Configuration() []configuration.Field

func (*CopyObject) Description added in v0.14.0

func (c *CopyObject) Description() string

func (*CopyObject) Documentation added in v0.14.0

func (c *CopyObject) Documentation() string

func (*CopyObject) ExampleOutput added in v0.14.0

func (c *CopyObject) ExampleOutput() map[string]any

func (*CopyObject) Execute added in v0.14.0

func (c *CopyObject) Execute(ctx core.ExecutionContext) error

func (*CopyObject) HandleAction added in v0.14.0

func (c *CopyObject) HandleAction(ctx core.ActionContext) error

func (*CopyObject) HandleWebhook added in v0.14.0

func (*CopyObject) Icon added in v0.14.0

func (c *CopyObject) Icon() string

func (*CopyObject) Label added in v0.14.0

func (c *CopyObject) Label() string

func (*CopyObject) Name added in v0.14.0

func (c *CopyObject) Name() string

func (*CopyObject) OutputChannels added in v0.14.0

func (c *CopyObject) OutputChannels(configuration any) []core.OutputChannel

func (*CopyObject) ProcessQueueItem added in v0.14.0

func (c *CopyObject) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CopyObject) Setup added in v0.14.0

func (c *CopyObject) Setup(ctx core.SetupContext) error

type CopyObjectSpec added in v0.14.0

type CopyObjectSpec struct {
	SourceBucket        string `mapstructure:"sourceBucket"`
	SourceFilePath      string `mapstructure:"sourceFilePath"`
	DestinationBucket   string `mapstructure:"destinationBucket"`
	DestinationFilePath string `mapstructure:"destinationFilePath"`
	ACL                 string `mapstructure:"acl"`
	DeleteSource        bool   `mapstructure:"deleteSource"`
}

type CreateAlertPolicy added in v0.13.0

type CreateAlertPolicy struct{}

func (*CreateAlertPolicy) Actions added in v0.13.0

func (c *CreateAlertPolicy) Actions() []core.Action

func (*CreateAlertPolicy) Cancel added in v0.13.0

func (*CreateAlertPolicy) Cleanup added in v0.13.0

func (c *CreateAlertPolicy) Cleanup(ctx core.SetupContext) error

func (*CreateAlertPolicy) Color added in v0.13.0

func (c *CreateAlertPolicy) Color() string

func (*CreateAlertPolicy) Configuration added in v0.13.0

func (c *CreateAlertPolicy) Configuration() []configuration.Field

func (*CreateAlertPolicy) Description added in v0.13.0

func (c *CreateAlertPolicy) Description() string

func (*CreateAlertPolicy) Documentation added in v0.13.0

func (c *CreateAlertPolicy) Documentation() string

func (*CreateAlertPolicy) ExampleOutput added in v0.13.0

func (c *CreateAlertPolicy) ExampleOutput() map[string]any

func (*CreateAlertPolicy) Execute added in v0.13.0

func (c *CreateAlertPolicy) Execute(ctx core.ExecutionContext) error

func (*CreateAlertPolicy) HandleAction added in v0.13.0

func (c *CreateAlertPolicy) HandleAction(ctx core.ActionContext) error

func (*CreateAlertPolicy) HandleWebhook added in v0.13.0

func (*CreateAlertPolicy) Icon added in v0.13.0

func (c *CreateAlertPolicy) Icon() string

func (*CreateAlertPolicy) Label added in v0.13.0

func (c *CreateAlertPolicy) Label() string

func (*CreateAlertPolicy) Name added in v0.13.0

func (c *CreateAlertPolicy) Name() string

func (*CreateAlertPolicy) OutputChannels added in v0.13.0

func (c *CreateAlertPolicy) OutputChannels(configuration any) []core.OutputChannel

func (*CreateAlertPolicy) ProcessQueueItem added in v0.13.0

func (c *CreateAlertPolicy) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateAlertPolicy) Setup added in v0.13.0

func (c *CreateAlertPolicy) Setup(ctx core.SetupContext) error

type CreateAlertPolicyRequest added in v0.13.0

type CreateAlertPolicyRequest struct {
	Type        string            `json:"type"`
	Description string            `json:"description"`
	Compare     string            `json:"compare"`
	Value       float64           `json:"value"`
	Window      string            `json:"window"`
	Entities    []string          `json:"entities,omitempty"`
	Tags        []string          `json:"tags,omitempty"`
	Alerts      AlertPolicyAlerts `json:"alerts"`
	Enabled     bool              `json:"enabled"`
}

CreateAlertPolicyRequest is the payload for creating a monitoring alert policy

type CreateAlertPolicySpec added in v0.13.0

type CreateAlertPolicySpec struct {
	Description  string   `json:"description" mapstructure:"description"`
	Type         string   `json:"type" mapstructure:"type"`
	Compare      string   `json:"compare" mapstructure:"compare"`
	Value        float64  `json:"value" mapstructure:"value"`
	Window       string   `json:"window" mapstructure:"window"`
	Entities     []string `json:"entities" mapstructure:"entities"`
	Tags         []string `json:"tags" mapstructure:"tags"`
	Enabled      bool     `json:"enabled" mapstructure:"enabled"`
	Email        []string `json:"email" mapstructure:"email"`
	SlackChannel string   `json:"slackChannel" mapstructure:"slackChannel"`
	SlackURL     string   `json:"slackUrl" mapstructure:"slackUrl"`
}

type CreateApp added in v0.14.0

type CreateApp struct{}

func (*CreateApp) Actions added in v0.14.0

func (c *CreateApp) Actions() []core.Action

func (*CreateApp) Cancel added in v0.14.0

func (c *CreateApp) Cancel(ctx core.ExecutionContext) error

func (*CreateApp) Cleanup added in v0.14.0

func (c *CreateApp) Cleanup(ctx core.SetupContext) error

func (*CreateApp) Color added in v0.14.0

func (c *CreateApp) Color() string

func (*CreateApp) Configuration added in v0.14.0

func (c *CreateApp) Configuration() []configuration.Field

func (*CreateApp) Description added in v0.14.0

func (c *CreateApp) Description() string

func (*CreateApp) Documentation added in v0.14.0

func (c *CreateApp) Documentation() string

func (*CreateApp) ExampleOutput added in v0.14.0

func (c *CreateApp) ExampleOutput() map[string]any

func (*CreateApp) Execute added in v0.14.0

func (c *CreateApp) Execute(ctx core.ExecutionContext) error

func (*CreateApp) HandleAction added in v0.14.0

func (c *CreateApp) HandleAction(ctx core.ActionContext) error

func (*CreateApp) HandleWebhook added in v0.14.0

func (*CreateApp) Icon added in v0.14.0

func (c *CreateApp) Icon() string

func (*CreateApp) Label added in v0.14.0

func (c *CreateApp) Label() string

func (*CreateApp) Name added in v0.14.0

func (c *CreateApp) Name() string

func (*CreateApp) OutputChannels added in v0.14.0

func (c *CreateApp) OutputChannels(configuration any) []core.OutputChannel

func (*CreateApp) ProcessQueueItem added in v0.14.0

func (c *CreateApp) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateApp) Setup added in v0.14.0

func (c *CreateApp) Setup(ctx core.SetupContext) error

type CreateAppRequest added in v0.14.0

type CreateAppRequest struct {
	Spec *AppSpec `json:"spec"`
}

CreateAppRequest is the payload for creating an app

type CreateAppSpec added in v0.14.0

type CreateAppSpec struct {
	Name             string   `json:"name" mapstructure:"name"`
	Region           string   `json:"region" mapstructure:"region"`
	ComponentType    string   `json:"componentType" mapstructure:"componentType"`
	SourceProvider   string   `json:"sourceProvider" mapstructure:"sourceProvider"`
	GitHubRepo       string   `json:"gitHubRepo" mapstructure:"gitHubRepo"`
	GitHubBranch     string   `json:"gitHubBranch" mapstructure:"gitHubBranch"`
	GitLabRepo       string   `json:"gitLabRepo" mapstructure:"gitLabRepo"`
	GitLabBranch     string   `json:"gitLabBranch" mapstructure:"gitLabBranch"`
	BitbucketRepo    string   `json:"bitbucketRepo" mapstructure:"bitbucketRepo"`
	BitbucketBranch  string   `json:"bitbucketBranch" mapstructure:"bitbucketBranch"`
	DeployOnPush     *bool    `json:"deployOnPush" mapstructure:"deployOnPush"`
	EnvironmentSlug  string   `json:"environmentSlug" mapstructure:"environmentSlug"`
	BuildCommand     string   `json:"buildCommand" mapstructure:"buildCommand"`
	RunCommand       string   `json:"runCommand" mapstructure:"runCommand"`
	SourceDir        string   `json:"sourceDir" mapstructure:"sourceDir"`
	HTTPPort         int64    `json:"httpPort" mapstructure:"httpPort"`
	InstanceSizeSlug string   `json:"instanceSizeSlug" mapstructure:"instanceSizeSlug"`
	InstanceCount    int64    `json:"instanceCount" mapstructure:"instanceCount"`
	OutputDir        string   `json:"outputDir" mapstructure:"outputDir"`
	IndexDocument    string   `json:"indexDocument" mapstructure:"indexDocument"`
	ErrorDocument    string   `json:"errorDocument" mapstructure:"errorDocument"`
	CatchallDocument string   `json:"catchallDocument" mapstructure:"catchallDocument"`
	EnvVars          []string `json:"envVars" mapstructure:"envVars"`

	// Ingress configuration
	IngressPath      string   `json:"ingressPath" mapstructure:"ingressPath"`
	CORSAllowOrigins []string `json:"corsAllowOrigins" mapstructure:"corsAllowOrigins"`
	CORSAllowMethods []string `json:"corsAllowMethods" mapstructure:"corsAllowMethods"`

	// Database configuration
	AddDatabase         bool   `json:"addDatabase" mapstructure:"addDatabase"`
	DatabaseName        string `json:"databaseName" mapstructure:"databaseName"`
	DatabaseEngine      string `json:"databaseEngine" mapstructure:"databaseEngine"`
	DatabaseVersion     string `json:"databaseVersion" mapstructure:"databaseVersion"`
	DatabaseProduction  bool   `json:"databaseProduction" mapstructure:"databaseProduction"`
	DatabaseClusterName string `json:"databaseClusterName" mapstructure:"databaseClusterName"`
	DatabaseDBName      string `json:"databaseDBName" mapstructure:"databaseDBName"`
	DatabaseDBUser      string `json:"databaseDBUser" mapstructure:"databaseDBUser"`

	// VPC configuration
	VPCID string `json:"vpcID" mapstructure:"vpcID"`
}

type CreateDNSRecord added in v0.13.0

type CreateDNSRecord struct{}

func (*CreateDNSRecord) Actions added in v0.13.0

func (c *CreateDNSRecord) Actions() []core.Action

func (*CreateDNSRecord) Cancel added in v0.13.0

func (c *CreateDNSRecord) Cancel(ctx core.ExecutionContext) error

func (*CreateDNSRecord) Cleanup added in v0.13.0

func (c *CreateDNSRecord) Cleanup(ctx core.SetupContext) error

func (*CreateDNSRecord) Color added in v0.13.0

func (c *CreateDNSRecord) Color() string

func (*CreateDNSRecord) Configuration added in v0.13.0

func (c *CreateDNSRecord) Configuration() []configuration.Field

func (*CreateDNSRecord) Description added in v0.13.0

func (c *CreateDNSRecord) Description() string

func (*CreateDNSRecord) Documentation added in v0.13.0

func (c *CreateDNSRecord) Documentation() string

func (*CreateDNSRecord) ExampleOutput added in v0.13.0

func (c *CreateDNSRecord) ExampleOutput() map[string]any

func (*CreateDNSRecord) Execute added in v0.13.0

func (c *CreateDNSRecord) Execute(ctx core.ExecutionContext) error

func (*CreateDNSRecord) HandleAction added in v0.13.0

func (c *CreateDNSRecord) HandleAction(ctx core.ActionContext) error

func (*CreateDNSRecord) HandleWebhook added in v0.13.0

func (*CreateDNSRecord) Icon added in v0.13.0

func (c *CreateDNSRecord) Icon() string

func (*CreateDNSRecord) Label added in v0.13.0

func (c *CreateDNSRecord) Label() string

func (*CreateDNSRecord) Name added in v0.13.0

func (c *CreateDNSRecord) Name() string

func (*CreateDNSRecord) OutputChannels added in v0.13.0

func (c *CreateDNSRecord) OutputChannels(configuration any) []core.OutputChannel

func (*CreateDNSRecord) ProcessQueueItem added in v0.13.0

func (c *CreateDNSRecord) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateDNSRecord) Setup added in v0.13.0

func (c *CreateDNSRecord) Setup(ctx core.SetupContext) error

type CreateDNSRecordSpec added in v0.13.0

type CreateDNSRecordSpec struct {
	Domain   string `json:"domain"`
	Type     string `json:"type"`
	Name     string `json:"name"`
	Data     string `json:"data"`
	TTL      string `json:"ttl"`
	Priority string `json:"priority"`
	Port     string `json:"port"`
	Weight   string `json:"weight"`
}

type CreateDroplet

type CreateDroplet struct{}

func (*CreateDroplet) Actions

func (c *CreateDroplet) Actions() []core.Action

func (*CreateDroplet) Cancel

func (c *CreateDroplet) Cancel(ctx core.ExecutionContext) error

func (*CreateDroplet) Cleanup

func (c *CreateDroplet) Cleanup(ctx core.SetupContext) error

func (*CreateDroplet) Color

func (c *CreateDroplet) Color() string

func (*CreateDroplet) Configuration

func (c *CreateDroplet) Configuration() []configuration.Field

func (*CreateDroplet) Description

func (c *CreateDroplet) Description() string

func (*CreateDroplet) Documentation

func (c *CreateDroplet) Documentation() string

func (*CreateDroplet) ExampleOutput

func (c *CreateDroplet) ExampleOutput() map[string]any

func (*CreateDroplet) Execute

func (c *CreateDroplet) Execute(ctx core.ExecutionContext) error

func (*CreateDroplet) HandleAction

func (c *CreateDroplet) HandleAction(ctx core.ActionContext) error

func (*CreateDroplet) HandleWebhook

func (*CreateDroplet) Icon

func (c *CreateDroplet) Icon() string

func (*CreateDroplet) Label

func (c *CreateDroplet) Label() string

func (*CreateDroplet) Name

func (c *CreateDroplet) Name() string

func (*CreateDroplet) OutputChannels

func (c *CreateDroplet) OutputChannels(configuration any) []core.OutputChannel

func (*CreateDroplet) ProcessQueueItem

func (c *CreateDroplet) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateDroplet) Setup

func (c *CreateDroplet) Setup(ctx core.SetupContext) error

type CreateDropletRequest

type CreateDropletRequest struct {
	Name       string   `json:"name"`
	Region     string   `json:"region"`
	Size       string   `json:"size"`
	Image      string   `json:"image"`
	SSHKeys    []string `json:"ssh_keys,omitempty"`
	Tags       []string `json:"tags,omitempty"`
	UserData   string   `json:"user_data,omitempty"`
	Backups    bool     `json:"backups,omitempty"`
	IPv6       bool     `json:"ipv6,omitempty"`
	Monitoring bool     `json:"monitoring,omitempty"`
	VpcUUID    string   `json:"vpc_uuid,omitempty"`
}

CreateDropletRequest is the payload for creating a droplet

type CreateDropletSpec

type CreateDropletSpec struct {
	Name       string   `json:"name"`
	Region     string   `json:"region"`
	Size       string   `json:"size"`
	Image      string   `json:"image"`
	SSHKeys    []string `json:"sshKeys"`
	Tags       []string `json:"tags"`
	UserData   string   `json:"userData"`
	Backups    bool     `json:"backups"`
	IPv6       bool     `json:"ipv6"`
	Monitoring bool     `json:"monitoring"`
	VpcUUID    string   `json:"vpcUuid"`
}

type CreateLoadBalancer added in v0.13.0

type CreateLoadBalancer struct{}

func (*CreateLoadBalancer) Actions added in v0.13.0

func (c *CreateLoadBalancer) Actions() []core.Action

func (*CreateLoadBalancer) Cancel added in v0.13.0

func (*CreateLoadBalancer) Cleanup added in v0.13.0

func (c *CreateLoadBalancer) Cleanup(ctx core.SetupContext) error

func (*CreateLoadBalancer) Color added in v0.13.0

func (c *CreateLoadBalancer) Color() string

func (*CreateLoadBalancer) Configuration added in v0.13.0

func (c *CreateLoadBalancer) Configuration() []configuration.Field

func (*CreateLoadBalancer) Description added in v0.13.0

func (c *CreateLoadBalancer) Description() string

func (*CreateLoadBalancer) Documentation added in v0.13.0

func (c *CreateLoadBalancer) Documentation() string

func (*CreateLoadBalancer) ExampleOutput added in v0.13.0

func (c *CreateLoadBalancer) ExampleOutput() map[string]any

func (*CreateLoadBalancer) Execute added in v0.13.0

func (*CreateLoadBalancer) HandleAction added in v0.13.0

func (c *CreateLoadBalancer) HandleAction(ctx core.ActionContext) error

func (*CreateLoadBalancer) HandleWebhook added in v0.13.0

func (*CreateLoadBalancer) Icon added in v0.13.0

func (c *CreateLoadBalancer) Icon() string

func (*CreateLoadBalancer) Label added in v0.13.0

func (c *CreateLoadBalancer) Label() string

func (*CreateLoadBalancer) Name added in v0.13.0

func (c *CreateLoadBalancer) Name() string

func (*CreateLoadBalancer) OutputChannels added in v0.13.0

func (c *CreateLoadBalancer) OutputChannels(configuration any) []core.OutputChannel

func (*CreateLoadBalancer) ProcessQueueItem added in v0.13.0

func (c *CreateLoadBalancer) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateLoadBalancer) Setup added in v0.13.0

func (c *CreateLoadBalancer) Setup(ctx core.SetupContext) error

type CreateLoadBalancerRequest added in v0.13.0

type CreateLoadBalancerRequest struct {
	Name            string           `json:"name"`
	Region          string           `json:"region"`
	ForwardingRules []ForwardingRule `json:"forwarding_rules"`
	DropletIDs      []int            `json:"droplet_ids,omitempty"`
	Tag             string           `json:"tag,omitempty"`
}

CreateLoadBalancerRequest is the payload for creating a load balancer

type CreateLoadBalancerSpec added in v0.13.0

type CreateLoadBalancerSpec struct {
	Name            string               `json:"name" mapstructure:"name"`
	Region          string               `json:"region" mapstructure:"region"`
	ForwardingRules []ForwardingRuleSpec `json:"forwardingRules" mapstructure:"forwardingRules"`
	Droplets        []string             `json:"droplets" mapstructure:"droplets"`
	Tag             string               `json:"tag" mapstructure:"tag"`
}

type CreateSnapshot added in v0.12.0

type CreateSnapshot struct{}

func (*CreateSnapshot) Actions added in v0.12.0

func (c *CreateSnapshot) Actions() []core.Action

func (*CreateSnapshot) Cancel added in v0.12.0

func (c *CreateSnapshot) Cancel(ctx core.ExecutionContext) error

func (*CreateSnapshot) Cleanup added in v0.12.0

func (c *CreateSnapshot) Cleanup(ctx core.SetupContext) error

func (*CreateSnapshot) Color added in v0.12.0

func (c *CreateSnapshot) Color() string

func (*CreateSnapshot) Configuration added in v0.12.0

func (c *CreateSnapshot) Configuration() []configuration.Field

func (*CreateSnapshot) Description added in v0.12.0

func (c *CreateSnapshot) Description() string

func (*CreateSnapshot) Documentation added in v0.12.0

func (c *CreateSnapshot) Documentation() string

func (*CreateSnapshot) ExampleOutput added in v0.12.0

func (c *CreateSnapshot) ExampleOutput() map[string]any

func (*CreateSnapshot) Execute added in v0.12.0

func (c *CreateSnapshot) Execute(ctx core.ExecutionContext) error

func (*CreateSnapshot) HandleAction added in v0.12.0

func (c *CreateSnapshot) HandleAction(ctx core.ActionContext) error

func (*CreateSnapshot) HandleWebhook added in v0.12.0

func (*CreateSnapshot) Icon added in v0.12.0

func (c *CreateSnapshot) Icon() string

func (*CreateSnapshot) Label added in v0.12.0

func (c *CreateSnapshot) Label() string

func (*CreateSnapshot) Name added in v0.12.0

func (c *CreateSnapshot) Name() string

func (*CreateSnapshot) OutputChannels added in v0.12.0

func (c *CreateSnapshot) OutputChannels(configuration any) []core.OutputChannel

func (*CreateSnapshot) ProcessQueueItem added in v0.12.0

func (c *CreateSnapshot) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*CreateSnapshot) Setup added in v0.12.0

func (c *CreateSnapshot) Setup(ctx core.SetupContext) error

type CreateSnapshotSpec added in v0.12.0

type CreateSnapshotSpec struct {
	Droplet string `json:"droplet" mapstructure:"droplet"`
	Name    string `json:"name" mapstructure:"name"`
}

type DNSRecord added in v0.13.0

type DNSRecord struct {
	ID       int    `json:"id"`
	Type     string `json:"type"`
	Name     string `json:"name"`
	Data     string `json:"data"`
	Priority *int   `json:"priority"`
	Port     *int   `json:"port"`
	TTL      int    `json:"ttl"`
	Weight   *int   `json:"weight"`
}

DNSRecord represents a DigitalOcean DNS record

type DNSRecordNodeMetadata added in v0.13.0

type DNSRecordNodeMetadata struct {
	RecordID   int    `json:"recordId" mapstructure:"recordId"`
	RecordName string `json:"recordName" mapstructure:"recordName"`
}

DNSRecordNodeMetadata stores metadata about a DNS record for display in the UI

type DNSRecordRequest added in v0.13.0

type DNSRecordRequest struct {
	Type     string `json:"type"`
	Name     string `json:"name"`
	Data     string `json:"data"`
	TTL      int    `json:"ttl,omitempty"`
	Priority *int   `json:"priority,omitempty"`
	Port     *int   `json:"port,omitempty"`
	Weight   *int   `json:"weight,omitempty"`
}

DNSRecordRequest is the payload for creating or updating a DNS record

type DOAPIError

type DOAPIError struct {
	StatusCode int
	Body       []byte
}

func (*DOAPIError) Error

func (e *DOAPIError) Error() string

type DOAction

type DOAction struct {
	ID           int    `json:"id"`
	Status       string `json:"status"`
	Type         string `json:"type"`
	StartedAt    string `json:"started_at"`
	CompletedAt  string `json:"completed_at"`
	ResourceID   int    `json:"resource_id"`
	ResourceType string `json:"resource_type"`
	RegionSlug   string `json:"region_slug"`
}

DOAction represents a DigitalOcean action

type DeleteAlertPolicy added in v0.13.0

type DeleteAlertPolicy struct{}

func (*DeleteAlertPolicy) Actions added in v0.13.0

func (d *DeleteAlertPolicy) Actions() []core.Action

func (*DeleteAlertPolicy) Cancel added in v0.13.0

func (*DeleteAlertPolicy) Cleanup added in v0.13.0

func (d *DeleteAlertPolicy) Cleanup(ctx core.SetupContext) error

func (*DeleteAlertPolicy) Color added in v0.13.0

func (d *DeleteAlertPolicy) Color() string

func (*DeleteAlertPolicy) Configuration added in v0.13.0

func (d *DeleteAlertPolicy) Configuration() []configuration.Field

func (*DeleteAlertPolicy) Description added in v0.13.0

func (d *DeleteAlertPolicy) Description() string

func (*DeleteAlertPolicy) Documentation added in v0.13.0

func (d *DeleteAlertPolicy) Documentation() string

func (*DeleteAlertPolicy) ExampleOutput added in v0.13.0

func (d *DeleteAlertPolicy) ExampleOutput() map[string]any

func (*DeleteAlertPolicy) Execute added in v0.13.0

func (d *DeleteAlertPolicy) Execute(ctx core.ExecutionContext) error

func (*DeleteAlertPolicy) HandleAction added in v0.13.0

func (d *DeleteAlertPolicy) HandleAction(ctx core.ActionContext) error

func (*DeleteAlertPolicy) HandleWebhook added in v0.13.0

func (*DeleteAlertPolicy) Icon added in v0.13.0

func (d *DeleteAlertPolicy) Icon() string

func (*DeleteAlertPolicy) Label added in v0.13.0

func (d *DeleteAlertPolicy) Label() string

func (*DeleteAlertPolicy) Name added in v0.13.0

func (d *DeleteAlertPolicy) Name() string

func (*DeleteAlertPolicy) OutputChannels added in v0.13.0

func (d *DeleteAlertPolicy) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteAlertPolicy) ProcessQueueItem added in v0.13.0

func (d *DeleteAlertPolicy) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteAlertPolicy) Setup added in v0.13.0

func (d *DeleteAlertPolicy) Setup(ctx core.SetupContext) error

type DeleteAlertPolicySpec added in v0.13.0

type DeleteAlertPolicySpec struct {
	AlertPolicy string `json:"alertPolicy" mapstructure:"alertPolicy"`
}

type DeleteApp added in v0.14.0

type DeleteApp struct{}

func (*DeleteApp) Actions added in v0.14.0

func (d *DeleteApp) Actions() []core.Action

func (*DeleteApp) Cancel added in v0.14.0

func (d *DeleteApp) Cancel(ctx core.ExecutionContext) error

func (*DeleteApp) Cleanup added in v0.14.0

func (d *DeleteApp) Cleanup(ctx core.SetupContext) error

func (*DeleteApp) Color added in v0.14.0

func (d *DeleteApp) Color() string

func (*DeleteApp) Configuration added in v0.14.0

func (d *DeleteApp) Configuration() []configuration.Field

func (*DeleteApp) Description added in v0.14.0

func (d *DeleteApp) Description() string

func (*DeleteApp) Documentation added in v0.14.0

func (d *DeleteApp) Documentation() string

func (*DeleteApp) ExampleOutput added in v0.14.0

func (d *DeleteApp) ExampleOutput() map[string]any

func (*DeleteApp) Execute added in v0.14.0

func (d *DeleteApp) Execute(ctx core.ExecutionContext) error

func (*DeleteApp) HandleAction added in v0.14.0

func (d *DeleteApp) HandleAction(ctx core.ActionContext) error

func (*DeleteApp) HandleWebhook added in v0.14.0

func (*DeleteApp) Icon added in v0.14.0

func (d *DeleteApp) Icon() string

func (*DeleteApp) Label added in v0.14.0

func (d *DeleteApp) Label() string

func (*DeleteApp) Name added in v0.14.0

func (d *DeleteApp) Name() string

func (*DeleteApp) OutputChannels added in v0.14.0

func (d *DeleteApp) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteApp) ProcessQueueItem added in v0.14.0

func (d *DeleteApp) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteApp) Setup added in v0.14.0

func (d *DeleteApp) Setup(ctx core.SetupContext) error

type DeleteAppSpec added in v0.14.0

type DeleteAppSpec struct {
	App string `json:"app" mapstructure:"app"`
}

type DeleteDNSRecord added in v0.13.0

type DeleteDNSRecord struct{}

func (*DeleteDNSRecord) Actions added in v0.13.0

func (d *DeleteDNSRecord) Actions() []core.Action

func (*DeleteDNSRecord) Cancel added in v0.13.0

func (d *DeleteDNSRecord) Cancel(ctx core.ExecutionContext) error

func (*DeleteDNSRecord) Cleanup added in v0.13.0

func (d *DeleteDNSRecord) Cleanup(ctx core.SetupContext) error

func (*DeleteDNSRecord) Color added in v0.13.0

func (d *DeleteDNSRecord) Color() string

func (*DeleteDNSRecord) Configuration added in v0.13.0

func (d *DeleteDNSRecord) Configuration() []configuration.Field

func (*DeleteDNSRecord) Description added in v0.13.0

func (d *DeleteDNSRecord) Description() string

func (*DeleteDNSRecord) Documentation added in v0.13.0

func (d *DeleteDNSRecord) Documentation() string

func (*DeleteDNSRecord) ExampleOutput added in v0.13.0

func (d *DeleteDNSRecord) ExampleOutput() map[string]any

func (*DeleteDNSRecord) Execute added in v0.13.0

func (d *DeleteDNSRecord) Execute(ctx core.ExecutionContext) error

func (*DeleteDNSRecord) HandleAction added in v0.13.0

func (d *DeleteDNSRecord) HandleAction(ctx core.ActionContext) error

func (*DeleteDNSRecord) HandleWebhook added in v0.13.0

func (*DeleteDNSRecord) Icon added in v0.13.0

func (d *DeleteDNSRecord) Icon() string

func (*DeleteDNSRecord) Label added in v0.13.0

func (d *DeleteDNSRecord) Label() string

func (*DeleteDNSRecord) Name added in v0.13.0

func (d *DeleteDNSRecord) Name() string

func (*DeleteDNSRecord) OutputChannels added in v0.13.0

func (d *DeleteDNSRecord) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteDNSRecord) ProcessQueueItem added in v0.13.0

func (d *DeleteDNSRecord) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteDNSRecord) Setup added in v0.13.0

func (d *DeleteDNSRecord) Setup(ctx core.SetupContext) error

type DeleteDNSRecordSpec added in v0.13.0

type DeleteDNSRecordSpec struct {
	Domain   string `json:"domain"`
	RecordID string `json:"recordId"`
}

type DeleteDroplet added in v0.12.0

type DeleteDroplet struct{}

func (*DeleteDroplet) Actions added in v0.12.0

func (d *DeleteDroplet) Actions() []core.Action

func (*DeleteDroplet) Cancel added in v0.12.0

func (d *DeleteDroplet) Cancel(ctx core.ExecutionContext) error

func (*DeleteDroplet) Cleanup added in v0.12.0

func (d *DeleteDroplet) Cleanup(ctx core.SetupContext) error

func (*DeleteDroplet) Color added in v0.12.0

func (d *DeleteDroplet) Color() string

func (*DeleteDroplet) Configuration added in v0.12.0

func (d *DeleteDroplet) Configuration() []configuration.Field

func (*DeleteDroplet) Description added in v0.12.0

func (d *DeleteDroplet) Description() string

func (*DeleteDroplet) Documentation added in v0.12.0

func (d *DeleteDroplet) Documentation() string

func (*DeleteDroplet) ExampleOutput added in v0.12.0

func (d *DeleteDroplet) ExampleOutput() map[string]any

func (*DeleteDroplet) Execute added in v0.12.0

func (d *DeleteDroplet) Execute(ctx core.ExecutionContext) error

func (*DeleteDroplet) HandleAction added in v0.12.0

func (d *DeleteDroplet) HandleAction(ctx core.ActionContext) error

func (*DeleteDroplet) HandleWebhook added in v0.12.0

func (*DeleteDroplet) Icon added in v0.12.0

func (d *DeleteDroplet) Icon() string

func (*DeleteDroplet) Label added in v0.12.0

func (d *DeleteDroplet) Label() string

func (*DeleteDroplet) Name added in v0.12.0

func (d *DeleteDroplet) Name() string

func (*DeleteDroplet) OutputChannels added in v0.12.0

func (d *DeleteDroplet) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteDroplet) ProcessQueueItem added in v0.12.0

func (d *DeleteDroplet) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteDroplet) Setup added in v0.12.0

func (d *DeleteDroplet) Setup(ctx core.SetupContext) error

type DeleteDropletSpec added in v0.12.0

type DeleteDropletSpec struct {
	Droplet string `json:"droplet"`
}

type DeleteLoadBalancer added in v0.13.0

type DeleteLoadBalancer struct{}

func (*DeleteLoadBalancer) Actions added in v0.13.0

func (d *DeleteLoadBalancer) Actions() []core.Action

func (*DeleteLoadBalancer) Cancel added in v0.13.0

func (*DeleteLoadBalancer) Cleanup added in v0.13.0

func (d *DeleteLoadBalancer) Cleanup(ctx core.SetupContext) error

func (*DeleteLoadBalancer) Color added in v0.13.0

func (d *DeleteLoadBalancer) Color() string

func (*DeleteLoadBalancer) Configuration added in v0.13.0

func (d *DeleteLoadBalancer) Configuration() []configuration.Field

func (*DeleteLoadBalancer) Description added in v0.13.0

func (d *DeleteLoadBalancer) Description() string

func (*DeleteLoadBalancer) Documentation added in v0.13.0

func (d *DeleteLoadBalancer) Documentation() string

func (*DeleteLoadBalancer) ExampleOutput added in v0.13.0

func (d *DeleteLoadBalancer) ExampleOutput() map[string]any

func (*DeleteLoadBalancer) Execute added in v0.13.0

func (*DeleteLoadBalancer) HandleAction added in v0.13.0

func (d *DeleteLoadBalancer) HandleAction(ctx core.ActionContext) error

func (*DeleteLoadBalancer) HandleWebhook added in v0.13.0

func (*DeleteLoadBalancer) Icon added in v0.13.0

func (d *DeleteLoadBalancer) Icon() string

func (*DeleteLoadBalancer) Label added in v0.13.0

func (d *DeleteLoadBalancer) Label() string

func (*DeleteLoadBalancer) Name added in v0.13.0

func (d *DeleteLoadBalancer) Name() string

func (*DeleteLoadBalancer) OutputChannels added in v0.13.0

func (d *DeleteLoadBalancer) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteLoadBalancer) ProcessQueueItem added in v0.13.0

func (d *DeleteLoadBalancer) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteLoadBalancer) Setup added in v0.13.0

func (d *DeleteLoadBalancer) Setup(ctx core.SetupContext) error

type DeleteLoadBalancerSpec added in v0.13.0

type DeleteLoadBalancerSpec struct {
	LoadBalancerID string `json:"loadBalancerID" mapstructure:"loadBalancerID"`
}

type DeleteObject added in v0.14.0

type DeleteObject struct{}

func (*DeleteObject) Actions added in v0.14.0

func (d *DeleteObject) Actions() []core.Action

func (*DeleteObject) Cancel added in v0.14.0

func (d *DeleteObject) Cancel(ctx core.ExecutionContext) error

func (*DeleteObject) Cleanup added in v0.14.0

func (d *DeleteObject) Cleanup(ctx core.SetupContext) error

func (*DeleteObject) Color added in v0.14.0

func (d *DeleteObject) Color() string

func (*DeleteObject) Configuration added in v0.14.0

func (d *DeleteObject) Configuration() []configuration.Field

func (*DeleteObject) Description added in v0.14.0

func (d *DeleteObject) Description() string

func (*DeleteObject) Documentation added in v0.14.0

func (d *DeleteObject) Documentation() string

func (*DeleteObject) ExampleOutput added in v0.14.0

func (d *DeleteObject) ExampleOutput() map[string]any

func (*DeleteObject) Execute added in v0.14.0

func (d *DeleteObject) Execute(ctx core.ExecutionContext) error

func (*DeleteObject) HandleAction added in v0.14.0

func (d *DeleteObject) HandleAction(ctx core.ActionContext) error

func (*DeleteObject) HandleWebhook added in v0.14.0

func (*DeleteObject) Icon added in v0.14.0

func (d *DeleteObject) Icon() string

func (*DeleteObject) Label added in v0.14.0

func (d *DeleteObject) Label() string

func (*DeleteObject) Name added in v0.14.0

func (d *DeleteObject) Name() string

func (*DeleteObject) OutputChannels added in v0.14.0

func (d *DeleteObject) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteObject) ProcessQueueItem added in v0.14.0

func (d *DeleteObject) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteObject) Setup added in v0.14.0

func (d *DeleteObject) Setup(ctx core.SetupContext) error

type DeleteObjectSpec added in v0.14.0

type DeleteObjectSpec struct {
	Bucket   string `mapstructure:"bucket"`
	FilePath string `mapstructure:"filePath"`
}

type DeleteSnapshot added in v0.12.0

type DeleteSnapshot struct{}

func (*DeleteSnapshot) Actions added in v0.12.0

func (c *DeleteSnapshot) Actions() []core.Action

func (*DeleteSnapshot) Cancel added in v0.12.0

func (c *DeleteSnapshot) Cancel(ctx core.ExecutionContext) error

func (*DeleteSnapshot) Cleanup added in v0.12.0

func (c *DeleteSnapshot) Cleanup(ctx core.SetupContext) error

func (*DeleteSnapshot) Color added in v0.12.0

func (c *DeleteSnapshot) Color() string

func (*DeleteSnapshot) Configuration added in v0.12.0

func (c *DeleteSnapshot) Configuration() []configuration.Field

func (*DeleteSnapshot) Description added in v0.12.0

func (c *DeleteSnapshot) Description() string

func (*DeleteSnapshot) Documentation added in v0.12.0

func (c *DeleteSnapshot) Documentation() string

func (*DeleteSnapshot) ExampleOutput added in v0.12.0

func (c *DeleteSnapshot) ExampleOutput() map[string]any

func (*DeleteSnapshot) Execute added in v0.12.0

func (c *DeleteSnapshot) Execute(ctx core.ExecutionContext) error

func (*DeleteSnapshot) HandleAction added in v0.12.0

func (c *DeleteSnapshot) HandleAction(ctx core.ActionContext) error

func (*DeleteSnapshot) HandleWebhook added in v0.12.0

func (*DeleteSnapshot) Icon added in v0.12.0

func (c *DeleteSnapshot) Icon() string

func (*DeleteSnapshot) Label added in v0.12.0

func (c *DeleteSnapshot) Label() string

func (*DeleteSnapshot) Name added in v0.12.0

func (c *DeleteSnapshot) Name() string

func (*DeleteSnapshot) OutputChannels added in v0.12.0

func (c *DeleteSnapshot) OutputChannels(configuration any) []core.OutputChannel

func (*DeleteSnapshot) ProcessQueueItem added in v0.12.0

func (c *DeleteSnapshot) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*DeleteSnapshot) Setup added in v0.12.0

func (c *DeleteSnapshot) Setup(ctx core.SetupContext) error

type DeleteSnapshotSpec added in v0.12.0

type DeleteSnapshotSpec struct {
	Snapshot string `json:"snapshot" mapstructure:"snapshot"`
}

type Deployment added in v0.14.0

type Deployment struct {
	ID          string                  `json:"id"`
	Spec        *AppSpec                `json:"spec,omitempty"`
	Services    []*DeploymentService    `json:"services,omitempty"`
	Workers     []*DeploymentWorker     `json:"workers,omitempty"`
	Jobs        []*DeploymentJob        `json:"jobs,omitempty"`
	StaticSites []*DeploymentStaticSite `json:"static_sites,omitempty"`
	Phase       string                  `json:"phase,omitempty"`
	Progress    *DeploymentProgress     `json:"progress,omitempty"`
	CreatedAt   string                  `json:"created_at"`
	UpdatedAt   string                  `json:"updated_at"`
	Cause       string                  `json:"cause,omitempty"`
}

Deployment represents an app deployment

type DeploymentJob added in v0.14.0

type DeploymentJob struct {
	Name             string `json:"name"`
	SourceCommitHash string `json:"source_commit_hash,omitempty"`
}

DeploymentJob represents a deployed job

type DeploymentProgress added in v0.14.0

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"`
}

DeploymentProgress tracks deployment progress

type DeploymentProgressStep added in v0.14.0

type DeploymentProgressStep struct {
	Name      string                    `json:"name"`
	Status    string                    `json:"status"`
	Steps     []*DeploymentProgressStep `json:"steps,omitempty"`
	StartedAt string                    `json:"started_at,omitempty"`
	EndedAt   string                    `json:"ended_at,omitempty"`
}

DeploymentProgressStep represents a single deployment step

type DeploymentService added in v0.14.0

type DeploymentService struct {
	Name             string `json:"name"`
	SourceCommitHash string `json:"source_commit_hash,omitempty"`
}

DeploymentService represents a deployed service

type DeploymentStaticSite added in v0.14.0

type DeploymentStaticSite struct {
	Name             string `json:"name"`
	SourceCommitHash string `json:"source_commit_hash,omitempty"`
}

DeploymentStaticSite represents a deployed static site

type DeploymentWorker added in v0.14.0

type DeploymentWorker struct {
	Name             string `json:"name"`
	SourceCommitHash string `json:"source_commit_hash,omitempty"`
}

DeploymentWorker represents a deployed worker

type DigitalOcean

type DigitalOcean struct{}

func (*DigitalOcean) Actions

func (d *DigitalOcean) Actions() []core.Action

func (*DigitalOcean) Cleanup

func (*DigitalOcean) Components

func (d *DigitalOcean) Components() []core.Component

func (*DigitalOcean) Configuration

func (d *DigitalOcean) Configuration() []configuration.Field

func (*DigitalOcean) Description

func (d *DigitalOcean) Description() string

func (*DigitalOcean) HandleAction

func (d *DigitalOcean) HandleAction(ctx core.IntegrationActionContext) error

func (*DigitalOcean) HandleRequest

func (d *DigitalOcean) HandleRequest(ctx core.HTTPRequestContext)

func (*DigitalOcean) Icon

func (d *DigitalOcean) Icon() string

func (*DigitalOcean) Instructions

func (d *DigitalOcean) Instructions() string

func (*DigitalOcean) Label

func (d *DigitalOcean) Label() string

func (*DigitalOcean) ListResources

func (d *DigitalOcean) ListResources(resourceType string, ctx core.ListResourcesContext) ([]core.IntegrationResource, error)

func (*DigitalOcean) Name

func (d *DigitalOcean) Name() string

func (*DigitalOcean) Sync

func (d *DigitalOcean) Sync(ctx core.SyncContext) error

func (*DigitalOcean) Triggers

func (d *DigitalOcean) Triggers() []core.Trigger

type Domain added in v0.13.0

type Domain struct {
	Name string `json:"name"`
}

Domain represents a DigitalOcean domain

type Droplet

type Droplet struct {
	ID       int             `json:"id"`
	Name     string          `json:"name"`
	Memory   int             `json:"memory"`
	VCPUs    int             `json:"vcpus"`
	Disk     int             `json:"disk"`
	Status   string          `json:"status"`
	Region   DropletRegion   `json:"region"`
	Image    DropletImage    `json:"image"`
	SizeSlug string          `json:"size_slug"`
	Networks DropletNetworks `json:"networks"`
	Tags     []string        `json:"tags"`
	Features []string        `json:"features"`
}

Droplet represents a DigitalOcean droplet

type DropletImage

type DropletImage struct {
	ID   int    `json:"id"`
	Name string `json:"name"`
	Slug string `json:"slug"`
}

type DropletNetworkV4

type DropletNetworkV4 struct {
	IPAddress string `json:"ip_address"`
	Type      string `json:"type"`
}

type DropletNetworks

type DropletNetworks struct {
	V4 []DropletNetworkV4 `json:"v4"`
}

type DropletNodeMetadata added in v0.12.0

type DropletNodeMetadata struct {
	DropletID   int    `json:"dropletId" mapstructure:"dropletId"`
	DropletName string `json:"dropletName" mapstructure:"dropletName"`
}

DropletNodeMetadata stores metadata about a droplet for display in the UI

type DropletRegion

type DropletRegion struct {
	Name string `json:"name"`
	Slug string `json:"slug"`
}

type ForwardingRule added in v0.13.0

type ForwardingRule struct {
	EntryProtocol  string `json:"entry_protocol"`
	EntryPort      int    `json:"entry_port"`
	TargetProtocol string `json:"target_protocol"`
	TargetPort     int    `json:"target_port"`
	TLSPassthrough bool   `json:"tls_passthrough,omitempty"`
}

ForwardingRule defines a load balancer forwarding rule

type ForwardingRuleSpec added in v0.13.0

type ForwardingRuleSpec struct {
	EntryProtocol  string `json:"entryProtocol" mapstructure:"entryProtocol"`
	EntryPort      int    `json:"entryPort" mapstructure:"entryPort"`
	TargetProtocol string `json:"targetProtocol" mapstructure:"targetProtocol"`
	TargetPort     int    `json:"targetPort" mapstructure:"targetPort"`
	TLSPassthrough bool   `json:"tlsPassthrough" mapstructure:"tlsPassthrough"`
}

type GetAlertPolicy added in v0.13.0

type GetAlertPolicy struct{}

func (*GetAlertPolicy) Actions added in v0.13.0

func (g *GetAlertPolicy) Actions() []core.Action

func (*GetAlertPolicy) Cancel added in v0.13.0

func (g *GetAlertPolicy) Cancel(ctx core.ExecutionContext) error

func (*GetAlertPolicy) Cleanup added in v0.13.0

func (g *GetAlertPolicy) Cleanup(ctx core.SetupContext) error

func (*GetAlertPolicy) Color added in v0.13.0

func (g *GetAlertPolicy) Color() string

func (*GetAlertPolicy) Configuration added in v0.13.0

func (g *GetAlertPolicy) Configuration() []configuration.Field

func (*GetAlertPolicy) Description added in v0.13.0

func (g *GetAlertPolicy) Description() string

func (*GetAlertPolicy) Documentation added in v0.13.0

func (g *GetAlertPolicy) Documentation() string

func (*GetAlertPolicy) ExampleOutput added in v0.13.0

func (g *GetAlertPolicy) ExampleOutput() map[string]any

func (*GetAlertPolicy) Execute added in v0.13.0

func (g *GetAlertPolicy) Execute(ctx core.ExecutionContext) error

func (*GetAlertPolicy) HandleAction added in v0.13.0

func (g *GetAlertPolicy) HandleAction(ctx core.ActionContext) error

func (*GetAlertPolicy) HandleWebhook added in v0.13.0

func (*GetAlertPolicy) Icon added in v0.13.0

func (g *GetAlertPolicy) Icon() string

func (*GetAlertPolicy) Label added in v0.13.0

func (g *GetAlertPolicy) Label() string

func (*GetAlertPolicy) Name added in v0.13.0

func (g *GetAlertPolicy) Name() string

func (*GetAlertPolicy) OutputChannels added in v0.13.0

func (g *GetAlertPolicy) OutputChannels(configuration any) []core.OutputChannel

func (*GetAlertPolicy) ProcessQueueItem added in v0.13.0

func (g *GetAlertPolicy) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetAlertPolicy) Setup added in v0.13.0

func (g *GetAlertPolicy) Setup(ctx core.SetupContext) error

type GetAlertPolicySpec added in v0.13.0

type GetAlertPolicySpec struct {
	AlertPolicy string `json:"alertPolicy" mapstructure:"alertPolicy"`
}

type GetApp added in v0.14.0

type GetApp struct{}

func (*GetApp) Actions added in v0.14.0

func (g *GetApp) Actions() []core.Action

func (*GetApp) Cancel added in v0.14.0

func (g *GetApp) Cancel(ctx core.ExecutionContext) error

func (*GetApp) Cleanup added in v0.14.0

func (g *GetApp) Cleanup(ctx core.SetupContext) error

func (*GetApp) Color added in v0.14.0

func (g *GetApp) Color() string

func (*GetApp) Configuration added in v0.14.0

func (g *GetApp) Configuration() []configuration.Field

func (*GetApp) Description added in v0.14.0

func (g *GetApp) Description() string

func (*GetApp) Documentation added in v0.14.0

func (g *GetApp) Documentation() string

func (*GetApp) ExampleOutput added in v0.14.0

func (g *GetApp) ExampleOutput() map[string]any

func (*GetApp) Execute added in v0.14.0

func (g *GetApp) Execute(ctx core.ExecutionContext) error

func (*GetApp) HandleAction added in v0.14.0

func (g *GetApp) HandleAction(ctx core.ActionContext) error

func (*GetApp) HandleWebhook added in v0.14.0

func (g *GetApp) HandleWebhook(ctx core.WebhookRequestContext) (int, *core.WebhookResponseBody, error)

func (*GetApp) Icon added in v0.14.0

func (g *GetApp) Icon() string

func (*GetApp) Label added in v0.14.0

func (g *GetApp) Label() string

func (*GetApp) Name added in v0.14.0

func (g *GetApp) Name() string

func (*GetApp) OutputChannels added in v0.14.0

func (g *GetApp) OutputChannels(configuration any) []core.OutputChannel

func (*GetApp) ProcessQueueItem added in v0.14.0

func (g *GetApp) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetApp) Setup added in v0.14.0

func (g *GetApp) Setup(ctx core.SetupContext) error

type GetAppSpec added in v0.14.0

type GetAppSpec struct {
	App string `json:"app" mapstructure:"app"`
}

type GetDroplet added in v0.12.0

type GetDroplet struct{}

func (*GetDroplet) Actions added in v0.12.0

func (g *GetDroplet) Actions() []core.Action

func (*GetDroplet) Cancel added in v0.12.0

func (g *GetDroplet) Cancel(ctx core.ExecutionContext) error

func (*GetDroplet) Cleanup added in v0.12.0

func (g *GetDroplet) Cleanup(ctx core.SetupContext) error

func (*GetDroplet) Color added in v0.12.0

func (g *GetDroplet) Color() string

func (*GetDroplet) Configuration added in v0.12.0

func (g *GetDroplet) Configuration() []configuration.Field

func (*GetDroplet) Description added in v0.12.0

func (g *GetDroplet) Description() string

func (*GetDroplet) Documentation added in v0.12.0

func (g *GetDroplet) Documentation() string

func (*GetDroplet) ExampleOutput added in v0.12.0

func (g *GetDroplet) ExampleOutput() map[string]any

func (*GetDroplet) Execute added in v0.12.0

func (g *GetDroplet) Execute(ctx core.ExecutionContext) error

func (*GetDroplet) HandleAction added in v0.12.0

func (g *GetDroplet) HandleAction(ctx core.ActionContext) error

func (*GetDroplet) HandleWebhook added in v0.12.0

func (*GetDroplet) Icon added in v0.12.0

func (g *GetDroplet) Icon() string

func (*GetDroplet) Label added in v0.12.0

func (g *GetDroplet) Label() string

func (*GetDroplet) Name added in v0.12.0

func (g *GetDroplet) Name() string

func (*GetDroplet) OutputChannels added in v0.12.0

func (g *GetDroplet) OutputChannels(configuration any) []core.OutputChannel

func (*GetDroplet) ProcessQueueItem added in v0.12.0

func (g *GetDroplet) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetDroplet) Setup added in v0.12.0

func (g *GetDroplet) Setup(ctx core.SetupContext) error

type GetDropletMetrics added in v0.13.0

type GetDropletMetrics struct{}

func (*GetDropletMetrics) Actions added in v0.13.0

func (g *GetDropletMetrics) Actions() []core.Action

func (*GetDropletMetrics) Cancel added in v0.13.0

func (*GetDropletMetrics) Cleanup added in v0.13.0

func (g *GetDropletMetrics) Cleanup(ctx core.SetupContext) error

func (*GetDropletMetrics) Color added in v0.13.0

func (g *GetDropletMetrics) Color() string

func (*GetDropletMetrics) Configuration added in v0.13.0

func (g *GetDropletMetrics) Configuration() []configuration.Field

func (*GetDropletMetrics) Description added in v0.13.0

func (g *GetDropletMetrics) Description() string

func (*GetDropletMetrics) Documentation added in v0.13.0

func (g *GetDropletMetrics) Documentation() string

func (*GetDropletMetrics) ExampleOutput added in v0.13.0

func (g *GetDropletMetrics) ExampleOutput() map[string]any

func (*GetDropletMetrics) Execute added in v0.13.0

func (g *GetDropletMetrics) Execute(ctx core.ExecutionContext) error

func (*GetDropletMetrics) HandleAction added in v0.13.0

func (g *GetDropletMetrics) HandleAction(ctx core.ActionContext) error

func (*GetDropletMetrics) HandleWebhook added in v0.13.0

func (*GetDropletMetrics) Icon added in v0.13.0

func (g *GetDropletMetrics) Icon() string

func (*GetDropletMetrics) Label added in v0.13.0

func (g *GetDropletMetrics) Label() string

func (*GetDropletMetrics) Name added in v0.13.0

func (g *GetDropletMetrics) Name() string

func (*GetDropletMetrics) OutputChannels added in v0.13.0

func (g *GetDropletMetrics) OutputChannels(configuration any) []core.OutputChannel

func (*GetDropletMetrics) ProcessQueueItem added in v0.13.0

func (g *GetDropletMetrics) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetDropletMetrics) Setup added in v0.13.0

func (g *GetDropletMetrics) Setup(ctx core.SetupContext) error

type GetDropletMetricsSpec added in v0.13.0

type GetDropletMetricsSpec struct {
	Droplet        string `json:"droplet" mapstructure:"droplet"`
	LookbackPeriod string `json:"lookbackPeriod" mapstructure:"lookbackPeriod"`
}

type GetDropletSpec added in v0.12.0

type GetDropletSpec struct {
	Droplet string `json:"droplet"`
}

type GetObject added in v0.14.0

type GetObject struct{}

func (*GetObject) Actions added in v0.14.0

func (g *GetObject) Actions() []core.Action

func (*GetObject) Cancel added in v0.14.0

func (g *GetObject) Cancel(ctx core.ExecutionContext) error

func (*GetObject) Cleanup added in v0.14.0

func (g *GetObject) Cleanup(ctx core.SetupContext) error

func (*GetObject) Color added in v0.14.0

func (g *GetObject) Color() string

func (*GetObject) Configuration added in v0.14.0

func (g *GetObject) Configuration() []configuration.Field

func (*GetObject) Description added in v0.14.0

func (g *GetObject) Description() string

func (*GetObject) Documentation added in v0.14.0

func (g *GetObject) Documentation() string

func (*GetObject) ExampleOutput added in v0.14.0

func (g *GetObject) ExampleOutput() map[string]any

func (*GetObject) Execute added in v0.14.0

func (g *GetObject) Execute(ctx core.ExecutionContext) error

func (*GetObject) HandleAction added in v0.14.0

func (g *GetObject) HandleAction(ctx core.ActionContext) error

func (*GetObject) HandleWebhook added in v0.14.0

func (*GetObject) Icon added in v0.14.0

func (g *GetObject) Icon() string

func (*GetObject) Label added in v0.14.0

func (g *GetObject) Label() string

func (*GetObject) Name added in v0.14.0

func (g *GetObject) Name() string

func (*GetObject) OutputChannels added in v0.14.0

func (g *GetObject) OutputChannels(configuration any) []core.OutputChannel

func (*GetObject) ProcessQueueItem added in v0.14.0

func (g *GetObject) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*GetObject) Setup added in v0.14.0

func (g *GetObject) Setup(ctx core.SetupContext) error

type GetObjectSpec added in v0.14.0

type GetObjectSpec struct {
	Bucket      string `mapstructure:"bucket"`
	FilePath    string `mapstructure:"filePath"`
	IncludeBody bool   `mapstructure:"includeBody"`
}

type GitHubSource added in v0.14.0

type GitHubSource struct {
	Repo         string `json:"repo"`
	Branch       string `json:"branch,omitempty"`
	DeployOnPush bool   `json:"deploy_on_push"`
}

GitHubSource represents a GitHub repository source

type GitLabSource added in v0.14.0

type GitLabSource struct {
	Repo         string `json:"repo"`
	Branch       string `json:"branch,omitempty"`
	DeployOnPush bool   `json:"deploy_on_push"`
}

GitLabSource represents a GitLab repository source

type GitSource added in v0.14.0

type GitSource struct {
	RepoCloneURL string `json:"repo_clone_url"`
	Branch       string `json:"branch,omitempty"`
}

GitSource represents a generic Git repository source

type HealthCheck added in v0.14.0

type HealthCheck struct {
	HTTPPath            string `json:"http_path,omitempty"`
	InitialDelaySeconds int32  `json:"initial_delay_seconds,omitempty"`
	PeriodSeconds       int32  `json:"period_seconds,omitempty"`
	TimeoutSeconds      int32  `json:"timeout_seconds,omitempty"`
	SuccessThreshold    int32  `json:"success_threshold,omitempty"`
	FailureThreshold    int32  `json:"failure_threshold,omitempty"`
}

HealthCheck represents health check configuration

type Image

type Image struct {
	ID           int    `json:"id"`
	Name         string `json:"name"`
	Slug         string `json:"slug"`
	Type         string `json:"type"`
	Distribution string `json:"distribution"`
}

Image represents a DigitalOcean image

type ImageSource added in v0.14.0

type ImageSource struct {
	RegistryType string `json:"registry_type"`
	Registry     string `json:"registry,omitempty"`
	Repository   string `json:"repository"`
	Tag          string `json:"tag,omitempty"`
}

ImageSource represents a container image source

type LBNodeMetadata added in v0.13.0

type LBNodeMetadata struct {
	LBID   string `json:"lbId" mapstructure:"lbId"`
	LBName string `json:"lbName" mapstructure:"lbName"`
}

LBNodeMetadata stores metadata about a load balancer for display in the UI

type LoadBalancer added in v0.13.0

type LoadBalancer struct {
	ID              string           `json:"id"`
	Name            string           `json:"name"`
	IP              string           `json:"ip"`
	Status          string           `json:"status"`
	Algorithm       string           `json:"algorithm"`
	Region          DropletRegion    `json:"region"`
	ForwardingRules []ForwardingRule `json:"forwarding_rules"`
	DropletIDs      []int            `json:"droplet_ids"`
	Tag             string           `json:"tag"`
	CreatedAt       string           `json:"created_at"`
}

LoadBalancer represents a DigitalOcean load balancer

type ManageDropletPower added in v0.12.0

type ManageDropletPower struct{}

func (*ManageDropletPower) Actions added in v0.12.0

func (m *ManageDropletPower) Actions() []core.Action

func (*ManageDropletPower) Cancel added in v0.12.0

func (*ManageDropletPower) Cleanup added in v0.12.0

func (m *ManageDropletPower) Cleanup(ctx core.SetupContext) error

func (*ManageDropletPower) Color added in v0.12.0

func (m *ManageDropletPower) Color() string

func (*ManageDropletPower) Configuration added in v0.12.0

func (m *ManageDropletPower) Configuration() []configuration.Field

func (*ManageDropletPower) Description added in v0.12.0

func (m *ManageDropletPower) Description() string

func (*ManageDropletPower) Documentation added in v0.12.0

func (m *ManageDropletPower) Documentation() string

func (*ManageDropletPower) ExampleOutput added in v0.12.0

func (m *ManageDropletPower) ExampleOutput() map[string]any

func (*ManageDropletPower) Execute added in v0.12.0

func (*ManageDropletPower) HandleAction added in v0.12.0

func (m *ManageDropletPower) HandleAction(ctx core.ActionContext) error

func (*ManageDropletPower) HandleWebhook added in v0.12.0

func (*ManageDropletPower) Icon added in v0.12.0

func (m *ManageDropletPower) Icon() string

func (*ManageDropletPower) Label added in v0.12.0

func (m *ManageDropletPower) Label() string

func (*ManageDropletPower) Name added in v0.12.0

func (m *ManageDropletPower) Name() string

func (*ManageDropletPower) OutputChannels added in v0.12.0

func (m *ManageDropletPower) OutputChannels(configuration any) []core.OutputChannel

func (*ManageDropletPower) ProcessQueueItem added in v0.12.0

func (m *ManageDropletPower) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*ManageDropletPower) Setup added in v0.12.0

func (m *ManageDropletPower) Setup(ctx core.SetupContext) error

type ManageDropletPowerSpec added in v0.12.0

type ManageDropletPowerSpec struct {
	Droplet   string `json:"droplet"`
	Operation string `json:"operation"`
}

type Metadata

type Metadata struct {
	AccountEmail string `json:"accountEmail"`
	AccountUUID  string `json:"accountUUID"`
}

type MetricsData added in v0.13.0

type MetricsData struct {
	ResultType string          `json:"resultType"`
	Result     []MetricsResult `json:"result"`
}

MetricsData is the data envelope returned by the monitoring metrics API

type MetricsResponse added in v0.13.0

type MetricsResponse struct {
	Status string      `json:"status"`
	Data   MetricsData `json:"data"`
}

MetricsResponse is the top-level response from the monitoring metrics API

type MetricsResult added in v0.13.0

type MetricsResult struct {
	Metric map[string]string `json:"metric"`
	Values []MetricsValue    `json:"values"`
}

MetricsResult represents a single labeled metric time series

type MetricsValue added in v0.13.0

type MetricsValue []any

MetricsValue represents a single data point in a metric series: [unix_timestamp, string_value]

type ObjectResult added in v0.14.0

type ObjectResult struct {
	ContentType   string
	ContentLength int64
	LastModified  string
	ETag          string
	Metadata      map[string]string
	Body          []byte
	NotFound      bool
}

ObjectResult holds the response from a GetObject call.

type PendingDeployment added in v0.14.0

type PendingDeployment struct {
	ID string `json:"id"`
}

type PutObject added in v0.14.0

type PutObject struct{}

func (*PutObject) Actions added in v0.14.0

func (p *PutObject) Actions() []core.Action

func (*PutObject) Cancel added in v0.14.0

func (p *PutObject) Cancel(ctx core.ExecutionContext) error

func (*PutObject) Cleanup added in v0.14.0

func (p *PutObject) Cleanup(ctx core.SetupContext) error

func (*PutObject) Color added in v0.14.0

func (p *PutObject) Color() string

func (*PutObject) Configuration added in v0.14.0

func (p *PutObject) Configuration() []configuration.Field

func (*PutObject) Description added in v0.14.0

func (p *PutObject) Description() string

func (*PutObject) Documentation added in v0.14.0

func (p *PutObject) Documentation() string

func (*PutObject) ExampleOutput added in v0.14.0

func (p *PutObject) ExampleOutput() map[string]any

func (*PutObject) Execute added in v0.14.0

func (p *PutObject) Execute(ctx core.ExecutionContext) error

func (*PutObject) HandleAction added in v0.14.0

func (p *PutObject) HandleAction(ctx core.ActionContext) error

func (*PutObject) HandleWebhook added in v0.14.0

func (*PutObject) Icon added in v0.14.0

func (p *PutObject) Icon() string

func (*PutObject) Label added in v0.14.0

func (p *PutObject) Label() string

func (*PutObject) Name added in v0.14.0

func (p *PutObject) Name() string

func (*PutObject) OutputChannels added in v0.14.0

func (p *PutObject) OutputChannels(configuration any) []core.OutputChannel

func (*PutObject) ProcessQueueItem added in v0.14.0

func (p *PutObject) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*PutObject) Setup added in v0.14.0

func (p *PutObject) Setup(ctx core.SetupContext) error

type PutObjectSpec added in v0.14.0

type PutObjectSpec struct {
	Bucket   string         `mapstructure:"bucket"`
	FilePath string         `mapstructure:"filePath"`
	Body     string         `mapstructure:"body"`
	ACL      string         `mapstructure:"acl"`
	Metadata map[string]any `mapstructure:"metadata"`
	Tags     map[string]any `mapstructure:"tags"`
}

type Region

type Region struct {
	Slug      string `json:"slug"`
	Name      string `json:"name"`
	Available bool   `json:"available"`
}

Region represents a DigitalOcean region

type ReservedIP added in v0.13.0

type ReservedIP struct {
	IP         string `json:"ip"`
	RegionSlug string `json:"region_slug"`
	Locked     bool   `json:"locked"`
}

ReservedIP represents a DigitalOcean reserved IP

type SSHKey added in v0.13.0

type SSHKey struct {
	ID          int    `json:"id"`
	Fingerprint string `json:"fingerprint"`
	Name        string `json:"name"`
}

SSHKey represents a DigitalOcean SSH key

type Size

type Size struct {
	Slug         string  `json:"slug"`
	Memory       int     `json:"memory"`
	VCPUs        int     `json:"vcpus"`
	Disk         int     `json:"disk"`
	PriceMonthly float64 `json:"price_monthly"`
	Available    bool    `json:"available"`
}

Size represents a DigitalOcean droplet size

type Snapshot added in v0.12.0

type Snapshot struct {
	ID            json.Number `json:"id"`
	Name          string      `json:"name"`
	CreatedAt     string      `json:"created_at"`
	ResourceID    string      `json:"resource_id"`
	ResourceType  string      `json:"resource_type"`
	Regions       []string    `json:"regions"`
	MinDiskSize   int         `json:"min_disk_size"`
	SizeGigabytes float64     `json:"size_gigabytes"`
}

Snapshot represents a DigitalOcean snapshot

type SnapshotNodeMetadata added in v0.12.0

type SnapshotNodeMetadata struct {
	SnapshotID   string `json:"snapshotId" mapstructure:"snapshotId"`
	SnapshotName string `json:"snapshotName" mapstructure:"snapshotName"`
}

SnapshotNodeMetadata stores metadata about a snapshot for display in the UI

type SpacesClient added in v0.14.0

type SpacesClient struct {
	AccessKey string
	SecretKey string
	Region    string
	// contains filtered or unexported fields
}

SpacesClient handles S3-compatible requests to DigitalOcean Spaces. It uses AWS Signature Version 4 for authentication.

func NewSpacesClient added in v0.14.0

func NewSpacesClient(httpCtx core.HTTPContext, ctx core.IntegrationContext, region string) (*SpacesClient, error)

NewSpacesClient creates a new SpacesClient using credentials from the integration configuration.

func (*SpacesClient) CopyObject added in v0.14.0

func (c *SpacesClient) CopyObject(sourceBucket, sourceKey, destBucket, destKey, acl string) (string, error)

CopyObject copies an object from one location to another within Spaces. The x-amz-copy-source header is included in the signed headers as required by AWS SigV4.

func (*SpacesClient) DeleteObject added in v0.14.0

func (c *SpacesClient) DeleteObject(bucket, key string) error

DeleteObject removes an object from a Spaces bucket. The Spaces API always returns 204 No Content, even if the object does not exist.

func (*SpacesClient) GetObject added in v0.14.0

func (c *SpacesClient) GetObject(bucket, key string, includeBody bool) (*ObjectResult, error)

GetObject retrieves an object (and optionally its body) from a Spaces bucket.

func (*SpacesClient) GetObjectTagging added in v0.14.0

func (c *SpacesClient) GetObjectTagging(bucket, key string) (map[string]string, error)

GetObjectTagging retrieves the tags applied to an object in a Spaces bucket.

func (*SpacesClient) ListBuckets added in v0.14.0

func (c *SpacesClient) ListBuckets() ([]string, error)

ListBuckets returns all Spaces buckets in the client's region.

func (*SpacesClient) PutObject added in v0.14.0

func (c *SpacesClient) PutObject(bucket, key, body, contentType, acl string, metadata, tags map[string]string) (string, error)

PutObject uploads an object to a Spaces bucket. It returns the ETag of the uploaded object.

type UpdateAlertPolicy added in v0.13.0

type UpdateAlertPolicy struct{}

func (*UpdateAlertPolicy) Actions added in v0.13.0

func (u *UpdateAlertPolicy) Actions() []core.Action

func (*UpdateAlertPolicy) Cancel added in v0.13.0

func (*UpdateAlertPolicy) Cleanup added in v0.13.0

func (u *UpdateAlertPolicy) Cleanup(ctx core.SetupContext) error

func (*UpdateAlertPolicy) Color added in v0.13.0

func (u *UpdateAlertPolicy) Color() string

func (*UpdateAlertPolicy) Configuration added in v0.13.0

func (u *UpdateAlertPolicy) Configuration() []configuration.Field

func (*UpdateAlertPolicy) Description added in v0.13.0

func (u *UpdateAlertPolicy) Description() string

func (*UpdateAlertPolicy) Documentation added in v0.13.0

func (u *UpdateAlertPolicy) Documentation() string

func (*UpdateAlertPolicy) ExampleOutput added in v0.13.0

func (u *UpdateAlertPolicy) ExampleOutput() map[string]any

func (*UpdateAlertPolicy) Execute added in v0.13.0

func (u *UpdateAlertPolicy) Execute(ctx core.ExecutionContext) error

func (*UpdateAlertPolicy) HandleAction added in v0.13.0

func (u *UpdateAlertPolicy) HandleAction(ctx core.ActionContext) error

func (*UpdateAlertPolicy) HandleWebhook added in v0.13.0

func (*UpdateAlertPolicy) Icon added in v0.13.0

func (u *UpdateAlertPolicy) Icon() string

func (*UpdateAlertPolicy) Label added in v0.13.0

func (u *UpdateAlertPolicy) Label() string

func (*UpdateAlertPolicy) Name added in v0.13.0

func (u *UpdateAlertPolicy) Name() string

func (*UpdateAlertPolicy) OutputChannels added in v0.13.0

func (u *UpdateAlertPolicy) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateAlertPolicy) ProcessQueueItem added in v0.13.0

func (u *UpdateAlertPolicy) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*UpdateAlertPolicy) Setup added in v0.13.0

func (u *UpdateAlertPolicy) Setup(ctx core.SetupContext) error

type UpdateAlertPolicyRequest added in v0.13.0

type UpdateAlertPolicyRequest struct {
	Type        string            `json:"type"`
	Description string            `json:"description"`
	Compare     string            `json:"compare"`
	Value       float64           `json:"value"`
	Window      string            `json:"window"`
	Entities    []string          `json:"entities,omitempty"`
	Tags        []string          `json:"tags,omitempty"`
	Alerts      AlertPolicyAlerts `json:"alerts"`
	Enabled     bool              `json:"enabled"`
}

UpdateAlertPolicyRequest is the payload for updating a monitoring alert policy

type UpdateAlertPolicySpec added in v0.13.0

type UpdateAlertPolicySpec struct {
	AlertPolicy  string   `json:"alertPolicy" mapstructure:"alertPolicy"`
	Description  string   `json:"description" mapstructure:"description"`
	Type         string   `json:"type" mapstructure:"type"`
	Compare      string   `json:"compare" mapstructure:"compare"`
	Value        float64  `json:"value" mapstructure:"value"`
	Window       string   `json:"window" mapstructure:"window"`
	Entities     []string `json:"entities" mapstructure:"entities"`
	Tags         []string `json:"tags" mapstructure:"tags"`
	Enabled      bool     `json:"enabled" mapstructure:"enabled"`
	Email        []string `json:"email" mapstructure:"email"`
	SlackChannel string   `json:"slackChannel" mapstructure:"slackChannel"`
	SlackURL     string   `json:"slackUrl" mapstructure:"slackUrl"`
}

type UpdateApp added in v0.14.0

type UpdateApp struct{}

func (*UpdateApp) Actions added in v0.14.0

func (u *UpdateApp) Actions() []core.Action

func (*UpdateApp) Cancel added in v0.14.0

func (u *UpdateApp) Cancel(ctx core.ExecutionContext) error

func (*UpdateApp) Cleanup added in v0.14.0

func (u *UpdateApp) Cleanup(ctx core.SetupContext) error

func (*UpdateApp) Color added in v0.14.0

func (u *UpdateApp) Color() string

func (*UpdateApp) Configuration added in v0.14.0

func (u *UpdateApp) Configuration() []configuration.Field

func (*UpdateApp) Description added in v0.14.0

func (u *UpdateApp) Description() string

func (*UpdateApp) Documentation added in v0.14.0

func (u *UpdateApp) Documentation() string

func (*UpdateApp) ExampleOutput added in v0.14.0

func (u *UpdateApp) ExampleOutput() map[string]any

func (*UpdateApp) Execute added in v0.14.0

func (u *UpdateApp) Execute(ctx core.ExecutionContext) error

func (*UpdateApp) HandleAction added in v0.14.0

func (u *UpdateApp) HandleAction(ctx core.ActionContext) error

func (*UpdateApp) HandleWebhook added in v0.14.0

func (*UpdateApp) Icon added in v0.14.0

func (u *UpdateApp) Icon() string

func (*UpdateApp) Label added in v0.14.0

func (u *UpdateApp) Label() string

func (*UpdateApp) Name added in v0.14.0

func (u *UpdateApp) Name() string

func (*UpdateApp) OutputChannels added in v0.14.0

func (u *UpdateApp) OutputChannels(configuration any) []core.OutputChannel

func (*UpdateApp) ProcessQueueItem added in v0.14.0

func (u *UpdateApp) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*UpdateApp) Setup added in v0.14.0

func (u *UpdateApp) Setup(ctx core.SetupContext) error

type UpdateAppRequest added in v0.14.0

type UpdateAppRequest struct {
	Spec *AppSpec `json:"spec"`
}

UpdateAppRequest is the payload for updating an app

type UpdateAppSpec added in v0.14.0

type UpdateAppSpec struct {
	App              string   `json:"app" mapstructure:"app"`
	Name             string   `json:"name" mapstructure:"name"`
	Region           string   `json:"region" mapstructure:"region"`
	Branch           string   `json:"branch" mapstructure:"branch"`
	DeployOnPush     *bool    `json:"deployOnPush" mapstructure:"deployOnPush"`
	EnvironmentSlug  string   `json:"environmentSlug" mapstructure:"environmentSlug"`
	BuildCommand     string   `json:"buildCommand" mapstructure:"buildCommand"`
	RunCommand       string   `json:"runCommand" mapstructure:"runCommand"`
	SourceDir        string   `json:"sourceDir" mapstructure:"sourceDir"`
	HTTPPort         int64    `json:"httpPort" mapstructure:"httpPort"`
	InstanceSizeSlug string   `json:"instanceSizeSlug" mapstructure:"instanceSizeSlug"`
	InstanceCount    int64    `json:"instanceCount" mapstructure:"instanceCount"`
	OutputDir        string   `json:"outputDir" mapstructure:"outputDir"`
	IndexDocument    string   `json:"indexDocument" mapstructure:"indexDocument"`
	ErrorDocument    string   `json:"errorDocument" mapstructure:"errorDocument"`
	CatchallDocument string   `json:"catchallDocument" mapstructure:"catchallDocument"`
	EnvVars          []string `json:"envVars" mapstructure:"envVars"`

	// Ingress configuration
	IngressPath      string   `json:"ingressPath" mapstructure:"ingressPath"`
	CORSAllowOrigins []string `json:"corsAllowOrigins" mapstructure:"corsAllowOrigins"`
	CORSAllowMethods []string `json:"corsAllowMethods" mapstructure:"corsAllowMethods"`

	// Database configuration
	AddDatabase         bool   `json:"addDatabase" mapstructure:"addDatabase"`
	DatabaseName        string `json:"databaseName" mapstructure:"databaseName"`
	DatabaseEngine      string `json:"databaseEngine" mapstructure:"databaseEngine"`
	DatabaseVersion     string `json:"databaseVersion" mapstructure:"databaseVersion"`
	DatabaseProduction  bool   `json:"databaseProduction" mapstructure:"databaseProduction"`
	DatabaseClusterName string `json:"databaseClusterName" mapstructure:"databaseClusterName"`
	DatabaseDBName      string `json:"databaseDBName" mapstructure:"databaseDBName"`
	DatabaseDBUser      string `json:"databaseDBUser" mapstructure:"databaseDBUser"`

	// VPC configuration
	VPCID string `json:"vpcID" mapstructure:"vpcID"`
}

type UpsertDNSRecord added in v0.13.0

type UpsertDNSRecord struct{}

func (*UpsertDNSRecord) Actions added in v0.13.0

func (u *UpsertDNSRecord) Actions() []core.Action

func (*UpsertDNSRecord) Cancel added in v0.13.0

func (u *UpsertDNSRecord) Cancel(ctx core.ExecutionContext) error

func (*UpsertDNSRecord) Cleanup added in v0.13.0

func (u *UpsertDNSRecord) Cleanup(ctx core.SetupContext) error

func (*UpsertDNSRecord) Color added in v0.13.0

func (u *UpsertDNSRecord) Color() string

func (*UpsertDNSRecord) Configuration added in v0.13.0

func (u *UpsertDNSRecord) Configuration() []configuration.Field

func (*UpsertDNSRecord) Description added in v0.13.0

func (u *UpsertDNSRecord) Description() string

func (*UpsertDNSRecord) Documentation added in v0.13.0

func (u *UpsertDNSRecord) Documentation() string

func (*UpsertDNSRecord) ExampleOutput added in v0.13.0

func (u *UpsertDNSRecord) ExampleOutput() map[string]any

func (*UpsertDNSRecord) Execute added in v0.13.0

func (u *UpsertDNSRecord) Execute(ctx core.ExecutionContext) error

func (*UpsertDNSRecord) HandleAction added in v0.13.0

func (u *UpsertDNSRecord) HandleAction(ctx core.ActionContext) error

func (*UpsertDNSRecord) HandleWebhook added in v0.13.0

func (*UpsertDNSRecord) Icon added in v0.13.0

func (u *UpsertDNSRecord) Icon() string

func (*UpsertDNSRecord) Label added in v0.13.0

func (u *UpsertDNSRecord) Label() string

func (*UpsertDNSRecord) Name added in v0.13.0

func (u *UpsertDNSRecord) Name() string

func (*UpsertDNSRecord) OutputChannels added in v0.13.0

func (u *UpsertDNSRecord) OutputChannels(configuration any) []core.OutputChannel

func (*UpsertDNSRecord) ProcessQueueItem added in v0.13.0

func (u *UpsertDNSRecord) ProcessQueueItem(ctx core.ProcessQueueContext) (*uuid.UUID, error)

func (*UpsertDNSRecord) Setup added in v0.13.0

func (u *UpsertDNSRecord) Setup(ctx core.SetupContext) error

type UpsertDNSRecordSpec added in v0.13.0

type UpsertDNSRecordSpec struct {
	Domain   string `json:"domain"`
	Type     string `json:"type"`
	Name     string `json:"name"`
	Data     string `json:"data"`
	TTL      string `json:"ttl"`
	Priority string `json:"priority"`
	Port     string `json:"port"`
	Weight   string `json:"weight"`
}

type VPC added in v0.13.0

type VPC struct {
	ID          string `json:"id"`
	URN         string `json:"urn"`
	Name        string `json:"name"`
	Description string `json:"description"`
	RegionSlug  string `json:"region"`
	IPRange     string `json:"ip_range"`
	CreatedAt   string `json:"created_at"`
	Default     bool   `json:"default"`
}

VPC represents a DigitalOcean VPC

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL