godo: github.com/digitalocean/godo Index | Files | Directories

package godo

import "github.com/digitalocean/godo"

Package godo is the DigtalOcean API v2 client for Go.

Index

Package Files

1-click.go account.go action.go apps.gen.go apps.go balance.go billing_history.go cdn.go certificates.go databases.go doc.go domains.go droplet_actions.go droplets.go errors.go firewalls.go floating_ips.go floating_ips_actions.go godo.go image_actions.go images.go invoices.go keys.go kubernetes.go links.go load_balancers.go meta.go projects.go regions.go registry.go sizes.go snapshots.go storage.go storage_actions.go strings.go tags.go timestamp.go vpcs.go

Constants

const (

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

    //ActionCompleted is a completed action status
    ActionCompleted = "completed"
)
const (
    SQLModeAllowInvalidDates     = "ALLOW_INVALID_DATES"
    SQLModeANSIQuotes            = "ANSI_QUOTES"
    SQLModeHighNotPrecedence     = "HIGH_NOT_PRECEDENCE"
    SQLModeIgnoreSpace           = "IGNORE_SPACE"
    SQLModeNoAuthCreateUser      = "NO_AUTO_CREATE_USER"
    SQLModeNoAutoValueOnZero     = "NO_AUTO_VALUE_ON_ZERO"
    SQLModeNoBackslashEscapes    = "NO_BACKSLASH_ESCAPES"
    SQLModeNoDirInCreate         = "NO_DIR_IN_CREATE"
    SQLModeNoEngineSubstitution  = "NO_ENGINE_SUBSTITUTION"
    SQLModeNoFieldOptions        = "NO_FIELD_OPTIONS"
    SQLModeNoKeyOptions          = "NO_KEY_OPTIONS"
    SQLModeNoTableOptions        = "NO_TABLE_OPTIONS"
    SQLModeNoUnsignedSubtraction = "NO_UNSIGNED_SUBTRACTION"
    SQLModeNoZeroDate            = "NO_ZERO_DATE"
    SQLModeNoZeroInDate          = "NO_ZERO_IN_DATE"
    SQLModeOnlyFullGroupBy       = "ONLY_FULL_GROUP_BY"
    SQLModePadCharToFullLength   = "PAD_CHAR_TO_FULL_LENGTH"
    SQLModePipesAsConcat         = "PIPES_AS_CONCAT"
    SQLModeRealAsFloat           = "REAL_AS_FLOAT"
    SQLModeStrictAllTables       = "STRICT_ALL_TABLES"
    SQLModeStrictTransTables     = "STRICT_TRANS_TABLES"
    SQLModeANSI                  = "ANSI"
    SQLModeDB2                   = "DB2"
    SQLModeMaxDB                 = "MAXDB"
    SQLModeMSSQL                 = "MSSQL"
    SQLModeMYSQL323              = "MYSQL323"
    SQLModeMYSQL40               = "MYSQL40"
    SQLModeOracle                = "ORACLE"
    SQLModePostgreSQL            = "POSTGRESQL"
    SQLModeTraditional           = "TRADITIONAL"
)

SQL Mode constants allow for MySQL-specific SQL flavor configuration.

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

SQL Auth constants allow for MySQL-specific user auth plugins

const (
    EvictionPolicyNoEviction     = "noeviction"
    EvictionPolicyAllKeysLRU     = "allkeys_lru"
    EvictionPolicyAllKeysRandom  = "allkeys_random"
    EvictionPolicyVolatileLRU    = "volatile_lru"
    EvictionPolicyVolatileRandom = "volatile_random"
    EvictionPolicyVolatileTTL    = "volatile_ttl"
)

Redis eviction policies supported by the managed Redis product.

const (
    KubernetesClusterStatusProvisioning = KubernetesClusterStatusState("provisioning")
    KubernetesClusterStatusRunning      = KubernetesClusterStatusState("running")
    KubernetesClusterStatusDegraded     = KubernetesClusterStatusState("degraded")
    KubernetesClusterStatusError        = KubernetesClusterStatusState("error")
    KubernetesClusterStatusDeleted      = KubernetesClusterStatusState("deleted")
    KubernetesClusterStatusUpgrading    = KubernetesClusterStatusState("upgrading")
    KubernetesClusterStatusInvalid      = KubernetesClusterStatusState("invalid")
)

Possible states for a cluster.

