Categorygithub.com/abrhacom/go-api-abrha
modulepackage
1.0.0
Repository: https://github.com/abrhacom/go-api-abrha.git
Documentation: pkg.go.dev

# README

go-api-abrha

GitHub Actions CI GoDoc

go-api-abrha is a Go client library for accessing the Abrha V1 API.

You can view the client API docs here: http://godoc.org/github.com/abrhacom/go-api-abrha

You can view Abrha API docs here: https://docs.parspack.com/api/

Install

go get github.com/abrhacom/[email protected]

where X.Y.Z is the version you need.

or

go get github.com/abrhacom/go-api-abrha

for non Go modules usage or latest version.

Usage

import "github.com/abrhacom/go-api-abrha"

Create a new Abrha client, then use the exposed services to access different parts of the Abrha API.

Authentication

Currently, Personal Access Token (PAT) is the only method of authenticating with the API. You can manage your tokens at the Abrha Control Panel.

You can then use your token to create a new client:

package main

import (
    goApiAbrha "github.com/abrhacom/go-api-abrha"
)

func main() {
    client := goApiAbrha.NewFromToken("my-abrha-api-token")
}

If you need to provide a context.Context to your new client, you should use goApiAbrha.NewClient to manually construct a client instead.

Examples

To create a new Vm:

vmName := "super-cool-vm"

createRequest := &goApiAbrha.VmCreateRequest{
    Name:   vmName,
    Region: "nyc3",
    Size:   "s-1vcpu-1gb",
    Image: goApiAbrha.VmCreateImage{
        Slug: "ubuntu-20-04-x64",
    },
}

ctx := context.TODO()

newVm, _, err := client.Vms.Create(ctx, createRequest)

if err != nil {
    fmt.Printf("Something bad happened: %s\n\n", err)
    return err
}

Pagination

If a list of items is paginated by the API, you must request pages individually. For example, to fetch all Vms:

func VmList(ctx context.Context, client *goApiAbrha.Client) ([]goApiAbrha.Vm, error) {
    // create a list to hold our vms
    list := []goApiAbrha.Vm{}

    // create options. initially, these will be blank
    opt := &goApiAbrha.ListOptions{}
    for {
        vms, resp, err := client.Vms.List(ctx, opt)
        if err != nil {
            return nil, err
        }

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

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

        page, err := resp.Links.CurrentPage()
        if err != nil {
            return nil, err
        }

        // set the page we want for the next request
        opt.Page = page + 1
    }

    return list, nil
}

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

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

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

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

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

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

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

    return list, nil
}

Automatic Retries and Exponential Backoff

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

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

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

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

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

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

Please refer to the RetryConfig go-api-abrha documentation for more information.

Versioning

Each version of the client is tagged and the version is updated accordingly.

To see the list of past versions, run git tag.

Documentation

For a comprehensive list of examples, check out the API documentation.

For details on all the functionality in this library, see the GoDoc documentation.

Contributing

We love pull requests! Please see the contribution guidelines.

# Packages

Package metrics is a minimal copy of github.com/prometheus/common/model providing types to work with the Prometheus-style results in a Abrha Monitoring metrics response.
No description provided by the author

# Functions

Bool is a helper routine that allocates a new bool value to store v and returns a pointer to it.
CheckResponse checks the API response for errors, and returns them if present.
CIDRSourceFirewall takes a CIDR notation IP address and prefix length string like "192.0.2.0/24" and returns a formatted cidr source firewall rule.
DoRequest submits an HTTP request.
DoRequestWithClient submits an HTTP request using the specified client.
ForEachAppSpecComponent loops over each component spec that matches the provided interface type.
GetAppSpecComponent returns an app spec component by type and name.
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.
IPSourceFirewall takes an IP (string) and returns a formatted ip source firewall rule.
KubernetesMaintenanceToDay returns the appropriate KubernetesMaintenancePolicyDay for the given string.
New returns a new Abrha API client instance.
NewArgError creates an InputError.
NewClient returns a new Abrha API client, using the given http.Client to perform all requests.
NewFromToken returns a new Abrha API client with the given API token.
PtrTo returns a pointer to the provided input.
SetBaseURL is a client option for setting the base URL.
SetRequestHeaders sets optional HTTP headers on the client that are sent on each HTTP request.
SetStaticRateLimit sets an optional client-side rate limiter that restricts the number of queries per second that the client can send to enforce QoS.
SetUserAgent is a client option for setting the user agent.
StreamToString converts a reader to a string.
String is a helper routine that allocates a new string value to store v and returns a pointer to it.
Stringify attempts to create a string representation of Abrha types.
ToURN converts the resource type and ID to a valid DO API URN.
VPCSetDefault is used when one wants to enable the `default` field of a VPC, to set a VPC as the default one in the region Ex.: VPCs.Set(..., VPCSetDefault()).
WithRetryAndBackoffs sets retry values.

# Constants