const (
    // DefaultProject is the ID you should use if you are working with your
    // default project.
    DefaultProject = "default"
)
const (

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

func Bool Uses

func Bool(v bool) *bool

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

func CheckResponse Uses

func CheckResponse(r *http.Response) error

CheckResponse checks the API response for errors, and returns them if present. A response is considered an error if it has a status code outside the 200 range. API error responses are expected to have either no response body, or a JSON response body that maps to ErrorResponse. Any other response body will be silently ignored.

func DoRequest Uses

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

DoRequest submits an HTTP request.

func DoRequestWithClient Uses

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

DoRequestWithClient submits an HTTP request using the specified client.

func Int Uses

func Int(v int) *int

Int is a helper routine that allocates a new int32 value to store v and returns a pointer to it, but unlike Int32 its argument value is an int.

func StreamToString Uses

func StreamToString(stream io.Reader) string

StreamToString converts a reader to a string

func String Uses

func String(v string) *string

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

func Stringify Uses

func Stringify(message interface{}) string

Stringify attempts to create a string representation of DigitalOcean types

func ToURN Uses

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

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

type Account Uses

type Account struct {
    DropletLimit    int    `json:"droplet_limit,omitempty"`
    FloatingIPLimit int    `json:"floating_ip_limit,omitempty"`
    VolumeLimit     int    `json:"volume_limit,omitempty"`
    Email           string `json:"email,omitempty"`
    UUID            string `json:"uuid,omitempty"`
    EmailVerified   bool   `json:"email_verified,omitempty"`
    Status          string `json:"status,omitempty"`
    StatusMessage   string `json:"status_message,omitempty"`
}

Account represents a DigitalOcean Account

func (Account) String Uses

func (r Account) String() string

type AccountService Uses

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

AccountService is an interface for interfacing with the Account endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2/#account

type AccountServiceOp Uses

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

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

func (*AccountServiceOp) Get Uses

func (s *AccountServiceOp) Get(ctx context.Context) (*Account, *Response, error)

Get DigitalOcean account info

type Action Uses

type Action struct {
    ID           int        `json:"id"`
    Status       string     `json:"status"`
    Type         string     `json:"type"`
    StartedAt    *Timestamp `json:"started_at"`
    CompletedAt  *Timestamp `json:"completed_at"`
    ResourceID   int        `json:"resource_id"`
    ResourceType string     `json:"resource_type"`
    Region       *Region    `json:"region,omitempty"`
    RegionSlug   string     `json:"region_slug,omitempty"`
}

Action represents a DigitalOcean Action

func (Action) String Uses

func (a Action) String() string

type ActionRequest Uses

type ActionRequest map[string]interface{}

ActionRequest reprents DigitalOcean Action Request

type ActionsService Uses

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

ActionsService handles communction with action related methods of the DigitalOcean API: https://developers.digitalocean.com/documentation/v2#actions

type ActionsServiceOp Uses

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

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

func (*ActionsServiceOp) Get Uses

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

Get an action by ID.

func (*ActionsServiceOp) List Uses

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

List all actions

type Address Uses

type Address struct {
    AddressLine1    string    `json:"address_line1"`
    AddressLine2    string    `json:"address_line2"`
    City            string    `json:"city"`
    Region          string    `json:"region"`
    PostalCode      string    `json:"postal_code"`
    CountryISO2Code string    `json:"country_iso2_code"`
    CreatedAt       time.Time `json:"created_at"`
    UpdatedAt       time.Time `json:"updated_at"`
}

Address represents the billing address of a customer

type App Uses

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

App An application's configuration and status.

type AppCORSPolicy Uses

type AppCORSPolicy struct {
    // The set of allowed CORS origins.
    AllowOrigins []*AppStringMatch `json:"allow_origins,omitempty"`
}

AppCORSPolicy struct for AppCORSPolicy

type AppCreateRequest Uses

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

AppCreateRequest represents a request to create an app.

type AppDatabaseSpec Uses

type AppDatabaseSpec struct {
    // The name. Must be unique across all components within the same app.
    Name    string                `json:"name"`
    Engine  AppDatabaseSpecEngine `json:"engine,omitempty"`
    Version string                `json:"version,omitempty"`
    // Deprecated.
    Size string `json:"size,omitempty"`
    // Deprecated.
    NumNodes int64 `json:"num_nodes,omitempty"`
    // Whether this is a production or dev database.
    Production bool `json:"production,omitempty"`
    // The name of the underlying DigitalOcean DBaaS cluster. This is required for production databases. For dev databases, if cluster_name is not set, a new cluster will be provisioned.
    ClusterName string `json:"cluster_name,omitempty"`
    // The name of the MySQL or PostgreSQL database to configure.
    DBName string `json:"db_name,omitempty"`
    // The name of the MySQL or PostgreSQL user to configure.
    DBUser string `json:"db_user,omitempty"`
}

AppDatabaseSpec struct for AppDatabaseSpec

type AppDatabaseSpecEngine Uses

type AppDatabaseSpecEngine string

AppDatabaseSpecEngine the model 'AppDatabaseSpecEngine'

const (
    AppDatabaseSpecEngine_Unset AppDatabaseSpecEngine = "UNSET"
    AppDatabaseSpecEngine_MySQL AppDatabaseSpecEngine = "MYSQL"
    AppDatabaseSpecEngine_PG    AppDatabaseSpecEngine = "PG"
    AppDatabaseSpecEngine_Redis AppDatabaseSpecEngine = "REDIS"
)

List of AppDatabaseSpecEngine

type AppDomainSpec Uses

type AppDomainSpec struct {
    // The hostname.
    Domain string            `json:"domain"`
    Type   AppDomainSpecType `json:"type,omitempty"`
    // Whether the domain includes all sub-domains, in addition to the given domain.
    Wildcard bool `json:"wildcard,omitempty"`
}

AppDomainSpec struct for AppDomainSpec

type AppDomainSpecType Uses

type AppDomainSpecType string

AppDomainSpecType - DEFAULT: The default .ondigitalocean.app domain assigned to this app. - PRIMARY: The primary domain for this app. This is the domain that is displayed as the default in the control panel, used in bindable environment variables, and any other places that reference an app's live URL. Only one domain may be set as primary. - ALIAS: A non-primary domain.

const (
    AppDomainSpecType_Unspecified AppDomainSpecType = "UNSPECIFIED"
    AppDomainSpecType_Default     AppDomainSpecType = "DEFAULT"
    AppDomainSpecType_Primary     AppDomainSpecType = "PRIMARY"
    AppDomainSpecType_Alias       AppDomainSpecType = "ALIAS"
)

List of AppDomainSpecType

type AppInstanceSize Uses

type AppInstanceSize struct {
    Name            string                 `json:"name,omitempty"`
    Slug            string                 `json:"slug,omitempty"`
    CPUType         AppInstanceSizeCPUType `json:"cpu_type,omitempty"`
    CPUs            string                 `json:"cpus,omitempty"`
    MemoryBytes     string                 `json:"memory_bytes,omitempty"`
    USDPerMonth     string                 `json:"usd_per_month,omitempty"`
    USDPerSecond    string                 `json:"usd_per_second,omitempty"`
    TierSlug        string                 `json:"tier_slug,omitempty"`
    TierUpgradeTo   string                 `json:"tier_upgrade_to,omitempty"`
    TierDowngradeTo string                 `json:"tier_downgrade_to,omitempty"`
}

AppInstanceSize struct for AppInstanceSize

type AppInstanceSizeCPUType Uses

type AppInstanceSizeCPUType string

AppInstanceSizeCPUType the model 'AppInstanceSizeCPUType'

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

List of AppInstanceSizeCPUType

type AppJobSpec Uses

type AppJobSpec struct {
    // The name. Must be unique across all components within the same app.
    Name   string            `json:"name"`
    Git    *GitSourceSpec    `json:"git,omitempty"`
    GitHub *GitHubSourceSpec `json:"github,omitempty"`
    // The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.
    DockerfilePath string `json:"dockerfile_path,omitempty"`
    // An optional build command to run while building this component from source.
    BuildCommand string `json:"build_command,omitempty"`
    // An optional run command to override the component's default.
    RunCommand string `json:"run_command,omitempty"`
    // An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.
    SourceDir string `json:"source_dir,omitempty"`
    // An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).
    EnvironmentSlug string `json:"environment_slug,omitempty"`
    // A list of environment variables made available to the component.
    Envs []*AppVariableDefinition `json:"envs,omitempty"`
    // The instance size to use for this component.
    InstanceSizeSlug string         `json:"instance_size_slug,omitempty"`
    InstanceCount    int64          `json:"instance_count,omitempty"`
    Kind             AppJobSpecKind `json:"kind,omitempty"`
}

AppJobSpec struct for AppJobSpec

type AppJobSpecKind Uses

type AppJobSpecKind string

AppJobSpecKind - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind. - PRE_DEPLOY: Indicates a job that runs before an app deployment. - POST_DEPLOY: Indicates a job that runs after an app deployment.

const (
    AppJobSpecKind_Unspecified AppJobSpecKind = "UNSPECIFIED"
    AppJobSpecKind_PreDeploy   AppJobSpecKind = "PRE_DEPLOY"
    AppJobSpecKind_PostDeploy  AppJobSpecKind = "POST_DEPLOY"
)

List of AppJobSpecKind

type AppLogType Uses

type AppLogType string

AppLogType is the type of app logs.

const (
    // AppLogTypeBuild represents build logs.
    AppLogTypeBuild AppLogType = "BUILD"
    // AppLogTypeDeploy represents deploy logs.
    AppLogTypeDeploy AppLogType = "DEPLOY"
    // AppLogTypeRun represents run logs.
    AppLogTypeRun AppLogType = "RUN"
)

type AppLogs Uses

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

AppLogs represent app logs.

type AppRegion Uses

type AppRegion struct {
    Slug        string   `json:"slug,omitempty"`
    Label       string   `json:"label,omitempty"`
    Flag        string   `json:"flag,omitempty"`
    Continent   string   `json:"continent,omitempty"`
    Disabled    bool     `json:"disabled,omitempty"`
    DataCenters []string `json:"data_centers,omitempty"`
    Reason      string   `json:"reason,omitempty"`
    // Whether or not the region is presented as the default.
    Default bool `json:"default,omitempty"`
}

AppRegion struct for AppRegion

type AppRouteSpec Uses

type AppRouteSpec struct {
    // An HTTP path prefix. Paths must start with / and must be unique across all components within an app.
    Path string `json:"path,omitempty"`
}

AppRouteSpec struct for AppRouteSpec

type AppServiceSpec Uses

type AppServiceSpec struct {
    // The name. Must be unique across all components within the same app.
    Name   string            `json:"name"`
    Git    *GitSourceSpec    `json:"git,omitempty"`
    GitHub *GitHubSourceSpec `json:"github,omitempty"`
    // The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.
    DockerfilePath string `json:"dockerfile_path,omitempty"`
    // An optional build command to run while building this component from source.
    BuildCommand string `json:"build_command,omitempty"`
    // An optional run command to override the component's default.
    RunCommand string `json:"run_command,omitempty"`
    // An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.
    SourceDir string `json:"source_dir,omitempty"`
    // An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).
    EnvironmentSlug string `json:"environment_slug,omitempty"`
    // A list of environment variables made available to the component.
    Envs             []*AppVariableDefinition `json:"envs,omitempty"`
    InstanceSizeSlug string                   `json:"instance_size_slug,omitempty"`
    InstanceCount    int64                    `json:"instance_count,omitempty"`
    // The internal port on which this service's run command will listen. Default: 8080 If there is not an environment variable with the name `PORT`, one will be automatically added with its value set to the value of this field.
    HTTPPort int64 `json:"http_port,omitempty"`
    // A list of HTTP routes that should be routed to this component.
    Routes      []*AppRouteSpec            `json:"routes,omitempty"`
    HealthCheck *AppServiceSpecHealthCheck `json:"health_check,omitempty"`
    CORS        *AppCORSPolicy             `json:"cors,omitempty"`
    // The ports on which this service will listen for internal traffic.
    InternalPorts []int64 `json:"internal_ports,omitempty"`
}

AppServiceSpec struct for AppServiceSpec

type AppServiceSpecHealthCheck Uses

type AppServiceSpecHealthCheck struct {
    // Deprecated. Use http_path instead.
    Path string `json:"path,omitempty"`
    // The number of seconds to wait before beginning health checks.
    InitialDelaySeconds int32 `json:"initial_delay_seconds,omitempty"`
    // The number of seconds to wait between health checks.
    PeriodSeconds int32 `json:"period_seconds,omitempty"`
    // The number of seconds after which the check times out.
    TimeoutSeconds int32 `json:"timeout_seconds,omitempty"`
    // The number of successful health checks before considered healthy.
    SuccessThreshold int32 `json:"success_threshold,omitempty"`
    // The number of failed health checks before considered unhealthy.
    FailureThreshold int32 `json:"failure_threshold,omitempty"`
    // The route path used for the HTTP health check ping. If not set, the HTTP health check will be disabled and a TCP health check used instead.
    HTTPPath string `json:"http_path,omitempty"`
}

AppServiceSpecHealthCheck struct for AppServiceSpecHealthCheck

type AppSpec Uses

type AppSpec struct {
    // The name of the app. Must be unique across all  in the same account.
    Name string `json:"name"`
    // Workloads which expose publicy-accessible HTTP services.
    Services []*AppServiceSpec `json:"services,omitempty"`
    // Content which can be rendered to static web assets.
    StaticSites []*AppStaticSiteSpec `json:"static_sites,omitempty"`
    // Workloads which do not expose publicly-accessible HTTP services.
    Workers []*AppWorkerSpec `json:"workers,omitempty"`
    // Pre and post deployment workloads which do not expose publicly-accessible HTTP routes.
    Jobs []*AppJobSpec `json:"jobs,omitempty"`
    // Database instances which can provide persistence to workloads within the application.
    Databases []*AppDatabaseSpec `json:"databases,omitempty"`
    // A set of hostnames where the application will be available.
    Domains []*AppDomainSpec `json:"domains,omitempty"`
    Region  string           `json:"region,omitempty"`
}

AppSpec The desired configuration of an application.

type AppStaticSiteSpec Uses

type AppStaticSiteSpec struct {
    // The name. Must be unique across all components within the same app.
    Name   string            `json:"name"`
    Git    *GitSourceSpec    `json:"git,omitempty"`
    GitHub *GitHubSourceSpec `json:"github,omitempty"`
    // The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.
    DockerfilePath string `json:"dockerfile_path,omitempty"`
    // An optional build command to run while building this component from source.
    BuildCommand string `json:"build_command,omitempty"`
    // An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.
    SourceDir string `json:"source_dir,omitempty"`
    // An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).
    EnvironmentSlug string `json:"environment_slug,omitempty"`
    // An optional path to where the built assets will be located, relative to the build context. If not set, App Platform will automatically scan for these directory names: `_static`, `dist`, `public`.
    OutputDir     string `json:"output_dir,omitempty"`
    IndexDocument string `json:"index_document,omitempty"`
    // The name of the error document to use when serving this static site. Default: 404.html. If no such file exists within the built assets, App Platform will supply one.
    ErrorDocument string `json:"error_document,omitempty"`
    // A list of environment variables made available to the component.
    Envs []*AppVariableDefinition `json:"envs,omitempty"`
    // A list of HTTP routes that should be routed to this component.
    Routes []*AppRouteSpec `json:"routes,omitempty"`
    CORS   *AppCORSPolicy  `json:"cors,omitempty"`
}

AppStaticSiteSpec struct for AppStaticSiteSpec

type AppStringMatch Uses

type AppStringMatch struct {
    // Exact string match. Only 1 of `exact`, `prefix`, or `regex` must be set.
    Exact string `json:"exact,omitempty"`
    // Prefix-based match. Only 1 of `exact`, `prefix`, or `regex` must be set.
    Prefix string `json:"prefix,omitempty"`
    Regex  string `json:"regex,omitempty"`
}

AppStringMatch struct for AppStringMatch

type AppTier Uses

type AppTier struct {
    Name                 string `json:"name,omitempty"`
    Slug                 string `json:"slug,omitempty"`
    StorageBytes         string `json:"storage_bytes,omitempty"`
    EgressBandwidthBytes string `json:"egress_bandwidth_bytes,omitempty"`
    BuildSeconds         string `json:"build_seconds,omitempty"`
}

AppTier struct for AppTier

type AppUpdateRequest Uses

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

AppUpdateRequest represents a request to update an app.

type AppVariableDefinition Uses

type AppVariableDefinition struct {
    // The name
    Key string `json:"key"`
    // The value. If the type is `SECRET`, the value will be encrypted on first submission. On following submissions, the encrypted value should be used.
    Value string           `json:"value,omitempty"`
    Scope AppVariableScope `json:"scope,omitempty"`
    Type  AppVariableType  `json:"type,omitempty"`
}

AppVariableDefinition struct for AppVariableDefinition

type AppVariableScope Uses

type AppVariableScope string

AppVariableScope the model 'AppVariableScope'

const (
    AppVariableScope_Unset           AppVariableScope = "UNSET"
    AppVariableScope_RunTime         AppVariableScope = "RUN_TIME"
    AppVariableScope_BuildTime       AppVariableScope = "BUILD_TIME"
    AppVariableScope_RunAndBuildTime AppVariableScope = "RUN_AND_BUILD_TIME"
)

List of AppVariableScope

type AppVariableType Uses

type AppVariableType string

AppVariableType the model 'AppVariableType'

const (
    AppVariableType_General AppVariableType = "GENERAL"
    AppVariableType_Secret  AppVariableType = "SECRET"
)

List of AppVariableType

type AppWorkerSpec Uses

type AppWorkerSpec struct {
    // The name. Must be unique across all components within the same app.
    Name   string            `json:"name"`
    Git    *GitSourceSpec    `json:"git,omitempty"`
    GitHub *GitHubSourceSpec `json:"github,omitempty"`
    // The path to the Dockerfile relative to the root of the repo. If set, it will be used to build this component. Otherwise, App Platform will attempt to build it using buildpacks.
    DockerfilePath string `json:"dockerfile_path,omitempty"`
    // An optional build command to run while building this component from source.
    BuildCommand string `json:"build_command,omitempty"`
    // An optional run command to override the component's default.
    RunCommand string `json:"run_command,omitempty"`
    // An optional path to the working directory to use for the build. For Dockerfile builds, this will be used as the build context. Must be relative to the root of the repo.
    SourceDir string `json:"source_dir,omitempty"`
    // An environment slug describing the type of this app. For a full list, please refer to [the product documentation](https://www.digitalocean.com/docs/app-platform/).
    EnvironmentSlug string `json:"environment_slug,omitempty"`
    // A list of environment variables made available to the component.
    Envs []*AppVariableDefinition `json:"envs,omitempty"`
    // The instance size to use for this component.
    InstanceSizeSlug string `json:"instance_size_slug,omitempty"`
    InstanceCount    int64  `json:"instance_count,omitempty"`
}

AppWorkerSpec struct for AppWorkerSpec

type AppsService Uses

type AppsService interface {
    Create(ctx context.Context, create *AppCreateRequest) (*App, *Response, error)
    Get(ctx context.Context, appID string) (*App, *Response, error)
    List(ctx context.Context, opts *ListOptions) ([]*App, *Response, error)
    Update(ctx context.Context, appID string, update *AppUpdateRequest) (*App, *Response, error)
    Delete(ctx context.Context, appID string) (*Response, error)

    GetDeployment(ctx context.Context, appID, deploymentID string) (*Deployment, *Response, error)
    ListDeployments(ctx context.Context, appID string, opts *ListOptions) ([]*Deployment, *Response, error)
    CreateDeployment(ctx context.Context, appID string) (*Deployment, *Response, error)

    GetLogs(ctx context.Context, appID, deploymentID, component string, logType AppLogType, follow bool) (*AppLogs, *Response, error)

    ListRegions(ctx context.Context) ([]*AppRegion, *Response, error)

    ListTiers(ctx context.Context) ([]*AppTier, *Response, error)
    GetTier(ctx context.Context, slug string) (*AppTier, *Response, error)

    ListInstanceSizes(ctx context.Context) ([]*AppInstanceSize, *Response, error)
    GetInstanceSize(ctx context.Context, slug string) (*AppInstanceSize, *Response, error)
}

AppsService is an interface for interfacing with the App Platform endpoints of the DigitalOcean API.

type AppsServiceOp Uses

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

AppsServiceOp handles communication with Apps methods of the DigitalOcean API.

func (*AppsServiceOp) Create Uses

func (s *AppsServiceOp) Create(ctx context.Context, create *AppCreateRequest) (*App, *Response, error)

Create an app.

func (*AppsServiceOp) CreateDeployment Uses

func (s *AppsServiceOp) CreateDeployment(ctx context.Context, appID string) (*Deployment, *Response, error)

CreateDeployment creates an app deployment.

func (*AppsServiceOp) Delete Uses

func (s *AppsServiceOp) Delete(ctx context.Context, appID string) (*Response, error)

Delete an app.

func (*AppsServiceOp) Get Uses

func (s *AppsServiceOp) Get(ctx context.Context, appID string) (*App, *Response, error)

Get an app.

func (*AppsServiceOp) GetDeployment Uses

func (s *AppsServiceOp) GetDeployment(ctx context.Context, appID, deploymentID string) (*Deployment, *Response, error)

GetDeployment gets an app deployment.

func (*AppsServiceOp) GetInstanceSize Uses

func (s *AppsServiceOp) GetInstanceSize(ctx context.Context, slug string) (*AppInstanceSize, *Response, error)

GetInstanceSize retreives information about a specific instance size for service, worker, and job components.

func (*AppsServiceOp) GetLogs Uses

func (s *AppsServiceOp) GetLogs(ctx context.Context, appID, deploymentID, component string, logType AppLogType, follow bool) (*AppLogs, *Response, error)

GetLogs retrieves app logs.

func (*AppsServiceOp) GetTier Uses

func (s *AppsServiceOp) GetTier(ctx context.Context, slug string) (*AppTier, *Response, error)

GetTier retrieves information about a specific app tier.

func (*AppsServiceOp) List Uses

func (s *AppsServiceOp) List(ctx context.Context, opts *ListOptions) ([]*App, *Response, error)

List apps.

func (*AppsServiceOp) ListDeployments Uses

func (s *AppsServiceOp) ListDeployments(ctx context.Context, appID string, opts *ListOptions) ([]*Deployment, *Response, error)

ListDeployments lists an app deployments.

func (*AppsServiceOp) ListInstanceSizes Uses

func (s *AppsServiceOp) ListInstanceSizes(ctx context.Context) ([]*AppInstanceSize, *Response, error)

ListInstanceSizes lists available instance sizes for service, worker, and job components.

func (*AppsServiceOp) ListRegions Uses

func (s *AppsServiceOp) ListRegions(ctx context.Context) ([]*AppRegion, *Response, error)

ListRegions lists all regions supported by App Platform.

func (*AppsServiceOp) ListTiers Uses

func (s *AppsServiceOp) ListTiers(ctx context.Context) ([]*AppTier, *Response, error)

ListTiers lists available app tiers.

func (*AppsServiceOp) Update Uses

func (s *AppsServiceOp) Update(ctx context.Context, appID string, update *AppUpdateRequest) (*App, *Response, error)

Update an app.

type ArgError Uses

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

ArgError is an error that represents an error with an input to godo. It identifies the argument and the cause (if possible).

func NewArgError Uses

func NewArgError(arg, reason string) *ArgError

NewArgError creates an InputError.

func (*ArgError) Error Uses

func (e *ArgError) Error() string

type BackupWindow Uses

type BackupWindow struct {
    Start *Timestamp `json:"start,omitempty"`
    End   *Timestamp `json:"end,omitempty"`
}

BackupWindow object

type Balance Uses

type Balance struct {
    MonthToDateBalance string    `json:"month_to_date_balance"`
    AccountBalance     string    `json:"account_balance"`
    MonthToDateUsage   string    `json:"month_to_date_usage"`
    GeneratedAt        time.Time `json:"generated_at"`
}

Balance represents a DigitalOcean Balance

func (Balance) String Uses

func (r Balance) String() string

type BalanceService Uses

type BalanceService interface {
    Get(context.Context) (*Balance, *Response, error)
}

BalanceService is an interface for interfacing with the Balance endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2/#balance

type BalanceServiceOp Uses

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

BalanceServiceOp handles communication with the Balance related methods of the DigitalOcean API.

func (*BalanceServiceOp) Get Uses

func (s *BalanceServiceOp) Get(ctx context.Context) (*Balance, *Response, error)

Get DigitalOcean balance info

type BillingHistory Uses

type BillingHistory struct {
    BillingHistory []BillingHistoryEntry `json:"billing_history"`
    Links          *Links                `json:"links"`
    Meta           *Meta                 `json:"meta"`
}

BillingHistory represents a DigitalOcean Billing History

func (BillingHistory) String Uses

func (b BillingHistory) String() string

type BillingHistoryEntry Uses

type BillingHistoryEntry struct {
    Description string    `json:"description"`
    Amount      string    `json:"amount"`
    InvoiceID   *string   `json:"invoice_id"`
    InvoiceUUID *string   `json:"invoice_uuid"`
    Date        time.Time `json:"date"`
    Type        string    `json:"type"`
}

BillingHistoryEntry represents an entry in a customer's Billing History

type BillingHistoryService Uses

type BillingHistoryService interface {
    List(context.Context, *ListOptions) (*BillingHistory, *Response, error)
}

BillingHistoryService is an interface for interfacing with the BillingHistory endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2/#billing_history

type BillingHistoryServiceOp Uses

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

BillingHistoryServiceOp handles communication with the BillingHistory related methods of the DigitalOcean API.

func (*BillingHistoryServiceOp) List Uses

func (s *BillingHistoryServiceOp) List(ctx context.Context, opt *ListOptions) (*BillingHistory, *Response, error)

List the Billing History for a customer

type CDN Uses

type CDN struct {
    ID            string    `json:"id"`
    Origin        string    `json:"origin"`
    Endpoint      string    `json:"endpoint"`
    CreatedAt     time.Time `json:"created_at"`
    TTL           uint32    `json:"ttl"`
    CertificateID string    `json:"certificate_id,omitempty"`
    CustomDomain  string    `json:"custom_domain,omitempty"`
}

CDN represents a DigitalOcean CDN

type CDNCreateRequest Uses

type CDNCreateRequest struct {
    Origin        string `json:"origin"`
    TTL           uint32 `json:"ttl"`
    CustomDomain  string `json:"custom_domain,omitempty"`
    CertificateID string `json:"certificate_id,omitempty"`
}

CDNCreateRequest represents a request to create a CDN.

type CDNFlushCacheRequest Uses

type CDNFlushCacheRequest struct {
    Files []string `json:"files"`
}

CDNFlushCacheRequest represents a request to flush cache of a CDN.

type CDNService Uses

type CDNService interface {
    List(context.Context, *ListOptions) ([]CDN, *Response, error)
    Get(context.Context, string) (*CDN, *Response, error)
    Create(context.Context, *CDNCreateRequest) (*CDN, *Response, error)
    UpdateTTL(context.Context, string, *CDNUpdateTTLRequest) (*CDN, *Response, error)
    UpdateCustomDomain(context.Context, string, *CDNUpdateCustomDomainRequest) (*CDN, *Response, error)
    FlushCache(context.Context, string, *CDNFlushCacheRequest) (*Response, error)
    Delete(context.Context, string) (*Response, error)
}

CDNService is an interface for managing Spaces CDN with the DigitalOcean API.

type CDNServiceOp Uses

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

CDNServiceOp handles communication with the CDN related methods of the DigitalOcean API.

func (CDNServiceOp) Create Uses

func (c CDNServiceOp) Create(ctx context.Context, createRequest *CDNCreateRequest) (*CDN, *Response, error)

Create a new CDN

func (CDNServiceOp) Delete Uses

func (c CDNServiceOp) Delete(ctx context.Context, id string) (*Response, error)

Delete an individual CDN

func (CDNServiceOp) FlushCache Uses

func (c CDNServiceOp) FlushCache(ctx context.Context, id string, flushCacheRequest *CDNFlushCacheRequest) (*Response, error)

FlushCache flushes the cache of an individual CDN. Requires a non-empty slice of file paths and/or wildcards

func (CDNServiceOp) Get Uses

func (c CDNServiceOp) Get(ctx context.Context, id string) (*CDN, *Response, error)

Get individual CDN. It requires a non-empty cdn id.

func (CDNServiceOp) List Uses

func (c CDNServiceOp) List(ctx context.Context, opt *ListOptions) ([]CDN, *Response, error)

List all CDN endpoints

func (CDNServiceOp) UpdateCustomDomain Uses

func (c CDNServiceOp) UpdateCustomDomain(ctx context.Context, id string, updateRequest *CDNUpdateCustomDomainRequest) (*CDN, *Response, error)

UpdateCustomDomain sets or removes the custom domain of an individual CDN

func (CDNServiceOp) UpdateTTL Uses

func (c CDNServiceOp) UpdateTTL(ctx context.Context, id string, updateRequest *CDNUpdateTTLRequest) (*CDN, *Response, error)

UpdateTTL updates the ttl of an individual CDN

type CDNUpdateCustomDomainRequest Uses

type CDNUpdateCustomDomainRequest struct {
    CustomDomain  string `json:"custom_domain"`
    CertificateID string `json:"certificate_id"`
}

CDNUpdateCustomDomainRequest represents a request to update the custom domain of a CDN.

type CDNUpdateTTLRequest Uses

type CDNUpdateTTLRequest struct {
    TTL uint32 `json:"ttl"`
}

CDNUpdateTTLRequest represents a request to update the ttl of a CDN.

type Certificate Uses

type Certificate struct {
    ID              string   `json:"id,omitempty"`
    Name            string   `json:"name,omitempty"`
    DNSNames        []string `json:"dns_names,omitempty"`
    NotAfter        string   `json:"not_after,omitempty"`
    SHA1Fingerprint string   `json:"sha1_fingerprint,omitempty"`
    Created         string   `json:"created_at,omitempty"`
    State           string   `json:"state,omitempty"`
    Type            string   `json:"type,omitempty"`
}

Certificate represents a DigitalOcean certificate configuration.

type CertificateRequest Uses

type CertificateRequest struct {
    Name             string   `json:"name,omitempty"`
    DNSNames         []string `json:"dns_names,omitempty"`
    PrivateKey       string   `json:"private_key,omitempty"`
    LeafCertificate  string   `json:"leaf_certificate,omitempty"`
    CertificateChain string   `json:"certificate_chain,omitempty"`
    Type             string   `json:"type,omitempty"`
}

CertificateRequest represents configuration for a new certificate.

type CertificatesService Uses

type CertificatesService interface {
    Get(context.Context, string) (*Certificate, *Response, error)
    List(context.Context, *ListOptions) ([]Certificate, *Response, error)
    Create(context.Context, *CertificateRequest) (*Certificate, *Response, error)
    Delete(context.Context, string) (*Response, error)
}

CertificatesService is an interface for managing certificates with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2/#certificates

type CertificatesServiceOp Uses

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

CertificatesServiceOp handles communication with certificates methods of the DigitalOcean API.

func (*CertificatesServiceOp) Create Uses

func (c *CertificatesServiceOp) Create(ctx context.Context, cr *CertificateRequest) (*Certificate, *Response, error)

Create a new certificate with provided configuration.

func (*CertificatesServiceOp) Delete Uses

func (c *CertificatesServiceOp) Delete(ctx context.Context, cID string) (*Response, error)

Delete a certificate by its identifier.

func (*CertificatesServiceOp) Get Uses

func (c *CertificatesServiceOp) Get(ctx context.Context, cID string) (*Certificate, *Response, error)

Get an existing certificate by its identifier.

func (*CertificatesServiceOp) List Uses

func (c *CertificatesServiceOp) List(ctx context.Context, opt *ListOptions) ([]Certificate, *Response, error)

List all certificates.

type Client Uses

type Client struct {

    // Base URL for API requests.
    BaseURL *url.URL

    // User agent for client
    UserAgent string

    // Rate contains the current rate limit for the client as determined by the most recent
    // API call. It is not thread-safe. Please consider using GetRate() instead.
    Rate Rate

    // Services used for communicating with the API
    Account           AccountService
    Actions           ActionsService
    Apps              AppsService
    Balance           BalanceService
    BillingHistory    BillingHistoryService
    CDNs              CDNService
    Domains           DomainsService
    Droplets          DropletsService
    DropletActions    DropletActionsService
    Images            ImagesService
    ImageActions      ImageActionsService
    Invoices          InvoicesService
    Keys              KeysService
    Regions           RegionsService
    Sizes             SizesService
    FloatingIPs       FloatingIPsService
    FloatingIPActions FloatingIPActionsService
    Snapshots         SnapshotsService
    Storage           StorageService
    StorageActions    StorageActionsService
    Tags              TagsService
    LoadBalancers     LoadBalancersService
    Certificates      CertificatesService
    Firewalls         FirewallsService
    Projects          ProjectsService
    Kubernetes        KubernetesService
    Registry          RegistryService
    Databases         DatabasesService
    VPCs              VPCsService
    OneClick          OneClickService
    // contains filtered or unexported fields
}

Client manages communication with DigitalOcean V2 API.

func New Uses

func New(httpClient *http.Client, opts ...ClientOpt) (*Client, error)

New returns a new DigitalOcean API client instance.

func NewClient Uses

func NewClient(httpClient *http.Client) *Client

NewClient returns a new DigitalOcean API client, using the given http.Client to perform all requests.

Users who wish to pass their own http.Client should use this method. If you're in need of further customization, the godo.New method allows more options, such as setting a custom URL or a custom user agent string.

func NewFromToken Uses

func NewFromToken(token string) *Client

NewFromToken returns a new DigitalOcean API client with the given API token.

func (*Client) Do Uses

func (c *Client) Do(ctx context.Context, req *http.Request, v interface{}) (*Response, error)

Do sends an API request and returns the API response. The API response is JSON decoded and stored in the value pointed to by v, or returned as an error if an API error has occurred. If v implements the io.Writer interface, the raw response will be written to v, without attempting to decode it.

func (*Client) GetRate Uses

func (c *Client) GetRate() Rate

GetRate returns the current rate limit for the client as determined by the most recent API call. It is thread-safe.

func (*Client) NewRequest Uses

func (c *Client) NewRequest(ctx context.Context, method, urlStr string, body interface{}) (*http.Request, error)

NewRequest creates an API request. A relative URL can be provided in urlStr, which will be resolved to the BaseURL of the Client. Relative URLS should always be specified without a preceding slash. If specified, the value pointed to by body is JSON encoded and included in as the request body.

func (*Client) OnRequestCompleted Uses

func (c *Client) OnRequestCompleted(rc RequestCompletionCallback)

OnRequestCompleted sets the DO API request completion callback

type ClientOpt Uses

type ClientOpt func(*Client) error

ClientOpt are options for New.

func SetBaseURL Uses

func SetBaseURL(bu string) ClientOpt

SetBaseURL is a client option for setting the base URL.

func SetUserAgent Uses

func SetUserAgent(ua string) ClientOpt

SetUserAgent is a client option for setting the user agent.

type CreateProjectRequest Uses

type CreateProjectRequest struct {
    Name        string `json:"name"`
    Description string `json:"description"`
    Purpose     string `json:"purpose"`
    Environment string `json:"environment"`
}

CreateProjectRequest represents the request to create a new project.

type CustomImageCreateRequest Uses

type CustomImageCreateRequest struct {
    Name         string   `json:"name"`
    Url          string   `json:"url"`
    Region       string   `json:"region"`
    Distribution string   `json:"distribution,omitempty"`
    Description  string   `json:"description,omitempty"`
    Tags         []string `json:"tags,omitempty"`
}

CustomImageCreateRequest represents a request to create a custom image.

type Database Uses

type Database struct {
    ID                 string                     `json:"id,omitempty"`
    Name               string                     `json:"name,omitempty"`
    EngineSlug         string                     `json:"engine,omitempty"`
    VersionSlug        string                     `json:"version,omitempty"`
    Connection         *DatabaseConnection        `json:"connection,omitempty"`
    PrivateConnection  *DatabaseConnection        `json:"private_connection,omitempty"`
    Users              []DatabaseUser             `json:"users,omitempty"`
    NumNodes           int                        `json:"num_nodes,omitempty"`
    SizeSlug           string                     `json:"size,omitempty"`
    DBNames            []string                   `json:"db_names,omitempty"`
    RegionSlug         string                     `json:"region,omitempty"`
    Status             string                     `json:"status,omitempty"`
    MaintenanceWindow  *DatabaseMaintenanceWindow `json:"maintenance_window,omitempty"`
    CreatedAt          time.Time                  `json:"created_at,omitempty"`
    PrivateNetworkUUID string                     `json:"private_network_uuid,omitempty"`
    Tags               []string                   `json:"tags,omitempty"`
}

Database represents a DigitalOcean managed database product. These managed databases are usually comprised of a cluster of database nodes, a primary and 0 or more replicas. The EngineSlug is a string which indicates the type of database service. Some examples are "pg", "mysql" or "redis". A Database also includes connection information and other properties of the service like region, size and current status.

func (Database) URN Uses

func (d Database) URN() string

URN returns a URN identifier for the database

type DatabaseBackup Uses

type DatabaseBackup struct {
    CreatedAt     time.Time `json:"created_at,omitempty"`
    SizeGigabytes float64   `json:"size_gigabytes,omitempty"`
}

DatabaseBackup represents a database backup.

type DatabaseConnection Uses

type DatabaseConnection struct {
    URI      string `json:"uri,omitempty"`
    Database string `json:"database,omitempty"`
    Host     string `json:"host,omitempty"`
    Port     int    `json:"port,omitempty"`
    User     string `json:"user,omitempty"`
    Password string `json:"password,omitempty"`
    SSL      bool   `json:"ssl,omitempty"`
}

DatabaseConnection represents a database connection

type DatabaseCreateDBRequest Uses

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

DatabaseCreateDBRequest is used to create a new engine-specific database within the cluster

type DatabaseCreatePoolRequest Uses

type DatabaseCreatePoolRequest struct {
    User     string `json:"user"`
    Name     string `json:"name"`
    Size     int    `json:"size"`
    Database string `json:"db"`
    Mode     string `json:"mode"`
}

DatabaseCreatePoolRequest is used to create a new database connection pool

type DatabaseCreateReplicaRequest Uses

type DatabaseCreateReplicaRequest struct {
    Name               string   `json:"name"`
    Region             string   `json:"region"`
    Size               string   `json:"size"`
    PrivateNetworkUUID string   `json:"private_network_uuid"`
    Tags               []string `json:"tags,omitempty"`
}

DatabaseCreateReplicaRequest is used to create a new read-only replica

type DatabaseCreateRequest Uses

type DatabaseCreateRequest struct {
    Name               string   `json:"name,omitempty"`
    EngineSlug         string   `json:"engine,omitempty"`
    Version            string   `json:"version,omitempty"`
    SizeSlug           string   `json:"size,omitempty"`
    Region             string   `json:"region,omitempty"`
    NumNodes           int      `json:"num_nodes,omitempty"`
    PrivateNetworkUUID string   `json:"private_network_uuid"`
    Tags               []string `json:"tags,omitempty"`
}

DatabaseCreateRequest represents a request to create a database cluster

type DatabaseCreateUserRequest Uses

type DatabaseCreateUserRequest struct {
    Name          string                     `json:"name"`
    MySQLSettings *DatabaseMySQLUserSettings `json:"mysql_settings,omitempty"`
}

DatabaseCreateUserRequest is used to create a new database user

type DatabaseDB Uses

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

DatabaseDB represents an engine-specific database created within a database cluster. For SQL databases like PostgreSQL or MySQL, a "DB" refers to a database created on the RDBMS. For instance, a PostgreSQL database server can contain many database schemas, each with it's own settings, access permissions and data. ListDBs will return all databases present on the server.

type DatabaseFirewallRule Uses

type DatabaseFirewallRule struct {
    UUID        string    `json:"uuid"`
    ClusterUUID string    `json:"cluster_uuid"`
    Type        string    `json:"type"`
    Value       string    `json:"value"`
    CreatedAt   time.Time `json:"created_at"`
}

DatabaseFirewallRule is a rule describing an inbound source to a database

type DatabaseMaintenanceWindow Uses

type DatabaseMaintenanceWindow struct {
    Day         string   `json:"day,omitempty"`
    Hour        string   `json:"hour,omitempty"`
    Pending     bool     `json:"pending,omitempty"`
    Description []string `json:"description,omitempty"`
}

DatabaseMaintenanceWindow represents the maintenance_window of a database cluster

type DatabaseMigrateRequest Uses

type DatabaseMigrateRequest struct {
    Region             string `json:"region,omitempty"`
    PrivateNetworkUUID string `json:"private_network_uuid"`
}

DatabaseMigrateRequest can be used to initiate a database migrate operation.

type DatabaseMySQLUserSettings Uses

type DatabaseMySQLUserSettings struct {
    AuthPlugin string `json:"auth_plugin"`
}

DatabaseMySQLUserSettings contains MySQL-specific user settings

type DatabasePool Uses

type DatabasePool struct {
    User              string              `json:"user"`
    Name              string              `json:"name"`
    Size              int                 `json:"size"`
    Database          string              `json:"db"`
    Mode              string              `json:"mode"`
    Connection        *DatabaseConnection `json:"connection"`
    PrivateConnection *DatabaseConnection `json:"private_connection,omitempty"`
}

DatabasePool represents a database connection pool

type DatabaseReplica Uses

type DatabaseReplica struct {
    Name               string              `json:"name"`
    Connection         *DatabaseConnection `json:"connection"`
    PrivateConnection  *DatabaseConnection `json:"private_connection,omitempty"`
    Region             string              `json:"region"`
    Status             string              `json:"status"`
    CreatedAt          time.Time           `json:"created_at"`
    PrivateNetworkUUID string              `json:"private_network_uuid,omitempty"`
    Tags               []string            `json:"tags,omitempty"`
}

DatabaseReplica represents a read-only replica of a particular database

type DatabaseResetUserAuthRequest Uses

type DatabaseResetUserAuthRequest struct {
    MySQLSettings *DatabaseMySQLUserSettings `json:"mysql_settings,omitempty"`
}

DatabaseResetUserAuthRequest is used to reset a users DB auth

type DatabaseResizeRequest Uses

type DatabaseResizeRequest struct {
    SizeSlug string `json:"size,omitempty"`
    NumNodes int    `json:"num_nodes,omitempty"`
}

DatabaseResizeRequest can be used to initiate a database resize operation.

type DatabaseUpdateFirewallRulesRequest Uses

type DatabaseUpdateFirewallRulesRequest struct {
    Rules []*DatabaseFirewallRule `json:"rules"`
}

DatabaseUpdateFirewallRulesRequest is used to set the firewall rules for a database

type DatabaseUpdateMaintenanceRequest Uses

type DatabaseUpdateMaintenanceRequest struct {
    Day  string `json:"day,omitempty"`
    Hour string `json:"hour,omitempty"`
}

DatabaseUpdateMaintenanceRequest can be used to update the database's maintenance window.

type DatabaseUser Uses

type DatabaseUser struct {
    Name          string                     `json:"name,omitempty"`
    Role          string                     `json:"role,omitempty"`
    Password      string                     `json:"password,omitempty"`
    MySQLSettings *DatabaseMySQLUserSettings `json:"mysql_settings,omitempty"`
}

DatabaseUser represents a user in the database

type DatabasesService Uses

type DatabasesService interface {
    List(context.Context, *ListOptions) ([]Database, *Response, error)
    Get(context.Context, string) (*Database, *Response, error)
    Create(context.Context, *DatabaseCreateRequest) (*Database, *Response, error)
    Delete(context.Context, string) (*Response, error)
    Resize(context.Context, string, *DatabaseResizeRequest) (*Response, error)
    Migrate(context.Context, string, *DatabaseMigrateRequest) (*Response, error)
    UpdateMaintenance(context.Context, string, *DatabaseUpdateMaintenanceRequest) (*Response, error)
    ListBackups(context.Context, string, *ListOptions) ([]DatabaseBackup, *Response, error)
    GetUser(context.Context, string, string) (*DatabaseUser, *Response, error)
    ListUsers(context.Context, string, *ListOptions) ([]DatabaseUser, *Response, error)
    CreateUser(context.Context, string, *DatabaseCreateUserRequest) (*DatabaseUser, *Response, error)
    DeleteUser(context.Context, string, string) (*Response, error)
    ResetUserAuth(context.Context, string, string, *DatabaseResetUserAuthRequest) (*DatabaseUser, *Response, error)
    ListDBs(context.Context, string, *ListOptions) ([]DatabaseDB, *Response, error)
    CreateDB(context.Context, string, *DatabaseCreateDBRequest) (*DatabaseDB, *Response, error)
    GetDB(context.Context, string, string) (*DatabaseDB, *Response, error)
    DeleteDB(context.Context, string, string) (*Response, error)
    ListPools(context.Context, string, *ListOptions) ([]DatabasePool, *Response, error)
    CreatePool(context.Context, string, *DatabaseCreatePoolRequest) (*DatabasePool, *Response, error)
    GetPool(context.Context, string, string) (*DatabasePool, *Response, error)
    DeletePool(context.Context, string, string) (*Response, error)
    GetReplica(context.Context, string, string) (*DatabaseReplica, *Response, error)
    ListReplicas(context.Context, string, *ListOptions) ([]DatabaseReplica, *Response, error)
    CreateReplica(context.Context, string, *DatabaseCreateReplicaRequest) (*DatabaseReplica, *Response, error)
    DeleteReplica(context.Context, string, string) (*Response, error)
    GetEvictionPolicy(context.Context, string) (string, *Response, error)
    SetEvictionPolicy(context.Context, string, string) (*Response, error)
    GetSQLMode(context.Context, string) (string, *Response, error)
    SetSQLMode(context.Context, string, ...string) (*Response, error)
    GetFirewallRules(context.Context, string) ([]DatabaseFirewallRule, *Response, error)
    UpdateFirewallRules(context.Context, string, *DatabaseUpdateFirewallRulesRequest) (*Response, error)
}

The DatabasesService provides access to the DigitalOcean managed database suite of products through the public API. Customers can create new database clusters, migrate them between regions, create replicas and interact with their configurations. Each database service is referred to as a Database. A SQL database service can have multiple databases residing in the system. To help make these entities distinct from Databases in godo, we refer to them here as DatabaseDBs.

See: https://developers.digitalocean.com/documentation/v2#databases

type DatabasesServiceOp Uses

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

DatabasesServiceOp handles communication with the Databases related methods of the DigitalOcean API.

func (*DatabasesServiceOp) Create Uses

func (svc *DatabasesServiceOp) Create(ctx context.Context, create *DatabaseCreateRequest) (*Database, *Response, error)

Create creates a database cluster

func (*DatabasesServiceOp) CreateDB Uses

func (svc *DatabasesServiceOp) CreateDB(ctx context.Context, databaseID string, createDB *DatabaseCreateDBRequest) (*DatabaseDB, *Response, error)

CreateDB will create a new database

func (*DatabasesServiceOp) CreatePool Uses

func (svc *DatabasesServiceOp) CreatePool(ctx context.Context, databaseID string, createPool *DatabaseCreatePoolRequest) (*DatabasePool, *Response, error)

CreatePool will create a new database connection pool

func (*DatabasesServiceOp) CreateReplica Uses

func (svc *DatabasesServiceOp) CreateReplica(ctx context.Context, databaseID string, createReplica *DatabaseCreateReplicaRequest) (*DatabaseReplica, *Response, error)

CreateReplica will create a new database connection pool

func (*DatabasesServiceOp) CreateUser Uses

func (svc *DatabasesServiceOp) CreateUser(ctx context.Context, databaseID string, createUser *DatabaseCreateUserRequest) (*DatabaseUser, *Response, error)

CreateUser will create a new database user

func (*DatabasesServiceOp) Delete Uses

func (svc *DatabasesServiceOp) Delete(ctx context.Context, databaseID string) (*Response, error)

Delete deletes a database cluster. There is no way to recover a cluster once it has been destroyed.

func (*DatabasesServiceOp) DeleteDB Uses

func (svc *DatabasesServiceOp) DeleteDB(ctx context.Context, databaseID, name string) (*Response, error)

DeleteDB will delete an existing database

func (*DatabasesServiceOp) DeletePool Uses

func (svc *DatabasesServiceOp) DeletePool(ctx context.Context, databaseID, name string) (*Response, error)

DeletePool will delete an existing database connection pool

func (*DatabasesServiceOp) DeleteReplica Uses

func (svc *DatabasesServiceOp) DeleteReplica(ctx context.Context, databaseID, name string) (*Response, error)

DeleteReplica will delete an existing database replica

func (*DatabasesServiceOp) DeleteUser Uses

func (svc *DatabasesServiceOp) DeleteUser(ctx context.Context, databaseID, userID string) (*Response, error)

DeleteUser will delete an existing database user

func (*DatabasesServiceOp) Get Uses

func (svc *DatabasesServiceOp) Get(ctx context.Context, databaseID string) (*Database, *Response, error)

Get retrieves the details of a database cluster

func (*DatabasesServiceOp) GetDB Uses

func (svc *DatabasesServiceOp) GetDB(ctx context.Context, databaseID, name string) (*DatabaseDB, *Response, error)

GetDB returns a single database by name

func (*DatabasesServiceOp) GetEvictionPolicy Uses

func (svc *DatabasesServiceOp) GetEvictionPolicy(ctx context.Context, databaseID string) (string, *Response, error)

GetEvictionPolicy loads the eviction policy for a given Redis cluster.

func (*DatabasesServiceOp) GetFirewallRules Uses

func (svc *DatabasesServiceOp) GetFirewallRules(ctx context.Context, databaseID string) ([]DatabaseFirewallRule, *Response, error)

GetFirewallRules loads the inbound sources for a given cluster.

func (*DatabasesServiceOp) GetPool Uses

func (svc *DatabasesServiceOp) GetPool(ctx context.Context, databaseID, name string) (*DatabasePool, *Response, error)

GetPool returns a single database connection pool by name

func (*DatabasesServiceOp) GetReplica Uses

func (svc *DatabasesServiceOp) GetReplica(ctx context.Context, databaseID, name string) (*DatabaseReplica, *Response, error)

GetReplica returns a single database replica

func (*DatabasesServiceOp) GetSQLMode Uses

func (svc *DatabasesServiceOp) GetSQLMode(ctx context.Context, databaseID string) (string, *Response, error)

GetSQLMode loads the SQL Mode settings for a given MySQL cluster.

func (*DatabasesServiceOp) GetUser Uses

func (svc *DatabasesServiceOp) GetUser(ctx context.Context, databaseID, userID string) (*DatabaseUser, *Response, error)

GetUser returns the database user identified by userID

func (*DatabasesServiceOp) List Uses

func (svc *DatabasesServiceOp) List(ctx context.Context, opts *ListOptions) ([]Database, *Response, error)

List returns a list of the Databases visible with the caller's API token

func (*DatabasesServiceOp) ListBackups Uses

func (svc *DatabasesServiceOp) ListBackups(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseBackup, *Response, error)

ListBackups returns a list of the current backups of a database

func (*DatabasesServiceOp) ListDBs Uses

func (svc *DatabasesServiceOp) ListDBs(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseDB, *Response, error)

ListDBs returns all databases for a given database cluster

func (*DatabasesServiceOp) ListPools Uses

func (svc *DatabasesServiceOp) ListPools(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabasePool, *Response, error)

ListPools returns all connection pools for a given database cluster

func (*DatabasesServiceOp) ListReplicas Uses

func (svc *DatabasesServiceOp) ListReplicas(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseReplica, *Response, error)

ListReplicas returns all read-only replicas for a given database cluster

func (*DatabasesServiceOp) ListUsers Uses

func (svc *DatabasesServiceOp) ListUsers(ctx context.Context, databaseID string, opts *ListOptions) ([]DatabaseUser, *Response, error)

ListUsers returns all database users for the database

func (*DatabasesServiceOp) Migrate Uses

func (svc *DatabasesServiceOp) Migrate(ctx context.Context, databaseID string, migrate *DatabaseMigrateRequest) (*Response, error)

Migrate migrates a database cluster to a new region

func (*DatabasesServiceOp) ResetUserAuth Uses

func (svc *DatabasesServiceOp) ResetUserAuth(ctx context.Context, databaseID, userID string, resetAuth *DatabaseResetUserAuthRequest) (*DatabaseUser, *Response, error)

ResetUserAuth will reset user authentication

func (*DatabasesServiceOp) Resize Uses

func (svc *DatabasesServiceOp) Resize(ctx context.Context, databaseID string, resize *DatabaseResizeRequest) (*Response, error)

Resize resizes a database cluster by number of nodes or size

func (*DatabasesServiceOp) SetEvictionPolicy Uses

func (svc *DatabasesServiceOp) SetEvictionPolicy(ctx context.Context, databaseID, policy string) (*Response, error)

SetEvictionPolicy updates the eviction policy for a given Redis cluster.

The valid eviction policies are documented by the exported string constants with the prefix `EvictionPolicy`.

func (*DatabasesServiceOp) SetSQLMode Uses

func (svc *DatabasesServiceOp) SetSQLMode(ctx context.Context, databaseID string, sqlModes ...string) (*Response, error)

SetSQLMode updates the SQL Mode settings for a given MySQL cluster.

func (*DatabasesServiceOp) UpdateFirewallRules Uses

func (svc *DatabasesServiceOp) UpdateFirewallRules(ctx context.Context, databaseID string, firewallRulesReq *DatabaseUpdateFirewallRulesRequest) (*Response, error)

UpdateFirewallRules sets the inbound sources for a given cluster.

func (*DatabasesServiceOp) UpdateMaintenance Uses

func (svc *DatabasesServiceOp) UpdateMaintenance(ctx context.Context, databaseID string, maintenance *DatabaseUpdateMaintenanceRequest) (*Response, error)

UpdateMaintenance updates the maintenance window on a cluster

type Deployment Uses

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

Deployment struct for Deployment

type DeploymentJob Uses

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

DeploymentJob struct for DeploymentJob

type DeploymentPhase Uses

type DeploymentPhase string

DeploymentPhase the model 'DeploymentPhase'

const (
    DeploymentPhase_Unknown       DeploymentPhase = "UNKNOWN"
    DeploymentPhase_PendingBuild  DeploymentPhase = "PENDING_BUILD"
    DeploymentPhase_Building      DeploymentPhase = "BUILDING"
    DeploymentPhase_PendingDeploy DeploymentPhase = "PENDING_DEPLOY"
    DeploymentPhase_Deploying     DeploymentPhase = "DEPLOYING"
    DeploymentPhase_Active        DeploymentPhase = "ACTIVE"
    DeploymentPhase_Superseded    DeploymentPhase = "SUPERSEDED"
    DeploymentPhase_Error         DeploymentPhase = "ERROR"
    DeploymentPhase_Canceled      DeploymentPhase = "CANCELED"
)

List of DeploymentPhase

type DeploymentProgress Uses

type DeploymentProgress struct {
    PendingSteps int32                     `json:"pending_steps,omitempty"`
    RunningSteps int32                     `json:"running_steps,omitempty"`
    SuccessSteps int32                     `json:"success_steps,omitempty"`
    ErrorSteps   int32                     `json:"error_steps,omitempty"`
    TotalSteps   int32                     `json:"total_steps,omitempty"`
    Steps        []*DeploymentProgressStep `json:"steps,omitempty"`
    SummarySteps []*DeploymentProgressStep `json:"summary_steps,omitempty"`
}

DeploymentProgress struct for DeploymentProgress

type DeploymentProgressStep Uses

type DeploymentProgressStep struct {
    Name          string                        `json:"name,omitempty"`
    Status        DeploymentProgressStepStatus  `json:"status,omitempty"`
    Steps         []*DeploymentProgressStep     `json:"steps,omitempty"`
    StartedAt     time.Time                     `json:"started_at,omitempty"`
    EndedAt       time.Time                     `json:"ended_at,omitempty"`
    Reason        *DeploymentProgressStepReason `json:"reason,omitempty"`
    ComponentName string                        `json:"component_name,omitempty"`
    // The base of a human-readable description of the step intended to be combined with the component name for presentation. For example:  `message_base` = \"Building service\" `component_name` = \"api\"
    MessageBase string `json:"message_base,omitempty"`
}

DeploymentProgressStep struct for DeploymentProgressStep

type DeploymentProgressStepReason Uses

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

DeploymentProgressStepReason struct for DeploymentProgressStepReason

type DeploymentProgressStepStatus Uses

type DeploymentProgressStepStatus string

DeploymentProgressStepStatus the model 'DeploymentProgressStepStatus'

const (
    DeploymentProgressStepStatus_Unknown DeploymentProgressStepStatus = "UNKNOWN"
    DeploymentProgressStepStatus_Pending DeploymentProgressStepStatus = "PENDING"
    DeploymentProgressStepStatus_Running DeploymentProgressStepStatus = "RUNNING"
    DeploymentProgressStepStatus_Error   DeploymentProgressStepStatus = "ERROR"
    DeploymentProgressStepStatus_Success DeploymentProgressStepStatus = "SUCCESS"
)

List of DeploymentProgressStepStatus

type DeploymentService Uses

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

DeploymentService struct for DeploymentService

type DeploymentStaticSite Uses

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

DeploymentStaticSite struct for DeploymentStaticSite

type DeploymentWorker Uses

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

DeploymentWorker struct for DeploymentWorker

type Destinations Uses

type Destinations struct {
    Addresses        []string `json:"addresses,omitempty"`
    Tags             []string `json:"tags,omitempty"`
    DropletIDs       []int    `json:"droplet_ids,omitempty"`
    LoadBalancerUIDs []string `json:"load_balancer_uids,omitempty"`
}

Destinations represents a DigitalOcean Firewall OutboundRule destinations.

type DockerCredentials Uses

type DockerCredentials struct {
    DockerConfigJSON []byte
}

DockerCredentials is the content of a Docker config file that is used by the docker CLI See: https://docs.docker.com/engine/reference/commandline/cli/#configjson-properties

type Domain Uses

type Domain struct {
    Name     string `json:"name"`
    TTL      int    `json:"ttl"`
    ZoneFile string `json:"zone_file"`
}

Domain represents a DigitalOcean domain

func (Domain) String Uses

func (d Domain) String() string

func (Domain) URN Uses

func (d Domain) URN() string

URN returns the domain name in a valid DO API URN form.

type DomainCreateRequest Uses

type DomainCreateRequest struct {
    Name      string `json:"name"`
    IPAddress string `json:"ip_address,omitempty"`
}

DomainCreateRequest respresents a request to create a domain.

type DomainRecord Uses

type DomainRecord struct {
    ID       int    `json:"id,float64,omitempty"`
    Type     string `json:"type,omitempty"`
    Name     string `json:"name,omitempty"`
    Data     string `json:"data,omitempty"`
    Priority int    `json:"priority"`
    Port     int    `json:"port"`
    TTL      int    `json:"ttl,omitempty"`
    Weight   int    `json:"weight"`
    Flags    int    `json:"flags"`
    Tag      string `json:"tag,omitempty"`
}

DomainRecord represents a DigitalOcean DomainRecord

func (DomainRecord) String Uses

func (d DomainRecord) String() string

Converts a DomainRecord to a string.

type DomainRecordEditRequest Uses

type DomainRecordEditRequest struct {
    Type     string `json:"type,omitempty"`
    Name     string `json:"name,omitempty"`
    Data     string `json:"data,omitempty"`
    Priority int    `json:"priority"`
    Port     int    `json:"port"`
    TTL      int    `json:"ttl,omitempty"`
    Weight   int    `json:"weight"`
    Flags    int    `json:"flags"`
    Tag      string `json:"tag,omitempty"`
}

DomainRecordEditRequest represents a request to update a domain record.

func (DomainRecordEditRequest) String Uses

func (d DomainRecordEditRequest) String() string

Converts a DomainRecordEditRequest to a string.

type DomainsService Uses

type DomainsService interface {
    List(context.Context, *ListOptions) ([]Domain, *Response, error)
    Get(context.Context, string) (*Domain, *Response, error)
    Create(context.Context, *DomainCreateRequest) (*Domain, *Response, error)
    Delete(context.Context, string) (*Response, error)

    Records(context.Context, string, *ListOptions) ([]DomainRecord, *Response, error)
    RecordsByType(context.Context, string, string, *ListOptions) ([]DomainRecord, *Response, error)
    RecordsByName(context.Context, string, string, *ListOptions) ([]DomainRecord, *Response, error)
    RecordsByTypeAndName(context.Context, string, string, string, *ListOptions) ([]DomainRecord, *Response, error)
    Record(context.Context, string, int) (*DomainRecord, *Response, error)
    DeleteRecord(context.Context, string, int) (*Response, error)
    EditRecord(context.Context, string, int, *DomainRecordEditRequest) (*DomainRecord, *Response, error)
    CreateRecord(context.Context, string, *DomainRecordEditRequest) (*DomainRecord, *Response, error)
}

DomainsService is an interface for managing DNS with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#domains and https://developers.digitalocean.com/documentation/v2#domain-records

type DomainsServiceOp Uses

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

DomainsServiceOp handles communication with the domain related methods of the DigitalOcean API.

func (*DomainsServiceOp) Create Uses

func (s *DomainsServiceOp) Create(ctx context.Context, createRequest *DomainCreateRequest) (*Domain, *Response, error)

Create a new domain

func (*DomainsServiceOp) CreateRecord Uses

func (s *DomainsServiceOp) CreateRecord(ctx context.Context,
    domain string,
    createRequest *DomainRecordEditRequest) (*DomainRecord, *Response, error)

CreateRecord creates a record using a DomainRecordEditRequest

func (*DomainsServiceOp) Delete Uses

func (s *DomainsServiceOp) Delete(ctx context.Context, name string) (*Response, error)

Delete domain

func (*DomainsServiceOp) DeleteRecord Uses

func (s *DomainsServiceOp) DeleteRecord(ctx context.Context, domain string, id int) (*Response, error)

DeleteRecord deletes a record from a domain identified by id

func (*DomainsServiceOp) EditRecord Uses

func (s *DomainsServiceOp) EditRecord(ctx context.Context,
    domain string,
    id int,
    editRequest *DomainRecordEditRequest,
) (*DomainRecord, *Response, error)

EditRecord edits a record using a DomainRecordEditRequest

func (*DomainsServiceOp) Get Uses

func (s *DomainsServiceOp) Get(ctx context.Context, name string) (*Domain, *Response, error)

Get individual domain. It requires a non-empty domain name.

func (DomainsServiceOp) List Uses

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

List all domains.

func (*DomainsServiceOp) Record Uses

func (s *DomainsServiceOp) Record(ctx context.Context, domain string, id int) (*DomainRecord, *Response, error)

Record returns the record id from a domain

func (*DomainsServiceOp) Records Uses

func (s *DomainsServiceOp) Records(ctx context.Context, domain string, opt *ListOptions) ([]DomainRecord, *Response, error)

Records returns a slice of DomainRecord for a domain.

func (*DomainsServiceOp) RecordsByName Uses

func (s *DomainsServiceOp) RecordsByName(ctx context.Context, domain, name string, opt *ListOptions) ([]DomainRecord, *Response, error)

RecordsByName returns a slice of DomainRecord for a domain matched by record name.

func (*DomainsServiceOp) RecordsByType Uses

func (s *DomainsServiceOp) RecordsByType(ctx context.Context, domain, ofType string, opt *ListOptions) ([]DomainRecord, *Response, error)

RecordsByType returns a slice of DomainRecord for a domain matched by record type.

func (*DomainsServiceOp) RecordsByTypeAndName Uses

func (s *DomainsServiceOp) RecordsByTypeAndName(ctx context.Context, domain, ofType, name string, opt *ListOptions) ([]DomainRecord, *Response, error)

RecordsByTypeAndName returns a slice of DomainRecord for a domain matched by record type and name.

type Droplet Uses

type Droplet struct {
    ID               int           `json:"id,float64,omitempty"`
    Name             string        `json:"name,omitempty"`
    Memory           int           `json:"memory,omitempty"`
    Vcpus            int           `json:"vcpus,omitempty"`
    Disk             int           `json:"disk,omitempty"`
    Region           *Region       `json:"region,omitempty"`
    Image            *Image        `json:"image,omitempty"`
    Size             *Size         `json:"size,omitempty"`
    SizeSlug         string        `json:"size_slug,omitempty"`
    BackupIDs        []int         `json:"backup_ids,omitempty"`
    NextBackupWindow *BackupWindow `json:"next_backup_window,omitempty"`
    SnapshotIDs      []int         `json:"snapshot_ids,omitempty"`
    Features         []string      `json:"features,omitempty"`
    Locked           bool          `json:"locked,bool,omitempty"`
    Status           string        `json:"status,omitempty"`
    Networks         *Networks     `json:"networks,omitempty"`
    Created          string        `json:"created_at,omitempty"`
    Kernel           *Kernel       `json:"kernel,omitempty"`
    Tags             []string      `json:"tags,omitempty"`
    VolumeIDs        []string      `json:"volume_ids"`
    VPCUUID          string        `json:"vpc_uuid,omitempty"`
}

Droplet represents a DigitalOcean Droplet

func (*Droplet) PrivateIPv4 Uses

func (d *Droplet) PrivateIPv4() (string, error)

PrivateIPv4 returns the private IPv4 address for the Droplet.

func (*Droplet) PublicIPv4 Uses

func (d *Droplet) PublicIPv4() (string, error)

PublicIPv4 returns the public IPv4 address for the Droplet.

func (*Droplet) PublicIPv6 Uses

func (d *Droplet) PublicIPv6() (string, error)

PublicIPv6 returns the public IPv6 address for the Droplet.

func (Droplet) String Uses

func (d Droplet) String() string

Convert Droplet to a string

func (Droplet) URN Uses

func (d Droplet) URN() string

URN returns the droplet ID in a valid DO API URN form.

type DropletActionsService Uses

type DropletActionsService interface {
    Shutdown(context.Context, int) (*Action, *Response, error)
    ShutdownByTag(context.Context, string) ([]Action, *Response, error)
    PowerOff(context.Context, int) (*Action, *Response, error)
    PowerOffByTag(context.Context, string) ([]Action, *Response, error)
    PowerOn(context.Context, int) (*Action, *Response, error)
    PowerOnByTag(context.Context, string) ([]Action, *Response, error)
    PowerCycle(context.Context, int) (*Action, *Response, error)
    PowerCycleByTag(context.Context, string) ([]Action, *Response, error)
    Reboot(context.Context, int) (*Action, *Response, error)
    Restore(context.Context, int, int) (*Action, *Response, error)
    Resize(context.Context, int, string, bool) (*Action, *Response, error)
    Rename(context.Context, int, string) (*Action, *Response, error)
    Snapshot(context.Context, int, string) (*Action, *Response, error)
    SnapshotByTag(context.Context, string, string) ([]Action, *Response, error)
    EnableBackups(context.Context, int) (*Action, *Response, error)
    EnableBackupsByTag(context.Context, string) ([]Action, *Response, error)
    DisableBackups(context.Context, int) (*Action, *Response, error)
    DisableBackupsByTag(context.Context, string) ([]Action, *Response, error)
    PasswordReset(context.Context, int) (*Action, *Response, error)
    RebuildByImageID(context.Context, int, int) (*Action, *Response, error)
    RebuildByImageSlug(context.Context, int, string) (*Action, *Response, error)
    ChangeKernel(context.Context, int, int) (*Action, *Response, error)
    EnableIPv6(context.Context, int) (*Action, *Response, error)
    EnableIPv6ByTag(context.Context, string) ([]Action, *Response, error)
    EnablePrivateNetworking(context.Context, int) (*Action, *Response, error)
    EnablePrivateNetworkingByTag(context.Context, string) ([]Action, *Response, error)
    Get(context.Context, int, int) (*Action, *Response, error)
    GetByURI(context.Context, string) (*Action, *Response, error)
}

DropletActionsService is an interface for interfacing with the Droplet actions endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#droplet-actions

type DropletActionsServiceOp Uses

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

DropletActionsServiceOp handles communication with the Droplet action related methods of the DigitalOcean API.

func (*DropletActionsServiceOp) ChangeKernel Uses

func (s *DropletActionsServiceOp) ChangeKernel(ctx context.Context, id, kernelID int) (*Action, *Response, error)

ChangeKernel changes the kernel for a Droplet.

func (*DropletActionsServiceOp) DisableBackups Uses

func (s *DropletActionsServiceOp) DisableBackups(ctx context.Context, id int) (*Action, *Response, error)

DisableBackups disables backups for a Droplet.

func (*DropletActionsServiceOp) DisableBackupsByTag Uses

func (s *DropletActionsServiceOp) DisableBackupsByTag(ctx context.Context, tag string) ([]Action, *Response, error)

DisableBackupsByTag disables backups for Droplet matched by a Tag.

func (*DropletActionsServiceOp) EnableBackups Uses

func (s *DropletActionsServiceOp) EnableBackups(ctx context.Context, id int) (*Action, *Response, error)

EnableBackups enables backups for a Droplet.

func (*DropletActionsServiceOp) EnableBackupsByTag Uses

func (s *DropletActionsServiceOp) EnableBackupsByTag(ctx context.Context, tag string) ([]Action, *Response, error)

EnableBackupsByTag enables backups for Droplets matched by a Tag.

func (*DropletActionsServiceOp) EnableIPv6 Uses

func (s *DropletActionsServiceOp) EnableIPv6(ctx context.Context, id int) (*Action, *Response, error)

EnableIPv6 enables IPv6 for a Droplet.

func (*DropletActionsServiceOp) EnableIPv6ByTag Uses

func (s *DropletActionsServiceOp) EnableIPv6ByTag(ctx context.Context, tag string) ([]Action, *Response, error)

EnableIPv6ByTag enables IPv6 for Droplets matched by a Tag.

func (*DropletActionsServiceOp) EnablePrivateNetworking Uses

func (s *DropletActionsServiceOp) EnablePrivateNetworking(ctx context.Context, id int) (*Action, *Response, error)

EnablePrivateNetworking enables private networking for a Droplet.

func (*DropletActionsServiceOp) EnablePrivateNetworkingByTag Uses

func (s *DropletActionsServiceOp) EnablePrivateNetworkingByTag(ctx context.Context, tag string) ([]Action, *Response, error)

EnablePrivateNetworkingByTag enables private networking for Droplets matched by a Tag.

func (*DropletActionsServiceOp) Get Uses

func (s *DropletActionsServiceOp) Get(ctx context.Context, dropletID, actionID int) (*Action, *Response, error)

Get an action for a particular Droplet by id.

func (*DropletActionsServiceOp) GetByURI Uses

func (s *DropletActionsServiceOp) GetByURI(ctx context.Context, rawurl string) (*Action, *Response, error)

GetByURI gets an action for a particular Droplet by id.

func (*DropletActionsServiceOp) PasswordReset Uses

func (s *DropletActionsServiceOp) PasswordReset(ctx context.Context, id int) (*Action, *Response, error)

PasswordReset resets the password for a Droplet.

func (*DropletActionsServiceOp) PowerCycle Uses

func (s *DropletActionsServiceOp) PowerCycle(ctx context.Context, id int) (*Action, *Response, error)

PowerCycle a Droplet

func (*DropletActionsServiceOp) PowerCycleByTag Uses

func (s *DropletActionsServiceOp) PowerCycleByTag(ctx context.Context, tag string) ([]Action, *Response, error)

PowerCycleByTag power cycles Droplets matched by a Tag.

func (*DropletActionsServiceOp) PowerOff Uses

func (s *DropletActionsServiceOp) PowerOff(ctx context.Context, id int) (*Action, *Response, error)

PowerOff a Droplet

func (*DropletActionsServiceOp) PowerOffByTag Uses

func (s *DropletActionsServiceOp) PowerOffByTag(ctx context.Context, tag string) ([]Action, *Response, error)

PowerOffByTag powers off Droplets matched by a Tag.

func (*DropletActionsServiceOp) PowerOn Uses

func (s *DropletActionsServiceOp) PowerOn(ctx context.Context, id int) (*Action, *Response, error)

PowerOn a Droplet

func (*DropletActionsServiceOp) PowerOnByTag Uses

func (s *DropletActionsServiceOp) PowerOnByTag(ctx context.Context, tag string) ([]Action, *Response, error)

PowerOnByTag powers on Droplets matched by a Tag.

func (*DropletActionsServiceOp) Reboot Uses

func (s *DropletActionsServiceOp) Reboot(ctx context.Context, id int) (*Action, *Response, error)

Reboot a Droplet

func (*DropletActionsServiceOp) RebuildByImageID Uses

func (s *DropletActionsServiceOp) RebuildByImageID(ctx context.Context, id, imageID int) (*Action, *Response, error)

RebuildByImageID rebuilds a Droplet from an image with a given id.

func (*DropletActionsServiceOp) RebuildByImageSlug Uses

func (s *DropletActionsServiceOp) RebuildByImageSlug(ctx context.Context, id int, slug string) (*Action, *Response, error)

RebuildByImageSlug rebuilds a Droplet from an Image matched by a given Slug.

func (*DropletActionsServiceOp) Rename Uses

func (s *DropletActionsServiceOp) Rename(ctx context.Context, id int, name string) (*Action, *Response, error)

Rename a Droplet

func (*DropletActionsServiceOp) Resize Uses

func (s *DropletActionsServiceOp) Resize(ctx context.Context, id int, sizeSlug string, resizeDisk bool) (*Action, *Response, error)

Resize a Droplet

func (*DropletActionsServiceOp) Restore Uses

func (s *DropletActionsServiceOp) Restore(ctx context.Context, id, imageID int) (*Action, *Response, error)

Restore an image to a Droplet

func (*DropletActionsServiceOp) Shutdown Uses

func (s *DropletActionsServiceOp) Shutdown(ctx context.Context, id int) (*Action, *Response, error)

Shutdown a Droplet

func (*DropletActionsServiceOp) ShutdownByTag Uses

func (s *DropletActionsServiceOp) ShutdownByTag(ctx context.Context, tag string) ([]Action, *Response, error)

ShutdownByTag shuts down Droplets matched by a Tag.

func (*DropletActionsServiceOp) Snapshot Uses

func (s *DropletActionsServiceOp) Snapshot(ctx context.Context, id int, name string) (*Action, *Response, error)

Snapshot a Droplet.

func (*DropletActionsServiceOp) SnapshotByTag Uses

func (s *DropletActionsServiceOp) SnapshotByTag(ctx context.Context, tag string, name string) ([]Action, *Response, error)

SnapshotByTag snapshots Droplets matched by a Tag.

type DropletCreateImage Uses

type DropletCreateImage struct {
    ID   int
    Slug string
}

DropletCreateImage identifies an image for the create request. It prefers slug over ID.

func (DropletCreateImage) MarshalJSON Uses

func (d DropletCreateImage) MarshalJSON() ([]byte, error)

MarshalJSON returns either the slug or id of the image. It returns the id if the slug is empty.

type DropletCreateRequest Uses

type DropletCreateRequest struct {
    Name              string                `json:"name"`
    Region            string                `json:"region"`
    Size              string                `json:"size"`
    Image             DropletCreateImage    `json:"image"`
    SSHKeys           []DropletCreateSSHKey `json:"ssh_keys"`
    Backups           bool                  `json:"backups"`
    IPv6              bool                  `json:"ipv6"`
    PrivateNetworking bool                  `json:"private_networking"`
    Monitoring        bool                  `json:"monitoring"`
    UserData          string                `json:"user_data,omitempty"`
    Volumes           []DropletCreateVolume `json:"volumes,omitempty"`
    Tags              []string              `json:"tags"`
    VPCUUID           string                `json:"vpc_uuid,omitempty"`
}

DropletCreateRequest represents a request to create a Droplet.

func (DropletCreateRequest) String Uses

func (d DropletCreateRequest) String() string

type DropletCreateSSHKey Uses

type DropletCreateSSHKey struct {
    ID          int
    Fingerprint string
}

DropletCreateSSHKey identifies a SSH Key for the create request. It prefers fingerprint over ID.

func (DropletCreateSSHKey) MarshalJSON Uses

func (d DropletCreateSSHKey) MarshalJSON() ([]byte, error)

MarshalJSON returns either the fingerprint or id of the ssh key. It returns the id if the fingerprint is empty.

type DropletCreateVolume Uses

type DropletCreateVolume struct {
    ID   string
    Name string
}

DropletCreateVolume identifies a volume to attach for the create request. It prefers Name over ID,

func (DropletCreateVolume) MarshalJSON Uses

func (d DropletCreateVolume) MarshalJSON() ([]byte, error)

MarshalJSON returns an object with either the name or id of the volume. It returns the id if the name is empty.

type DropletMultiCreateRequest Uses

type DropletMultiCreateRequest struct {
    Names             []string              `json:"names"`
    Region            string                `json:"region"`
    Size              string                `json:"size"`
    Image             DropletCreateImage    `json:"image"`
    SSHKeys           []DropletCreateSSHKey `json:"ssh_keys"`
    Backups           bool                  `json:"backups"`
    IPv6              bool                  `json:"ipv6"`
    PrivateNetworking bool                  `json:"private_networking"`
    Monitoring        bool                  `json:"monitoring"`
    UserData          string                `json:"user_data,omitempty"`
    Tags              []string              `json:"tags"`
    VPCUUID           string                `json:"vpc_uuid,omitempty"`
}

DropletMultiCreateRequest is a request to create multiple Droplets.

func (DropletMultiCreateRequest) String Uses

func (d DropletMultiCreateRequest) String() string

type DropletsService Uses

type DropletsService interface {
    List(context.Context, *ListOptions) ([]Droplet, *Response, error)
    ListByTag(context.Context, string, *ListOptions) ([]Droplet, *Response, error)
    Get(context.Context, int) (*Droplet, *Response, error)
    Create(context.Context, *DropletCreateRequest) (*Droplet, *Response, error)
    CreateMultiple(context.Context, *DropletMultiCreateRequest) ([]Droplet, *Response, error)
    Delete(context.Context, int) (*Response, error)
    DeleteByTag(context.Context, string) (*Response, error)
    Kernels(context.Context, int, *ListOptions) ([]Kernel, *Response, error)
    Snapshots(context.Context, int, *ListOptions) ([]Image, *Response, error)
    Backups(context.Context, int, *ListOptions) ([]Image, *Response, error)
    Actions(context.Context, int, *ListOptions) ([]Action, *Response, error)
    Neighbors(context.Context, int) ([]Droplet, *Response, error)
}

DropletsService is an interface for interfacing with the Droplet endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#droplets

type DropletsServiceOp Uses

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

DropletsServiceOp handles communication with the Droplet related methods of the DigitalOcean API.

func (*DropletsServiceOp) Actions Uses

func (s *DropletsServiceOp) Actions(ctx context.Context, dropletID int, opt *ListOptions) ([]Action, *Response, error)

Actions lists the actions for a Droplet.

func (*DropletsServiceOp) Backups Uses

func (s *DropletsServiceOp) Backups(ctx context.Context, dropletID int, opt *ListOptions) ([]Image, *Response, error)

Backups lists the backups for a Droplet.

func (*DropletsServiceOp) Create Uses

func (s *DropletsServiceOp) Create(ctx context.Context, createRequest *DropletCreateRequest) (*Droplet, *Response, error)

Create Droplet

func (*DropletsServiceOp) CreateMultiple Uses

func (s *DropletsServiceOp) CreateMultiple(ctx context.Context, createRequest *DropletMultiCreateRequest) ([]Droplet, *Response, error)

CreateMultiple creates multiple Droplets.

func (*DropletsServiceOp) Delete Uses

func (s *DropletsServiceOp) Delete(ctx context.Context, dropletID int) (*Response, error)

Delete Droplet.

func (*DropletsServiceOp) DeleteByTag Uses

func (s *DropletsServiceOp) DeleteByTag(ctx context.Context, tag string) (*Response, error)

DeleteByTag deletes Droplets matched by a Tag.

func (*DropletsServiceOp) Get Uses

func (s *DropletsServiceOp) Get(ctx context.Context, dropletID int) (*Droplet, *Response, error)

Get individual Droplet.

func (*DropletsServiceOp) Kernels Uses

func (s *DropletsServiceOp) Kernels(ctx context.Context, dropletID int, opt *ListOptions) ([]Kernel, *Response, error)

Kernels lists kernels available for a Droplet.

func (*DropletsServiceOp) List Uses

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

List all Droplets.

func (*DropletsServiceOp) ListByTag Uses

func (s *DropletsServiceOp) ListByTag(ctx context.Context, tag string, opt *ListOptions) ([]Droplet, *Response, error)

ListByTag lists all Droplets matched by a Tag.

func (*DropletsServiceOp) Neighbors Uses

func (s *DropletsServiceOp) Neighbors(ctx context.Context, dropletID int) ([]Droplet, *Response, error)

Neighbors lists the neighbors for a Droplet.

func (*DropletsServiceOp) Snapshots Uses

func (s *DropletsServiceOp) Snapshots(ctx context.Context, dropletID int, opt *ListOptions) ([]Image, *Response, error)

Snapshots lists the snapshots available for a Droplet.

type ErrorResponse Uses

type ErrorResponse struct {
    // HTTP response that caused this error
    Response *http.Response

    // Error message
    Message string `json:"message"`

    // RequestID returned from the API, useful to contact support.
    RequestID string `json:"request_id"`
}

An ErrorResponse reports the error caused by an API request

func (*ErrorResponse) Error Uses

func (r *ErrorResponse) Error() string

type Firewall Uses

type Firewall struct {
    ID             string          `json:"id"`
    Name           string          `json:"name"`
    Status         string          `json:"status"`
    InboundRules   []InboundRule   `json:"inbound_rules"`
    OutboundRules  []OutboundRule  `json:"outbound_rules"`
    DropletIDs     []int           `json:"droplet_ids"`
    Tags           []string        `json:"tags"`
    Created        string          `json:"created_at"`
    PendingChanges []PendingChange `json:"pending_changes"`
}

Firewall represents a DigitalOcean Firewall configuration.

func (Firewall) String Uses

func (fw Firewall) String() string

String creates a human-readable description of a Firewall.

func (Firewall) URN Uses

func (fw Firewall) URN() string

URN returns the firewall name in a valid DO API URN form.

type FirewallRequest Uses

type FirewallRequest struct {
    Name          string         `json:"name"`
    InboundRules  []InboundRule  `json:"inbound_rules"`
    OutboundRules []OutboundRule `json:"outbound_rules"`
    DropletIDs    []int          `json:"droplet_ids"`
    Tags          []string       `json:"tags"`
}

FirewallRequest represents the configuration to be applied to an existing or a new Firewall.

type FirewallRulesRequest Uses

type FirewallRulesRequest struct {
    InboundRules  []InboundRule  `json:"inbound_rules"`
    OutboundRules []OutboundRule `json:"outbound_rules"`
}

FirewallRulesRequest represents rules configuration to be applied to an existing Firewall.

type FirewallsService Uses

type FirewallsService interface {
    Get(context.Context, string) (*Firewall, *Response, error)
    Create(context.Context, *FirewallRequest) (*Firewall, *Response, error)
    Update(context.Context, string, *FirewallRequest) (*Firewall, *Response, error)
    Delete(context.Context, string) (*Response, error)
    List(context.Context, *ListOptions) ([]Firewall, *Response, error)
    ListByDroplet(context.Context, int, *ListOptions) ([]Firewall, *Response, error)
    AddDroplets(context.Context, string, ...int) (*Response, error)
    RemoveDroplets(context.Context, string, ...int) (*Response, error)
    AddTags(context.Context, string, ...string) (*Response, error)
    RemoveTags(context.Context, string, ...string) (*Response, error)
    AddRules(context.Context, string, *FirewallRulesRequest) (*Response, error)
    RemoveRules(context.Context, string, *FirewallRulesRequest) (*Response, error)
}

FirewallsService is an interface for managing Firewalls with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2/#firewalls

type FirewallsServiceOp Uses

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

FirewallsServiceOp handles communication with Firewalls methods of the DigitalOcean API.

func (*FirewallsServiceOp) AddDroplets Uses

func (fw *FirewallsServiceOp) AddDroplets(ctx context.Context, fID string, dropletIDs ...int) (*Response, error)

AddDroplets to a Firewall.

func (*FirewallsServiceOp) AddRules Uses

func (fw *FirewallsServiceOp) AddRules(ctx context.Context, fID string, rr *FirewallRulesRequest) (*Response, error)

AddRules to a Firewall.

func (*FirewallsServiceOp) AddTags Uses

func (fw *FirewallsServiceOp) AddTags(ctx context.Context, fID string, tags ...string) (*Response, error)

AddTags to a Firewall.

func (*FirewallsServiceOp) Create Uses

func (fw *FirewallsServiceOp) Create(ctx context.Context, fr *FirewallRequest) (*Firewall, *Response, error)

Create a new Firewall with a given configuration.

func (*FirewallsServiceOp) Delete Uses

func (fw *FirewallsServiceOp) Delete(ctx context.Context, fID string) (*Response, error)

Delete a Firewall by its identifier.

func (*FirewallsServiceOp) Get Uses

func (fw *FirewallsServiceOp) Get(ctx context.Context, fID string) (*Firewall, *Response, error)

Get an existing Firewall by its identifier.

func (*FirewallsServiceOp) List Uses

func (fw *FirewallsServiceOp) List(ctx context.Context, opt *ListOptions) ([]Firewall, *Response, error)

List Firewalls.

func (*FirewallsServiceOp) ListByDroplet Uses

func (fw *FirewallsServiceOp) ListByDroplet(ctx context.Context, dID int, opt *ListOptions) ([]Firewall, *Response, error)

ListByDroplet Firewalls.

func (*FirewallsServiceOp) RemoveDroplets Uses

func (fw *FirewallsServiceOp) RemoveDroplets(ctx context.Context, fID string, dropletIDs ...int) (*Response, error)

RemoveDroplets from a Firewall.

func (*FirewallsServiceOp) RemoveRules Uses

func (fw *FirewallsServiceOp) RemoveRules(ctx context.Context, fID string, rr *FirewallRulesRequest) (*Response, error)

RemoveRules from a Firewall.

func (*FirewallsServiceOp) RemoveTags Uses

func (fw *FirewallsServiceOp) RemoveTags(ctx context.Context, fID string, tags ...string) (*Response, error)

RemoveTags from a Firewall.

func (*FirewallsServiceOp) Update Uses

func (fw *FirewallsServiceOp) Update(ctx context.Context, fID string, fr *FirewallRequest) (*Firewall, *Response, error)

Update an existing Firewall with new configuration.

type FloatingIP Uses

type FloatingIP struct {
    Region  *Region  `json:"region"`
    Droplet *Droplet `json:"droplet"`
    IP      string   `json:"ip"`
}

FloatingIP represents a Digital Ocean floating IP.

func (FloatingIP) String Uses

func (f FloatingIP) String() string

func (FloatingIP) URN Uses

func (f FloatingIP) URN() string

URN returns the floating IP in a valid DO API URN form.

type FloatingIPActionsService Uses

type FloatingIPActionsService interface {
    Assign(ctx context.Context, ip string, dropletID int) (*Action, *Response, error)
    Unassign(ctx context.Context, ip string) (*Action, *Response, error)
    Get(ctx context.Context, ip string, actionID int) (*Action, *Response, error)
    List(ctx context.Context, ip string, opt *ListOptions) ([]Action, *Response, error)
}

FloatingIPActionsService is an interface for interfacing with the floating IPs actions endpoints of the Digital Ocean API. See: https://developers.digitalocean.com/documentation/v2#floating-ips-action

type FloatingIPActionsServiceOp Uses

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

FloatingIPActionsServiceOp handles communication with the floating IPs action related methods of the DigitalOcean API.

func (*FloatingIPActionsServiceOp) Assign Uses

func (s *FloatingIPActionsServiceOp) Assign(ctx context.Context, ip string, dropletID int) (*Action, *Response, error)

Assign a floating IP to a droplet.

func (*FloatingIPActionsServiceOp) Get Uses

func (s *FloatingIPActionsServiceOp) Get(ctx context.Context, ip string, actionID int) (*Action, *Response, error)

Get an action for a particular floating IP by id.

func (*FloatingIPActionsServiceOp) List Uses

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

List the actions for a particular floating IP.

func (*FloatingIPActionsServiceOp) Unassign Uses

func (s *FloatingIPActionsServiceOp) Unassign(ctx context.Context, ip string) (*Action, *Response, error)

Unassign a floating IP from the droplet it is currently assigned to.

type FloatingIPCreateRequest Uses

type FloatingIPCreateRequest struct {
    Region    string `json:"region"`
    DropletID int    `json:"droplet_id,omitempty"`
}

FloatingIPCreateRequest represents a request to create a floating IP. If DropletID is not empty, the floating IP will be assigned to the droplet.

type FloatingIPsService Uses

type FloatingIPsService interface {
    List(context.Context, *ListOptions) ([]FloatingIP, *Response, error)
    Get(context.Context, string) (*FloatingIP, *Response, error)
    Create(context.Context, *FloatingIPCreateRequest) (*FloatingIP, *Response, error)
    Delete(context.Context, string) (*Response, error)
}

FloatingIPsService is an interface for interfacing with the floating IPs endpoints of the Digital Ocean API. See: https://developers.digitalocean.com/documentation/v2#floating-ips

type FloatingIPsServiceOp Uses

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

FloatingIPsServiceOp handles communication with the floating IPs related methods of the DigitalOcean API.

func (*FloatingIPsServiceOp) Create Uses

func (f *FloatingIPsServiceOp) Create(ctx context.Context, createRequest *FloatingIPCreateRequest) (*FloatingIP, *Response, error)

Create a floating IP. If the DropletID field of the request is not empty, the floating IP will also be assigned to the droplet.

func (*FloatingIPsServiceOp) Delete Uses

func (f *FloatingIPsServiceOp) Delete(ctx context.Context, ip string) (*Response, error)

Delete a floating IP.

func (*FloatingIPsServiceOp) Get Uses

func (f *FloatingIPsServiceOp) Get(ctx context.Context, ip string) (*FloatingIP, *Response, error)

Get an individual floating IP.

func (*FloatingIPsServiceOp) List Uses

func (f *FloatingIPsServiceOp) List(ctx context.Context, opt *ListOptions) ([]FloatingIP, *Response, error)

List all floating IPs.

type ForwardingRule Uses

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

ForwardingRule represents load balancer forwarding rules.

func (ForwardingRule) String Uses

func (f ForwardingRule) String() string

String creates a human-readable description of a ForwardingRule.

type GitHubSourceSpec Uses

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

GitHubSourceSpec struct for GitHubSourceSpec

type GitSourceSpec Uses

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

GitSourceSpec struct for GitSourceSpec

type HealthCheck Uses

type HealthCheck struct {
    Protocol               string `json:"protocol,omitempty"`
    Port                   int    `json:"port,omitempty"`
    Path                   string `json:"path,omitempty"`
    CheckIntervalSeconds   int    `json:"check_interval_seconds,omitempty"`
    ResponseTimeoutSeconds int    `json:"response_timeout_seconds,omitempty"`
    HealthyThreshold       int    `json:"healthy_threshold,omitempty"`
    UnhealthyThreshold     int    `json:"unhealthy_threshold,omitempty"`
}

HealthCheck represents optional load balancer health check rules.

func (HealthCheck) String Uses

func (h HealthCheck) String() string

String creates a human-readable description of a HealthCheck.

type Image Uses

type Image struct {
    ID            int      `json:"id,float64,omitempty"`
    Name          string   `json:"name,omitempty"`
    Type          string   `json:"type,omitempty"`
    Distribution  string   `json:"distribution,omitempty"`
    Slug          string   `json:"slug,omitempty"`
    Public        bool     `json:"public,omitempty"`
    Regions       []string `json:"regions,omitempty"`
    MinDiskSize   int      `json:"min_disk_size,omitempty"`
    SizeGigaBytes float64  `json:"size_gigabytes,omitempty"`
    Created       string   `json:"created_at,omitempty"`
    Description   string   `json:"description,omitempty"`
    Tags          []string `json:"tags,omitempty"`
    Status        string   `json:"status,omitempty"`
    ErrorMessage  string   `json:"error_message,omitempty"`
}

Image represents a DigitalOcean Image

func (Image) String Uses

func (i Image) String() string

type ImageActionsService Uses

type ImageActionsService interface {
    Get(context.Context, int, int) (*Action, *Response, error)
    Transfer(context.Context, int, *ActionRequest) (*Action, *Response, error)
    Convert(context.Context, int) (*Action, *Response, error)
}

ImageActionsService is an interface for interfacing with the image actions endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#image-actions

type ImageActionsServiceOp Uses

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

ImageActionsServiceOp handles communition with the image action related methods of the DigitalOcean API.

func (*ImageActionsServiceOp) Convert Uses

func (i *ImageActionsServiceOp) Convert(ctx context.Context, imageID int) (*Action, *Response, error)

Convert an image to a snapshot

func (*ImageActionsServiceOp) Get Uses

func (i *ImageActionsServiceOp) Get(ctx context.Context, imageID, actionID int) (*Action, *Response, error)

Get an action for a particular image by id.

func (*ImageActionsServiceOp) Transfer Uses

func (i *ImageActionsServiceOp) Transfer(ctx context.Context, imageID int, transferRequest *ActionRequest) (*Action, *Response, error)

Transfer an image

type ImageUpdateRequest Uses

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

ImageUpdateRequest represents a request to update an image.

type ImagesService Uses

type ImagesService interface {
    List(context.Context, *ListOptions) ([]Image, *Response, error)
    ListDistribution(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
    ListApplication(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
    ListUser(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)
    ListByTag(ctx context.Context, tag string, opt *ListOptions) ([]Image, *Response, error)
    GetByID(context.Context, int) (*Image, *Response, error)
    GetBySlug(context.Context, string) (*Image, *Response, error)
    Create(context.Context, *CustomImageCreateRequest) (*Image, *Response, error)
    Update(context.Context, int, *ImageUpdateRequest) (*Image, *Response, error)
    Delete(context.Context, int) (*Response, error)
}

ImagesService is an interface for interfacing with the images endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#images

type ImagesServiceOp Uses

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

ImagesServiceOp handles communication with the image related methods of the DigitalOcean API.

func (*ImagesServiceOp) Create Uses

func (s *ImagesServiceOp) Create(ctx context.Context, createRequest *CustomImageCreateRequest) (*Image, *Response, error)

Create a new image

func (*ImagesServiceOp) Delete Uses

func (s *ImagesServiceOp) Delete(ctx context.Context, imageID int) (*Response, error)

Delete an image.

func (*ImagesServiceOp) GetByID Uses

func (s *ImagesServiceOp) GetByID(ctx context.Context, imageID int) (*Image, *Response, error)

GetByID retrieves an image by id.

func (*ImagesServiceOp) GetBySlug Uses

func (s *ImagesServiceOp) GetBySlug(ctx context.Context, slug string) (*Image, *Response, error)

GetBySlug retrieves an image by slug.

func (*ImagesServiceOp) List Uses

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

List lists all the images available.

func (*ImagesServiceOp) ListApplication Uses

func (s *ImagesServiceOp) ListApplication(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)

ListApplication lists all the application images.

func (*ImagesServiceOp) ListByTag Uses

func (s *ImagesServiceOp) ListByTag(ctx context.Context, tag string, opt *ListOptions) ([]Image, *Response, error)

ListByTag lists all images with a specific tag applied.

func (*ImagesServiceOp) ListDistribution Uses

func (s *ImagesServiceOp) ListDistribution(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)

ListDistribution lists all the distribution images.

func (*ImagesServiceOp) ListUser Uses

func (s *ImagesServiceOp) ListUser(ctx context.Context, opt *ListOptions) ([]Image, *Response, error)

ListUser lists all the user images.

func (*ImagesServiceOp) Update Uses

func (s *ImagesServiceOp) Update(ctx context.Context, imageID int, updateRequest *ImageUpdateRequest) (*Image, *Response, error)

Update an image name.

type InboundRule Uses

type InboundRule struct {
    Protocol  string   `json:"protocol,omitempty"`
    PortRange string   `json:"ports,omitempty"`
    Sources   *Sources `json:"sources"`
}

InboundRule represents a DigitalOcean Firewall inbound rule.

type InstallKubernetesAppsRequest Uses

type InstallKubernetesAppsRequest struct {
    Slugs       []string `json:"addon_slugs"`
    ClusterUUID string   `json:"cluster_uuid"`
}

InstallKubernetesAppsRequest represents a request required to install 1-click kubernetes apps

type InstallKubernetesAppsResponse Uses

type InstallKubernetesAppsResponse struct {
    Message string `json:"message"`
}

InstallKubernetesAppsResponse is the response of a kubernetes 1-click install request

type Invoice Uses

type Invoice struct {
    InvoiceItems []InvoiceItem `json:"invoice_items"`
    Links        *Links        `json:"links"`
    Meta         *Meta         `json:"meta"`
}

Invoice represents a DigitalOcean Invoice

func (Invoice) String Uses

func (i Invoice) String() string

type InvoiceItem Uses

type InvoiceItem struct {
    Product          string    `json:"product"`
    ResourceID       string    `json:"resource_id"`
    ResourceUUID     string    `json:"resource_uuid"`
    GroupDescription string    `json:"group_description"`
    Description      string    `json:"description"`
    Amount           string    `json:"amount"`
    Duration         string    `json:"duration"`
    DurationUnit     string    `json:"duration_unit"`
    StartTime        time.Time `json:"start_time"`
    EndTime          time.Time `json:"end_time"`
    ProjectName      string    `json:"project_name"`
    Category         string    `json:"category"`
}

InvoiceItem represents a line-item on a DigitalOcean Invoice

type InvoiceList Uses

type InvoiceList struct {
    Invoices       []InvoiceListItem `json:"invoices"`
    InvoicePreview InvoiceListItem   `json:"invoice_preview"`
    Links          *Links            `json:"links"`
    Meta           *Meta             `json:"meta"`
}

InvoiceList contains a paginated list of all of a customer's invoices. The InvoicePreview is the month-to-date usage generated by DigitalOcean.

type InvoiceListItem Uses

type InvoiceListItem struct {
    InvoiceUUID   string    `json:"invoice_uuid"`
    Amount        string    `json:"amount"`
    InvoicePeriod string    `json:"invoice_period"`
    UpdatedAt     time.Time `json:"updated_at"`
}

InvoiceListItem contains a small list of information about a customer's invoice. More information can be found in the Invoice or InvoiceSummary

type InvoiceSummary Uses

type InvoiceSummary struct {
    InvoiceUUID           string                  `json:"invoice_uuid"`
    BillingPeriod         string                  `json:"billing_period"`
    Amount                string                  `json:"amount"`
    UserName              string                  `json:"user_name"`
    UserBillingAddress    Address                 `json:"user_billing_address"`
    UserCompany           string                  `json:"user_company"`
    UserEmail             string                  `json:"user_email"`
    ProductCharges        InvoiceSummaryBreakdown `json:"product_charges"`
    Overages              InvoiceSummaryBreakdown `json:"overages"`
    Taxes                 InvoiceSummaryBreakdown `json:"taxes"`
    CreditsAndAdjustments InvoiceSummaryBreakdown `json:"credits_and_adjustments"`
}

InvoiceSummary contains metadata and summarized usage for an invoice generated by DigitalOcean

type InvoiceSummaryBreakdown Uses

type InvoiceSummaryBreakdown struct {
    Name   string                        `json:"name"`
    Amount string                        `json:"amount"`
    Items  []InvoiceSummaryBreakdownItem `json:"items"`
}

InvoiceSummaryBreakdown is a grouped set of InvoiceItems from an invoice

type InvoiceSummaryBreakdownItem Uses

type InvoiceSummaryBreakdownItem struct {
    Name   string `json:"name"`
    Amount string `json:"amount"`
    Count  string `json:"count"`
}

InvoiceSummaryBreakdownItem further breaks down the InvoiceSummary by product

type InvoicesService Uses

type InvoicesService interface {
    Get(context.Context, string, *ListOptions) (*Invoice, *Response, error)
    GetPDF(context.Context, string) ([]byte, *Response, error)
    GetCSV(context.Context, string) ([]byte, *Response, error)
    List(context.Context, *ListOptions) (*InvoiceList, *Response, error)
    GetSummary(context.Context, string) (*InvoiceSummary, *Response, error)
}

InvoicesService is an interface for interfacing with the Invoice endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2/#invoices

type InvoicesServiceOp Uses

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

InvoicesServiceOp handles communication with the Invoice related methods of the DigitalOcean API.

func (*InvoicesServiceOp) Get Uses

func (s *InvoicesServiceOp) Get(ctx context.Context, invoiceUUID string, opt *ListOptions) (*Invoice, *Response, error)

Get detailed invoice items for an Invoice

func (*InvoicesServiceOp) GetCSV Uses

func (s *InvoicesServiceOp) GetCSV(ctx context.Context, invoiceUUID string) ([]byte, *Response, error)

GetCSV returns the csv for an Invoice

func (*InvoicesServiceOp) GetPDF Uses

func (s *InvoicesServiceOp) GetPDF(ctx context.Context, invoiceUUID string) ([]byte, *Response, error)

GetPDF returns the pdf for an Invoice

func (*InvoicesServiceOp) GetSummary Uses

func (s *InvoicesServiceOp) GetSummary(ctx context.Context, invoiceUUID string) (*InvoiceSummary, *Response, error)

GetSummary returns a summary of metadata and summarized usage for an Invoice

func (*InvoicesServiceOp) List Uses

func (s *InvoicesServiceOp) List(ctx context.Context, opt *ListOptions) (*InvoiceList, *Response, error)

List invoices for a customer

type Kernel Uses

type Kernel struct {
    ID      int    `json:"id,float64,omitempty"`
    Name    string `json:"name,omitempty"`
    Version string `json:"version,omitempty"`
}

Kernel object

type Key Uses

type Key struct {
    ID          int    `json:"id,float64,omitempty"`
    Name        string `json:"name,omitempty"`
    Fingerprint string `json:"fingerprint,omitempty"`
    PublicKey   string `json:"public_key,omitempty"`
}

Key represents a DigitalOcean Key.

func (Key) String Uses

func (s Key) String() string

type KeyCreateRequest Uses

type KeyCreateRequest struct {
    Name      string `json:"name"`
    PublicKey string `json:"public_key"`
}

KeyCreateRequest represents a request to create a new key.

type KeyUpdateRequest Uses

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

KeyUpdateRequest represents a request to update a DigitalOcean key.

type KeysService Uses

type KeysService interface {
    List(context.Context, *ListOptions) ([]Key, *Response, error)
    GetByID(context.Context, int) (*Key, *Response, error)
    GetByFingerprint(context.Context, string) (*Key, *Response, error)
    Create(context.Context, *KeyCreateRequest) (*Key, *Response, error)
    UpdateByID(context.Context, int, *KeyUpdateRequest) (*Key, *Response, error)
    UpdateByFingerprint(context.Context, string, *KeyUpdateRequest) (*Key, *Response, error)
    DeleteByID(context.Context, int) (*Response, error)
    DeleteByFingerprint(context.Context, string) (*Response, error)
}

KeysService is an interface for interfacing with the keys endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#keys

type KeysServiceOp Uses

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

KeysServiceOp handles communication with key related method of the DigitalOcean API.

func (*KeysServiceOp) Create Uses

func (s *KeysServiceOp) Create(ctx context.Context, createRequest *KeyCreateRequest) (*Key, *Response, error)

Create a key using a KeyCreateRequest

func (*KeysServiceOp) DeleteByFingerprint Uses

func (s *KeysServiceOp) DeleteByFingerprint(ctx context.Context, fingerprint string) (*Response, error)

DeleteByFingerprint deletes a key by its fingerprint

func (*KeysServiceOp) DeleteByID Uses

func (s *KeysServiceOp) DeleteByID(ctx context.Context, keyID int) (*Response, error)

DeleteByID deletes a key by its id

func (*KeysServiceOp) GetByFingerprint Uses

func (s *KeysServiceOp) GetByFingerprint(ctx context.Context, fingerprint string) (*Key, *Response, error)

GetByFingerprint gets a Key by by fingerprint

func (*KeysServiceOp) GetByID Uses

func (s *KeysServiceOp) GetByID(ctx context.Context, keyID int) (*Key, *Response, error)

GetByID gets a Key by id

func (*KeysServiceOp) List Uses

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

List all keys

func (*KeysServiceOp) UpdateByFingerprint Uses

func (s *KeysServiceOp) UpdateByFingerprint(ctx context.Context, fingerprint string, updateRequest *KeyUpdateRequest) (*Key, *Response, error)

UpdateByFingerprint updates a key name by fingerprint.

func (*KeysServiceOp) UpdateByID Uses

func (s *KeysServiceOp) UpdateByID(ctx context.Context, keyID int, updateRequest *KeyUpdateRequest) (*Key, *Response, error)

UpdateByID updates a key name by ID.

type KubernetesCluster Uses

type KubernetesCluster struct {
    ID            string   `json:"id,omitempty"`
    Name          string   `json:"name,omitempty"`
    RegionSlug    string   `json:"region,omitempty"`
    VersionSlug   string   `json:"version,omitempty"`
    ClusterSubnet string   `json:"cluster_subnet,omitempty"`
    ServiceSubnet string   `json:"service_subnet,omitempty"`
    IPv4          string   `json:"ipv4,omitempty"`
    Endpoint      string   `json:"endpoint,omitempty"`
    Tags          []string `json:"tags,omitempty"`
    VPCUUID       string   `json:"vpc_uuid,omitempty"`

    NodePools []*KubernetesNodePool `json:"node_pools,omitempty"`

    MaintenancePolicy *KubernetesMaintenancePolicy `json:"maintenance_policy,omitempty"`
    AutoUpgrade       bool                         `json:"auto_upgrade,omitempty"`
    SurgeUpgrade      bool                         `json:"surge_upgrade,omitempty"`
    RegistryEnabled   bool                         `json:"registry_enabled,omitempty"`

    Status    *KubernetesClusterStatus `json:"status,omitempty"`
    CreatedAt time.Time                `json:"created_at,omitempty"`
    UpdatedAt time.Time                `json:"updated_at,omitempty"`
}

KubernetesCluster represents a Kubernetes cluster.

type KubernetesClusterConfig Uses

type KubernetesClusterConfig struct {
    KubeconfigYAML []byte
}

KubernetesClusterConfig is the content of a Kubernetes config file, which can be used to interact with your Kubernetes cluster using `kubectl`. See: https://kubernetes.io/docs/tasks/tools/install-kubectl/

type KubernetesClusterCreateRequest Uses

type KubernetesClusterCreateRequest struct {
    Name        string   `json:"name,omitempty"`
    RegionSlug  string   `json:"region,omitempty"`
    VersionSlug string   `json:"version,omitempty"`
    Tags        []string `json:"tags,omitempty"`
    VPCUUID     string   `json:"vpc_uuid,omitempty"`

    NodePools []*KubernetesNodePoolCreateRequest `json:"node_pools,omitempty"`

    MaintenancePolicy *KubernetesMaintenancePolicy `json:"maintenance_policy"`
    AutoUpgrade       bool                         `json:"auto_upgrade"`
    SurgeUpgrade      bool                         `json:"surge_upgrade"`
}

KubernetesClusterCreateRequest represents a request to create a Kubernetes cluster.

type KubernetesClusterCredentials Uses

type KubernetesClusterCredentials struct {
    Server                   string    `json:"server"`
    CertificateAuthorityData []byte    `json:"certificate_authority_data"`
    ClientCertificateData    []byte    `json:"client_certificate_data"`
    ClientKeyData            []byte    `json:"client_key_data"`
    Token                    string    `json:"token"`
    ExpiresAt                time.Time `json:"expires_at"`
}

KubernetesClusterCredentials represents Kubernetes cluster credentials.

type KubernetesClusterCredentialsGetRequest Uses

type KubernetesClusterCredentialsGetRequest struct {
    ExpirySeconds *int `json:"expiry_seconds,omitempty"`
}

KubernetesClusterCredentialsGetRequest is a request to get cluster credentials.

type KubernetesClusterRegistryRequest Uses

type KubernetesClusterRegistryRequest struct {
    ClusterUUIDs []string `json:"cluster_uuids,omitempty"`
}

KubernetesClusterRegistryRequest represents clusters to integrate with docr registry

type KubernetesClusterStatus Uses

type KubernetesClusterStatus struct {
    State   KubernetesClusterStatusState `json:"state,omitempty"`
    Message string                       `json:"message,omitempty"`
}

KubernetesClusterStatus describes the status of a cluster.

type KubernetesClusterStatusState Uses

type KubernetesClusterStatusState string

KubernetesClusterStatusState represents states for a cluster.

func (*KubernetesClusterStatusState) UnmarshalText Uses

func (s *KubernetesClusterStatusState) UnmarshalText(text []byte) error

UnmarshalText unmarshals the state.

type KubernetesClusterUpdateRequest Uses

type KubernetesClusterUpdateRequest struct {
    Name              string                       `json:"name,omitempty"`
    Tags              []string                     `json:"tags,omitempty"`
    MaintenancePolicy *KubernetesMaintenancePolicy `json:"maintenance_policy,omitempty"`
    AutoUpgrade       *bool                        `json:"auto_upgrade,omitempty"`
    SurgeUpgrade      bool                         `json:"surge_upgrade,omitempty"`
}

KubernetesClusterUpdateRequest represents a request to update a Kubernetes cluster.

type KubernetesClusterUpgradeRequest Uses

type KubernetesClusterUpgradeRequest struct {
    VersionSlug string `json:"version,omitempty"`
}

KubernetesClusterUpgradeRequest represents a request to upgrade a Kubernetes cluster.

type KubernetesClusterUser Uses

type KubernetesClusterUser struct {
    Username string   `json:"username,omitempty"`
    Groups   []string `json:"groups,omitempty"`
}

KubernetesClusterUser represents a Kubernetes cluster user.

type KubernetesMaintenancePolicy Uses

type KubernetesMaintenancePolicy struct {
    StartTime string                         `json:"start_time"`
    Duration  string                         `json:"duration"`
    Day       KubernetesMaintenancePolicyDay `json:"day"`
}

KubernetesMaintenancePolicy is a configuration to set the maintenance window of a cluster

type KubernetesMaintenancePolicyDay Uses

type KubernetesMaintenancePolicyDay int

KubernetesMaintenancePolicyDay represents the possible days of a maintenance window

const (
    // KubernetesMaintenanceDayAny sets the KubernetesMaintenancePolicyDay to any
    // day of the week
    KubernetesMaintenanceDayAny KubernetesMaintenancePolicyDay = iota

    // KubernetesMaintenanceDayMonday sets the KubernetesMaintenancePolicyDay to
    // Monday
    KubernetesMaintenanceDayMonday

    // KubernetesMaintenanceDayTuesday sets the KubernetesMaintenancePolicyDay to
    // Tuesday
    KubernetesMaintenanceDayTuesday

    // KubernetesMaintenanceDayWednesday sets the KubernetesMaintenancePolicyDay to
    // Wednesday
    KubernetesMaintenanceDayWednesday

    // KubernetesMaintenanceDayThursday sets the KubernetesMaintenancePolicyDay to
    // Thursday
    KubernetesMaintenanceDayThursday

    // KubernetesMaintenanceDayFriday sets the KubernetesMaintenancePolicyDay to
    // Friday
    KubernetesMaintenanceDayFriday

    // KubernetesMaintenanceDaySaturday sets the KubernetesMaintenancePolicyDay to
    // Saturday
    KubernetesMaintenanceDaySaturday

    // KubernetesMaintenanceDaySunday sets the KubernetesMaintenancePolicyDay to
    // Sunday
    KubernetesMaintenanceDaySunday
)

func KubernetesMaintenanceToDay Uses

func KubernetesMaintenanceToDay(day string) (KubernetesMaintenancePolicyDay, error)

KubernetesMaintenanceToDay returns the appropriate KubernetesMaintenancePolicyDay for the given string.

func (KubernetesMaintenancePolicyDay) MarshalJSON Uses

func (k KubernetesMaintenancePolicyDay) MarshalJSON() ([]byte, error)

MarshalJSON returns the JSON string for KubernetesMaintenancePolicyDay

func (KubernetesMaintenancePolicyDay) String Uses

func (k KubernetesMaintenancePolicyDay) String() string

func (*KubernetesMaintenancePolicyDay) UnmarshalJSON Uses

func (k *KubernetesMaintenancePolicyDay) UnmarshalJSON(data []byte) error

UnmarshalJSON parses the JSON string into KubernetesMaintenancePolicyDay

type KubernetesNode Uses

type KubernetesNode struct {
    ID        string                `json:"id,omitempty"`
    Name      string                `json:"name,omitempty"`
    Status    *KubernetesNodeStatus `json:"status,omitempty"`
    DropletID string                `json:"droplet_id,omitempty"`

    CreatedAt time.Time `json:"created_at,omitempty"`
    UpdatedAt time.Time `json:"updated_at,omitempty"`
}

KubernetesNode represents a Node in a node pool in a Kubernetes cluster.

type KubernetesNodeDeleteRequest Uses

type KubernetesNodeDeleteRequest struct {
    // Replace will cause a new node to be created to replace the deleted node.
    Replace bool `json:"replace,omitempty"`

    // SkipDrain skips draining the node before deleting it.
    SkipDrain bool `json:"skip_drain,omitempty"`
}

KubernetesNodeDeleteRequest is a request to delete a specific node in a node pool.

type KubernetesNodePool Uses

type KubernetesNodePool struct {
    ID        string            `json:"id,omitempty"`
    Name      string            `json:"name,omitempty"`
    Size      string            `json:"size,omitempty"`
    Count     int               `json:"count,omitempty"`
    Tags      []string          `json:"tags,omitempty"`
    Labels    map[string]string `json:"labels,omitempty"`
    Taints    []Taint           `json:"taints,omitempty"`
    AutoScale bool              `json:"auto_scale,omitempty"`
    MinNodes  int               `json:"min_nodes,omitempty"`
    MaxNodes  int               `json:"max_nodes,omitempty"`

    Nodes []*KubernetesNode `json:"nodes,omitempty"`
}

KubernetesNodePool represents a node pool in a Kubernetes cluster.

type KubernetesNodePoolCreateRequest Uses

type KubernetesNodePoolCreateRequest struct {
    Name      string            `json:"name,omitempty"`
    Size      string            `json:"size,omitempty"`
    Count     int               `json:"count,omitempty"`
    Tags      []string          `json:"tags,omitempty"`
    Labels    map[string]string `json:"labels,omitempty"`
    Taints    []Taint           `json:"taints,omitempty"`
    AutoScale bool              `json:"auto_scale,omitempty"`
    MinNodes  int               `json:"min_nodes,omitempty"`
    MaxNodes  int               `json:"max_nodes,omitempty"`
}

KubernetesNodePoolCreateRequest represents a request to create a node pool for a Kubernetes cluster.

type KubernetesNodePoolRecycleNodesRequest Uses

type KubernetesNodePoolRecycleNodesRequest struct {
    Nodes []string `json:"nodes,omitempty"`
}

KubernetesNodePoolRecycleNodesRequest is DEPRECATED please use DeleteNode The type will be removed in godo 2.0.

type KubernetesNodePoolUpdateRequest Uses

type KubernetesNodePoolUpdateRequest struct {
    Name      string            `json:"name,omitempty"`
    Count     *int              `json:"count,omitempty"`
    Tags      []string          `json:"tags,omitempty"`
    Labels    map[string]string `json:"labels,omitempty"`
    Taints    *[]Taint          `json:"taints,omitempty"`
    AutoScale *bool             `json:"auto_scale,omitempty"`
    MinNodes  *int              `json:"min_nodes,omitempty"`
    MaxNodes  *int              `json:"max_nodes,omitempty"`
}

KubernetesNodePoolUpdateRequest represents a request to update a node pool in a Kubernetes cluster.

type KubernetesNodeSize Uses

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

KubernetesNodeSize is a node sizes supported for Kubernetes clusters.

type KubernetesNodeStatus Uses

type KubernetesNodeStatus struct {
    State   string `json:"state,omitempty"`
    Message string `json:"message,omitempty"`
}

KubernetesNodeStatus represents the status of a particular Node in a Kubernetes cluster.

type KubernetesOptions Uses

type KubernetesOptions struct {
    Versions []*KubernetesVersion  `json:"versions,omitempty"`
    Regions  []*KubernetesRegion   `json:"regions,omitempty"`
    Sizes    []*KubernetesNodeSize `json:"sizes,omitempty"`
}

KubernetesOptions represents options available for creating Kubernetes clusters.

type KubernetesRegion Uses

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

KubernetesRegion is a region usable by Kubernetes clusters.

type KubernetesService Uses

type KubernetesService interface {
    Create(context.Context, *KubernetesClusterCreateRequest) (*KubernetesCluster, *Response, error)
    Get(context.Context, string) (*KubernetesCluster, *Response, error)
    GetUser(context.Context, string) (*KubernetesClusterUser, *Response, error)
    GetUpgrades(context.Context, string) ([]*KubernetesVersion, *Response, error)
    GetKubeConfig(context.Context, string) (*KubernetesClusterConfig, *Response, error)
    GetKubeConfigWithExpiry(context.Context, string, int64) (*KubernetesClusterConfig, *Response, error)
    GetCredentials(context.Context, string, *KubernetesClusterCredentialsGetRequest) (*KubernetesClusterCredentials, *Response, error)
    List(context.Context, *ListOptions) ([]*KubernetesCluster, *Response, error)
    Update(context.Context, string, *KubernetesClusterUpdateRequest) (*KubernetesCluster, *Response, error)
    Upgrade(context.Context, string, *KubernetesClusterUpgradeRequest) (*Response, error)
    Delete(context.Context, string) (*Response, error)

    CreateNodePool(ctx context.Context, clusterID string, req *KubernetesNodePoolCreateRequest) (*KubernetesNodePool, *Response, error)
    GetNodePool(ctx context.Context, clusterID, poolID string) (*KubernetesNodePool, *Response, error)
    ListNodePools(ctx context.Context, clusterID string, opts *ListOptions) ([]*KubernetesNodePool, *Response, error)
    UpdateNodePool(ctx context.Context, clusterID, poolID string, req *KubernetesNodePoolUpdateRequest) (*KubernetesNodePool, *Response, error)
    // RecycleNodePoolNodes is DEPRECATED please use DeleteNode
    // The method will be removed in godo 2.0.
    RecycleNodePoolNodes(ctx context.Context, clusterID, poolID string, req *KubernetesNodePoolRecycleNodesRequest) (*Response, error)
    DeleteNodePool(ctx context.Context, clusterID, poolID string) (*Response, error)
    DeleteNode(ctx context.Context, clusterID, poolID, nodeID string, req *KubernetesNodeDeleteRequest) (*Response, error)

    GetOptions(context.Context) (*KubernetesOptions, *Response, error)
    AddRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error)
    RemoveRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error)
}

KubernetesService is an interface for interfacing with the Kubernetes endpoints of the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#kubernetes

type KubernetesServiceOp Uses

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

KubernetesServiceOp handles communication with Kubernetes methods of the DigitalOcean API.

func (*KubernetesServiceOp) AddRegistry Uses

func (svc *KubernetesServiceOp) AddRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error)