ActionCompleted is a completed action status.
ActionInProgress is an in progress action status.
List of AppAlertPhase.
List of AppAlertPhase.
List of AppAlertPhase.
List of AppAlertPhase.
List of AppAlertPhase.
List of AppAlertProgressStepStatus.
List of AppAlertProgressStepStatus.
List of AppAlertProgressStepStatus.
List of AppAlertProgressStepStatus.
List of AppAlertProgressStepStatus.
List of AppAlertSpecOperator.
List of AppAlertSpecOperator.
List of AppAlertSpecOperator.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecRule.
List of AppAlertSpecWindow.
List of AppAlertSpecWindow.
List of AppAlertSpecWindow.
List of AppAlertSpecWindow.
List of AppAlertSpecWindow.
AppComponentTypeDatabase is the type for a database component.
AppComponentTypeFunctions is the type for a functions component.
AppComponentTypeJob is the type for a job component.
AppComponentTypeService is the type for a service component.
AppComponentTypeStaticSite is the type for a static site component.
AppComponentTypeWorker is the type for a worker component.
List of AppDatabaseSpecEngine.
List of AppDatabaseSpecEngine.
List of AppDatabaseSpecEngine.
List of AppDatabaseSpecEngine.
List of AppDatabaseSpecEngine.
List of AppDatabaseSpecEngine.
List of AppDatabaseSpecEngine.
List of AppDedicatedIPStatus.
List of AppDedicatedIPStatus.
List of AppDedicatedIPStatus.
List of AppDedicatedIPStatus.
List of AppDomainSpecType.
List of AppDomainSpecType.
List of AppDomainSpecType.
List of AppDomainSpecType.
List of AppEgressSpecType.
List of AppEgressSpecType.
List of AppIngressSpecLoadBalancer.
List of AppIngressSpecLoadBalancer.
List of AppInstanceSizeCPUType.
List of AppInstanceSizeCPUType.
List of AppInstanceSizeCPUType.
List of AppJobSpecKind.
List of AppJobSpecKind.
List of AppJobSpecKind.
List of AppJobSpecKind.
List of AppDomainPhase.
List of AppDomainPhase.
List of AppDomainPhase.
List of AppDomainPhase.
List of AppDomainPhase.
List of AppDomainProgressStepStatus.
List of AppDomainProgressStepStatus.
List of AppDomainProgressStepStatus.
List of AppDomainProgressStepStatus.
List of AppDomainProgressStepStatus.
AppLogTypeBuild represents build logs.
AppLogTypeDeploy represents deploy logs.
AppLogTypeRun represents run logs.
AppLogTypeRunRestarted represents logs of crashed/restarted instances during runtime.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
List of AppVariableScope.
List of AppVariableScope.
List of AppVariableScope.
List of AppVariableScope.
List of AppVariableType.
List of AppVariableType.
DatabaseResourceType holds the string representing our ResourceType of Database.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
DefaultProject is the ID you should use if you are working with your default project.
List of DeploymentCauseDetailsAbrhaUserActionName.
List of DeploymentCauseDetailsAbrhaUserActionName.
List of DeploymentCauseDetailsAbrhaUserActionName.
List of DeploymentCauseDetailsAbrhaUserActionName.
List of DeploymentCauseDetailsAbrhaUserActionName.
List of DeploymentCauseDetailsAbrhaUserActionName.
List of DeploymentCauseDetailsAbrhaUserActionName.
List of DeploymentCauseDetailsAbrhaUserActionName.
List of DeploymentCauseDetailsType.
List of DeploymentCauseDetailsType.
List of DeploymentCauseDetailsType.
List of DeploymentCauseDetailsType.
List of DeploymentCauseDetailsType.
List of DeploymentCauseDetailsType.
List of DeploymentCauseDetailsType.
List of DeploymentCauseDetailsType.
List of DeploymentPhase.
List of DeploymentPhase.
List of DeploymentPhase.
List of DeploymentPhase.
List of DeploymentPhase.
List of DeploymentPhase.
List of DeploymentPhase.
List of DeploymentPhase.
List of DeploymentPhase.
List of DeploymentProgressStepStatus.
List of DeploymentProgressStepStatus.
List of DeploymentProgressStepStatus.
List of DeploymentProgressStepStatus.
List of DeploymentProgressStepStatus.
List of DetectResponseType.
List of DetectResponseType.
List of DetectResponseType.
List of DetectResponseType.
List of DetectResponseType.
Redis eviction policies supported by the managed Redis product.
Redis eviction policies supported by the managed Redis product.
Redis eviction policies supported by the managed Redis product.
Redis eviction policies supported by the managed Redis product.
Redis eviction policies supported by the managed Redis product.
Redis eviction policies supported by the managed Redis product.
GCTypeUnreferencedBlobsOnly indicates that a garbage collection should only delete unreferenced blobs.
GCTypeUntaggedManifestsAndUnreferencedBlobs indicates that a garbage collection should delete both untagged manifests and unreferenced blobs.
GCTypeUntaggedManifestsOnly indicates that a garbage collection should only delete untagged manifests.
GreaterThan is the comparison >.
ImageResourceType holds the string representing our ResourceType of Image.
List of ImageSourceSpecRegistryType.
List of ImageSourceSpecRegistryType.
List of ImageSourceSpecRegistryType.
List of ImageSourceSpecRegistryType.
Possible states for a cluster.
Possible states for a cluster.
Possible states for a cluster.
Possible states for a cluster.
Possible states for a cluster.
Possible states for a cluster.
Possible states for a cluster.
KubernetesMaintenanceDayAny sets the KubernetesMaintenancePolicyDay to any day of the week.
KubernetesMaintenanceDayFriday sets the KubernetesMaintenancePolicyDay to Friday.
KubernetesMaintenanceDayMonday sets the KubernetesMaintenancePolicyDay to Monday.
KubernetesMaintenanceDaySaturday sets the KubernetesMaintenancePolicyDay to Saturday.
KubernetesMaintenanceDaySunday sets the KubernetesMaintenancePolicyDay to Sunday.
KubernetesMaintenanceDayThursday sets the KubernetesMaintenancePolicyDay to Thursday.
KubernetesMaintenanceDayTuesday sets the KubernetesMaintenancePolicyDay to Tuesday.
KubernetesMaintenanceDayWednesday sets the KubernetesMaintenancePolicyDay to Wednesday.
LessThan is the comparison <.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
Load Balancer network types.
No description provided by the author
LoadBalancerResourceType holds the string representing our ResourceType of LoadBalancer.
No description provided by the author
Load Balancer types.
No description provided by the author
No description provided by the author
No description provided by the author
RegistryServer is the hostname of the Abrha registry service.
List of ServingProtocol.
List of ServingProtocol.
SQL Auth constants allow for MySQL-specific user auth plugins.
SQL Auth constants allow for MySQL-specific user auth plugins.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
SQL Mode constants allow for MySQL-specific SQL flavor configuration.
UptimeAlertGreaterThan is the comparison >.
UptimeAlertLessThan is the comparison <.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
VmResourceType holds the string representing our ResourceType of Vm.
VolumeResourceType holds the string representing our ResourceType of Volume.
VolumeSnapshotResourceType holds the string representing our ResourceType for storage Snapshots.