AddRegistry integrates docr registry with all the specified clusters

func (*KubernetesServiceOp) Create Uses

func (svc *KubernetesServiceOp) Create(ctx context.Context, create *KubernetesClusterCreateRequest) (*KubernetesCluster, *Response, error)

Create creates a Kubernetes cluster.

func (*KubernetesServiceOp) CreateNodePool Uses

func (svc *KubernetesServiceOp) CreateNodePool(ctx context.Context, clusterID string, create *KubernetesNodePoolCreateRequest) (*KubernetesNodePool, *Response, error)

CreateNodePool creates a new node pool in an existing Kubernetes cluster.

func (*KubernetesServiceOp) Delete Uses

func (svc *KubernetesServiceOp) Delete(ctx context.Context, clusterID string) (*Response, error)

Delete deletes a Kubernetes cluster. There is no way to recover a cluster once it has been destroyed.

func (*KubernetesServiceOp) DeleteNode Uses

func (svc *KubernetesServiceOp) DeleteNode(ctx context.Context, clusterID, poolID, nodeID string, deleteReq *KubernetesNodeDeleteRequest) (*Response, error)

DeleteNode deletes a specific node in a node pool.

func (*KubernetesServiceOp) DeleteNodePool Uses

func (svc *KubernetesServiceOp) DeleteNodePool(ctx context.Context, clusterID, poolID string) (*Response, error)

DeleteNodePool deletes a node pool, and subsequently all the nodes in that pool.

func (*KubernetesServiceOp) Get Uses

func (svc *KubernetesServiceOp) Get(ctx context.Context, clusterID string) (*KubernetesCluster, *Response, error)

Get retrieves the details of a Kubernetes cluster.

func (*KubernetesServiceOp) GetCredentials Uses

func (svc *KubernetesServiceOp) GetCredentials(ctx context.Context, clusterID string, get *KubernetesClusterCredentialsGetRequest) (*KubernetesClusterCredentials, *Response, error)

GetCredentials returns a Kubernetes API server credentials for the specified cluster.

func (*KubernetesServiceOp) GetKubeConfig Uses

func (svc *KubernetesServiceOp) GetKubeConfig(ctx context.Context, clusterID string) (*KubernetesClusterConfig, *Response, error)

GetKubeConfig returns a Kubernetes config file for the specified cluster.

func (*KubernetesServiceOp) GetKubeConfigWithExpiry Uses

func (svc *KubernetesServiceOp) GetKubeConfigWithExpiry(ctx context.Context, clusterID string, expirySeconds int64) (*KubernetesClusterConfig, *Response, error)

GetKubeConfigWithExpiry returns a Kubernetes config file for the specified cluster with expiry_seconds.