# Structs

Account represents a Abrha Account.
AccountServiceOp handles communication with the Account related methods of the Abrha API.
Action represents a Abrha Action.
ActionsServiceOp handles communication with the image action related methods of the API.
Address represents the billing address of a customer.
AlertDestinationUpdateRequest represents a request to update alert destinations.
AlertPolicy represents a Abrha alert policy.
AlertPolicyCreateRequest holds the info for creating a new alert policy.
AlertPolicyUpdateRequest holds the info for updating an existing alert policy.
Alerts represents the alerts section of an alert policy.
App An application's configuration and status.
AppAlert Represents an alert configured for an app or component.
AppAlertProgress struct for AppAlertProgress.
AppAlertProgressStep struct for AppAlertProgressStep.
AppAlertProgressStepReason struct for AppAlertProgressStepReason.
AppAlertSlackWebhook Configuration of a Slack alerting destination.
AppAlertSpec Configuration of an alert for the app or a individual component.
AppAutoscalingSpec struct for AppAutoscalingSpec.
AppAutoscalingSpecMetricCPU struct for AppAutoscalingSpecMetricCPU.
AppAutoscalingSpecMetrics struct for AppAutoscalingSpecMetrics.
AppBuildConfig struct for AppBuildConfig.
AppBuildConfigCNBVersioning struct for AppBuildConfigCNBVersioning.
AppCORSPolicy struct for AppCORSPolicy.
AppCreateRequest struct for AppCreateRequest.
AppDatabaseSpec struct for AppDatabaseSpec.
AppDedicatedIp Represents a dedicated egress ip.
AppDomain struct for AppDomain.
AppDomainProgress struct for AppDomainProgress.
AppDomainProgressStep struct for AppDomainProgressStep.
AppDomainProgressStepReason struct for AppDomainProgressStepReason.
AppDomainSpec struct for AppDomainSpec.
AppDomainValidation struct for AppDomainValidation.
AppEgressSpec Specification for app egress configurations.
AppExec represents the websocket URL used for sending/receiving console input and output.
AppFunctionsSpec struct for AppFunctionsSpec.
AppIngressSpec Specification for app ingress configurations.
AppIngressSpecRule A rule that configures component routes, rewrites, redirects and cors.
AppIngressSpecRuleMatch The match configuration for a rule.
AppIngressSpecRuleRoutingComponent The component routing configuration.
AppIngressSpecRuleRoutingRedirect The redirect routing configuration.
AppIngressSpecRuleStringMatch The string match configuration.
AppInstanceSize struct for AppInstanceSize.
AppJobSpec struct for AppJobSpec.
AppJobSpecTermination struct for AppJobSpecTermination.
AppLogDestinationSpec struct for AppLogDestinationSpec.
AppLogDestinationSpecDataDog DataDog configuration.
AppLogDestinationSpecHeader struct for AppLogDestinationSpecHeader.
AppLogDestinationSpecLogtail Logtail configuration.
AppLogDestinationSpecOpenSearch OpenSearch configuration.
AppLogDestinationSpecPapertrail Papertrail configuration.
AppLogs represent app logs.
AppMaintenanceSpec struct for AppMaintenanceSpec.
AppProposeRequest struct for AppProposeRequest.
AppProposeResponse struct for AppProposeResponse.
AppRegion struct for AppRegion.
AppRestartRequest represents a request to restart an app.
AppRouteSpec struct for AppRouteSpec.
AppServiceSpec struct for AppServiceSpec.
AppServiceSpecHealthCheck struct for AppServiceSpecHealthCheck.
AppServiceSpecTermination struct for AppServiceSpecTermination.
AppSpec The desired configuration of an application.
AppsServiceOp handles communication with Apps methods of the Abrha API.
AppStaticSiteSpec struct for AppStaticSiteSpec.
AppStringMatch struct for AppStringMatch.
AppTier struct for AppTier.
AppUpdateRequest represents a request to update an app.
AppVariableDefinition struct for AppVariableDefinition.
AppWorkerSpec struct for AppWorkerSpec.
AppWorkerSpecTermination struct for AppWorkerSpecTermination.
ArgError is an error that represents an error with an input to goApiAbrha.
AssociatedResource is the object to represent a Kubernetes cluster associated resource's ID and Name.
BackupWindow object.
Balance represents a Abrha Balance.
BalanceServiceOp handles communication with the Balance related methods of the Abrha API.
BillingHistory represents a Abrha Billing History.
BillingHistoryEntry represents an entry in a customer's Billing History.
BillingHistoryServiceOp handles communication with the BillingHistory related methods of the Abrha API.
BitbucketSourceSpec struct for BitbucketSourceSpec.
Blob represents a registry blob.
Buildpack struct for Buildpack.
CDN represents a Abrha CDN.
CDNCreateRequest represents a request to create a CDN.
CDNFlushCacheRequest represents a request to flush cache of a CDN.
CDNServiceOp handles communication with the CDN related methods of the Abrha API.
CDNSettings define CDN settings for a Global LB.
CDNUpdateCustomDomainRequest represents a request to update the custom domain of a CDN.
CDNUpdateTTLRequest represents a request to update the ttl of a CDN.
Certificate represents a Abrha certificate configuration.
CertificateRequest represents configuration for a new certificate.
CertificatesServiceOp handles communication with certificates methods of the Abrha API.
Client manages communication with Abrha V2 API.
ClusterlintDiagnostic is a diagnostic returned from clusterlint.
ClusterlintObject is the object a clusterlint diagnostic refers to.
ClusterlintOwner indicates the resource that owns the offending object.
CreateProjectRequest represents the request to create a new project.
CreateUptimeUptimeAlertRequest represents the request to create a new Uptime Alert.
CreateUptimeCheckRequest represents the request to create a new uptime check.
CustomImageCreateRequest represents a request to create a custom image.
Database represents a Abrha managed database product.
DatabaseBackup represents a database backup.
DatabaseBackupRestore contains information needed to restore a backup.
DatabaseCA represents a database ca.
DatabaseConnection represents a database connection.
DatabaseCreateDBRequest is used to create a new engine-specific database within the cluster.
DatabaseCreateFirewallRule is a rule describing an inbound source to a database.
DatabaseCreateLogsinkRequest is used to create logsink for a database cluster.
DatabaseCreatePoolRequest is used to create a new database connection pool.
DatabaseCreateReplicaRequest is used to create a new read-only replica.
DatabaseCreateRequest represents a request to create a database cluster.
DatabaseCreateTopicRequest is used to create a new topic within a kafka cluster.
DatabaseCreateUserRequest is used to create a new database user.
DatabaseDB represents an engine-specific database created within a database cluster.
DatabaseEngineOptions represents the configuration options that are available for a given database engine.
DatbaseEvent contains the information about a Datbase event.
DatabaseFirewallRule is a rule describing an inbound source to a database.
No description provided by the author
DatabaseLayout represents the slugs available for a given database engine at various node counts.
DatabaseLogsink represents a logsink.
DatabaseLogsinkConfig represents one of the configurable options (rsyslog_logsink, elasticsearch_logsink, or opensearch_logsink) for a logsink.
DatabaseMaintenanceWindow represents the maintenance_window of a database cluster.
No description provided by the author
DatabaseMigrateRequest can be used to initiate a database migrate operation.
DatabaseMySQLUserSettings contains MySQL-specific user settings.
DatabaseOptions represents the available database engines.
DatabasePool represents a database connection pool.
DatabaseReplica represents a read-only replica of a particular database.
DatabaseResetUserAuthRequest is used to reset a users DB auth.
DatabaseResizeRequest can be used to initiate a database resize operation.
DatabasesServiceOp handles communication with the Databases related methods of the Abrha API.
DatabaseTopic represents a Kafka topic.
DatabaseUpdateFirewallRulesRequest is used to set the firewall rules for a database.
DatabaseUpdateLogsinkRequest is used to update logsink for a database cluster.
DatabaseUpdateMaintenanceRequest can be used to update the database's maintenance window.
No description provided by the author
DatabaseUpdatePoolRequest is used to update a database connection pool.
DatabaseUpdateTopicRequest ...
DatabaseUpdateUserRequest is used to update an existing database user.
DatabaseUser represents a user in the database.
DatabaseUserSettings contains user settings.
Deployment struct for Deployment.
DeploymentCauseDetails struct for DeploymentCauseDetails.
DeploymentCauseDetailsAbrhaUser struct for DeploymentCauseDetailsAbrhaUser.
DeploymentCauseDetailsAbrhaUserAction struct for DeploymentCauseDetailsAbrhaUserAction.
DeploymentCauseDetailsAutoscalerAction struct for DeploymentCauseDetailsAutoscalerAction.
DeploymentCauseDetailsDOCRPush struct for DeploymentCauseDetailsDOCRPush.
DeploymentCauseDetailsGitPush struct for DeploymentCauseDetailsGitPush.
DeploymentCreateRequest represents a request to create a deployment.
DeploymentFunctions struct for DeploymentFunctions.
DeploymentJob struct for DeploymentJob.
DeploymentProgress struct for DeploymentProgress.
DeploymentProgressStep struct for DeploymentProgressStep.
DeploymentProgressStepReason struct for DeploymentProgressStepReason.
DeploymentService struct for DeploymentService.
DeploymentStaticSite struct for DeploymentStaticSite.
DeploymentTiming struct for DeploymentTiming.
DeploymentTimingComponent struct for DeploymentTimingComponent.
DeploymentWorker struct for DeploymentWorker.
DeployTemplate struct for DeployTemplate.
Destinations represents a Abrha Firewall OutboundRule destinations.
DetectRequest struct for DetectRequest.
DetectResponse struct for DetectResponse.
DetectResponseComponent struct for DetectResponseComponent.
DetectResponseServerlessFunction struct for DetectResponseServerlessFunction.
DetectResponseServerlessFunctionLimits struct for DetectResponseServerlessFunctionLimits.
DetectResponseServerlessPackage struct for DetectResponseServerlessPackage.
DiskInfo containing information about the disks available to Vms created with this size.
DiskSize provides information about the size of a disk.
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.
Domain represents a Abrha domain.
DomainCreateRequest represents a request to create a domain.
DomainRecord represents a Abrha DomainRecord.
DomainRecordEditRequest represents a request to update a domain record.
DomainsServiceOp handles communication with the domain related methods of the Abrha API.
An ErrorResponse reports the error caused by an API request.
Firewall represents a Abrha Firewall configuration.
FirewallRequest represents the configuration to be applied to an existing or a new Firewall.
FirewallRulesRequest represents rules configuration to be applied to an existing Firewall.
FirewallsServiceOp handles communication with Firewalls methods of the Abrha API.
FloatingIP represents a Pars Pack floating IP.
FloatingIPActionsServiceOp handles communication with the floating IPs action related methods of the Abrha API.
FloatingIPCreateRequest represents a request to create a floating IP.
FloatingIPsServiceOp handles communication with the floating IPs related methods of the Abrha API.
ForwardingRule represents load balancer forwarding rules.
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
No description provided by the author
GarbageCollection represents a garbage collection.
GetAppDatabaseConnectionDetailsResponse struct for GetAppDatabaseConnectionDetailsResponse.
GetDatabaseConnectionDetailsResponse struct for GetDatabaseConnectionDetailsResponse.
GetDatabaseConnectionDetailsResponsePool struct for GetDatabaseConnectionDetailsResponsePool.
GetDatabaseTrustedSourceResponse struct for GetDatabaseTrustedSourceResponse.
GitHubSourceSpec struct for GitHubSourceSpec.
GitLabSourceSpec struct for GitLabSourceSpec.
GitSourceSpec struct for GitSourceSpec.
GLBSettings define settings for configuring a Global LB.
GPUInfo provides information about the GPU available to Vms created with this size.
HealthCheck represents optional load balancer health check rules.
Image represents a Abrha Image.
ImageActionsServiceOp handles communication with the image action related methods of the Abrha API.
ImageSourceSpec struct for ImageSourceSpec.
ImageSourceSpecDeployOnPush struct for ImageSourceSpecDeployOnPush.
ImagesServiceOp handles communication with the image related methods of the Abrha API.
ImageUpdateRequest represents a request to update an image.
InboundRule represents a Abrha Firewall inbound rule.
No description provided by the author
InstallKubernetesAppsRequest represents a request required to install 1-click kubernetes apps.
InstallKubernetesAppsResponse is the response of a kubernetes 1-click install request.
Invoice represents a Abrha Invoice.
InvoiceItem represents a line-item on a Abrha Invoice.
InvoiceList contains a paginated list of all of a customer's invoices.
InvoiceListItem contains a small list of information about a customer's invoice.
InvoicesServiceOp handles communication with the Invoice related methods of the Abrha API.
InvoiceSummary contains metadata and summarized usage for an invoice generated by Abrha.
InvoiceSummaryBreakdown is a grouped set of InvoiceItems from an invoice.
InvoiceSummaryBreakdownItem further breaks down the InvoiceSummary by product.
KafkaACL contains Kafka specific user access control information.
KafkaConfig holds advanced configurations for Kafka database clusters.
Kernel object.
Key represents a Abrha Key.
KeyCreateRequest represents a request to create a new SSH key.
KeysServiceOp handles communication with SSH key related method of the Abrha API.
KeyUpdateRequest represents a request to update an SSH key stored in a Abrha account.
KubernetesAssociatedResources represents a cluster's associated resources.
KubernetesCluster represents a Kubernetes cluster.
KubernetesClusterConfig is the content of a Kubernetes config file, which can be used to interact with your Kubernetes cluster using `kubectl`.
KubernetesClusterCreateRequest represents a request to create a Kubernetes cluster.
KubernetesClusterCredentials represents Kubernetes cluster credentials.
KubernetesClusterCredentialsGetRequest is a request to get cluster credentials.
KubernetesClusterDeleteSelectiveRequest represents a delete selective request to delete a cluster and it's associated resources.
KubernetesClusterRegistryRequest represents clusters to integrate with docr registry.
KubernetesClusterStatus describes the status of a cluster.
KubernetesClusterUpdateRequest represents a request to update a Kubernetes cluster.
KubernetesClusterUpgradeRequest represents a request to upgrade a Kubernetes cluster.
KubernetesClusterUser represents a Kubernetes cluster user.
KubernetesControlPlaneFirewall represents Kubernetes cluster control plane firewall.
No description provided by the author
KubernetesMaintenancePolicy is a configuration to set the maintenance window of a cluster.
KubernetesNode represents a Node in a node pool in a Kubernetes cluster.
KubernetesNodeDeleteRequest is a request to delete a specific node in a node pool.
KubernetesNodePool represents a node pool in a Kubernetes cluster.
KubernetesNodePoolCreateRequest represents a request to create a node pool for a Kubernetes cluster.
KubernetesNodePoolRecycleNodesRequest is DEPRECATED please use DeleteNode The type will be removed in goApiAbrha 2.0.
KubernetesNodePoolUpdateRequest represents a request to update a node pool in a Kubernetes cluster.
KubernetesNodeSize is a node sizes supported for Kubernetes clusters.
KubernetesNodeStatus represents the status of a particular Node in a Kubernetes cluster.
KubernetesOptions represents options available for creating Kubernetes clusters.
KubernetesRegion is a region usable by Kubernetes clusters.
No description provided by the author
KubernetesServiceOp handles communication with Kubernetes methods of the Abrha API.
KubernetesVersion is a Abrha Kubernetes release.
LBDomain defines domain names required to ingress traffic to a Global LB.
LBFirewall holds the allow and deny rules for a loadbalancer's firewall.
LinkAction is a pointer to an action.
Links manages links that are returned along with a List.
ListBuildpacksResponse struct for ListBuildpacksResponse.
ListDatabaseEvents contains a list of project events.
No description provided by the author
ListOptions specifies the optional parameters to various List methods that support pagination.
ListVolumeParams stores the options you can set for a ListVolumeCall.
LoadBalancer represents a Abrha load balancer configuration.
LoadBalancerMetricsRequest holds the information needed to retrieve Load Balancer various metrics.
LoadBalancerRequest represents the configuration to be applied to an existing or a new load balancer.
LoadBalancersServiceOp handles communication with load balancer-related methods of the Abrha API.
Meta describes generic information about a response.
MetricsData holds the data portion of a Metrics response.
MetricsResponse holds a Metrics query response.
MongoDBConfig holds advanced configurations for MongoDB database clusters.
MonitoringServiceOp handles communication with monitoring related methods of the Abrha API.
MySQLConfig holds advanced configurations for MySQL database clusters.
Networks represents the Vm's Networks.
NetworkV4 represents a Abrha IPv4 Network.
NetworkV6 represents a Abrha IPv6 network.
Notifications represents a Abrha Notifications configuration.
OneClick is the structure of a 1-click.
OneClickServiceOp interfaces with 1-click endpoints in the Abrha API.
OneClicksRoot is the root of the json payload that contains a list of 1-clicks.
OpenSearchACL contains OpenSearch specific user access control information.
OpenSearchBasicAuth Configure Username and/or Password for Basic authentication.
OpensearchConfig holds advanced configurations for Opensearch database clusters.
OutboundRule represents a Abrha Firewall outbound rule.
Pages are pages specified in Links.
PendingChange represents a Abrha Firewall status details.
PostgreSQLBouncerConfig configuration.
PostgreSQLConfig holds advanced configurations for PostgreSQL database clusters.
PostgreSQLTimeScaleDBConfig configuration.
Project represents a Abrha Project configuration.
ProjectResource is the projects API's representation of a resource.
ProjectResourceLinks specify the link for more information about the resource.
ProjectsServiceOp handles communication with Projects methods of the Abrha API.
Rate contains the rate limit for the current client.
RedisConfig holds advanced configurations for Redis database clusters.
Region represents a Abrha Region.
RegionsServiceOp handles communication with the region related methods of the Abrha API.
RegistriesCreateRequest represents a request to create a secondary registry.
RegistriesServiceOp handles communication with the multiple-registry beta methods.
Registry represents a registry.
RegistryCreateRequest represents a request to create a registry.
RegistryDockerCredentialsRequest represents a request to retrieve docker credentials for a registry.
RegistryOptions are options for users when creating or updating a registry.
RegistryServiceOp handles communication with Registry methods of the Abrha API.
RegistrySubscription is a user's subscription.
RegistrySubscriptionTier is a subscription tier for container registry.
RegistrySubscriptionUpdateRequest represents a request to update the subscription plan for a registry.
RegistryValidateNameRequest represents a request to validate that a container registry name is available for use.
Repository represents a repository.
RepositoryManifest represents a repository manifest.
RepositoryTag represents a repository tag.
RepositoryV2 represents a repository in the V2 format.
ReservedIP represents a Pars Pack reserved IP.
ReservedIPActionsServiceOp handles communication with the reserved IPs action related methods of the Abrha API.
ReservedIPCreateRequest represents a request to create a reserved IP.
ReservedIPsServiceOp handles communication with the reserved IPs related methods of the Abrha API.
ReservedIPV6 represents a Pars Pack reserved IP.
ReservedIPActionsServiceOp handles communication with the reserved IPs action related methods of the Abrha API.
ReservedIPV6CreateRequest represents a request to reserve a reserved IP.
ReservedIPV6sServiceOp handles communication with the reserved IPs related methods of the Abrha API.
ResetDatabasePasswordRequest struct for ResetDatabasePasswordRequest.
ResetDatabasePasswordResponse struct for ResetDatabasePasswordResponse.
Resource represent a single resource for associating/disassociating with tags.
Response is a Abrha response.
RetryConfig sets the values used for enabling retries and backoffs for requests that fail with 429 or 500-level response codes using the go-retryablehttp client.
ServiceAddress represents a host:port for a generic service (e.g.
Size represents a Abrha Size.
SizesServiceOp handles communication with the size related methods of the Abrha API.
SlackDetails represents the details required to send a slack alert.
Snapshot represents a Abrha Snapshot.
SnapshotCreateRequest represents a request to create a block store volume.
SnapshotsServiceOp handles communication with the snapshot related methods of the Abrha API.
Sources represents a Abrha Firewall InboundRule sources.
StartGarbageCollectionRequest represents options to a garbage collection start request.
StickySessions represents optional load balancer session affinity rules.
StorageActionsServiceOp handles communication with the storage volumes action related methods of the Abrha API.
StorageAttachment represents the attachment of a block storage volume to a specific Vm under the device name.
StorageServiceOp handles communication with the storage volumes related methods of the Abrha API.
No description provided by the author
Tag represent Abrha tag.
TagCreateRequest represents the JSON structure of a request of that type.
TaggedResources represent the set of resources a tag is attached to.
TaggedResourcesData represent the generic resources a tag is attached to.
TaggedvmsResources represent the vm resources a tag is attached to.
TagResourcesRequest represents the JSON structure of a request of that type.
TagsServiceOp handles communication with tag related method of the Abrha API.
Taint represents a Kubernetes taint that can be associated with a node pool (and, transitively, with all nodes of that pool).
TeamInfo contains information about the currently team context.
Timestamp represents a time that can be unmarshalled from a JSON string formatted as either an RFC3339 or Unix timestamp.
ToggleDatabaseTrustedSourceOptions provides optional parameters for ToggleDatabaseTrustedSource.
ToggleDatabaseTrustedSourceRequest struct for ToggleDatabaseTrustedSourceRequest.
ToggleDatabaseTrustedSourceResponse struct for ToggleDatabaseTrustedSourceResponse.
TokenListOptions specifies the optional parameters to various List methods that support token pagination.
TopicConfig represents all configurable options for a Kafka topic.
TopicConsumerGroup represents a consumer group for a particular Kafka topic.
TopicPartition represents the state of a Kafka topic partition.
No description provided by the author
No description provided by the author
UntagResourcesRequest represents the JSON structure of a request of that type.
UpdateGarbageCollectionRequest represents a request to update a garbage collection.
UpdateProjectRequest represents the request to update project information.
UpdateUptimeAlertRequest represents the request to update an alert.
UpdateUptimeCheckRequest represents the request to update uptime check information.
UpgradeBuildpackOptions struct for UpgradeBuildpackOptions.
UpgradeBuildpackResponse struct for UpgradeBuildpackResponse.
No description provided by the author
UptimeAlert represents a Abrha Uptime Alert configuration.
UptimeCheck represents a Abrha UptimeCheck configuration.
UptimeChecksServiceOp handles communication with Uptime Check methods of the Abrha API.
UptimeCheckState represents a Abrha Uptime Check's state configuration.
UptimePreviousOutage represents a Abrha Uptime Check's previous outage configuration.
No description provided by the author
Vm represents a Abrha Vm.
VmActionsServiceOp handles communication with the Vm action related methods of the Abrha API.
VmAutoscaleConfiguration represents a Abrha vm autoscale pool configuration.
VmAutoscaleHistoryEvent represents a Abrha vm autoscale pool history event.
VmAutoscalePool represents a Abrha vm autoscale pool.
VmAutoscalePoolRequest represents a Abrha vm autoscale pool create/update request.
VmAutoscaleResource represents a Abrha vm autoscale pool resource.
VmAutoscaleResourceTemplate represents a Abrha vm autoscale pool resource template.
VmAutoscaleResourceUtilization represents a Abrha vm autoscale pool resource utilization.
VmAutoscaleServiceOp handles communication with vm autoscale-related methods of the Abrha API.
VmBackupPolicy defines the information about a vm's backup policy.
VmBackupPolicyConfig defines the backup policy for a Vm.
VmBackupPolicyRequest defines the backup policy when creating a Vm.
VmBandwidthMetricsRequest holds the information needed to retrieve Vm bandwidth metrics.
VmCreateImage identifies an image for the create request.
VmCreateRequest represents a request to create a Vm.
VmCreateSSHKey identifies a SSH Key for the create request.
VmCreateVolume identifies a volume to attach for the create request.
VmMetricsRequest holds the information needed to retrieve Vm various metrics.
VmMultiCreateRequest is a request to create multiple Vms.
VmsServiceOp handles communication with the Vm related methods of the Abrha API.
Volume represents a Pars Pack block store volume.
VolumeCreateRequest represents a request to create a block store volume.
VPC represents a Abrha Virtual Private Cloud configuration.
VPCCreateRequest represents a request to create a Virtual Private Cloud.
No description provided by the author
No description provided by the author
VPCPeering represents a Abrha Virtual Private Cloud Peering configuration.
VPCPeeringCreateRequest represents a request to create a Virtual Private Cloud Peering for a list of associated VPC IDs.
VPCPeeringCreateRequestByVPCID represents a request to create a Virtual Private Cloud Peering for an associated VPC ID.
VPCPeeringUpdateRequest represents a request to update a Virtual Private Cloud Peering.
VPCsServiceOp interfaces with VPC endpoints in the Abrha API.
VPCUpdateRequest represents a request to update a Virtual Private Cloud.
VRAM provides information about the amount of VRAM available to the GPU.

# Interfaces

AccountService is an interface for interfacing with the Account endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Account.
ActionsService handles communication with action related methods of the See: https://docs.parspack.com/api/#tag/Actions.
AppBuildableComponentSpec is a component that is buildable from source.
AppCNBBuildableComponentSpec is a component that is buildable from source using cloud native buildpacks.
AppComponentSpec represents a component's spec.
AppContainerComponentSpec is a component that runs in a cluster.
AppDockerBuildableComponentSpec is a component that is buildable from source using Docker.
AppRoutableComponentSpec is a component that defines routes.
AppsService is an interface for interfacing with the App Platform endpoints of the Abrha API.
BalanceService is an interface for interfacing with the Balance endpoints of the Abrha API See: https://docs.parspack.com/api/#operation/balance_get.
BillingHistoryService is an interface for interfacing with the BillingHistory endpoints of the Abrha API See: https://docs.parspack.com/api/#operation/billingHistory_list.
CDNService is an interface for managing Spaces CDN with the Abrha API.
CertificatesService is an interface for managing certificates with the Abrha API.
The DatabasesService provides access to the Abrha managed database suite of products through the public API.
DomainsService is an interface for managing DNS with the Abrha API.
FirewallsService is an interface for managing Firewalls with the Abrha API.
FloatingIPActionsService is an interface for interfacing with the floating IPs actions endpoints of the Pars Pack API.
FloatingIPsService is an interface for interfacing with the floating IPs endpoints of the Pars Pack API.
No description provided by the author
ImageActionsService is an interface for interfacing with the image actions endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Image-Actions.
ImagesService is an interface for interfacing with the images endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Images.
InvoicesService is an interface for interfacing with the Invoice endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Billing.
KeysService is an interface for interfacing with the SSH keys endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/SSH-Keys.
KubernetesService is an interface for interfacing with the Kubernetes endpoints of the Abrha API.
LoadBalancersService is an interface for managing load balancers with the Abrha API.
MonitoringService is an interface for interfacing with the monitoring endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Monitoring.
OneClickService is an interface for interacting with 1-clicks with the Abrha API.
ProjectsService is an interface for creating and managing Projects with the Abrha API.
RegionsService is an interface for interfacing with the regions endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Regions.
RegistriesService is an interface for interfacing with the new multiple-registry beta endpoints of the Abrha API.
RegistryService is an interface for interfacing with the Registry endpoints of the Abrha API.
ReservedIPActionsService is an interface for interfacing with the reserved IPs actions endpoints of the Pars Pack API.
ReservedIPsService is an interface for interfacing with the reserved IPs endpoints of the Pars Pack API.
ReservedIPActionsService is an interface for interfacing with the reserved IPs actions endpoints of the Pars Pack API.
ReservedIPV6sService is an interface for interfacing with the reserved IPV6s endpoints of the Pars Pack API.
ResourceWithURN is an interface for interfacing with the types that implement the URN method.
SizesService is an interface for interfacing with the size endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Sizes.
SnapshotsService is an interface for interfacing with the snapshots endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Snapshots.
SourceSpec represents a source.
StorageActionsService is an interface for interfacing with the storage actions endpoints of the Pars Pack API.
StorageService is an interface for interfacing with the storage endpoints of the Pars Pack API.
TagsService is an interface for interfacing with the tags endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/Tags.
UptimeChecksService is an interface for creating and managing Uptime checks with the Abrha API.
VCSSourceSpec represents a VCS source.
VmActionsService is an interface for interfacing with the Vm actions endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/VM-Actions.
VmAutoscaleService defines an interface for managing vm autoscale pools through Abrha API.
VmsService is an interface for interfacing with the Vm endpoints of the Abrha API See: https://docs.parspack.com/api/#tag/VMs.
VPCSetField allows one to set individual fields within a VPC configuration.
VPCsService is an interface for managing Virtual Private Cloud configurations with the Abrha API.

# Type aliases

ActionRequest represents Abrha Action Request.
AlertPolicyComp represents an alert policy comparison operation.
AppAlertPhase the model 'AppAlertPhase'.
AppAlertProgressStepStatus the model 'AppAlertProgressStepStatus'.
AppAlertSpecOperator the model 'AppAlertSpecOperator'.
AppAlertSpecRule - CPU_UTILIZATION: Represents CPU for a given container instance.
AppAlertSpecWindow the model 'AppAlertSpecWindow'.
AppComponentType is an app component type.
AppDatabaseSpecEngine the model 'AppDatabaseSpecEngine'.
AppDedicatedIpStatus the model 'AppDedicatedIpStatus'.
AppDomainPhase the model 'AppDomainPhase'.
AppDomainProgressStepStatus the model 'AppDomainProgressStepStatus'.
AppDomainSpecType the model 'AppDomainSpecType'.
AppEgressSpecType the model 'AppEgressSpecType'.
AppIngressSpecLoadBalancer the model 'AppIngressSpecLoadBalancer'.
AppInstanceSizeCPUType the model 'AppInstanceSizeCPUType'.
AppJobSpecKind - UNSPECIFIED: Default job type, will auto-complete to POST_DEPLOY kind.
AppLogType is the type of app logs.
AppSourceType is an app source type.
AppVariableScope the model 'AppVariableScope'.
AppVariableType the model 'AppVariableType'.
ClientOpt are options for New.
DeploymentCauseDetailsAbrhaUserActionName the model 'CauseDetailsAbrhaUserActionName'.
DeploymentCauseDetailsType - MANUAL: A deployment that was manually created - DEPLOY_ON_PUSH: A deployment that was automatically created by a Deploy on Push hook - MAINTENANCE: A deployment created for App Platform maintenance - MANUAL_ROLLBACK: A rollback deployment that was manually created - AUTO_ROLLBACK: An automatic rollback deployment created as a result of a previous deployment failing - UPDATE_DATABASE_TRUSTED_SOURCES: A deployment that was created due to an update in database trusted sources.
DeploymentPhase the model 'DeploymentPhase'.
DeploymentProgressStepStatus the model 'DeploymentProgressStepStatus'.
DetectResponseType the model 'DetectResponseType'.
No description provided by the author
ImageSourceSpecRegistryType - DOCR: The Abrha container registry type.
KubernetesClusterStatusState represents states for a cluster.
KubernetesMaintenancePolicyDay represents the possible days of a maintenance window.
RequestCompletionCallback defines the type of the request callback function.
ResourceType represents a class of resource, currently only vm are supported.
ServingProtocol - HTTP: The app is serving the HTTP protocol.
TaggedDatabasesResources represent the database resources a tag is attached to.
TaggedImagesResources represent the image resources a tag is attached to.
TaggedVolumeSnapshotsResources represent the volume snapshot resources a tag is attached to.
TaggedVolumesResources represent the volume resources a tag is attached to.
UptimeAlertComp represents an uptime alert comparison operation.
VPCSetDescription is used when one want to set the `description` field of a VPC.
VPCSetName is used when one want to set the `name` field of a VPC.