func (*KubernetesServiceOp) GetNodePool Uses

func (svc *KubernetesServiceOp) GetNodePool(ctx context.Context, clusterID, poolID string) (*KubernetesNodePool, *Response, error)

GetNodePool retrieves an existing node pool in a Kubernetes cluster.

func (*KubernetesServiceOp) GetOptions Uses

func (svc *KubernetesServiceOp) GetOptions(ctx context.Context) (*KubernetesOptions, *Response, error)

GetOptions returns options about the Kubernetes service, such as the versions available for cluster creation.

func (*KubernetesServiceOp) GetUpgrades Uses

func (svc *KubernetesServiceOp) GetUpgrades(ctx context.Context, clusterID string) ([]*KubernetesVersion, *Response, error)

GetUpgrades retrieves versions a Kubernetes cluster can be upgraded to. An upgrade can be requested using `Upgrade`.

func (*KubernetesServiceOp) GetUser Uses

func (svc *KubernetesServiceOp) GetUser(ctx context.Context, clusterID string) (*KubernetesClusterUser, *Response, error)

GetUser retrieves the details of a Kubernetes cluster user.

func (*KubernetesServiceOp) List Uses

func (svc *KubernetesServiceOp) List(ctx context.Context, opts *ListOptions) ([]*KubernetesCluster, *Response, error)

List returns a list of the Kubernetes clusters visible with the caller's API token.

func (*KubernetesServiceOp) ListNodePools Uses

func (svc *KubernetesServiceOp) ListNodePools(ctx context.Context, clusterID string, opts *ListOptions) ([]*KubernetesNodePool, *Response, error)

ListNodePools lists all the node pools found in a Kubernetes cluster.

func (*KubernetesServiceOp) RecycleNodePoolNodes Uses

func (svc *KubernetesServiceOp) RecycleNodePoolNodes(ctx context.Context, clusterID, poolID string, recycle *KubernetesNodePoolRecycleNodesRequest) (*Response, error)

RecycleNodePoolNodes is DEPRECATED please use DeleteNode The method will be removed in godo 2.0.

func (*KubernetesServiceOp) RemoveRegistry Uses

func (svc *KubernetesServiceOp) RemoveRegistry(ctx context.Context, req *KubernetesClusterRegistryRequest) (*Response, error)

RemoveRegistry removes docr registry support for all the specified clusters

func (*KubernetesServiceOp) Update Uses

func (svc *KubernetesServiceOp) Update(ctx context.Context, clusterID string, update *KubernetesClusterUpdateRequest) (*KubernetesCluster, *Response, error)

Update updates a Kubernetes cluster's properties.

func (*KubernetesServiceOp) UpdateNodePool Uses

func (svc *KubernetesServiceOp) UpdateNodePool(ctx context.Context, clusterID, poolID string, update *KubernetesNodePoolUpdateRequest) (*KubernetesNodePool, *Response, error)

UpdateNodePool updates the details of an existing node pool.

func (*KubernetesServiceOp) Upgrade Uses

func (svc *KubernetesServiceOp) Upgrade(ctx context.Context, clusterID string, upgrade *KubernetesClusterUpgradeRequest) (*Response, error)

Upgrade upgrades a Kubernetes cluster to a new version. Valid upgrade versions for a given cluster can be retrieved with `GetUpgrades`.

type KubernetesVersion Uses

type KubernetesVersion struct {
    Slug              string `json:"slug,omitempty"`
    KubernetesVersion string `json:"kubernetes_version,omitempty"`
}

KubernetesVersion is a DigitalOcean Kubernetes release.

type LinkAction Uses

type LinkAction struct {
    ID   int    `json:"id,omitempty"`
    Rel  string `json:"rel,omitempty"`
    HREF string `json:"href,omitempty"`
}

LinkAction is a pointer to an action

func (*LinkAction) Get Uses

func (la *LinkAction) Get(ctx context.Context, client *Client) (*Action, *Response, error)

Get a link action by id.

type Links struct {
    Pages   *Pages       `json:"pages,omitempty"`
    Actions []LinkAction `json:"actions,omitempty"`
}

Links manages links that are returned along with a List

func (*Links) CurrentPage Uses

func (l *Links) CurrentPage() (int, error)

CurrentPage is current page of the list

func (*Links) IsLastPage Uses

func (l *Links) IsLastPage() bool

IsLastPage returns true if the current page is the last

type ListOptions Uses

type ListOptions struct {
    // For paginated result sets, page of results to retrieve.
    Page int `url:"page,omitempty"`

    // For paginated result sets, the number of results to include per page.
    PerPage int `url:"per_page,omitempty"`
}

ListOptions specifies the optional parameters to various List methods that support pagination.

type ListVolumeParams Uses

type ListVolumeParams struct {
    Region      string       `json:"region"`
    Name        string       `json:"name"`
    ListOptions *ListOptions `json:"list_options,omitempty"`
}

ListVolumeParams stores the options you can set for a ListVolumeCall

type LoadBalancer Uses

type LoadBalancer struct {
    ID                     string           `json:"id,omitempty"`
    Name                   string           `json:"name,omitempty"`
    IP                     string           `json:"ip,omitempty"`
    SizeSlug               string           `json:"size,omitempty"`
    Algorithm              string           `json:"algorithm,omitempty"`
    Status                 string           `json:"status,omitempty"`
    Created                string           `json:"created_at,omitempty"`
    ForwardingRules        []ForwardingRule `json:"forwarding_rules,omitempty"`
    HealthCheck            *HealthCheck     `json:"health_check,omitempty"`
    StickySessions         *StickySessions  `json:"sticky_sessions,omitempty"`
    Region                 *Region          `json:"region,omitempty"`
    DropletIDs             []int            `json:"droplet_ids,omitempty"`
    Tag                    string           `json:"tag,omitempty"`
    Tags                   []string         `json:"tags,omitempty"`
    RedirectHttpToHttps    bool             `json:"redirect_http_to_https,omitempty"`
    EnableProxyProtocol    bool             `json:"enable_proxy_protocol,omitempty"`
    EnableBackendKeepalive bool             `json:"enable_backend_keepalive,omitempty"`
    VPCUUID                string           `json:"vpc_uuid,omitempty"`
}

LoadBalancer represents a DigitalOcean load balancer configuration. Tags can only be provided upon the creation of a Load Balancer.

func (LoadBalancer) AsRequest Uses

func (l LoadBalancer) AsRequest() *LoadBalancerRequest

AsRequest creates a LoadBalancerRequest that can be submitted to Update with the current values of the LoadBalancer. Modifying the returned LoadBalancerRequest will not modify the original LoadBalancer.

func (LoadBalancer) String Uses

func (l LoadBalancer) String() string

String creates a human-readable description of a LoadBalancer.

func (LoadBalancer) URN Uses

func (l LoadBalancer) URN() string

URN returns the load balancer ID in a valid DO API URN form.

type LoadBalancerRequest Uses

type LoadBalancerRequest struct {
    Name                   string           `json:"name,omitempty"`
    Algorithm              string           `json:"algorithm,omitempty"`
    Region                 string           `json:"region,omitempty"`
    SizeSlug               string           `json:"size,omitempty"`
    ForwardingRules        []ForwardingRule `json:"forwarding_rules,omitempty"`
    HealthCheck            *HealthCheck     `json:"health_check,omitempty"`
    StickySessions         *StickySessions  `json:"sticky_sessions,omitempty"`
    DropletIDs             []int            `json:"droplet_ids,omitempty"`
    Tag                    string           `json:"tag,omitempty"`
    Tags                   []string         `json:"tags,omitempty"`
    RedirectHttpToHttps    bool             `json:"redirect_http_to_https,omitempty"`
    EnableProxyProtocol    bool             `json:"enable_proxy_protocol,omitempty"`
    EnableBackendKeepalive bool             `json:"enable_backend_keepalive,omitempty"`
    VPCUUID                string           `json:"vpc_uuid,omitempty"`
}

LoadBalancerRequest represents the configuration to be applied to an existing or a new load balancer.

func (LoadBalancerRequest) String Uses

func (l LoadBalancerRequest) String() string

String creates a human-readable description of a LoadBalancerRequest.

type LoadBalancersService Uses

type LoadBalancersService interface {
    Get(context.Context, string) (*LoadBalancer, *Response, error)
    List(context.Context, *ListOptions) ([]LoadBalancer, *Response, error)
    Create(context.Context, *LoadBalancerRequest) (*LoadBalancer, *Response, error)
    Update(ctx context.Context, lbID string, lbr *LoadBalancerRequest) (*LoadBalancer, *Response, error)
    Delete(ctx context.Context, lbID string) (*Response, error)
    AddDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error)
    RemoveDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error)
    AddForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error)
    RemoveForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error)
}

LoadBalancersService is an interface for managing load balancers with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#load-balancers

type LoadBalancersServiceOp Uses

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

LoadBalancersServiceOp handles communication with load balancer-related methods of the DigitalOcean API.

func (*LoadBalancersServiceOp) AddDroplets Uses

func (l *LoadBalancersServiceOp) AddDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error)

AddDroplets adds droplets to a load balancer.

func (*LoadBalancersServiceOp) AddForwardingRules Uses

func (l *LoadBalancersServiceOp) AddForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error)

AddForwardingRules adds forwarding rules to a load balancer.

func (*LoadBalancersServiceOp) Create Uses

func (l *LoadBalancersServiceOp) Create(ctx context.Context, lbr *LoadBalancerRequest) (*LoadBalancer, *Response, error)

Create a new load balancer with a given configuration.

func (*LoadBalancersServiceOp) Delete Uses

func (l *LoadBalancersServiceOp) Delete(ctx context.Context, ldID string) (*Response, error)

Delete a load balancer by its identifier.

func (*LoadBalancersServiceOp) Get Uses

func (l *LoadBalancersServiceOp) Get(ctx context.Context, lbID string) (*LoadBalancer, *Response, error)

Get an existing load balancer by its identifier.

func (*LoadBalancersServiceOp) List Uses

func (l *LoadBalancersServiceOp) List(ctx context.Context, opt *ListOptions) ([]LoadBalancer, *Response, error)

List load balancers, with optional pagination.

func (*LoadBalancersServiceOp) RemoveDroplets Uses

func (l *LoadBalancersServiceOp) RemoveDroplets(ctx context.Context, lbID string, dropletIDs ...int) (*Response, error)

RemoveDroplets removes droplets from a load balancer.

func (*LoadBalancersServiceOp) RemoveForwardingRules Uses

func (l *LoadBalancersServiceOp) RemoveForwardingRules(ctx context.Context, lbID string, rules ...ForwardingRule) (*Response, error)

RemoveForwardingRules removes forwarding rules from a load balancer.

func (*LoadBalancersServiceOp) Update Uses

func (l *LoadBalancersServiceOp) Update(ctx context.Context, lbID string, lbr *LoadBalancerRequest) (*LoadBalancer, *Response, error)

Update an existing load balancer with new configuration.

type Meta Uses

type Meta struct {
    Total int `json:"total"`
}

Meta describes generic information about a response.

type NetworkV4 Uses

type NetworkV4 struct {
    IPAddress string `json:"ip_address,omitempty"`
    Netmask   string `json:"netmask,omitempty"`
    Gateway   string `json:"gateway,omitempty"`
    Type      string `json:"type,omitempty"`
}

NetworkV4 represents a DigitalOcean IPv4 Network.

func (NetworkV4) String Uses

func (n NetworkV4) String() string

type NetworkV6 Uses

type NetworkV6 struct {
    IPAddress string `json:"ip_address,omitempty"`
    Netmask   int    `json:"netmask,omitempty"`
    Gateway   string `json:"gateway,omitempty"`
    Type      string `json:"type,omitempty"`
}

NetworkV6 represents a DigitalOcean IPv6 network.

func (NetworkV6) String Uses

func (n NetworkV6) String() string

type Networks Uses

type Networks struct {
    V4  []NetworkV4 `json:"v4,omitempty"`
    V6  []NetworkV6 `json:"v6,omitempty"`
}

Networks represents the Droplet's Networks.

type OneClick Uses

type OneClick struct {
    Slug string `json:"slug"`
    Type string `json:"type"`
}

OneClick is the structure of a 1-click

type OneClickService Uses

type OneClickService interface {
    List(context.Context, string) ([]*OneClick, *Response, error)
    InstallKubernetes(context.Context, *InstallKubernetesAppsRequest) (*InstallKubernetesAppsResponse, *Response, error)
}

OneClickService is an interface for interacting with 1-clicks with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2/#1-click-applications

type OneClickServiceOp Uses

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

OneClickServiceOp interfaces with 1-click endpoints in the DigitalOcean API.

func (*OneClickServiceOp) InstallKubernetes Uses

func (ocs *OneClickServiceOp) InstallKubernetes(ctx context.Context, install *InstallKubernetesAppsRequest) (*InstallKubernetesAppsResponse, *Response, error)

InstallKubernetes installs an addon on a kubernetes cluster

func (*OneClickServiceOp) List Uses

func (ocs *OneClickServiceOp) List(ctx context.Context, oneClickType string) ([]*OneClick, *Response, error)

List returns a list of the available 1-click applications.

type OneClicksRoot Uses

type OneClicksRoot struct {
    List []*OneClick `json:"1_clicks"`
}

OneClicksRoot is the root of the json payload that contains a list of 1-clicks

type OutboundRule Uses

type OutboundRule struct {
    Protocol     string        `json:"protocol,omitempty"`
    PortRange    string        `json:"ports,omitempty"`
    Destinations *Destinations `json:"destinations"`
}

OutboundRule represents a DigitalOcean Firewall outbound rule.

type Pages Uses

type Pages struct {
    First string `json:"first,omitempty"`
    Prev  string `json:"prev,omitempty"`
    Last  string `json:"last,omitempty"`
    Next  string `json:"next,omitempty"`
}

Pages are pages specified in Links

type PendingChange Uses

type PendingChange struct {
    DropletID int    `json:"droplet_id,omitempty"`
    Removing  bool   `json:"removing,omitempty"`
    Status    string `json:"status,omitempty"`
}

PendingChange represents a DigitalOcean Firewall status details.

type Project Uses

type Project struct {
    ID          string `json:"id"`
    OwnerUUID   string `json:"owner_uuid"`
    OwnerID     uint64 `json:"owner_id"`
    Name        string `json:"name"`
    Description string `json:"description"`
    Purpose     string `json:"purpose"`
    Environment string `json:"environment"`
    IsDefault   bool   `json:"is_default"`
    CreatedAt   string `json:"created_at"`
    UpdatedAt   string `json:"updated_at"`
}

Project represents a DigitalOcean Project configuration.

func (Project) String Uses

func (p Project) String() string

String creates a human-readable description of a Project.

type ProjectResource Uses

type ProjectResource struct {
    URN        string                `json:"urn"`
    AssignedAt string                `json:"assigned_at"`
    Links      *ProjectResourceLinks `json:"links"`
    Status     string                `json:"status,omitempty"`
}

ProjectResource is the projects API's representation of a resource.

type ProjectResourceLinks struct {
    Self string `json:"self"`
}

ProjectResourceLinks specify the link for more information about the resource.

type ProjectsService Uses

type ProjectsService interface {
    List(context.Context, *ListOptions) ([]Project, *Response, error)
    GetDefault(context.Context) (*Project, *Response, error)
    Get(context.Context, string) (*Project, *Response, error)
    Create(context.Context, *CreateProjectRequest) (*Project, *Response, error)
    Update(context.Context, string, *UpdateProjectRequest) (*Project, *Response, error)
    Delete(context.Context, string) (*Response, error)

    ListResources(context.Context, string, *ListOptions) ([]ProjectResource, *Response, error)
    AssignResources(context.Context, string, ...interface{}) ([]ProjectResource, *Response, error)
}

ProjectsService is an interface for creating and managing Projects with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2/#projects

type ProjectsServiceOp Uses

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

ProjectsServiceOp handles communication with Projects methods of the DigitalOcean API.

func (*ProjectsServiceOp) AssignResources Uses

func (p *ProjectsServiceOp) AssignResources(ctx context.Context, projectID string, resources ...interface{}) ([]ProjectResource, *Response, error)

AssignResources assigns one or more resources to a project. AssignResources accepts resources in two possible formats:

1. The resource type, like `&Droplet{ID: 1}` or `&FloatingIP{IP: "1.2.3.4"}`
2. A valid DO URN as a string, like "do:droplet:1234"

There is no unassign. To move a resource to another project, just assign it to that other project.

func (*ProjectsServiceOp) Create Uses

func (p *ProjectsServiceOp) Create(ctx context.Context, cr *CreateProjectRequest) (*Project, *Response, error)

Create a new project.

func (*ProjectsServiceOp) Delete Uses

func (p *ProjectsServiceOp) Delete(ctx context.Context, projectID string) (*Response, error)

Delete an existing project. You cannot have any resources in a project before deleting it. See the API documentation for more details.

func (*ProjectsServiceOp) Get Uses

func (p *ProjectsServiceOp) Get(ctx context.Context, projectID string) (*Project, *Response, error)

Get retrieves a single project by its ID.

func (*ProjectsServiceOp) GetDefault Uses

func (p *ProjectsServiceOp) GetDefault(ctx context.Context) (*Project, *Response, error)

GetDefault project.

func (*ProjectsServiceOp) List Uses

func (p *ProjectsServiceOp) List(ctx context.Context, opts *ListOptions) ([]Project, *Response, error)

List Projects.

func (*ProjectsServiceOp) ListResources Uses

func (p *ProjectsServiceOp) ListResources(ctx context.Context, projectID string, opts *ListOptions) ([]ProjectResource, *Response, error)

ListResources lists all resources in a project.

func (*ProjectsServiceOp) Update Uses

func (p *ProjectsServiceOp) Update(ctx context.Context, projectID string, ur *UpdateProjectRequest) (*Project, *Response, error)

Update an existing project.

type Rate Uses

type Rate struct {
    // The number of request per hour the client is currently limited to.
    Limit int `json:"limit"`

    // The number of remaining requests the client can make this hour.
    Remaining int `json:"remaining"`

    // The time at which the current rate limit will reset.
    Reset Timestamp `json:"reset"`
}

Rate contains the rate limit for the current client.

func (Rate) String Uses

func (r Rate) String() string

type Region Uses

type Region struct {
    Slug      string   `json:"slug,omitempty"`
    Name      string   `json:"name,omitempty"`
    Sizes     []string `json:"sizes,omitempty"`
    Available bool     `json:"available,omitempty"`
    Features  []string `json:"features,omitempty"`
}

Region represents a DigitalOcean Region

func (Region) String Uses

func (r Region) String() string

type RegionsService Uses

type RegionsService interface {
    List(context.Context, *ListOptions) ([]Region, *Response, error)
}

RegionsService is an interface for interfacing with the regions endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#regions

type RegionsServiceOp Uses

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

RegionsServiceOp handles communication with the region related methods of the DigitalOcean API.

func (*RegionsServiceOp) List Uses

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

List all regions

type Registry Uses

type Registry struct {
    Name      string    `json:"name,omitempty"`
    CreatedAt time.Time `json:"created_at,omitempty"`
}

Registry represents a registry.

type RegistryCreateRequest Uses

type RegistryCreateRequest struct {
    Name string `json:"name,omitempty"`
}

RegistryCreateRequest represents a request to create a registry.

type RegistryDockerCredentialsRequest Uses

type RegistryDockerCredentialsRequest struct {
    ReadWrite     bool `json:"read_write"`
    ExpirySeconds *int `json:"expiry_seconds,omitempty"`
}

RegistryDockerCredentialsRequest represents a request to retrieve docker credentials for a registry.

type RegistryService Uses

type RegistryService interface {
    Create(context.Context, *RegistryCreateRequest) (*Registry, *Response, error)
    Get(context.Context) (*Registry, *Response, error)
    Delete(context.Context) (*Response, error)
    DockerCredentials(context.Context, *RegistryDockerCredentialsRequest) (*DockerCredentials, *Response, error)
    ListRepositories(context.Context, string, *ListOptions) ([]*Repository, *Response, error)
    ListRepositoryTags(context.Context, string, string, *ListOptions) ([]*RepositoryTag, *Response, error)
    DeleteTag(context.Context, string, string, string) (*Response, error)
    DeleteManifest(context.Context, string, string, string) (*Response, error)
}

RegistryService is an interface for interfacing with the Registry endpoints of the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#registry

type RegistryServiceOp Uses

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

RegistryServiceOp handles communication with Registry methods of the DigitalOcean API.

func (*RegistryServiceOp) Create Uses

func (svc *RegistryServiceOp) Create(ctx context.Context, create *RegistryCreateRequest) (*Registry, *Response, error)

Create creates a registry.

func (*RegistryServiceOp) Delete Uses

func (svc *RegistryServiceOp) Delete(ctx context.Context) (*Response, error)

Delete deletes a registry. There is no way to recover a registry once it has been destroyed.

func (*RegistryServiceOp) DeleteManifest Uses

func (svc *RegistryServiceOp) DeleteManifest(ctx context.Context, registry, repository, digest string) (*Response, error)

DeleteManifest deletes a manifest by its digest within a given repository.

func (*RegistryServiceOp) DeleteTag Uses

func (svc *RegistryServiceOp) DeleteTag(ctx context.Context, registry, repository, tag string) (*Response, error)

DeleteTag deletes a tag within a given repository.

func (*RegistryServiceOp) DockerCredentials Uses

func (svc *RegistryServiceOp) DockerCredentials(ctx context.Context, request *RegistryDockerCredentialsRequest) (*DockerCredentials, *Response, error)

DockerCredentials retrieves a Docker config file containing the registry's credentials.

func (*RegistryServiceOp) Get Uses

func (svc *RegistryServiceOp) Get(ctx context.Context) (*Registry, *Response, error)

Get retrieves the details of a Registry.

func (*RegistryServiceOp) ListRepositories Uses

func (svc *RegistryServiceOp) ListRepositories(ctx context.Context, registry string, opts *ListOptions) ([]*Repository, *Response, error)

ListRepositories returns a list of the Repositories visible with the registry's credentials.

func (*RegistryServiceOp) ListRepositoryTags Uses

func (svc *RegistryServiceOp) ListRepositoryTags(ctx context.Context, registry, repository string, opts *ListOptions) ([]*RepositoryTag, *Response, error)

ListRepositoryTags returns a list of the RepositoryTags available within the given repository.

type Repository Uses

type Repository struct {
    RegistryName string         `json:"registry_name,omitempty"`
    Name         string         `json:"name,omitempty"`
    LatestTag    *RepositoryTag `json:"latest_tag,omitempty"`
    TagCount     uint64         `json:"tag_count,omitempty"`
}

Repository represents a repository

type RepositoryTag Uses

type RepositoryTag struct {
    RegistryName        string    `json:"registry_name,omitempty"`
    Repository          string    `json:"repository,omitempty"`
    Tag                 string    `json:"tag,omitempty"`
    ManifestDigest      string    `json:"manifest_digest,omitempty"`
    CompressedSizeBytes uint64    `json:"compressed_size_bytes,omitempty"`
    SizeBytes           uint64    `json:"size_bytes,omitempty"`
    UpdatedAt           time.Time `json:"updated_at,omitempty"`
}

RepositoryTag represents a repository tag

type RequestCompletionCallback Uses

type RequestCompletionCallback func(*http.Request, *http.Response)

RequestCompletionCallback defines the type of the request callback function

type Resource Uses

type Resource struct {
    ID   string       `json:"resource_id,omitempty"`
    Type ResourceType `json:"resource_type,omitempty"`
}

Resource represent a single resource for associating/disassociating with tags

type ResourceType Uses

type ResourceType string

ResourceType represents a class of resource, currently only droplet are supported

const (
    // DropletResourceType holds the string representing our ResourceType of Droplet.
    DropletResourceType ResourceType = "droplet"
    // ImageResourceType holds the string representing our ResourceType of Image.
    ImageResourceType ResourceType = "image"
    // VolumeResourceType holds the string representing our ResourceType of Volume.
    VolumeResourceType ResourceType = "volume"
    // LoadBalancerResourceType holds the string representing our ResourceType of LoadBalancer.
    LoadBalancerResourceType ResourceType = "load_balancer"
    // VolumeSnapshotResourceType holds the string representing our ResourceType for storage Snapshots.
    VolumeSnapshotResourceType ResourceType = "volume_snapshot"
    // DatabaseResourceType holds the string representing our ResourceType of Database.
    DatabaseResourceType ResourceType = "database"
)

type ResourceWithURN Uses

type ResourceWithURN interface {
    URN() string
}

ResourceWithURN is an interface for interfacing with the types that implement the URN method.

type Response Uses

type Response struct {
    *http.Response

    // Links that were returned with the response. These are parsed from
    // request body and not the header.
    Links *Links

    // Meta describes generic information about the response.
    Meta *Meta

    // Monitoring URI
    Monitor string

    Rate
}

Response is a DigitalOcean response. This wraps the standard http.Response returned from DigitalOcean.

type Size Uses

type Size struct {
    Slug         string   `json:"slug,omitempty"`
    Memory       int      `json:"memory,omitempty"`
    Vcpus        int      `json:"vcpus,omitempty"`
    Disk         int      `json:"disk,omitempty"`
    PriceMonthly float64  `json:"price_monthly,omitempty"`
    PriceHourly  float64  `json:"price_hourly,omitempty"`
    Regions      []string `json:"regions,omitempty"`
    Available    bool     `json:"available,omitempty"`
    Transfer     float64  `json:"transfer,omitempty"`
}

Size represents a DigitalOcean Size

func (Size) String Uses

func (s Size) String() string

type SizesService Uses

type SizesService interface {
    List(context.Context, *ListOptions) ([]Size, *Response, error)
}

SizesService is an interface for interfacing with the size endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#sizes

type SizesServiceOp Uses

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

SizesServiceOp handles communication with the size related methods of the DigitalOcean API.

func (*SizesServiceOp) List Uses

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

List all images

type Snapshot Uses

type Snapshot struct {
    ID            string   `json:"id,omitempty"`
    Name          string   `json:"name,omitempty"`
    ResourceID    string   `json:"resource_id,omitempty"`
    ResourceType  string   `json:"resource_type,omitempty"`
    Regions       []string `json:"regions,omitempty"`
    MinDiskSize   int      `json:"min_disk_size,omitempty"`
    SizeGigaBytes float64  `json:"size_gigabytes,omitempty"`
    Created       string   `json:"created_at,omitempty"`
    Tags          []string `json:"tags,omitempty"`
}

Snapshot represents a DigitalOcean Snapshot

func (Snapshot) String Uses

func (s Snapshot) String() string

type SnapshotCreateRequest Uses

type SnapshotCreateRequest struct {
    VolumeID    string   `json:"volume_id"`
    Name        string   `json:"name"`
    Description string   `json:"description"`
    Tags        []string `json:"tags"`
}

SnapshotCreateRequest represents a request to create a block store volume.

type SnapshotsService Uses

type SnapshotsService interface {
    List(context.Context, *ListOptions) ([]Snapshot, *Response, error)
    ListVolume(context.Context, *ListOptions) ([]Snapshot, *Response, error)
    ListDroplet(context.Context, *ListOptions) ([]Snapshot, *Response, error)
    Get(context.Context, string) (*Snapshot, *Response, error)
    Delete(context.Context, string) (*Response, error)
}

SnapshotsService is an interface for interfacing with the snapshots endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#snapshots

type SnapshotsServiceOp Uses

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

SnapshotsServiceOp handles communication with the snapshot related methods of the DigitalOcean API.

func (*SnapshotsServiceOp) Delete Uses

func (s *SnapshotsServiceOp) Delete(ctx context.Context, snapshotID string) (*Response, error)

Delete an snapshot.

func (*SnapshotsServiceOp) Get Uses

func (s *SnapshotsServiceOp) Get(ctx context.Context, snapshotID string) (*Snapshot, *Response, error)

Get retrieves an snapshot by id.

func (*SnapshotsServiceOp) List Uses

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

List lists all the snapshots available.

func (*SnapshotsServiceOp) ListDroplet Uses

func (s *SnapshotsServiceOp) ListDroplet(ctx context.Context, opt *ListOptions) ([]Snapshot, *Response, error)

ListDroplet lists all the Droplet snapshots.

func (*SnapshotsServiceOp) ListVolume Uses

func (s *SnapshotsServiceOp) ListVolume(ctx context.Context, opt *ListOptions) ([]Snapshot, *Response, error)

ListVolume lists all the volume snapshots.

type Sources Uses

type Sources struct {
    Addresses        []string `json:"addresses,omitempty"`
    Tags             []string `json:"tags,omitempty"`
    DropletIDs       []int    `json:"droplet_ids,omitempty"`
    LoadBalancerUIDs []string `json:"load_balancer_uids,omitempty"`
}

Sources represents a DigitalOcean Firewall InboundRule sources.

type StickySessions Uses

type StickySessions struct {
    Type             string `json:"type,omitempty"`
    CookieName       string `json:"cookie_name,omitempty"`
    CookieTtlSeconds int    `json:"cookie_ttl_seconds,omitempty"`
}

StickySessions represents optional load balancer session affinity rules.

func (StickySessions) String Uses

func (s StickySessions) String() string

String creates a human-readable description of a StickySessions instance.

type StorageActionsService Uses

type StorageActionsService interface {
    Attach(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error)
    DetachByDropletID(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error)
    Get(ctx context.Context, volumeID string, actionID int) (*Action, *Response, error)
    List(ctx context.Context, volumeID string, opt *ListOptions) ([]Action, *Response, error)
    Resize(ctx context.Context, volumeID string, sizeGigabytes int, regionSlug string) (*Action, *Response, error)
}

StorageActionsService is an interface for interfacing with the storage actions endpoints of the Digital Ocean API. See: https://developers.digitalocean.com/documentation/v2#storage-actions

type StorageActionsServiceOp Uses

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

StorageActionsServiceOp handles communication with the storage volumes action related methods of the DigitalOcean API.

func (*StorageActionsServiceOp) Attach Uses

func (s *StorageActionsServiceOp) Attach(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error)

Attach a storage volume to a Droplet.

func (*StorageActionsServiceOp) DetachByDropletID Uses

func (s *StorageActionsServiceOp) DetachByDropletID(ctx context.Context, volumeID string, dropletID int) (*Action, *Response, error)

DetachByDropletID a storage volume from a Droplet by Droplet ID.

func (*StorageActionsServiceOp) Get Uses

func (s *StorageActionsServiceOp) Get(ctx context.Context, volumeID string, actionID int) (*Action, *Response, error)

Get an action for a particular storage volume by id.

func (*StorageActionsServiceOp) List Uses

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

List the actions for a particular storage volume.

func (*StorageActionsServiceOp) Resize Uses

func (s *StorageActionsServiceOp) Resize(ctx context.Context, volumeID string, sizeGigabytes int, regionSlug string) (*Action, *Response, error)

Resize a storage volume.

type StorageAttachment Uses

type StorageAttachment struct {
    DropletID int `json:"droplet_id"`
}

StorageAttachment represents the attachement of a block storage volume to a specific Droplet under the device name.

type StorageService Uses

type StorageService interface {
    ListVolumes(context.Context, *ListVolumeParams) ([]Volume, *Response, error)
    GetVolume(context.Context, string) (*Volume, *Response, error)
    CreateVolume(context.Context, *VolumeCreateRequest) (*Volume, *Response, error)
    DeleteVolume(context.Context, string) (*Response, error)
    ListSnapshots(ctx context.Context, volumeID string, opts *ListOptions) ([]Snapshot, *Response, error)
    GetSnapshot(context.Context, string) (*Snapshot, *Response, error)
    CreateSnapshot(context.Context, *SnapshotCreateRequest) (*Snapshot, *Response, error)
    DeleteSnapshot(context.Context, string) (*Response, error)
}

StorageService is an interface for interfacing with the storage endpoints of the Digital Ocean API. See: https://developers.digitalocean.com/documentation/v2/#block-storage

type StorageServiceOp Uses

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

StorageServiceOp handles communication with the storage volumes related methods of the DigitalOcean API.

func (*StorageServiceOp) CreateSnapshot Uses

func (svc *StorageServiceOp) CreateSnapshot(ctx context.Context, createRequest *SnapshotCreateRequest) (*Snapshot, *Response, error)

CreateSnapshot creates a snapshot of a storage volume.

func (*StorageServiceOp) CreateVolume Uses

func (svc *StorageServiceOp) CreateVolume(ctx context.Context, createRequest *VolumeCreateRequest) (*Volume, *Response, error)

CreateVolume creates a storage volume. The name must be unique.

func (*StorageServiceOp) DeleteSnapshot Uses

func (svc *StorageServiceOp) DeleteSnapshot(ctx context.Context, id string) (*Response, error)

DeleteSnapshot deletes a snapshot.

func (*StorageServiceOp) DeleteVolume Uses

func (svc *StorageServiceOp) DeleteVolume(ctx context.Context, id string) (*Response, error)

DeleteVolume deletes a storage volume.

func (*StorageServiceOp) GetSnapshot Uses

func (svc *StorageServiceOp) GetSnapshot(ctx context.Context, id string) (*Snapshot, *Response, error)

GetSnapshot retrieves an individual snapshot.

func (*StorageServiceOp) GetVolume Uses

func (svc *StorageServiceOp) GetVolume(ctx context.Context, id string) (*Volume, *Response, error)

GetVolume retrieves an individual storage volume.

func (*StorageServiceOp) ListSnapshots Uses

func (svc *StorageServiceOp) ListSnapshots(ctx context.Context, volumeID string, opt *ListOptions) ([]Snapshot, *Response, error)

ListSnapshots lists all snapshots related to a storage volume.

func (*StorageServiceOp) ListVolumes Uses

func (svc *StorageServiceOp) ListVolumes(ctx context.Context, params *ListVolumeParams) ([]Volume, *Response, error)

ListVolumes lists all storage volumes.

type Tag Uses

type Tag struct {
    Name      string           `json:"name,omitempty"`
    Resources *TaggedResources `json:"resources,omitempty"`
}

Tag represent DigitalOcean tag

type TagCreateRequest Uses

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

TagCreateRequest represents the JSON structure of a request of that type.

type TagResourcesRequest Uses

type TagResourcesRequest struct {
    Resources []Resource `json:"resources"`
}

TagResourcesRequest represents the JSON structure of a request of that type.

type TaggedDatabasesResources Uses

type TaggedDatabasesResources TaggedResourcesData

TaggedDatabasesResources represent the database resources a tag is attached to

type TaggedDropletsResources Uses

type TaggedDropletsResources struct {
    Count         int      `json:"count,float64,omitempty"`
    LastTagged    *Droplet `json:"last_tagged,omitempty"`
    LastTaggedURI string   `json:"last_tagged_uri,omitempty"`
}

TaggedDropletsResources represent the droplet resources a tag is attached to

type TaggedImagesResources Uses

type TaggedImagesResources TaggedResourcesData

TaggedImagesResources represent the image resources a tag is attached to

type TaggedResources Uses

type TaggedResources struct {
    Count           int                             `json:"count"`
    LastTaggedURI   string                          `json:"last_tagged_uri,omitempty"`
    Droplets        *TaggedDropletsResources        `json:"droplets,omitempty"`
    Images          *TaggedImagesResources          `json:"images"`
    Volumes         *TaggedVolumesResources         `json:"volumes"`
    VolumeSnapshots *TaggedVolumeSnapshotsResources `json:"volume_snapshots"`
    Databases       *TaggedDatabasesResources       `json:"databases"`
}

TaggedResources represent the set of resources a tag is attached to

type TaggedResourcesData Uses

type TaggedResourcesData struct {
    Count         int    `json:"count,float64,omitempty"`
    LastTaggedURI string `json:"last_tagged_uri,omitempty"`
}

TaggedResourcesData represent the generic resources a tag is attached to

type TaggedVolumeSnapshotsResources Uses

type TaggedVolumeSnapshotsResources TaggedResourcesData

TaggedVolumeSnapshotsResources represent the volume snapshot resources a tag is attached to

type TaggedVolumesResources Uses

type TaggedVolumesResources TaggedResourcesData

TaggedVolumesResources represent the volume resources a tag is attached to

type TagsService Uses

type TagsService interface {
    List(context.Context, *ListOptions) ([]Tag, *Response, error)
    Get(context.Context, string) (*Tag, *Response, error)
    Create(context.Context, *TagCreateRequest) (*Tag, *Response, error)
    Delete(context.Context, string) (*Response, error)

    TagResources(context.Context, string, *TagResourcesRequest) (*Response, error)
    UntagResources(context.Context, string, *UntagResourcesRequest) (*Response, error)
}

TagsService is an interface for interfacing with the tags endpoints of the DigitalOcean API See: https://developers.digitalocean.com/documentation/v2#tags

type TagsServiceOp Uses

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

TagsServiceOp handles communication with tag related method of the DigitalOcean API.

func (*TagsServiceOp) Create Uses

func (s *TagsServiceOp) Create(ctx context.Context, createRequest *TagCreateRequest) (*Tag, *Response, error)

Create a new tag

func (*TagsServiceOp) Delete Uses

func (s *TagsServiceOp) Delete(ctx context.Context, name string) (*Response, error)

Delete an existing tag

func (*TagsServiceOp) Get Uses

func (s *TagsServiceOp) Get(ctx context.Context, name string) (*Tag, *Response, error)

Get a single tag

func (*TagsServiceOp) List Uses

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

List all tags

func (*TagsServiceOp) TagResources Uses

func (s *TagsServiceOp) TagResources(ctx context.Context, name string, tagRequest *TagResourcesRequest) (*Response, error)

TagResources associates resources with a given Tag.

func (*TagsServiceOp) UntagResources Uses

func (s *TagsServiceOp) UntagResources(ctx context.Context, name string, untagRequest *UntagResourcesRequest) (*Response, error)

UntagResources dissociates resources with a given Tag.

type Taint Uses

type Taint struct {
    Key    string
    Value  string
    Effect string
}

Taint represents a Kubernetes taint that can be associated with a node pool (and, transitively, with all nodes of that pool).

func (Taint) String Uses

func (t Taint) String() string

type Timestamp Uses

type Timestamp struct {
    time.Time
}

Timestamp represents a time that can be unmarshalled from a JSON string formatted as either an RFC3339 or Unix timestamp. All exported methods of time.Time can be called on Timestamp.

func (Timestamp) Equal Uses

func (t Timestamp) Equal(u Timestamp) bool

Equal reports whether t and u are equal based on time.Equal

func (Timestamp) String Uses

func (t Timestamp) String() string

func (*Timestamp) UnmarshalJSON Uses

func (t *Timestamp) UnmarshalJSON(data []byte) error

UnmarshalJSON implements the json.Unmarshaler interface. Time is expected in RFC3339 or Unix format.

type UntagResourcesRequest Uses

type UntagResourcesRequest struct {
    Resources []Resource `json:"resources"`
}

UntagResourcesRequest represents the JSON structure of a request of that type.

type UpdateProjectRequest Uses

type UpdateProjectRequest struct {
    Name        interface{}
    Description interface{}
    Purpose     interface{}
    Environment interface{}
    IsDefault   interface{}
}

UpdateProjectRequest represents the request to update project information. This type expects certain attribute types, but is built this way to allow nil values as well. See `updateProjectRequest` for the "real" types.

func (*UpdateProjectRequest) MarshalJSON Uses

func (upr *UpdateProjectRequest) MarshalJSON() ([]byte, error)

MarshalJSON takes an UpdateRequest and converts it to the "typed" request which is sent to the projects API. This is a PATCH request, which allows partial attributes, so `null` values are OK.

type VPC Uses

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

VPC represents a DigitalOcean Virtual Private Cloud configuration.

type VPCCreateRequest Uses

type VPCCreateRequest struct {
    Name        string `json:"name,omitempty"`
    RegionSlug  string `json:"region,omitempty"`
    Description string `json:"description,omitempty"`
    IPRange     string `json:"ip_range,omitempty"`
}

VPCCreateRequest represents a request to create a Virtual Private Cloud.

type VPCSetDescription Uses

type VPCSetDescription string

VPCSetDescription is used when one want to set the `description` field of a VPC. Ex.: VPCs.Set(..., VPCSetDescription("vpc description"))

type VPCSetField Uses

type VPCSetField interface {
    // contains filtered or unexported methods
}

VPCSetField allows one to set individual fields within a VPC configuration.

type VPCSetName Uses

type VPCSetName string

VPCSetName is used when one want to set the `name` field of a VPC. Ex.: VPCs.Set(..., VPCSetName("new-name"))

type VPCUpdateRequest Uses

type VPCUpdateRequest struct {
    Name        string `json:"name,omitempty"`
    Description string `json:"description,omitempty"`
}

VPCUpdateRequest represents a request to update a Virtual Private Cloud.

type VPCsService Uses

type VPCsService interface {
    Create(context.Context, *VPCCreateRequest) (*VPC, *Response, error)
    Get(context.Context, string) (*VPC, *Response, error)
    List(context.Context, *ListOptions) ([]*VPC, *Response, error)
    Update(context.Context, string, *VPCUpdateRequest) (*VPC, *Response, error)
    Set(context.Context, string, ...VPCSetField) (*VPC, *Response, error)
    Delete(context.Context, string) (*Response, error)
}

VPCsService is an interface for managing Virtual Private Cloud configurations with the DigitalOcean API. See: https://developers.digitalocean.com/documentation/v2#vpcs

type VPCsServiceOp Uses

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

VPCsServiceOp interfaces with VPC endpoints in the DigitalOcean API.

func (*VPCsServiceOp) Create Uses

func (v *VPCsServiceOp) Create(ctx context.Context, create *VPCCreateRequest) (*VPC, *Response, error)

Create creates a new Virtual Private Cloud.

func (*VPCsServiceOp) Delete Uses

func (v *VPCsServiceOp) Delete(ctx context.Context, id string) (*Response, error)

Delete deletes a Virtual Private Cloud. There is no way to recover a VPC once it has been destroyed.

func (*VPCsServiceOp) Get Uses

func (v *VPCsServiceOp) Get(ctx context.Context, id string) (*VPC, *Response, error)

Get returns the details of a Virtual Private Cloud.

func (*VPCsServiceOp) List Uses

func (v *VPCsServiceOp) List(ctx context.Context, opt *ListOptions) ([]*VPC, *Response, error)

List returns a list of the caller's VPCs, with optional pagination.

func (*VPCsServiceOp) Set Uses

func (v *VPCsServiceOp) Set(ctx context.Context, id string, fields ...VPCSetField) (*VPC, *Response, error)

Set updates specific properties of a Virtual Private Cloud.

func (*VPCsServiceOp) Update Uses

func (v *VPCsServiceOp) Update(ctx context.Context, id string, update *VPCUpdateRequest) (*VPC, *Response, error)

Update updates a Virtual Private Cloud's properties.

type Volume Uses

type Volume struct {
    ID              string    `json:"id"`
    Region          *Region   `json:"region"`
    Name            string    `json:"name"`
    SizeGigaBytes   int64     `json:"size_gigabytes"`
    Description     string    `json:"description"`
    DropletIDs      []int     `json:"droplet_ids"`
    CreatedAt       time.Time `json:"created_at"`
    FilesystemType  string    `json:"filesystem_type"`
    FilesystemLabel string    `json:"filesystem_label"`
    Tags            []string  `json:"tags"`
}

Volume represents a Digital Ocean block store volume.

func (Volume) String Uses

func (f Volume) String() string

func (Volume) URN Uses

func (f Volume) URN() string

URN returns the volume ID as a valid DO API URN

type VolumeCreateRequest Uses

type VolumeCreateRequest struct {
    Region          string   `json:"region"`
    Name            string   `json:"name"`
    Description     string   `json:"description"`
    SizeGigaBytes   int64    `json:"size_gigabytes"`
    SnapshotID      string   `json:"snapshot_id"`
    FilesystemType  string   `json:"filesystem_type"`
    FilesystemLabel string   `json:"filesystem_label"`
    Tags            []string `json:"tags"`
}

VolumeCreateRequest represents a request to create a block store volume.

Directories

PathSynopsis
util

Package godo imports 18 packages (graph) and is imported by 575 packages. Updated 2020-10-22. Refresh now. Tools for package owners.