v3

package
v0.102.3 Latest Latest
Warning

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

Go to latest
Published: Jan 15, 2024 License: Apache-2.0 Imports: 21 Imported by: 12

README

Egoscale v3 (Alpha)

Egoscale v3 is based on a generator written from scratch with libopenapi.

The core base of the generator is using libopenapi to parse and read the Exoscale OpenAPI spec and then generate the code from it.

Generate Egoscale v3

From the root repo

make generate

Documentation

Overview

Package v3 provides primitives to interact with the openapi HTTP API.

Code generated by github.com/egoscale/v3/generator version v0.0.1 DO NOT EDIT.

Package v3 provides primitives to interact with the openapi HTTP API.

Code generated by github.com/egoscale/v3/generator version v0.0.1 DO NOT EDIT.

Package v3 provides primitives to interact with the openapi HTTP API.

Code generated by github.com/egoscale/v3/generator version v0.0.1 DO NOT EDIT.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrNotFound represents an error indicating a non-existent resource.
	ErrNotFound = errors.New("resource not found")

	// ErrTooManyFound represents an error indicating multiple results found for a single resource.
	ErrTooManyFound = errors.New("multiple resources found")

	// ErrInvalidRequest represents an error indicating that the caller's request is invalid.
	ErrInvalidRequest = errors.New("invalid request")

	// ErrAPIError represents an error indicating an API-side issue.
	ErrAPIError = errors.New("API error")
)
View Source
var UserAgent = fmt.Sprintf("egoscale/%s (%s; %s/%s)",
	version.Version,
	runtime.Version(),
	runtime.GOOS,
	runtime.GOARCH)

UserAgent is the "User-Agent" HTTP request header added to outgoing HTTP requests.

View Source
var Zones map[string]URL = map[string]URL{
	"ch-gva-2": CHGva2,
	"ch-dk-2":  CHDk2,
	"de-fra-1": DEFra1,
	"de-muc-1": DEMuc1,
	"at-vie-1": ATVie1,
	"at-vie-2": ATVie2,
	"bg-sof-1": BGSof1,
}

Zones represents a list of all Exoscale zone.

Functions

func Bool

func Bool(b bool) *bool

func Int64

func Int64(i int64) *int64

func Ptr

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

func String

func String(s string) *string

func Validate

func Validate(r any) error

Validate any struct from schema or request

Types

type AccessKey

type AccessKey struct {
	// IAM Access Key
	Key string `json:"key,omitempty"`
	// IAM Access Key name
	Name string `json:"name,omitempty"`
	// IAM Access Key operations
	Operations []string `json:"operations,omitempty"`
	// IAM Access Key Resources
	Resources []AccessKeyResource `json:"resources,omitempty"`
	// IAM Access Key Secret
	Secret string `json:"secret,omitempty"`
	// IAM Access Key tags
	Tags []string `json:"tags,omitempty"`
	// IAM Access Key type
	Type AccessKeyType `json:"type,omitempty"`
	// IAM Access Key version
	Version AccessKeyVersion `json:"version,omitempty"`
}

IAM Access Key

type AccessKeyOperation

type AccessKeyOperation struct {
	// Name of the operation
	Operation string `json:"operation,omitempty"`
	// Tags associated with the operation
	Tags []string `json:"tags,omitempty"`
}

Access key operation

type AccessKeyResource

type AccessKeyResource struct {
	// Resource domain
	Domain AccessKeyResourceDomain `json:"domain,omitempty"`
	// Resource name
	ResourceName string `json:"resource-name,omitempty"`
	// Resource type
	ResourceType AccessKeyResourceResourceType `json:"resource-type,omitempty"`
}

Access key resource

type AccessKeyResourceDomain

type AccessKeyResourceDomain string
const (
	AccessKeyResourceDomainPartner AccessKeyResourceDomain = "partner"
	AccessKeyResourceDomainSOS     AccessKeyResourceDomain = "sos"
)

type AccessKeyResourceResourceType

type AccessKeyResourceResourceType string
const (
	AccessKeyResourceResourceTypeProduct AccessKeyResourceResourceType = "product"
	AccessKeyResourceResourceTypeBucket  AccessKeyResourceResourceType = "bucket"
)

type AccessKeyType

type AccessKeyType string
const (
	AccessKeyTypeRestricted   AccessKeyType = "restricted"
	AccessKeyTypeUnrestricted AccessKeyType = "unrestricted"
)

type AccessKeyVersion

type AccessKeyVersion string
const (
	AccessKeyVersionV2 AccessKeyVersion = "v2"
	AccessKeyVersionV1 AccessKeyVersion = "v1"
)

type AddExternalSourceToSecurityGroupRequest

type AddExternalSourceToSecurityGroupRequest struct {
	// CIDR-formatted network to add
	Cidr string `json:"cidr" validate:"required"`
}

type AddInstanceProtectionResponse

type AddInstanceProtectionResponse struct {
}

type AddRuleToSecurityGroupRequest

type AddRuleToSecurityGroupRequest struct {
	// Security Group rule description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// End port of the range
	EndPort int64 `json:"end-port,omitempty" validate:"omitempty,gte=1,lte=65535"`
	// Network flow direction to match
	FlowDirection AddRuleToSecurityGroupRequestFlowDirection `json:"flow-direction" validate:"required"`
	// ICMP details (default: -1 (ANY))
	ICMP *AddRuleToSecurityGroupRequestICMP `json:"icmp,omitempty"`
	// CIDR-formatted network allowed
	Network string `json:"network,omitempty"`
	// Network protocol
	Protocol AddRuleToSecurityGroupRequestProtocol `json:"protocol" validate:"required"`
	// Security Group
	SecurityGroup *SecurityGroupResource `json:"security-group,omitempty"`
	// Start port of the range
	StartPort int64 `json:"start-port,omitempty" validate:"omitempty,gte=1,lte=65535"`
}

type AddRuleToSecurityGroupRequestFlowDirection

type AddRuleToSecurityGroupRequestFlowDirection string
const (
	AddRuleToSecurityGroupRequestFlowDirectionIngress AddRuleToSecurityGroupRequestFlowDirection = "ingress"
	AddRuleToSecurityGroupRequestFlowDirectionEgress  AddRuleToSecurityGroupRequestFlowDirection = "egress"
)

type AddRuleToSecurityGroupRequestICMP

type AddRuleToSecurityGroupRequestICMP struct {
	Code int64 `json:"code,omitempty" validate:"omitempty,gte=-1,lte=254"`
	Type int64 `json:"type,omitempty" validate:"omitempty,gte=-1,lte=254"`
}

ICMP details (default: -1 (ANY))

type AddRuleToSecurityGroupRequestProtocol

type AddRuleToSecurityGroupRequestProtocol string
const (
	AddRuleToSecurityGroupRequestProtocolTCP    AddRuleToSecurityGroupRequestProtocol = "tcp"
	AddRuleToSecurityGroupRequestProtocolEsp    AddRuleToSecurityGroupRequestProtocol = "esp"
	AddRuleToSecurityGroupRequestProtocolICMP   AddRuleToSecurityGroupRequestProtocol = "icmp"
	AddRuleToSecurityGroupRequestProtocolUDP    AddRuleToSecurityGroupRequestProtocol = "udp"
	AddRuleToSecurityGroupRequestProtocolGre    AddRuleToSecurityGroupRequestProtocol = "gre"
	AddRuleToSecurityGroupRequestProtocolAh     AddRuleToSecurityGroupRequestProtocol = "ah"
	AddRuleToSecurityGroupRequestProtocolIpip   AddRuleToSecurityGroupRequestProtocol = "ipip"
	AddRuleToSecurityGroupRequestProtocolIcmpv6 AddRuleToSecurityGroupRequestProtocol = "icmpv6"
)

type AddServiceToLoadBalancerRequest

type AddServiceToLoadBalancerRequest struct {
	// Load Balancer Service description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Load Balancer Service healthcheck
	Healthcheck *LoadBalancerServiceHealthcheck `json:"healthcheck" validate:"required"`
	// Instance Pool
	InstancePool *InstancePool `json:"instance-pool" validate:"required"`
	// Load Balancer Service name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
	// Port exposed on the Load Balancer's public IP
	Port int64 `json:"port" validate:"required,gte=1,lte=65535"`
	// Network traffic protocol
	Protocol AddServiceToLoadBalancerRequestProtocol `json:"protocol" validate:"required"`
	// Load balancing strategy
	Strategy AddServiceToLoadBalancerRequestStrategy `json:"strategy" validate:"required"`
	// Port on which the network traffic will be forwarded to on the receiving instance
	TargetPort int64 `json:"target-port" validate:"required,gte=1,lte=65535"`
}

type AddServiceToLoadBalancerRequestProtocol

type AddServiceToLoadBalancerRequestProtocol string
const (
	AddServiceToLoadBalancerRequestProtocolTCP AddServiceToLoadBalancerRequestProtocol = "tcp"
	AddServiceToLoadBalancerRequestProtocolUDP AddServiceToLoadBalancerRequestProtocol = "udp"
)

type AddServiceToLoadBalancerRequestStrategy

type AddServiceToLoadBalancerRequestStrategy string
const (
	AddServiceToLoadBalancerRequestStrategyRoundRobin AddServiceToLoadBalancerRequestStrategy = "round-robin"
	AddServiceToLoadBalancerRequestStrategySourceHash AddServiceToLoadBalancerRequestStrategy = "source-hash"
)

type AntiAffinityGroup

type AntiAffinityGroup struct {
	// Anti-affinity Group description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Anti-affinity Group ID
	ID UUID `json:"id,omitempty"`
	// Anti-affinity Group instances
	Instances []Instance `json:"instances,omitempty"`
	// Anti-affinity Group name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Anti-affinity Group

type AttachBlockStorageVolumeToInstanceRequest

type AttachBlockStorageVolumeToInstanceRequest struct {
	// Target Instance
	Instance *InstanceTarget `json:"instance" validate:"required"`
}

type AttachInstanceToElasticIPRequest

type AttachInstanceToElasticIPRequest struct {
	// Target Instance
	Instance *InstanceTarget `json:"instance" validate:"required"`
}

type AttachInstanceToPrivateNetworkRequest

type AttachInstanceToPrivateNetworkRequest struct {
	// Compute instance
	Instance *AttachInstanceToPrivateNetworkRequestInstance `json:"instance" validate:"required"`
	// Static IP address lease for the corresponding network interface
	IP net.IP `json:"ip,omitempty"`
}

type AttachInstanceToPrivateNetworkRequestInstance

type AttachInstanceToPrivateNetworkRequestInstance struct {
	// Instance ID
	ID UUID `json:"id,omitempty"`
}

Compute instance

type AttachInstanceToSecurityGroupRequest

type AttachInstanceToSecurityGroupRequest struct {
	// Instance
	Instance *Instance `json:"instance" validate:"required"`
}

type BlockStorageSnapshot

type BlockStorageSnapshot struct {
	// Target block storage volume
	BlockStorageVolume *BlockStorageVolumeTarget `json:"block-storage-volume,omitempty"`
	// Snapshot creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Snapshot ID
	ID     UUID   `json:"id,omitempty"`
	Labels Labels `json:"labels,omitempty"`
	// Snapshot name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Snapshot size
	Size int64 `json:"size,omitempty" validate:"omitempty,gte=100,lte=1024"`
	// Snapshot state
	State BlockStorageSnapshotState `json:"state,omitempty"`
}

Block storage snapshot

type BlockStorageSnapshotState

type BlockStorageSnapshotState string
const (
	BlockStorageSnapshotStatePartiallyDestroyed BlockStorageSnapshotState = "partially-destroyed"
	BlockStorageSnapshotStateDestroying         BlockStorageSnapshotState = "destroying"
	BlockStorageSnapshotStateCreating           BlockStorageSnapshotState = "creating"
	BlockStorageSnapshotStateCreated            BlockStorageSnapshotState = "created"
	BlockStorageSnapshotStatePromoting          BlockStorageSnapshotState = "promoting"
	BlockStorageSnapshotStateError              BlockStorageSnapshotState = "error"
	BlockStorageSnapshotStateDestroyed          BlockStorageSnapshotState = "destroyed"
	BlockStorageSnapshotStateAllocated          BlockStorageSnapshotState = "allocated"
)

type BlockStorageSnapshotTarget

type BlockStorageSnapshotTarget struct {
	// Block storage snapshot ID
	ID UUID `json:"id,omitempty"`
}

Target block storage snapshot

type BlockStorageVolume

type BlockStorageVolume struct {
	// Volume snapshots, if any
	BlockStorageSnapshots []BlockStorageSnapshotTarget `json:"block-storage-snapshots,omitempty"`
	// Volume block size
	Blocksize int64 `json:"blocksize,omitempty" validate:"omitempty,gte=0"`
	// Volume creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Volume ID
	ID UUID `json:"id,omitempty"`
	// Target Instance
	Instance *InstanceTarget `json:"instance,omitempty"`
	Labels   Labels          `json:"labels,omitempty"`
	// Volume name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Volume size
	Size int64 `json:"size,omitempty" validate:"omitempty,gte=100,lte=1024"`
	// Volume state
	State BlockStorageVolumeState `json:"state,omitempty"`
}

Block storage volume

type BlockStorageVolumeState

type BlockStorageVolumeState string
const (
	BlockStorageVolumeStateSnapshotting BlockStorageVolumeState = "snapshotting"
	BlockStorageVolumeStateDeleted      BlockStorageVolumeState = "deleted"
	BlockStorageVolumeStateCreating     BlockStorageVolumeState = "creating"
	BlockStorageVolumeStateDetached     BlockStorageVolumeState = "detached"
	BlockStorageVolumeStateDeleting     BlockStorageVolumeState = "deleting"
	BlockStorageVolumeStateAttaching    BlockStorageVolumeState = "attaching"
	BlockStorageVolumeStateError        BlockStorageVolumeState = "error"
	BlockStorageVolumeStateAttached     BlockStorageVolumeState = "attached"
	BlockStorageVolumeStateDetaching    BlockStorageVolumeState = "detaching"
)

type BlockStorageVolumeTarget

type BlockStorageVolumeTarget struct {
	// Block storage volume ID
	ID UUID `json:"id,omitempty"`
}

Target block storage volume

type CdnConfiguration

type CdnConfiguration struct {
	// CDN configuration bucket name
	Bucket string `json:"bucket,omitempty"`
	// FQDN that serves the bucket contents
	Fqdn string `json:"fqdn,omitempty"`
	// CDN configuration status
	Status CdnConfigurationStatus `json:"status,omitempty"`
}

CDN configuration

type CdnConfigurationStatus

type CdnConfigurationStatus string
const (
	CdnConfigurationStatusDeactivated CdnConfigurationStatus = "deactivated"
	CdnConfigurationStatusPending     CdnConfigurationStatus = "pending"
	CdnConfigurationStatusActivated   CdnConfigurationStatus = "activated"
)

type Client

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

Client represents an Exoscale API client.

func NewClient

func NewClient(apiKey, apiSecret string, opts ...ClientOpt) (*Client, error)

NewClient returns a new Exoscale API client.

func (Client) AddExternalSourceToSecurityGroup

func (c Client) AddExternalSourceToSecurityGroup(ctx context.Context, id UUID, req AddExternalSourceToSecurityGroupRequest) (*Operation, error)

Add an external source as a member of a Security Group

func (Client) AddInstanceProtection

func (c Client) AddInstanceProtection(ctx context.Context, id UUID) (*AddInstanceProtectionResponse, error)

Set instance destruction protection

func (Client) AddRuleToSecurityGroup

func (c Client) AddRuleToSecurityGroup(ctx context.Context, id UUID, req AddRuleToSecurityGroupRequest) (*Operation, error)

Create a Security Group rule

func (Client) AddServiceToLoadBalancer

func (c Client) AddServiceToLoadBalancer(ctx context.Context, id UUID, req AddServiceToLoadBalancerRequest) (*Operation, error)

Add a Load Balancer Service

func (Client) AttachBlockStorageVolumeToInstance

func (c Client) AttachBlockStorageVolumeToInstance(ctx context.Context, id UUID, req AttachBlockStorageVolumeToInstanceRequest) (*Operation, error)

Attach block storage volume to an instance

func (Client) AttachInstanceToElasticIP

func (c Client) AttachInstanceToElasticIP(ctx context.Context, id UUID, req AttachInstanceToElasticIPRequest) (*Operation, error)

Attach a Compute instance to an Elastic IP

func (Client) AttachInstanceToPrivateNetwork

func (c Client) AttachInstanceToPrivateNetwork(ctx context.Context, id UUID, req AttachInstanceToPrivateNetworkRequest) (*Operation, error)

Attach a Compute instance to a Private Network

func (Client) AttachInstanceToSecurityGroup

func (c Client) AttachInstanceToSecurityGroup(ctx context.Context, id UUID, req AttachInstanceToSecurityGroupRequest) (*Operation, error)

Attach a Compute instance to a Security Group

func (Client) CopyTemplate

func (c Client) CopyTemplate(ctx context.Context, id UUID, req CopyTemplateRequest) (*Operation, error)

Copy a Template from a zone to another

func (Client) CreateAPIKey

func (c Client) CreateAPIKey(ctx context.Context, req CreateAPIKeyRequest) (*IAMAPIKeyCreated, error)

Create a new API key

func (Client) CreateAccessKey

func (c Client) CreateAccessKey(ctx context.Context, req CreateAccessKeyRequest) (*AccessKey, error)

This operation creates a legacy IAM Access Key, to create a key for use with IAM roles use the api-key endpoint.The corresponding secret is only available in the response returned by this operation, the caller must take care of storing it safely as there is no other way to retrieve it.

func (Client) CreateAntiAffinityGroup

func (c Client) CreateAntiAffinityGroup(ctx context.Context, req CreateAntiAffinityGroupRequest) (*Operation, error)

Create an Anti-affinity Group

func (Client) CreateBlockStorageSnapshot

func (c Client) CreateBlockStorageSnapshot(ctx context.Context, id UUID, req CreateBlockStorageSnapshotRequest) (*Operation, error)

Create a block storage snapshot

func (Client) CreateBlockStorageVolume

func (c Client) CreateBlockStorageVolume(ctx context.Context, req CreateBlockStorageVolumeRequest) (*Operation, error)

Create a block storage volume

func (Client) CreateDBAASIntegration

func (c Client) CreateDBAASIntegration(ctx context.Context, req CreateDBAASIntegrationRequest) (*Operation, error)

Create a new DBaaS integration between two services

func (Client) CreateDBAASKafkaSchemaRegistryAclConfig

func (c Client) CreateDBAASKafkaSchemaRegistryAclConfig(ctx context.Context, name string, req DBAASKafkaSchemaRegistryAclEntry) (*Operation, error)

Add a Kafka Schema Registry ACL entry

func (Client) CreateDBAASKafkaTopicAclConfig

func (c Client) CreateDBAASKafkaTopicAclConfig(ctx context.Context, name string, req DBAASKafkaTopicAclEntry) (*Operation, error)

Add a Kafka topic ACL entry

func (Client) CreateDBAASKafkaUser

func (c Client) CreateDBAASKafkaUser(ctx context.Context, serviceName string, req CreateDBAASKafkaUserRequest) (*Operation, error)

Create a DBaaS Kafka user

func (Client) CreateDBAASMysqlDatabase

func (c Client) CreateDBAASMysqlDatabase(ctx context.Context, serviceName string, req CreateDBAASMysqlDatabaseRequest) (*Operation, error)

Create a DBaaS MySQL database

func (Client) CreateDBAASMysqlUser

func (c Client) CreateDBAASMysqlUser(ctx context.Context, serviceName string, req CreateDBAASMysqlUserRequest) (*Operation, error)

Create a DBaaS MySQL user

func (Client) CreateDBAASOpensearchUser

func (c Client) CreateDBAASOpensearchUser(ctx context.Context, serviceName string, req CreateDBAASOpensearchUserRequest) (*Operation, error)

Create a DBaaS OpenSearch user

func (Client) CreateDBAASPGConnectionPool

func (c Client) CreateDBAASPGConnectionPool(ctx context.Context, serviceName string, req CreateDBAASPGConnectionPoolRequest) (*Operation, error)

Create a DBaaS PostgreSQL connection pool

func (Client) CreateDBAASPGDatabase

func (c Client) CreateDBAASPGDatabase(ctx context.Context, serviceName string, req CreateDBAASPGDatabaseRequest) (*Operation, error)

Create a DBaaS Postgres database

func (Client) CreateDBAASPGUpgradeCheck

func (c Client) CreateDBAASPGUpgradeCheck(ctx context.Context, service string, req CreateDBAASPGUpgradeCheckRequest) (*DBAASTask, error)

Check whether you can upgrade Postgres service to a newer version

func (Client) CreateDBAASPostgresUser

func (c Client) CreateDBAASPostgresUser(ctx context.Context, serviceName string, req CreateDBAASPostgresUserRequest) (*Operation, error)

Create a DBaaS Postgres user

func (Client) CreateDBAASServiceGrafana

func (c Client) CreateDBAASServiceGrafana(ctx context.Context, name string, req CreateDBAASServiceGrafanaRequest) (*Operation, error)

Create a DBaaS Grafana service

func (Client) CreateDBAASServiceKafka

func (c Client) CreateDBAASServiceKafka(ctx context.Context, name string, req CreateDBAASServiceKafkaRequest) (*Operation, error)

Create a DBaaS Kafka service

func (Client) CreateDBAASServiceMysql

func (c Client) CreateDBAASServiceMysql(ctx context.Context, name string, req CreateDBAASServiceMysqlRequest) (*Operation, error)

Create a DBaaS MySQL service

func (Client) CreateDBAASServiceOpensearch

func (c Client) CreateDBAASServiceOpensearch(ctx context.Context, name string, req CreateDBAASServiceOpensearchRequest) (*Operation, error)

Create a DBaaS OpenSearch service

func (Client) CreateDBAASServicePG

func (c Client) CreateDBAASServicePG(ctx context.Context, name string, req CreateDBAASServicePGRequest) (*Operation, error)

Create a DBaaS PostgreSQL service

func (Client) CreateDBAASServiceRedis

func (c Client) CreateDBAASServiceRedis(ctx context.Context, name string, req CreateDBAASServiceRedisRequest) (*Operation, error)

Create a DBaaS Redis service

func (Client) CreateDBAASTaskMigrationCheck

func (c Client) CreateDBAASTaskMigrationCheck(ctx context.Context, service string, req CreateDBAASTaskMigrationCheckRequest) (*Operation, error)

Create a DBaaS task to check migration

func (Client) CreateDNSDomain

func (c Client) CreateDNSDomain(ctx context.Context, req CreateDNSDomainRequest) (*DNSDomain, error)

Create DNS domain

func (Client) CreateDNSDomainRecord

func (c Client) CreateDNSDomainRecord(ctx context.Context, domainID UUID, req CreateDNSDomainRecordRequest) (*Operation, error)

Create DNS domain record

func (Client) CreateElasticIP

func (c Client) CreateElasticIP(ctx context.Context, req CreateElasticIPRequest) (*Operation, error)

Create an Elastic IP

func (Client) CreateIAMRole

func (c Client) CreateIAMRole(ctx context.Context, req CreateIAMRoleRequest) (*Operation, error)

Create IAM Role

func (Client) CreateInstance

func (c Client) CreateInstance(ctx context.Context, req CreateInstanceRequest) (*Operation, error)

Create a Compute instance

func (Client) CreateInstancePool

func (c Client) CreateInstancePool(ctx context.Context, req CreateInstancePoolRequest) (*Operation, error)

Create an Instance Pool

func (Client) CreateLoadBalancer

func (c Client) CreateLoadBalancer(ctx context.Context, req CreateLoadBalancerRequest) (*Operation, error)

Create a Load Balancer

func (Client) CreatePrivateNetwork

func (c Client) CreatePrivateNetwork(ctx context.Context, req CreatePrivateNetworkRequest) (*Operation, error)

Create a Private Network

func (Client) CreateSKSCluster

func (c Client) CreateSKSCluster(ctx context.Context, req CreateSKSClusterRequest) (*Operation, error)

Create an SKS cluster

func (Client) CreateSKSNodepool

func (c Client) CreateSKSNodepool(ctx context.Context, id UUID, req CreateSKSNodepoolRequest) (*Operation, error)

Create a new SKS Nodepool

func (Client) CreateSecurityGroup

func (c Client) CreateSecurityGroup(ctx context.Context, req CreateSecurityGroupRequest) (*Operation, error)

Create a Security Group

func (Client) CreateSnapshot

func (c Client) CreateSnapshot(ctx context.Context, id UUID) (*Operation, error)

Create a Snapshot of a Compute instance

func (Client) DeleteAPIKey

func (c Client) DeleteAPIKey(ctx context.Context, id string) (*Operation, error)

Delete an API key

func (Client) DeleteAntiAffinityGroup

func (c Client) DeleteAntiAffinityGroup(ctx context.Context, id UUID) (*Operation, error)

Delete an Anti-affinity Group

func (Client) DeleteBlockStorageSnapshot

func (c Client) DeleteBlockStorageSnapshot(ctx context.Context, id UUID) (*Operation, error)

Delete a block storage snapshot, data will be unrecoverable

func (Client) DeleteBlockStorageVolume

func (c Client) DeleteBlockStorageVolume(ctx context.Context, id UUID) (*Operation, error)

Delete a block storage volume, data will be unrecoverable

func (Client) DeleteDBAASIntegration

func (c Client) DeleteDBAASIntegration(ctx context.Context, id UUID) (*Operation, error)

Delete a DBaaS Integration

func (Client) DeleteDBAASKafkaSchemaRegistryAclConfig

func (c Client) DeleteDBAASKafkaSchemaRegistryAclConfig(ctx context.Context, name string, aclID string) (*Operation, error)

Delete a Kafka ACL entry

func (Client) DeleteDBAASKafkaTopicAclConfig

func (c Client) DeleteDBAASKafkaTopicAclConfig(ctx context.Context, name string, aclID string) (*Operation, error)

Delete a Kafka ACL entry

func (Client) DeleteDBAASKafkaUser

func (c Client) DeleteDBAASKafkaUser(ctx context.Context, serviceName string, username string) (*Operation, error)

Delete a DBaaS kafka user

func (Client) DeleteDBAASMysqlDatabase

func (c Client) DeleteDBAASMysqlDatabase(ctx context.Context, serviceName string, databaseName string) (*Operation, error)

Delete a DBaaS MySQL database

func (Client) DeleteDBAASMysqlUser

func (c Client) DeleteDBAASMysqlUser(ctx context.Context, serviceName string, username string) (*Operation, error)

Delete a DBaaS MySQL user

func (Client) DeleteDBAASOpensearchUser

func (c Client) DeleteDBAASOpensearchUser(ctx context.Context, serviceName string, username string) (*Operation, error)

Delete a DBaaS OpenSearch user

func (Client) DeleteDBAASPGConnectionPool

func (c Client) DeleteDBAASPGConnectionPool(ctx context.Context, serviceName string, connectionPoolName string) (*Operation, error)

Delete a DBaaS PostgreSQL connection pool

func (Client) DeleteDBAASPGDatabase

func (c Client) DeleteDBAASPGDatabase(ctx context.Context, serviceName string, databaseName string) (*Operation, error)

Delete a DBaaS Postgres database

func (Client) DeleteDBAASPostgresUser

func (c Client) DeleteDBAASPostgresUser(ctx context.Context, serviceName string, username string) (*Operation, error)

Delete a DBaaS Postgres user

func (Client) DeleteDBAASService

func (c Client) DeleteDBAASService(ctx context.Context, name string) (*Operation, error)

Delete a DBaaS service

func (Client) DeleteDBAASServiceGrafana

func (c Client) DeleteDBAASServiceGrafana(ctx context.Context, name string) (*Operation, error)

Delete a Grafana service

func (Client) DeleteDBAASServiceKafka

func (c Client) DeleteDBAASServiceKafka(ctx context.Context, name string) (*Operation, error)

Delete a Kafka service

func (Client) DeleteDBAASServiceMysql

func (c Client) DeleteDBAASServiceMysql(ctx context.Context, name string) (*Operation, error)

Delete a MySQL service

func (Client) DeleteDBAASServiceOpensearch

func (c Client) DeleteDBAASServiceOpensearch(ctx context.Context, name string) (*Operation, error)

Delete a OpenSearch service

func (Client) DeleteDBAASServicePG

func (c Client) DeleteDBAASServicePG(ctx context.Context, name string) (*Operation, error)

Delete a Postgres service

func (Client) DeleteDBAASServiceRedis

func (c Client) DeleteDBAASServiceRedis(ctx context.Context, name string) (*Operation, error)

Delete a Redis service

func (Client) DeleteDNSDomain

func (c Client) DeleteDNSDomain(ctx context.Context, id UUID) (*Operation, error)

Delete DNS Domain

func (Client) DeleteDNSDomainRecord

func (c Client) DeleteDNSDomainRecord(ctx context.Context, domainID UUID, recordID UUID) (*Operation, error)

Delete DNS domain record

func (Client) DeleteElasticIP

func (c Client) DeleteElasticIP(ctx context.Context, id UUID) (*Operation, error)

Delete an Elastic IP

func (Client) DeleteIAMRole

func (c Client) DeleteIAMRole(ctx context.Context, id UUID) (*Operation, error)

Delete IAM Role

func (Client) DeleteInstance

func (c Client) DeleteInstance(ctx context.Context, id UUID) (*Operation, error)

Delete a Compute instance

func (Client) DeleteInstancePool

func (c Client) DeleteInstancePool(ctx context.Context, id UUID) (*Operation, error)

Delete an Instance Pool

func (Client) DeleteLoadBalancer

func (c Client) DeleteLoadBalancer(ctx context.Context, id UUID) (*Operation, error)

Delete a Load Balancer

func (Client) DeleteLoadBalancerService

func (c Client) DeleteLoadBalancerService(ctx context.Context, id UUID, serviceID UUID) (*Operation, error)

Delete a Load Balancer Service

func (Client) DeletePrivateNetwork

func (c Client) DeletePrivateNetwork(ctx context.Context, id UUID) (*Operation, error)

Delete a Private Network

func (Client) DeleteReverseDNSElasticIP

func (c Client) DeleteReverseDNSElasticIP(ctx context.Context, id UUID) (*Operation, error)

Delete the PTR DNS record for an elastic IP

func (Client) DeleteReverseDNSInstance

func (c Client) DeleteReverseDNSInstance(ctx context.Context, id UUID) (*Operation, error)

Delete the PTR DNS record for an instance

func (Client) DeleteRuleFromSecurityGroup

func (c Client) DeleteRuleFromSecurityGroup(ctx context.Context, id UUID, ruleID UUID) (*Operation, error)

Delete a Security Group rule

func (Client) DeleteSKSCluster

func (c Client) DeleteSKSCluster(ctx context.Context, id UUID) (*Operation, error)

Delete an SKS cluster

func (Client) DeleteSKSNodepool

func (c Client) DeleteSKSNodepool(ctx context.Context, id UUID, sksNodepoolID UUID) (*Operation, error)

Delete an SKS Nodepool

func (Client) DeleteSSHKey

func (c Client) DeleteSSHKey(ctx context.Context, name string) (*Operation, error)

Delete a SSH key

func (Client) DeleteSecurityGroup

func (c Client) DeleteSecurityGroup(ctx context.Context, id UUID) (*Operation, error)

Delete a Security Group

func (Client) DeleteSnapshot

func (c Client) DeleteSnapshot(ctx context.Context, id UUID) (*Operation, error)

Delete a Snapshot

func (Client) DeleteTemplate

func (c Client) DeleteTemplate(ctx context.Context, id UUID) (*Operation, error)

Delete a Template

func (Client) DetachBlockStorageVolume

func (c Client) DetachBlockStorageVolume(ctx context.Context, id UUID) (*Operation, error)

Detach block storage volume

func (Client) DetachInstanceFromElasticIP

func (c Client) DetachInstanceFromElasticIP(ctx context.Context, id UUID, req DetachInstanceFromElasticIPRequest) (*Operation, error)

Detach a Compute instance from an Elastic IP

func (Client) DetachInstanceFromPrivateNetwork

func (c Client) DetachInstanceFromPrivateNetwork(ctx context.Context, id UUID, req DetachInstanceFromPrivateNetworkRequest) (*Operation, error)

Detach a Compute instance from a Private Network

func (Client) DetachInstanceFromSecurityGroup

func (c Client) DetachInstanceFromSecurityGroup(ctx context.Context, id UUID, req DetachInstanceFromSecurityGroupRequest) (*Operation, error)

Detach a Compute instance from a Security Group

func (Client) EvictInstancePoolMembers

func (c Client) EvictInstancePoolMembers(ctx context.Context, id UUID, req EvictInstancePoolMembersRequest) (*Operation, error)

This operation evicts the specified Compute instances member from the Instance Pool, shrinking it to `<current pool size> - <# evicted members>`.

func (Client) EvictSKSNodepoolMembers

func (c Client) EvictSKSNodepoolMembers(ctx context.Context, id UUID, sksNodepoolID UUID, req EvictSKSNodepoolMembersRequest) (*Operation, error)

This operation evicts the specified Compute instances member from the Nodepool, shrinking it to `<current nodepool size> - <# evicted members>`.

func (Client) ExportSnapshot

func (c Client) ExportSnapshot(ctx context.Context, id UUID) (*Operation, error)

Export a Snapshot

func (Client) GenerateSKSClusterKubeconfig

func (c Client) GenerateSKSClusterKubeconfig(ctx context.Context, id UUID, req SKSKubeconfigRequest) (*GenerateSKSClusterKubeconfigResponse, error)

This operation returns a Kubeconfig file encoded in base64.

func (Client) GetAPIKey

func (c Client) GetAPIKey(ctx context.Context, id string) (*IAMAPIKey, error)

Get API key

func (Client) GetAccessKey

func (c Client) GetAccessKey(ctx context.Context, key string) (*AccessKey, error)

Retrieve IAM Access Key details

func (Client) GetAntiAffinityGroup

func (c Client) GetAntiAffinityGroup(ctx context.Context, id UUID) (*AntiAffinityGroup, error)

Retrieve Anti-affinity Group details

func (Client) GetBlockStorageSnapshot

func (c Client) GetBlockStorageSnapshot(ctx context.Context, id UUID) (*BlockStorageSnapshot, error)

Retrieve block storage snapshot details

func (Client) GetBlockStorageVolume

func (c Client) GetBlockStorageVolume(ctx context.Context, id UUID) (*BlockStorageVolume, error)

Retrieve block storage volume details

func (Client) GetDBAASCACertificate

func (c Client) GetDBAASCACertificate(ctx context.Context) (*GetDBAASCACertificateResponse, error)

Returns a CA Certificate required to reach a DBaaS service through a TLS-protected connection.

func (Client) GetDBAASIntegration

func (c Client) GetDBAASIntegration(ctx context.Context, id UUID) (*DBAASIntegration, error)

Get a DBaaS Integration

func (Client) GetDBAASKafkaAclConfig

func (c Client) GetDBAASKafkaAclConfig(ctx context.Context, name string) (*DBAASKafkaAcls, error)

Get DBaaS kafka ACL configuration

func (Client) GetDBAASMigrationStatus

func (c Client) GetDBAASMigrationStatus(ctx context.Context, name string) (*DBAASMigrationStatus, error)

Get a DBaaS migration status

func (Client) GetDBAASOpensearchAclConfig

func (c Client) GetDBAASOpensearchAclConfig(ctx context.Context, name string) (*DBAASOpensearchAclConfig, error)

Get DBaaS OpenSearch ACL configuration

func (Client) GetDBAASServiceGrafana

func (c Client) GetDBAASServiceGrafana(ctx context.Context, name string) (*DBAASServiceGrafana, error)

Get a DBaaS Grafana service

func (Client) GetDBAASServiceKafka

func (c Client) GetDBAASServiceKafka(ctx context.Context, name string) (*DBAASServiceKafka, error)

Get a DBaaS Kafka service

func (Client) GetDBAASServiceLogs

func (c Client) GetDBAASServiceLogs(ctx context.Context, serviceName string, req GetDBAASServiceLogsRequest) (*DBAASServiceLogs, error)

Get logs of DBaaS service

func (Client) GetDBAASServiceMetrics

func (c Client) GetDBAASServiceMetrics(ctx context.Context, serviceName string, req GetDBAASServiceMetricsRequest) (*GetDBAASServiceMetricsResponse, error)

Get metrics of DBaaS service

func (Client) GetDBAASServiceMysql

func (c Client) GetDBAASServiceMysql(ctx context.Context, name string) (*DBAASServiceMysql, error)

Get a DBaaS MySQL service

func (Client) GetDBAASServiceOpensearch

func (c Client) GetDBAASServiceOpensearch(ctx context.Context, name string) (*DBAASServiceOpensearch, error)

Get a DBaaS OpenSearch service

func (Client) GetDBAASServicePG

func (c Client) GetDBAASServicePG(ctx context.Context, name string) (*DBAASServicePG, error)

Get a DBaaS PostgreSQL service

func (Client) GetDBAASServiceRedis

func (c Client) GetDBAASServiceRedis(ctx context.Context, name string) (*DBAASServiceRedis, error)

Get a DBaaS Redis service

func (Client) GetDBAASServiceType

func (c Client) GetDBAASServiceType(ctx context.Context, serviceTypeName string) (*DBAASServiceType, error)

Get a DBaaS service type

func (Client) GetDBAASSettingsGrafana

func (c Client) GetDBAASSettingsGrafana(ctx context.Context) (*GetDBAASSettingsGrafanaResponse, error)

Get DBaaS Grafana settings

func (Client) GetDBAASSettingsKafka

func (c Client) GetDBAASSettingsKafka(ctx context.Context) (*GetDBAASSettingsKafkaResponse, error)

Get DBaaS Kafka settings

func (Client) GetDBAASSettingsMysql

func (c Client) GetDBAASSettingsMysql(ctx context.Context) (*GetDBAASSettingsMysqlResponse, error)

Get DBaaS MySQL settings

func (Client) GetDBAASSettingsOpensearch

func (c Client) GetDBAASSettingsOpensearch(ctx context.Context) (*GetDBAASSettingsOpensearchResponse, error)

Get DBaaS OpenSearch settings

func (Client) GetDBAASSettingsPG

func (c Client) GetDBAASSettingsPG(ctx context.Context) (*GetDBAASSettingsPGResponse, error)

Get DBaaS PostgreSQL settings

func (Client) GetDBAASSettingsRedis

func (c Client) GetDBAASSettingsRedis(ctx context.Context) (*GetDBAASSettingsRedisResponse, error)

Returns the default settings for Redis.

func (Client) GetDBAASTask

func (c Client) GetDBAASTask(ctx context.Context, service string, id UUID) (*DBAASTask, error)

Get a DBaaS task

func (Client) GetDNSDomain

func (c Client) GetDNSDomain(ctx context.Context, id UUID) (*DNSDomain, error)

Retrieve DNS domain details

func (Client) GetDNSDomainRecord

func (c Client) GetDNSDomainRecord(ctx context.Context, domainID UUID, recordID UUID) (*DNSDomainRecord, error)

Retrieve DNS domain record details

func (Client) GetDNSDomainZoneFile

func (c Client) GetDNSDomainZoneFile(ctx context.Context, id UUID) (*GetDNSDomainZoneFileResponse, error)

Retrieve DNS domain zone file

func (Client) GetDeployTarget

func (c Client) GetDeployTarget(ctx context.Context, id UUID) (*DeployTarget, error)

Retrieve Deploy Target details

func (Client) GetElasticIP

func (c Client) GetElasticIP(ctx context.Context, id UUID) (*ElasticIP, error)

Retrieve Elastic IP details

func (Client) GetIAMOrganizationPolicy

func (c Client) GetIAMOrganizationPolicy(ctx context.Context) (*IAMPolicy, error)

Retrieve IAM Organization Policy

func (Client) GetIAMRole

func (c Client) GetIAMRole(ctx context.Context, id UUID) (*IAMRole, error)

Retrieve IAM Role

func (Client) GetInstance

func (c Client) GetInstance(ctx context.Context, id UUID) (*Instance, error)

Retrieve Compute instance details

func (Client) GetInstancePool

func (c Client) GetInstancePool(ctx context.Context, id UUID) (*InstancePool, error)

Retrieve Instance Pool details

func (Client) GetInstanceType

func (c Client) GetInstanceType(ctx context.Context, id UUID) (*InstanceType, error)

Retrieve Instance Type details

func (Client) GetLoadBalancer

func (c Client) GetLoadBalancer(ctx context.Context, id UUID) (*LoadBalancer, error)

Retrieve Load Balancer details

func (Client) GetLoadBalancerService

func (c Client) GetLoadBalancerService(ctx context.Context, id UUID, serviceID UUID) (*LoadBalancerService, error)

Retrieve Load Balancer Service details

func (Client) GetOperation

func (c Client) GetOperation(ctx context.Context, id UUID) (*Operation, error)

Retrieve Operation details

func (Client) GetPrivateNetwork

func (c Client) GetPrivateNetwork(ctx context.Context, id UUID) (*PrivateNetwork, error)

Retrieve Private Network details

func (Client) GetQuota

func (c Client) GetQuota(ctx context.Context, entity string) (*Quota, error)

Retrieve Resource Quota

func (Client) GetReverseDNSElasticIP

func (c Client) GetReverseDNSElasticIP(ctx context.Context, id UUID) (*ReverseDNSRecord, error)

Query the PTR DNS records for an elastic IP

func (Client) GetReverseDNSInstance

func (c Client) GetReverseDNSInstance(ctx context.Context, id UUID) (*ReverseDNSRecord, error)

Query the PTR DNS records for an instance

func (Client) GetSKSCluster

func (c Client) GetSKSCluster(ctx context.Context, id UUID) (*SKSCluster, error)

Retrieve SKS cluster details

func (Client) GetSKSClusterAuthorityCert

func (c Client) GetSKSClusterAuthorityCert(ctx context.Context, id UUID, authority GetSKSClusterAuthorityCertAuthority) (*GetSKSClusterAuthorityCertResponse, error)

This operation returns the certificate for the given SKS cluster authority encoded in base64.

func (Client) GetSKSClusterInspection

func (c Client) GetSKSClusterInspection(ctx context.Context, id UUID) (*GetSKSClusterInspectionResponse, error)

Helps troubleshoot common problems when deploying a kubernetes cluster. Inspections run every couple of minutes.

func (Client) GetSKSNodepool

func (c Client) GetSKSNodepool(ctx context.Context, id UUID, sksNodepoolID UUID) (*SKSNodepool, error)

Retrieve SKS Nodepool details

func (Client) GetSOSPresignedURL

func (c Client) GetSOSPresignedURL(ctx context.Context, bucket string, opts ...GetSOSPresignedURLOpt) (*GetSOSPresignedURLResponse, error)

Generates Presigned Download URL for SOS object

func (Client) GetSSHKey

func (c Client) GetSSHKey(ctx context.Context, name string) (*SSHKey, error)

Retrieve SSH key details

func (Client) GetSecurityGroup

func (c Client) GetSecurityGroup(ctx context.Context, id UUID) (*SecurityGroup, error)

Retrieve Security Group details

func (Client) GetSnapshot

func (c Client) GetSnapshot(ctx context.Context, id UUID) (*Snapshot, error)

Retrieve Snapshot details

func (Client) GetTemplate

func (c Client) GetTemplate(ctx context.Context, id UUID) (*Template, error)

Retrieve Template details

func (Client) ListAPIKeys

func (c Client) ListAPIKeys(ctx context.Context) (*ListAPIKeysResponse, error)

List API keys

func (Client) ListAccessKeyKnownOperations

func (c Client) ListAccessKeyKnownOperations(ctx context.Context) (*ListAccessKeyKnownOperationsResponse, error)

Retrieve all known available IAM Access Key operations and associated tags

func (Client) ListAccessKeyOperations

func (c Client) ListAccessKeyOperations(ctx context.Context) (*ListAccessKeyOperationsResponse, error)

Retrieve IAM Access Key operations and associated tags for the signing key

func (Client) ListAccessKeys

func (c Client) ListAccessKeys(ctx context.Context) (*ListAccessKeysResponse, error)

List IAM Access Keys

func (Client) ListAntiAffinityGroups

func (c Client) ListAntiAffinityGroups(ctx context.Context) (*ListAntiAffinityGroupsResponse, error)

List Anti-affinity Groups

func (Client) ListBlockStorageSnapshots

func (c Client) ListBlockStorageSnapshots(ctx context.Context) (*ListBlockStorageSnapshotsResponse, error)

List block storage snapshots

func (Client) ListBlockStorageVolumes

func (c Client) ListBlockStorageVolumes(ctx context.Context, opts ...ListBlockStorageVolumesOpt) (*ListBlockStorageVolumesResponse, error)

List block storage volumes

func (Client) ListDBAASIntegrationSettings

func (c Client) ListDBAASIntegrationSettings(ctx context.Context, integrationType string, sourceType string, destType string) (*ListDBAASIntegrationSettingsResponse, error)

Get DBaaS integration settings

func (Client) ListDBAASIntegrationTypes

func (c Client) ListDBAASIntegrationTypes(ctx context.Context) (*ListDBAASIntegrationTypesResponse, error)

Get DBaaS integration types

func (Client) ListDBAASServiceTypes

func (c Client) ListDBAASServiceTypes(ctx context.Context) (*ListDBAASServiceTypesResponse, error)

List available service types for DBaaS

func (Client) ListDBAASServices

func (c Client) ListDBAASServices(ctx context.Context) (*ListDBAASServicesResponse, error)

List DBaaS services

func (Client) ListDNSDomainRecords

func (c Client) ListDNSDomainRecords(ctx context.Context, domainID UUID) (*ListDNSDomainRecordsResponse, error)

List DNS domain records

func (Client) ListDNSDomains

func (c Client) ListDNSDomains(ctx context.Context) (*ListDNSDomainsResponse, error)

List DNS domains

func (Client) ListDeployTargets

func (c Client) ListDeployTargets(ctx context.Context) (*ListDeployTargetsResponse, error)

List Deploy Targets

func (Client) ListElasticIPS

func (c Client) ListElasticIPS(ctx context.Context) (*ListElasticIPSResponse, error)

List Elastic IPs

func (Client) ListEvents

func (c Client) ListEvents(ctx context.Context, opts ...ListEventsOpt) ([]Event, error)

Retrieve Mutation Events for a given date range. Defaults to retrieving Events for the past 24 hours. Both a `from` and `to` arguments can be specified to filter Events over a specific period. Events will be the the most descriptive possible but not all fields are mandatory

func (Client) ListIAMRoles

func (c Client) ListIAMRoles(ctx context.Context) (*ListIAMRolesResponse, error)

List IAM Roles

func (Client) ListInstancePools

func (c Client) ListInstancePools(ctx context.Context) (*ListInstancePoolsResponse, error)

List Instance Pools

func (Client) ListInstanceTypes

func (c Client) ListInstanceTypes(ctx context.Context) (*ListInstanceTypesResponse, error)

List Compute instance Types

func (Client) ListInstances

func (c Client) ListInstances(ctx context.Context, opts ...ListInstancesOpt) (*ListInstancesResponse, error)

List Compute instances

func (Client) ListLoadBalancers

func (c Client) ListLoadBalancers(ctx context.Context) (*ListLoadBalancersResponse, error)

List Load Balancers

func (Client) ListPrivateNetworks

func (c Client) ListPrivateNetworks(ctx context.Context) (*ListPrivateNetworksResponse, error)

List Private Networks

func (Client) ListQuotas

func (c Client) ListQuotas(ctx context.Context) (*ListQuotasResponse, error)

List Organization Quotas

func (Client) ListSKSClusterDeprecatedResources

func (c Client) ListSKSClusterDeprecatedResources(ctx context.Context, id UUID) ([]SKSClusterDeprecatedResource, error)

This operation returns the deprecated resources for a given cluster

func (Client) ListSKSClusterVersions

func (c Client) ListSKSClusterVersions(ctx context.Context, opts ...ListSKSClusterVersionsOpt) (*ListSKSClusterVersionsResponse, error)

List available versions for SKS clusters

func (Client) ListSKSClusters

func (c Client) ListSKSClusters(ctx context.Context) (*ListSKSClustersResponse, error)

List SKS clusters

func (Client) ListSOSBucketsUsage

func (c Client) ListSOSBucketsUsage(ctx context.Context) (*ListSOSBucketsUsageResponse, error)

List SOS Buckets Usage

func (Client) ListSSHKeys

func (c Client) ListSSHKeys(ctx context.Context) (*ListSSHKeysResponse, error)

List SSH keys

func (Client) ListSecurityGroups

func (c Client) ListSecurityGroups(ctx context.Context, opts ...ListSecurityGroupsOpt) (*ListSecurityGroupsResponse, error)

Lists security groups. When visibility is set to public, lists public security groups. Public security groups are objects maintained by Exoscale which contain source addresses for relevant services hosted by Exoscale. They can be used a source in ingress rules and as a destination in egress rules.

func (Client) ListSnapshots

func (c Client) ListSnapshots(ctx context.Context) (*ListSnapshotsResponse, error)

List Snapshots

func (Client) ListTemplates

func (c Client) ListTemplates(ctx context.Context, opts ...ListTemplatesOpt) (*ListTemplatesResponse, error)

List Templates

func (Client) ListZones

func (c Client) ListZones(ctx context.Context) (*ListZonesResponse, error)

List Zones

func (Client) PromoteSnapshotToTemplate

func (c Client) PromoteSnapshotToTemplate(ctx context.Context, id UUID, req PromoteSnapshotToTemplateRequest) (*Operation, error)

Promote a Snapshot to a Template

func (Client) RebootInstance

func (c Client) RebootInstance(ctx context.Context, id UUID) (*Operation, error)

Reboot a Compute instance

func (Client) RegisterSSHKey

func (c Client) RegisterSSHKey(ctx context.Context, req RegisterSSHKeyRequest) (*Operation, error)

Import SSH key

func (Client) RegisterTemplate

func (c Client) RegisterTemplate(ctx context.Context, req RegisterTemplateRequest) (*Operation, error)

Register a Template

func (Client) RemoveExternalSourceFromSecurityGroup

func (c Client) RemoveExternalSourceFromSecurityGroup(ctx context.Context, id UUID, req RemoveExternalSourceFromSecurityGroupRequest) (*Operation, error)

Remove an external source from a Security Group

func (Client) RemoveInstanceProtection

func (c Client) RemoveInstanceProtection(ctx context.Context, id UUID) (*RemoveInstanceProtectionResponse, error)

Remove instance destruction protection

func (Client) ResetDBAASKafkaUserPassword

func (c Client) ResetDBAASKafkaUserPassword(ctx context.Context, serviceName string, username string, req ResetDBAASKafkaUserPasswordRequest) (*Operation, error)

If no password is provided one will be generated automatically.

func (Client) ResetDBAASMysqlUserPassword

func (c Client) ResetDBAASMysqlUserPassword(ctx context.Context, serviceName string, username string, req ResetDBAASMysqlUserPasswordRequest) (*Operation, error)

If no password is provided one will be generated automatically.

func (Client) ResetDBAASOpensearchUserPassword

func (c Client) ResetDBAASOpensearchUserPassword(ctx context.Context, serviceName string, username string, req ResetDBAASOpensearchUserPasswordRequest) (*Operation, error)

If no password is provided one will be generated automatically.

func (Client) ResetDBAASPostgresUserPassword

func (c Client) ResetDBAASPostgresUserPassword(ctx context.Context, serviceName string, username string, req ResetDBAASPostgresUserPasswordRequest) (*Operation, error)

If no password is provided one will be generated automatically.

func (Client) ResetElasticIPField

func (c Client) ResetElasticIPField(ctx context.Context, id UUID, field ResetElasticIPFieldField) (*Operation, error)

Reset an Elastic IP field to its default value

func (Client) ResetInstance

func (c Client) ResetInstance(ctx context.Context, id UUID, req ResetInstanceRequest) (*Operation, error)

This operation re-installs a Compute instance to a base template. If target template is provided it will be used to recreated instance from. Warning: the operation wipes all data stored on the disk.

func (Client) ResetInstanceField

func (c Client) ResetInstanceField(ctx context.Context, id UUID, field ResetInstanceFieldField) (*Operation, error)

Reset Instance field

func (Client) ResetInstancePassword

func (c Client) ResetInstancePassword(ctx context.Context, id UUID) (*Operation, error)

Reset a compute instance password

func (Client) ResetInstancePoolField

func (c Client) ResetInstancePoolField(ctx context.Context, id UUID, field ResetInstancePoolFieldField) (*Operation, error)

Reset an Instance Pool field to its default value

func (Client) ResetLoadBalancerField

func (c Client) ResetLoadBalancerField(ctx context.Context, id UUID, field ResetLoadBalancerFieldField) (*Operation, error)

Reset a Load Balancer field to its default value

func (Client) ResetLoadBalancerServiceField

func (c Client) ResetLoadBalancerServiceField(ctx context.Context, id UUID, serviceID UUID, field ResetLoadBalancerServiceFieldField) (*Operation, error)

Reset a Load Balancer Service field to its default value

func (Client) ResetPrivateNetworkField

func (c Client) ResetPrivateNetworkField(ctx context.Context, id UUID, field ResetPrivateNetworkFieldField) (*Operation, error)

Reset Private Network field

func (Client) ResetSKSClusterField

func (c Client) ResetSKSClusterField(ctx context.Context, id UUID, field ResetSKSClusterFieldField) (*Operation, error)

Reset an SKS cluster field to its default value

func (Client) ResetSKSNodepoolField

func (c Client) ResetSKSNodepoolField(ctx context.Context, id UUID, sksNodepoolID UUID, field ResetSKSNodepoolFieldField) (*Operation, error)

Reset an SKS Nodepool field to its default value

func (Client) ResizeBlockStorageVolume

func (c Client) ResizeBlockStorageVolume(ctx context.Context, id UUID, req ResizeBlockStorageVolumeRequest) (*BlockStorageVolume, error)

This operation resizes a Block storage volume. Note: the volume can only grow, cannot be shrunk.

func (Client) ResizeInstanceDisk

func (c Client) ResizeInstanceDisk(ctx context.Context, id UUID, req ResizeInstanceDiskRequest) (*Operation, error)

This operation resizes a Compute instance's disk volume. Note: the disk can only grow, cannot be shrunk.

func (Client) RevealInstancePassword

func (c Client) RevealInstancePassword(ctx context.Context, id UUID) (*InstancePassword, error)

Reveal the password used during instance creation or the latest password reset. This is only available for VMs created against templates having the `password-enabled` property set to `true`. creation or resets. creation or resets.

func (Client) RevertInstanceToSnapshot

func (c Client) RevertInstanceToSnapshot(ctx context.Context, instanceID UUID, req RevertInstanceToSnapshotRequest) (*Operation, error)

This operation reverts the snapshot to the Compute instance volume, restoring stored data as it was at the time of the snapshot. The Compute instance must be previously stopped.

func (Client) RevokeAccessKey

func (c Client) RevokeAccessKey(ctx context.Context, key string) (*Operation, error)

This operation revokes the specified IAM Access Key. Access Keys created by the revoked Access Key will not be revoked.

func (Client) RotateSKSCcmCredentials

func (c Client) RotateSKSCcmCredentials(ctx context.Context, id UUID) (*Operation, error)

Rotate Exoscale CCM credentials

func (Client) RotateSKSOperatorsCA

func (c Client) RotateSKSOperatorsCA(ctx context.Context, id UUID) (*Operation, error)

Rotate operators certificate authority

func (Client) ScaleInstance

func (c Client) ScaleInstance(ctx context.Context, id UUID, req ScaleInstanceRequest) (*Operation, error)

This operation changes the Compute instance's type. Note: the new Instance Type must be within the same family (e.g. a standard instance cannot be scaled to gpu2 or storage).

func (Client) ScaleInstancePool

func (c Client) ScaleInstancePool(ctx context.Context, id UUID, req ScaleInstancePoolRequest) (*Operation, error)

Scale an Instance Pool

func (Client) ScaleSKSNodepool

func (c Client) ScaleSKSNodepool(ctx context.Context, id UUID, sksNodepoolID UUID, req ScaleSKSNodepoolRequest) (*Operation, error)

Scale a SKS Nodepool

func (Client) StartDBAASGrafanaMaintenance

func (c Client) StartDBAASGrafanaMaintenance(ctx context.Context, name string) (*Operation, error)

Initiate Grafana maintenance update

func (Client) StartDBAASKafkaMaintenance

func (c Client) StartDBAASKafkaMaintenance(ctx context.Context, name string) (*Operation, error)

Initiate Kafka maintenance update

func (Client) StartDBAASMysqlMaintenance

func (c Client) StartDBAASMysqlMaintenance(ctx context.Context, name string) (*Operation, error)

Initiate MySQL maintenance update

func (Client) StartDBAASOpensearchMaintenance

func (c Client) StartDBAASOpensearchMaintenance(ctx context.Context, name string) (*Operation, error)

Initiate OpenSearch maintenance update

func (Client) StartDBAASPGMaintenance

func (c Client) StartDBAASPGMaintenance(ctx context.Context, name string) (*Operation, error)

Initiate PostgreSQL maintenance update

func (Client) StartDBAASRedisMaintenance

func (c Client) StartDBAASRedisMaintenance(ctx context.Context, name string) (*Operation, error)

Initiate Redis maintenance update

func (Client) StartInstance

func (c Client) StartInstance(ctx context.Context, id UUID, req StartInstanceRequest) (*Operation, error)

This operation starts a virtual machine, potentially using a rescue profile if specified

func (Client) StopDBAASMysqlMigration

func (c Client) StopDBAASMysqlMigration(ctx context.Context, name string) (*Operation, error)

Stop a DBaaS MySQL migration

func (Client) StopDBAASPGMigration

func (c Client) StopDBAASPGMigration(ctx context.Context, name string) (*Operation, error)

Stop a DBaaS PostgreSQL migration

func (Client) StopDBAASRedisMigration

func (c Client) StopDBAASRedisMigration(ctx context.Context, name string) (*Operation, error)

Stop a DBaaS Redis migration

func (Client) StopInstance

func (c Client) StopInstance(ctx context.Context, id UUID) (*Operation, error)

Stop a Compute instance

func (Client) UpdateBlockStorageVolumeLabels

func (c Client) UpdateBlockStorageVolumeLabels(ctx context.Context, id UUID, req UpdateBlockStorageVolumeLabelsRequest) (*Operation, error)

Set block storage volume labels

func (Client) UpdateDBAASIntegration

func (c Client) UpdateDBAASIntegration(ctx context.Context, id UUID, req UpdateDBAASIntegrationRequest) (*Operation, error)

Update a existing DBaaS integration

func (Client) UpdateDBAASOpensearchAclConfig

func (c Client) UpdateDBAASOpensearchAclConfig(ctx context.Context, name string, req DBAASOpensearchAclConfig) (*Operation, error)

Create a DBaaS OpenSearch ACL configuration

func (Client) UpdateDBAASPGConnectionPool

func (c Client) UpdateDBAASPGConnectionPool(ctx context.Context, serviceName string, connectionPoolName string, req UpdateDBAASPGConnectionPoolRequest) (*Operation, error)

Update a DBaaS PostgreSQL connection pool

func (Client) UpdateDBAASPostgresAllowReplication

func (c Client) UpdateDBAASPostgresAllowReplication(ctx context.Context, serviceName string, username string, req UpdateDBAASPostgresAllowReplicationRequest) (*DBAASPostgresUsers, error)

Update access control for one service user

func (Client) UpdateDBAASServiceGrafana

func (c Client) UpdateDBAASServiceGrafana(ctx context.Context, name string, req UpdateDBAASServiceGrafanaRequest) (*Operation, error)

Update a DBaaS Grafana service

func (Client) UpdateDBAASServiceKafka

func (c Client) UpdateDBAASServiceKafka(ctx context.Context, name string, req UpdateDBAASServiceKafkaRequest) (*Operation, error)

Update a DBaaS Kafka service

func (Client) UpdateDBAASServiceMysql

func (c Client) UpdateDBAASServiceMysql(ctx context.Context, name string, req UpdateDBAASServiceMysqlRequest) (*Operation, error)

Update a DBaaS MySQL service

func (Client) UpdateDBAASServiceOpensearch

func (c Client) UpdateDBAASServiceOpensearch(ctx context.Context, name string, req UpdateDBAASServiceOpensearchRequest) (*Operation, error)

Update a DBaaS OpenSearch service

func (Client) UpdateDBAASServicePG

func (c Client) UpdateDBAASServicePG(ctx context.Context, name string, req UpdateDBAASServicePGRequest) (*Operation, error)

Update a DBaaS PostgreSQL service

func (Client) UpdateDBAASServiceRedis

func (c Client) UpdateDBAASServiceRedis(ctx context.Context, name string, req UpdateDBAASServiceRedisRequest) (*Operation, error)

Update a DBaaS Redis service

func (Client) UpdateDNSDomainRecord

func (c Client) UpdateDNSDomainRecord(ctx context.Context, domainID UUID, recordID UUID, req UpdateDNSDomainRecordRequest) (*Operation, error)

Update DNS domain record

func (Client) UpdateElasticIP

func (c Client) UpdateElasticIP(ctx context.Context, id UUID, req UpdateElasticIPRequest) (*Operation, error)

Update an Elastic IP

func (Client) UpdateIAMOrganizationPolicy

func (c Client) UpdateIAMOrganizationPolicy(ctx context.Context, req IAMPolicy) (*Operation, error)

Update IAM Organization Policy

func (Client) UpdateIAMRole

func (c Client) UpdateIAMRole(ctx context.Context, id UUID, req UpdateIAMRoleRequest) (*Operation, error)

Update IAM Role

func (Client) UpdateIAMRolePolicy

func (c Client) UpdateIAMRolePolicy(ctx context.Context, id UUID, req IAMPolicy) (*Operation, error)

Update IAM Role Policy

func (Client) UpdateInstance

func (c Client) UpdateInstance(ctx context.Context, id UUID, req UpdateInstanceRequest) (*Operation, error)

Update a Compute instance

func (Client) UpdateInstancePool

func (c Client) UpdateInstancePool(ctx context.Context, id UUID, req UpdateInstancePoolRequest) (*Operation, error)

Update an Instance Pool

func (Client) UpdateLoadBalancer

func (c Client) UpdateLoadBalancer(ctx context.Context, id UUID, req UpdateLoadBalancerRequest) (*Operation, error)

Update a Load Balancer

func (Client) UpdateLoadBalancerService

func (c Client) UpdateLoadBalancerService(ctx context.Context, id UUID, serviceID UUID, req UpdateLoadBalancerServiceRequest) (*Operation, error)

Update a Load Balancer Service

func (Client) UpdatePrivateNetwork

func (c Client) UpdatePrivateNetwork(ctx context.Context, id UUID, req UpdatePrivateNetworkRequest) (*Operation, error)

Update a Private Network

func (Client) UpdatePrivateNetworkInstanceIP

func (c Client) UpdatePrivateNetworkInstanceIP(ctx context.Context, id UUID, req UpdatePrivateNetworkInstanceIPRequest) (*Operation, error)

Update the IP address of an instance attached to a managed private network

func (Client) UpdateReverseDNSElasticIP

func (c Client) UpdateReverseDNSElasticIP(ctx context.Context, id UUID, req UpdateReverseDNSElasticIPRequest) (*Operation, error)

Update/Create the PTR DNS record for an elastic IP

func (Client) UpdateReverseDNSInstance

func (c Client) UpdateReverseDNSInstance(ctx context.Context, id UUID, req UpdateReverseDNSInstanceRequest) (*Operation, error)

Update/Create the PTR DNS record for an instance

func (Client) UpdateSKSCluster

func (c Client) UpdateSKSCluster(ctx context.Context, id UUID, req UpdateSKSClusterRequest) (*Operation, error)

Update an SKS cluster

func (Client) UpdateSKSNodepool

func (c Client) UpdateSKSNodepool(ctx context.Context, id UUID, sksNodepoolID UUID, req UpdateSKSNodepoolRequest) (*Operation, error)

Update an SKS Nodepool

func (Client) UpdateTemplate

func (c Client) UpdateTemplate(ctx context.Context, id UUID, req UpdateTemplateRequest) (*Operation, error)

Update template attributes

func (Client) UpgradeSKSCluster

func (c Client) UpgradeSKSCluster(ctx context.Context, id UUID, req UpgradeSKSClusterRequest) (*Operation, error)

Upgrade an SKS cluster

func (Client) UpgradeSKSClusterServiceLevel

func (c Client) UpgradeSKSClusterServiceLevel(ctx context.Context, id UUID) (*Operation, error)

Upgrade a SKS cluster to pro

func (Client) Wait

func (c Client) Wait(ctx context.Context, op *Operation, states ...OperationState) (*Operation, error)

Wait is a helper that waits for async operation to reach the final state. Final states are one of: failure, success, timeout. If states argument are given, returns an error if the final state not match on of those.

func (*Client) WithHttpClient

func (c *Client) WithHttpClient(client *http.Client) *Client

WithHttpClient returns a copy of Client with new http.Client.

func (*Client) WithRequestInterceptor

func (c *Client) WithRequestInterceptor(f ...RequestInterceptorFn) *Client

WithRequestInterceptor returns a copy of Client with new RequestInterceptors.

func (*Client) WithTrace

func (c *Client) WithTrace() *Client

WithTrace returns a copy of Client with tracing enabled.

func (*Client) WithURL

func (c *Client) WithURL(url URL) *Client

WithURL returns a copy of Client with new zone URL.

type ClientOpt

type ClientOpt func(*Client) error

ClientOpt represents a function setting Exoscale API client option.

func ClientOptWithHTTPClient

func ClientOptWithHTTPClient(v *http.Client) ClientOpt

ClientOptWithHTTPClient returns a ClientOpt overriding the default http.Client. Note: the Exoscale API client will chain additional middleware (http.RoundTripper) on the HTTP client internally, which can alter the HTTP requests and responses. If you don't want any other middleware than the ones currently set to your HTTP client, you should duplicate it and pass a copy instead.

func ClientOptWithRequestInterceptors

func ClientOptWithRequestInterceptors(f ...RequestInterceptorFn) ClientOpt

ClientOptWithRequestInterceptors returns a ClientOpt With given RequestInterceptors.

func ClientOptWithTimeout

func ClientOptWithTimeout(v time.Duration) ClientOpt

ClientOptWithTimeout returns a ClientOpt overriding the default client timeout.

func ClientOptWithTrace

func ClientOptWithTrace() ClientOpt

ClientOptWithTrace returns a ClientOpt enabling HTTP request/response tracing.

func ClientOptWithURL

func ClientOptWithURL(url URL) ClientOpt

ClientOptWithURL returns a ClientOpt With a given zone URL.

type CopyTemplateRequest

type CopyTemplateRequest struct {
	// Zone
	TargetZone *Zone `json:"target-zone" validate:"required"`
}

type CreateAPIKeyRequest

type CreateAPIKeyRequest struct {
	// IAM API Key Name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
	// IAM API Key Role ID
	RoleID UUID `json:"role-id" validate:"required"`
}

type CreateAccessKeyRequest

type CreateAccessKeyRequest struct {
	// IAM Access Key name
	Name string `json:"name,omitempty"`
	// IAM Access Key operations
	Operations []string `json:"operations,omitempty"`
	// IAM Access Key Resources
	Resources []AccessKeyResource `json:"resources,omitempty"`
	// IAM Access Key tags
	Tags []string `json:"tags,omitempty"`
}

IAM Access Key

type CreateAntiAffinityGroupRequest

type CreateAntiAffinityGroupRequest struct {
	// Anti-affinity Group description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Anti-affinity Group name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
}

type CreateBlockStorageSnapshotRequest

type CreateBlockStorageSnapshotRequest struct {
	Labels Labels `json:"labels,omitempty"`
	// Snapshot name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
}

type CreateBlockStorageVolumeRequest

type CreateBlockStorageVolumeRequest struct {
	// Target block storage snapshot
	BlockStorageSnapshot *BlockStorageSnapshotTarget `json:"block-storage-snapshot,omitempty"`
	Labels               Labels                      `json:"labels,omitempty"`
	// Volume name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Volume size in GB.
	// When a snapshot ID is supplied, this defaults to the size of the source volume, but can be set to a larger value.
	Size int64 `json:"size,omitempty" validate:"omitempty,gte=100,lte=1024"`
}

type CreateDBAASIntegrationRequest

type CreateDBAASIntegrationRequest struct {
	DestService     *DBAASServiceName     `json:"dest-service" validate:"required,gte=0,lte=63"`
	IntegrationType *EnumIntegrationTypes `json:"integration-type" validate:"required"`
	// Integration settings
	Settings      map[string]any    `json:"settings,omitempty"`
	SourceService *DBAASServiceName `json:"source-service" validate:"required,gte=0,lte=63"`
}

type CreateDBAASKafkaUserRequest

type CreateDBAASKafkaUserRequest struct {
	Username *DBAASUserUsername `json:"username" validate:"required,gte=1,lte=64"`
}

type CreateDBAASMysqlDatabaseRequest

type CreateDBAASMysqlDatabaseRequest struct {
	DatabaseName *DBAASDatabaseName `json:"database-name" validate:"required,gte=1,lte=40"`
}

type CreateDBAASMysqlUserRequest

type CreateDBAASMysqlUserRequest struct {
	Authentication *EnumMysqlAuthenticationPlugin `json:"authentication,omitempty"`
	Username       *DBAASUserUsername             `json:"username" validate:"required,gte=1,lte=64"`
}

type CreateDBAASOpensearchUserRequest

type CreateDBAASOpensearchUserRequest struct {
	Username *DBAASUserUsername `json:"username" validate:"required,gte=1,lte=64"`
}

type CreateDBAASPGConnectionPoolRequest

type CreateDBAASPGConnectionPoolRequest struct {
	DatabaseName *DBAASDatabaseName   `json:"database-name" validate:"required,gte=1,lte=40"`
	Mode         *EnumPGPoolMode      `json:"mode,omitempty"`
	Name         *DBAASPGPoolName     `json:"name" validate:"required,gte=1,lte=63"`
	Size         *DBAASPGPoolSize     `json:"size,omitempty" validate:"omitempty,gte=1,lte=10000"`
	Username     *DBAASPGPoolUsername `json:"username,omitempty" validate:"omitempty,gte=1,lte=64"`
}

type CreateDBAASPGDatabaseRequest

type CreateDBAASPGDatabaseRequest struct {
	DatabaseName *DBAASDatabaseName `json:"database-name" validate:"required,gte=1,lte=40"`
	// Default string sort order (LC_COLLATE) for PostgreSQL database
	LCCollate string `json:"lc-collate,omitempty" validate:"omitempty,lte=128"`
	// Default character classification (LC_CTYPE) for PostgreSQL database
	LCCtype string `json:"lc-ctype,omitempty" validate:"omitempty,lte=128"`
}

type CreateDBAASPGUpgradeCheckRequest

type CreateDBAASPGUpgradeCheckRequest struct {
	// Target version for upgrade
	TargetVersion CreateDBAASPGUpgradeCheckRequestTargetVersion `json:"target-version" validate:"required"`
}

type CreateDBAASPGUpgradeCheckRequestTargetVersion

type CreateDBAASPGUpgradeCheckRequestTargetVersion string
const (
	CreateDBAASPGUpgradeCheckRequestTargetVersion14 CreateDBAASPGUpgradeCheckRequestTargetVersion = "14"
	CreateDBAASPGUpgradeCheckRequestTargetVersion15 CreateDBAASPGUpgradeCheckRequestTargetVersion = "15"
	CreateDBAASPGUpgradeCheckRequestTargetVersion12 CreateDBAASPGUpgradeCheckRequestTargetVersion = "12"
	CreateDBAASPGUpgradeCheckRequestTargetVersion13 CreateDBAASPGUpgradeCheckRequestTargetVersion = "13"
	CreateDBAASPGUpgradeCheckRequestTargetVersion11 CreateDBAASPGUpgradeCheckRequestTargetVersion = "11"
)

type CreateDBAASPostgresUserRequest

type CreateDBAASPostgresUserRequest struct {
	AllowReplication *bool              `json:"allow-replication,omitempty"`
	Username         *DBAASUserUsername `json:"username" validate:"required,gte=1,lte=64"`
}

type CreateDBAASServiceGrafanaRequest

type CreateDBAASServiceGrafanaRequest struct {
	ForkFromService *DBAASServiceName `json:"fork-from-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Grafana settings
	GrafanaSettings *JSONSchemaGrafana `json:"grafana-settings,omitempty"`
	// Allowed CIDR address blocks for incoming connections
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *CreateDBAASServiceGrafanaRequestMaintenance `json:"maintenance,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required,gte=1,lte=128"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
}

type CreateDBAASServiceGrafanaRequestMaintenance

type CreateDBAASServiceGrafanaRequestMaintenance struct {
	// Day of week for installing updates
	Dow CreateDBAASServiceGrafanaRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type CreateDBAASServiceGrafanaRequestMaintenanceDow

type CreateDBAASServiceGrafanaRequestMaintenanceDow string
const (
	CreateDBAASServiceGrafanaRequestMaintenanceDowSaturday  CreateDBAASServiceGrafanaRequestMaintenanceDow = "saturday"
	CreateDBAASServiceGrafanaRequestMaintenanceDowTuesday   CreateDBAASServiceGrafanaRequestMaintenanceDow = "tuesday"
	CreateDBAASServiceGrafanaRequestMaintenanceDowNever     CreateDBAASServiceGrafanaRequestMaintenanceDow = "never"
	CreateDBAASServiceGrafanaRequestMaintenanceDowWednesday CreateDBAASServiceGrafanaRequestMaintenanceDow = "wednesday"
	CreateDBAASServiceGrafanaRequestMaintenanceDowSunday    CreateDBAASServiceGrafanaRequestMaintenanceDow = "sunday"
	CreateDBAASServiceGrafanaRequestMaintenanceDowFriday    CreateDBAASServiceGrafanaRequestMaintenanceDow = "friday"
	CreateDBAASServiceGrafanaRequestMaintenanceDowMonday    CreateDBAASServiceGrafanaRequestMaintenanceDow = "monday"
	CreateDBAASServiceGrafanaRequestMaintenanceDowThursday  CreateDBAASServiceGrafanaRequestMaintenanceDow = "thursday"
)

type CreateDBAASServiceKafkaRequest

type CreateDBAASServiceKafkaRequest struct {
	// Kafka authentication methods
	AuthenticationMethods *CreateDBAASServiceKafkaRequestAuthenticationMethods `json:"authentication-methods,omitempty"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Allow clients to connect to kafka_connect from the public internet for service nodes that are in a project VPC or another type of private network
	KafkaConnectEnabled *bool `json:"kafka-connect-enabled,omitempty"`
	// Kafka Connect configuration values
	KafkaConnectSettings JSONSchemaKafkaConnect `json:"kafka-connect-settings,omitempty"`
	// Enable Kafka-REST service
	KafkaRestEnabled *bool `json:"kafka-rest-enabled,omitempty"`
	// Kafka REST configuration
	KafkaRestSettings JSONSchemaKafkaRest `json:"kafka-rest-settings,omitempty"`
	// Kafka broker configuration values
	KafkaSettings JSONSchemaKafka `json:"kafka-settings,omitempty"`
	// Automatic maintenance settings
	Maintenance *CreateDBAASServiceKafkaRequestMaintenance `json:"maintenance,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required,gte=1,lte=128"`
	// Enable Schema-Registry service
	SchemaRegistryEnabled *bool `json:"schema-registry-enabled,omitempty"`
	// Schema Registry configuration
	SchemaRegistrySettings JSONSchemaSchemaRegistry `json:"schema-registry-settings,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
	// Kafka major version
	Version string `json:"version,omitempty" validate:"omitempty,gte=1"`
}

type CreateDBAASServiceKafkaRequestAuthenticationMethods

type CreateDBAASServiceKafkaRequestAuthenticationMethods struct {
	// Enable certificate/SSL authentication
	Certificate *bool `json:"certificate,omitempty"`
	// Enable SASL authentication
	Sasl *bool `json:"sasl,omitempty"`
}

Kafka authentication methods

type CreateDBAASServiceKafkaRequestMaintenance

type CreateDBAASServiceKafkaRequestMaintenance struct {
	// Day of week for installing updates
	Dow CreateDBAASServiceKafkaRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type CreateDBAASServiceKafkaRequestMaintenanceDow

type CreateDBAASServiceKafkaRequestMaintenanceDow string
const (
	CreateDBAASServiceKafkaRequestMaintenanceDowSaturday  CreateDBAASServiceKafkaRequestMaintenanceDow = "saturday"
	CreateDBAASServiceKafkaRequestMaintenanceDowTuesday   CreateDBAASServiceKafkaRequestMaintenanceDow = "tuesday"
	CreateDBAASServiceKafkaRequestMaintenanceDowNever     CreateDBAASServiceKafkaRequestMaintenanceDow = "never"
	CreateDBAASServiceKafkaRequestMaintenanceDowWednesday CreateDBAASServiceKafkaRequestMaintenanceDow = "wednesday"
	CreateDBAASServiceKafkaRequestMaintenanceDowSunday    CreateDBAASServiceKafkaRequestMaintenanceDow = "sunday"
	CreateDBAASServiceKafkaRequestMaintenanceDowFriday    CreateDBAASServiceKafkaRequestMaintenanceDow = "friday"
	CreateDBAASServiceKafkaRequestMaintenanceDowMonday    CreateDBAASServiceKafkaRequestMaintenanceDow = "monday"
	CreateDBAASServiceKafkaRequestMaintenanceDowThursday  CreateDBAASServiceKafkaRequestMaintenanceDow = "thursday"
)

type CreateDBAASServiceMysqlRequest

type CreateDBAASServiceMysqlRequest struct {
	// Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.
	AdminPassword string `json:"admin-password,omitempty" validate:"omitempty,gte=8,lte=256"`
	// Custom username for admin user. This must be set only when a new service is being created.
	AdminUsername  string                                        `json:"admin-username,omitempty" validate:"omitempty,gte=1,lte=64"`
	BackupSchedule *CreateDBAASServiceMysqlRequestBackupSchedule `json:"backup-schedule,omitempty"`
	// The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector.
	BinlogRetentionPeriod int64             `json:"binlog-retention-period,omitempty" validate:"omitempty,gte=600,lte=86400"`
	ForkFromService       *DBAASServiceName `json:"fork-from-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Service integrations to be enabled when creating the service.
	Integrations []CreateDBAASServiceMysqlRequestIntegrations `json:"integrations,omitempty"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *CreateDBAASServiceMysqlRequestMaintenance `json:"maintenance,omitempty"`
	// Migrate data from existing server
	Migration *CreateDBAASServiceMysqlRequestMigration `json:"migration,omitempty"`
	// mysql.conf configuration values
	MysqlSettings JSONSchemaMysql `json:"mysql-settings,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required,gte=1,lte=128"`
	// ISO time of a backup to recover from for services that support arbitrary times
	RecoveryBackupTime string `json:"recovery-backup-time,omitempty" validate:"omitempty,gte=1"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
	// MySQL major version
	Version string `json:"version,omitempty" validate:"omitempty,gte=1"`
}

type CreateDBAASServiceMysqlRequestBackupSchedule

type CreateDBAASServiceMysqlRequestBackupSchedule struct {
	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupHour int64 `json:"backup-hour,omitempty" validate:"omitempty,gte=0,lte=23"`
	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupMinute int64 `json:"backup-minute,omitempty" validate:"omitempty,gte=0,lte=59"`
}

type CreateDBAASServiceMysqlRequestIntegrations

type CreateDBAASServiceMysqlRequestIntegrations struct {
	DestService *DBAASServiceName `json:"dest-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Integration settings
	Settings      map[string]any    `json:"settings,omitempty"`
	SourceService *DBAASServiceName `json:"source-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Integration type
	Type CreateDBAASServiceMysqlRequestIntegrationsType `json:"type" validate:"required"`
}

type CreateDBAASServiceMysqlRequestIntegrationsType

type CreateDBAASServiceMysqlRequestIntegrationsType string
const (
	CreateDBAASServiceMysqlRequestIntegrationsTypeReadReplica CreateDBAASServiceMysqlRequestIntegrationsType = "read_replica"
)

type CreateDBAASServiceMysqlRequestMaintenance

type CreateDBAASServiceMysqlRequestMaintenance struct {
	// Day of week for installing updates
	Dow CreateDBAASServiceMysqlRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type CreateDBAASServiceMysqlRequestMaintenanceDow

type CreateDBAASServiceMysqlRequestMaintenanceDow string
const (
	CreateDBAASServiceMysqlRequestMaintenanceDowSaturday  CreateDBAASServiceMysqlRequestMaintenanceDow = "saturday"
	CreateDBAASServiceMysqlRequestMaintenanceDowTuesday   CreateDBAASServiceMysqlRequestMaintenanceDow = "tuesday"
	CreateDBAASServiceMysqlRequestMaintenanceDowNever     CreateDBAASServiceMysqlRequestMaintenanceDow = "never"
	CreateDBAASServiceMysqlRequestMaintenanceDowWednesday CreateDBAASServiceMysqlRequestMaintenanceDow = "wednesday"
	CreateDBAASServiceMysqlRequestMaintenanceDowSunday    CreateDBAASServiceMysqlRequestMaintenanceDow = "sunday"
	CreateDBAASServiceMysqlRequestMaintenanceDowFriday    CreateDBAASServiceMysqlRequestMaintenanceDow = "friday"
	CreateDBAASServiceMysqlRequestMaintenanceDowMonday    CreateDBAASServiceMysqlRequestMaintenanceDow = "monday"
	CreateDBAASServiceMysqlRequestMaintenanceDowThursday  CreateDBAASServiceMysqlRequestMaintenanceDow = "thursday"
)

type CreateDBAASServiceMysqlRequestMigration

type CreateDBAASServiceMysqlRequestMigration struct {
	// Database name for bootstrapping the initial connection
	Dbname string `json:"dbname,omitempty" validate:"omitempty,gte=1,lte=63"`
	// Hostname or IP address of the server where to migrate data from
	Host string `json:"host" validate:"required,gte=1,lte=255"`
	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
	IgnoreDbs string               `json:"ignore-dbs,omitempty" validate:"omitempty,gte=1,lte=2048"`
	Method    *EnumMigrationMethod `json:"method,omitempty"`
	// Password for authentication with the server where to migrate data from
	Password string `json:"password,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Port number of the server where to migrate data from
	Port int64 `json:"port" validate:"required,gte=1,lte=65535"`
	// The server where to migrate data from is secured with SSL
	SSL *bool `json:"ssl,omitempty"`
	// User name for authentication with the server where to migrate data from
	Username string `json:"username,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Migrate data from existing server

type CreateDBAASServiceOpensearchRequest

type CreateDBAASServiceOpensearchRequest struct {
	ForkFromService *DBAASServiceName `json:"fork-from-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored.
	IndexPatterns []CreateDBAASServiceOpensearchRequestIndexPatterns `json:"index-patterns,omitempty"`
	// Template settings for all new indexes
	IndexTemplate *CreateDBAASServiceOpensearchRequestIndexTemplate `json:"index-template,omitempty"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true.
	KeepIndexRefreshInterval *bool `json:"keep-index-refresh-interval,omitempty"`
	// Automatic maintenance settings
	Maintenance *CreateDBAASServiceOpensearchRequestMaintenance `json:"maintenance,omitempty"`
	// Maximum number of indexes to keep before deleting the oldest one
	MaxIndexCount int64 `json:"max-index-count,omitempty" validate:"omitempty,gte=0"`
	// OpenSearch Dashboards settings
	OpensearchDashboards *CreateDBAASServiceOpensearchRequestOpensearchDashboards `json:"opensearch-dashboards,omitempty"`
	// OpenSearch settings
	OpensearchSettings JSONSchemaOpensearch `json:"opensearch-settings,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required,gte=1,lte=128"`
	// Name of a backup to recover from for services that support backup names
	RecoveryBackupName string `json:"recovery-backup-name,omitempty" validate:"omitempty,gte=1"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
	// OpenSearch major version
	Version string `json:"version,omitempty" validate:"omitempty,gte=1"`
}

type CreateDBAASServiceOpensearchRequestIndexPatterns

type CreateDBAASServiceOpensearchRequestIndexPatterns struct {
	// Maximum number of indexes to keep
	MaxIndexCount int64 `json:"max-index-count,omitempty" validate:"omitempty,gte=0"`
	// fnmatch pattern
	Pattern string `json:"pattern,omitempty" validate:"omitempty,lte=1024"`
	// Deletion sorting algorithm
	SortingAlgorithm CreateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm `json:"sorting-algorithm,omitempty"`
}

type CreateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm

type CreateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm string
const (
	CreateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithmAlphabetical CreateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm = "alphabetical"
	CreateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithmCreationDate CreateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm = "creation_date"
)

type CreateDBAASServiceOpensearchRequestIndexTemplate

type CreateDBAASServiceOpensearchRequestIndexTemplate struct {
	// The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000.
	MappingNestedObjectsLimit int64 `json:"mapping-nested-objects-limit,omitempty" validate:"omitempty,gte=0,lte=100000"`
	// The number of replicas each primary shard has.
	NumberOfReplicas int64 `json:"number-of-replicas,omitempty" validate:"omitempty,gte=0,lte=29"`
	// The number of primary shards that an index should have.
	NumberOfShards int64 `json:"number-of-shards,omitempty" validate:"omitempty,gte=1,lte=1024"`
}

Template settings for all new indexes

type CreateDBAASServiceOpensearchRequestMaintenance

type CreateDBAASServiceOpensearchRequestMaintenance struct {
	// Day of week for installing updates
	Dow CreateDBAASServiceOpensearchRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type CreateDBAASServiceOpensearchRequestMaintenanceDow

type CreateDBAASServiceOpensearchRequestMaintenanceDow string
const (
	CreateDBAASServiceOpensearchRequestMaintenanceDowSaturday  CreateDBAASServiceOpensearchRequestMaintenanceDow = "saturday"
	CreateDBAASServiceOpensearchRequestMaintenanceDowTuesday   CreateDBAASServiceOpensearchRequestMaintenanceDow = "tuesday"
	CreateDBAASServiceOpensearchRequestMaintenanceDowNever     CreateDBAASServiceOpensearchRequestMaintenanceDow = "never"
	CreateDBAASServiceOpensearchRequestMaintenanceDowWednesday CreateDBAASServiceOpensearchRequestMaintenanceDow = "wednesday"
	CreateDBAASServiceOpensearchRequestMaintenanceDowSunday    CreateDBAASServiceOpensearchRequestMaintenanceDow = "sunday"
	CreateDBAASServiceOpensearchRequestMaintenanceDowFriday    CreateDBAASServiceOpensearchRequestMaintenanceDow = "friday"
	CreateDBAASServiceOpensearchRequestMaintenanceDowMonday    CreateDBAASServiceOpensearchRequestMaintenanceDow = "monday"
	CreateDBAASServiceOpensearchRequestMaintenanceDowThursday  CreateDBAASServiceOpensearchRequestMaintenanceDow = "thursday"
)

type CreateDBAASServiceOpensearchRequestOpensearchDashboards

type CreateDBAASServiceOpensearchRequestOpensearchDashboards struct {
	// Enable or disable OpenSearch Dashboards (default: true)
	Enabled *bool `json:"enabled,omitempty"`
	// Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch. (default: 128)
	MaxOldSpaceSize int64 `json:"max-old-space-size,omitempty" validate:"omitempty,gte=64,lte=1024"`
	// Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch (default: 30000)
	OpensearchRequestTimeout int64 `json:"opensearch-request-timeout,omitempty" validate:"omitempty,gte=5000,lte=120000"`
}

OpenSearch Dashboards settings

type CreateDBAASServicePGRequest

type CreateDBAASServicePGRequest struct {
	// Custom password for admin user. Defaults to random string. This must be set only when a new service is being created.
	AdminPassword string `json:"admin-password,omitempty" validate:"omitempty,gte=8,lte=256"`
	// Custom username for admin user. This must be set only when a new service is being created.
	AdminUsername   string                                     `json:"admin-username,omitempty" validate:"omitempty,gte=1,lte=64"`
	BackupSchedule  *CreateDBAASServicePGRequestBackupSchedule `json:"backup-schedule,omitempty"`
	ForkFromService *DBAASServiceName                          `json:"fork-from-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Service integrations to be enabled when creating the service.
	Integrations []CreateDBAASServicePGRequestIntegrations `json:"integrations,omitempty"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *CreateDBAASServicePGRequestMaintenance `json:"maintenance,omitempty"`
	// Migrate data from existing server
	Migration *CreateDBAASServicePGRequestMigration `json:"migration,omitempty"`
	// postgresql.conf configuration values
	PGSettings JSONSchemaPG `json:"pg-settings,omitempty"`
	// PGBouncer connection pooling settings
	PgbouncerSettings JSONSchemaPgbouncer `json:"pgbouncer-settings,omitempty"`
	// PGLookout settings
	PglookoutSettings JSONSchemaPglookout `json:"pglookout-settings,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required,gte=1,lte=128"`
	// ISO time of a backup to recover from for services that support arbitrary times
	RecoveryBackupTime string `json:"recovery-backup-time,omitempty" validate:"omitempty,gte=1"`
	// Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
	SharedBuffersPercentage int64                         `json:"shared-buffers-percentage,omitempty" validate:"omitempty,gte=20,lte=60"`
	SynchronousReplication  *EnumPGSynchronousReplication `json:"synchronous-replication,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
	// TimescaleDB extension configuration values
	TimescaledbSettings JSONSchemaTimescaledb `json:"timescaledb-settings,omitempty"`
	Variant             *EnumPGVariant        `json:"variant,omitempty"`
	// PostgreSQL major version
	Version string `json:"version,omitempty" validate:"omitempty,gte=1"`
	// Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
	WorkMem int64 `json:"work-mem,omitempty" validate:"omitempty,gte=1,lte=1024"`
}

type CreateDBAASServicePGRequestBackupSchedule

type CreateDBAASServicePGRequestBackupSchedule struct {
	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupHour int64 `json:"backup-hour,omitempty" validate:"omitempty,gte=0,lte=23"`
	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupMinute int64 `json:"backup-minute,omitempty" validate:"omitempty,gte=0,lte=59"`
}

type CreateDBAASServicePGRequestIntegrations

type CreateDBAASServicePGRequestIntegrations struct {
	DestService *DBAASServiceName `json:"dest-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Integration settings
	Settings      map[string]any    `json:"settings,omitempty"`
	SourceService *DBAASServiceName `json:"source-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Integration type
	Type CreateDBAASServicePGRequestIntegrationsType `json:"type" validate:"required"`
}

type CreateDBAASServicePGRequestIntegrationsType

type CreateDBAASServicePGRequestIntegrationsType string
const (
	CreateDBAASServicePGRequestIntegrationsTypeReadReplica CreateDBAASServicePGRequestIntegrationsType = "read_replica"
)

type CreateDBAASServicePGRequestMaintenance

type CreateDBAASServicePGRequestMaintenance struct {
	// Day of week for installing updates
	Dow CreateDBAASServicePGRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type CreateDBAASServicePGRequestMaintenanceDow

type CreateDBAASServicePGRequestMaintenanceDow string
const (
	CreateDBAASServicePGRequestMaintenanceDowSaturday  CreateDBAASServicePGRequestMaintenanceDow = "saturday"
	CreateDBAASServicePGRequestMaintenanceDowTuesday   CreateDBAASServicePGRequestMaintenanceDow = "tuesday"
	CreateDBAASServicePGRequestMaintenanceDowNever     CreateDBAASServicePGRequestMaintenanceDow = "never"
	CreateDBAASServicePGRequestMaintenanceDowWednesday CreateDBAASServicePGRequestMaintenanceDow = "wednesday"
	CreateDBAASServicePGRequestMaintenanceDowSunday    CreateDBAASServicePGRequestMaintenanceDow = "sunday"
	CreateDBAASServicePGRequestMaintenanceDowFriday    CreateDBAASServicePGRequestMaintenanceDow = "friday"
	CreateDBAASServicePGRequestMaintenanceDowMonday    CreateDBAASServicePGRequestMaintenanceDow = "monday"
	CreateDBAASServicePGRequestMaintenanceDowThursday  CreateDBAASServicePGRequestMaintenanceDow = "thursday"
)

type CreateDBAASServicePGRequestMigration

type CreateDBAASServicePGRequestMigration struct {
	// Database name for bootstrapping the initial connection
	Dbname string `json:"dbname,omitempty" validate:"omitempty,gte=1,lte=63"`
	// Hostname or IP address of the server where to migrate data from
	Host string `json:"host" validate:"required,gte=1,lte=255"`
	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
	IgnoreDbs string               `json:"ignore-dbs,omitempty" validate:"omitempty,gte=1,lte=2048"`
	Method    *EnumMigrationMethod `json:"method,omitempty"`
	// Password for authentication with the server where to migrate data from
	Password string `json:"password,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Port number of the server where to migrate data from
	Port int64 `json:"port" validate:"required,gte=1,lte=65535"`
	// The server where to migrate data from is secured with SSL
	SSL *bool `json:"ssl,omitempty"`
	// User name for authentication with the server where to migrate data from
	Username string `json:"username,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Migrate data from existing server

type CreateDBAASServiceRedisRequest

type CreateDBAASServiceRedisRequest struct {
	ForkFromService *DBAASServiceName `json:"fork-from-service,omitempty" validate:"omitempty,gte=0,lte=63"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *CreateDBAASServiceRedisRequestMaintenance `json:"maintenance,omitempty"`
	// Migrate data from existing server
	Migration *CreateDBAASServiceRedisRequestMigration `json:"migration,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required,gte=1,lte=128"`
	// Name of a backup to recover from for services that support backup names
	RecoveryBackupName string `json:"recovery-backup-name,omitempty" validate:"omitempty,gte=1"`
	// Redis settings
	RedisSettings *JSONSchemaRedis `json:"redis-settings,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
}

type CreateDBAASServiceRedisRequestMaintenance

type CreateDBAASServiceRedisRequestMaintenance struct {
	// Day of week for installing updates
	Dow CreateDBAASServiceRedisRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type CreateDBAASServiceRedisRequestMaintenanceDow

type CreateDBAASServiceRedisRequestMaintenanceDow string
const (
	CreateDBAASServiceRedisRequestMaintenanceDowSaturday  CreateDBAASServiceRedisRequestMaintenanceDow = "saturday"
	CreateDBAASServiceRedisRequestMaintenanceDowTuesday   CreateDBAASServiceRedisRequestMaintenanceDow = "tuesday"
	CreateDBAASServiceRedisRequestMaintenanceDowNever     CreateDBAASServiceRedisRequestMaintenanceDow = "never"
	CreateDBAASServiceRedisRequestMaintenanceDowWednesday CreateDBAASServiceRedisRequestMaintenanceDow = "wednesday"
	CreateDBAASServiceRedisRequestMaintenanceDowSunday    CreateDBAASServiceRedisRequestMaintenanceDow = "sunday"
	CreateDBAASServiceRedisRequestMaintenanceDowFriday    CreateDBAASServiceRedisRequestMaintenanceDow = "friday"
	CreateDBAASServiceRedisRequestMaintenanceDowMonday    CreateDBAASServiceRedisRequestMaintenanceDow = "monday"
	CreateDBAASServiceRedisRequestMaintenanceDowThursday  CreateDBAASServiceRedisRequestMaintenanceDow = "thursday"
)

type CreateDBAASServiceRedisRequestMigration

type CreateDBAASServiceRedisRequestMigration struct {
	// Database name for bootstrapping the initial connection
	Dbname string `json:"dbname,omitempty" validate:"omitempty,gte=1,lte=63"`
	// Hostname or IP address of the server where to migrate data from
	Host string `json:"host" validate:"required,gte=1,lte=255"`
	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
	IgnoreDbs string               `json:"ignore-dbs,omitempty" validate:"omitempty,gte=1,lte=2048"`
	Method    *EnumMigrationMethod `json:"method,omitempty"`
	// Password for authentication with the server where to migrate data from
	Password string `json:"password,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Port number of the server where to migrate data from
	Port int64 `json:"port" validate:"required,gte=1,lte=65535"`
	// The server where to migrate data from is secured with SSL
	SSL *bool `json:"ssl,omitempty"`
	// User name for authentication with the server where to migrate data from
	Username string `json:"username,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Migrate data from existing server

type CreateDBAASTaskMigrationCheckRequest

type CreateDBAASTaskMigrationCheckRequest struct {
	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
	IgnoreDbs string               `json:"ignore-dbs,omitempty" validate:"omitempty,gte=1,lte=2048"`
	Method    *EnumMigrationMethod `json:"method,omitempty"`
	// Service URI of the source MySQL or PostgreSQL database with admin credentials.
	SourceServiceURI string `json:"source-service-uri" validate:"required,gte=1,lte=512"`
}

type CreateDNSDomainRecordRequest

type CreateDNSDomainRecordRequest struct {
	// DNS domain record content
	Content string `json:"content" validate:"required"`
	// DNS domain record name
	Name string `json:"name" validate:"required"`
	// DNS domain record priority
	Priority int64 `json:"priority,omitempty" validate:"omitempty,gte=0"`
	// DNS domain record TTL
	Ttl int64 `json:"ttl,omitempty" validate:"omitempty,gte=0"`
	// DNS domain record type
	Type CreateDNSDomainRecordRequestType `json:"type" validate:"required"`
}

type CreateDNSDomainRecordRequestType

type CreateDNSDomainRecordRequestType string
const (
	CreateDNSDomainRecordRequestTypeNS    CreateDNSDomainRecordRequestType = "NS"
	CreateDNSDomainRecordRequestTypeCAA   CreateDNSDomainRecordRequestType = "CAA"
	CreateDNSDomainRecordRequestTypeNAPTR CreateDNSDomainRecordRequestType = "NAPTR"
	CreateDNSDomainRecordRequestTypePOOL  CreateDNSDomainRecordRequestType = "POOL"
	CreateDNSDomainRecordRequestTypeA     CreateDNSDomainRecordRequestType = "A"
	CreateDNSDomainRecordRequestTypeHINFO CreateDNSDomainRecordRequestType = "HINFO"
	CreateDNSDomainRecordRequestTypeCNAME CreateDNSDomainRecordRequestType = "CNAME"
	CreateDNSDomainRecordRequestTypeSSHFP CreateDNSDomainRecordRequestType = "SSHFP"
	CreateDNSDomainRecordRequestTypeSRV   CreateDNSDomainRecordRequestType = "SRV"
	CreateDNSDomainRecordRequestTypeAAAA  CreateDNSDomainRecordRequestType = "AAAA"
	CreateDNSDomainRecordRequestTypeMX    CreateDNSDomainRecordRequestType = "MX"
	CreateDNSDomainRecordRequestTypeTXT   CreateDNSDomainRecordRequestType = "TXT"
	CreateDNSDomainRecordRequestTypeALIAS CreateDNSDomainRecordRequestType = "ALIAS"
	CreateDNSDomainRecordRequestTypeURL   CreateDNSDomainRecordRequestType = "URL"
	CreateDNSDomainRecordRequestTypeSPF   CreateDNSDomainRecordRequestType = "SPF"
)

type CreateDNSDomainRequest

type CreateDNSDomainRequest struct {
	// Domain name
	UnicodeName string `json:"unicode-name,omitempty"`
}

DNS Domain

type CreateElasticIPRequest

type CreateElasticIPRequest struct {
	// Elastic IP address family (default: :inet4)
	Addressfamily CreateElasticIPRequestAddressfamily `json:"addressfamily,omitempty"`
	// Elastic IP description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Elastic IP address healthcheck
	Healthcheck *ElasticIPHealthcheck `json:"healthcheck,omitempty"`
	Labels      Labels                `json:"labels,omitempty"`
}

type CreateElasticIPRequestAddressfamily

type CreateElasticIPRequestAddressfamily string
const (
	CreateElasticIPRequestAddressfamilyInet4 CreateElasticIPRequestAddressfamily = "inet4"
	CreateElasticIPRequestAddressfamilyInet6 CreateElasticIPRequestAddressfamily = "inet6"
)

type CreateIAMRoleRequest

type CreateIAMRoleRequest struct {
	// IAM Role description
	Description string `json:"description,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Sets if the IAM Role Policy is editable or not (default: true). This setting cannot be changed after creation
	Editable *bool  `json:"editable,omitempty"`
	Labels   Labels `json:"labels,omitempty"`
	// IAM Role name
	Name string `json:"name" validate:"required,gte=1,lte=191"`
	// IAM Role permissions
	Permissions []string `json:"permissions,omitempty"`
	// Policy
	Policy *IAMPolicy `json:"policy,omitempty"`
}

type CreateInstancePoolRequest

type CreateInstancePoolRequest struct {
	// Instance Pool Anti-affinity Groups
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
	// Deploy target
	DeployTarget *DeployTarget `json:"deploy-target,omitempty"`
	// Instance Pool description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Instances disk size in GB
	DiskSize int64 `json:"disk-size" validate:"required,gte=10,lte=50000"`
	// Instances Elastic IPs
	ElasticIPS []ElasticIP `json:"elastic-ips,omitempty"`
	// Prefix to apply to Instances names (default: pool)
	InstancePrefix string `json:"instance-prefix,omitempty" validate:"omitempty,gte=1,lte=30"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type" validate:"required"`
	// Enable IPv6. DEPRECATED: use `public-ip-assignments`.
	Ipv6Enabled *bool  `json:"ipv6-enabled,omitempty"`
	Labels      Labels `json:"labels,omitempty"`
	// Minimum number of running Instances
	MinAvailable int64 `json:"min-available,omitempty" validate:"omitempty,gte=0"`
	// Instance Pool name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
	// Instance Pool Private Networks
	PrivateNetworks    []PrivateNetwork    `json:"private-networks,omitempty"`
	PublicIPAssignment *PublicIPAssignment `json:"public-ip-assignment,omitempty"`
	// Instance Pool Security Groups
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
	// Number of Instances
	Size int64 `json:"size" validate:"required,gt=0"`
	// SSH key
	SSHKey *SSHKey `json:"ssh-key,omitempty"`
	// Instances SSH Keys
	SSHKeys []SSHKey `json:"ssh-keys,omitempty"`
	// Instance template
	Template *Template `json:"template" validate:"required"`
	// Instances Cloud-init user-data
	UserData string `json:"user-data,omitempty" validate:"omitempty,gte=1"`
}

type CreateInstanceRequest

type CreateInstanceRequest struct {
	// Instance Anti-affinity Groups
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
	// Start Instance on creation (default: true)
	AutoStart *bool `json:"auto-start,omitempty"`
	// Deploy target
	DeployTarget *DeployTarget `json:"deploy-target,omitempty"`
	// Instance disk size in GB
	DiskSize int64 `json:"disk-size" validate:"required,gte=10,lte=50000"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type" validate:"required"`
	// Enable IPv6. DEPRECATED: use `public-ip-assignments`.
	Ipv6Enabled *bool  `json:"ipv6-enabled,omitempty"`
	Labels      Labels `json:"labels,omitempty"`
	// Instance name
	Name               string              `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	PublicIPAssignment *PublicIPAssignment `json:"public-ip-assignment,omitempty"`
	// Instance Security Groups
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
	// SSH key
	SSHKey *SSHKey `json:"ssh-key,omitempty"`
	// Instance SSH Keys
	SSHKeys []SSHKey `json:"ssh-keys,omitempty"`
	// Instance template
	Template *Template `json:"template" validate:"required"`
	// Instance Cloud-init user-data
	UserData string `json:"user-data,omitempty" validate:"omitempty,gte=1,lte=32768"`
}

type CreateLoadBalancerRequest

type CreateLoadBalancerRequest struct {
	// Load Balancer description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	Labels      Labels `json:"labels,omitempty"`
	// Load Balancer name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
}

type CreatePrivateNetworkRequest

type CreatePrivateNetworkRequest struct {
	// Private Network description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Private Network end IP address
	EndIP  net.IP `json:"end-ip,omitempty"`
	Labels Labels `json:"labels,omitempty"`
	// Private Network name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
	// Private Network netmask
	Netmask net.IP `json:"netmask,omitempty"`
	// Private Network start IP address
	StartIP net.IP `json:"start-ip,omitempty"`
}

type CreateSKSClusterRequest

type CreateSKSClusterRequest struct {
	// Cluster addons
	Addons []string `json:"addons,omitempty"`
	// Enable auto upgrade of the control plane to the latest patch version available
	AutoUpgrade *bool `json:"auto-upgrade,omitempty"`
	// Cluster CNI
	Cni CreateSKSClusterRequestCni `json:"cni,omitempty"`
	// Cluster description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	Labels      Labels `json:"labels,omitempty"`
	// Cluster service level
	Level CreateSKSClusterRequestLevel `json:"level" validate:"required"`
	// Cluster name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
	// SKS Cluster OpenID config map
	Oidc *SKSOidc `json:"oidc,omitempty"`
	// Control plane Kubernetes version
	Version string `json:"version" validate:"required"`
}

type CreateSKSClusterRequestCni

type CreateSKSClusterRequestCni string
const (
	CreateSKSClusterRequestCniCalico CreateSKSClusterRequestCni = "calico"
	CreateSKSClusterRequestCniCilium CreateSKSClusterRequestCni = "cilium"
)

type CreateSKSClusterRequestLevel

type CreateSKSClusterRequestLevel string
const (
	CreateSKSClusterRequestLevelStarter CreateSKSClusterRequestLevel = "starter"
	CreateSKSClusterRequestLevelPro     CreateSKSClusterRequestLevel = "pro"
)

type CreateSKSNodepoolRequest

type CreateSKSNodepoolRequest struct {
	// Nodepool addons
	Addons []string `json:"addons,omitempty"`
	// Nodepool Anti-affinity Groups
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
	// Deploy target
	DeployTarget *DeployTarget `json:"deploy-target,omitempty"`
	// Nodepool description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Nodepool instances disk size in GB
	DiskSize int64 `json:"disk-size" validate:"required,gte=20,lte=50000"`
	// Prefix to apply to instances names (default: pool)
	InstancePrefix string `json:"instance-prefix,omitempty" validate:"omitempty,gte=1,lte=30"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type" validate:"required"`
	// Kubelet image GC options
	KubeletImageGC *KubeletImageGC `json:"kubelet-image-gc,omitempty"`
	Labels         Labels          `json:"labels,omitempty"`
	// Nodepool name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
	// Nodepool Private Networks
	PrivateNetworks []PrivateNetwork `json:"private-networks,omitempty"`
	// Nodepool Security Groups
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
	// Number of instances
	Size   int64             `json:"size" validate:"required,gt=0"`
	Taints SKSNodepoolTaints `json:"taints,omitempty"`
}

type CreateSecurityGroupRequest

type CreateSecurityGroupRequest struct {
	// Security Group description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Security Group name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
}

type DBAASBackupConfig

type DBAASBackupConfig struct {
	// Interval of taking a frequent backup in service types supporting different backup schedules
	FrequentIntervalMinutes int64 `json:"frequent-interval-minutes,omitempty" validate:"omitempty,gte=0"`
	// Maximum age of the oldest frequent backup in service types supporting different backup schedules
	FrequentOldestAgeMinutes int64 `json:"frequent-oldest-age-minutes,omitempty" validate:"omitempty,gte=0"`
	// Interval of taking a frequent backup in service types supporting different backup schedules
	InfrequentIntervalMinutes int64 `json:"infrequent-interval-minutes,omitempty" validate:"omitempty,gte=0"`
	// Maximum age of the oldest infrequent backup in service types supporting different backup schedules
	InfrequentOldestAgeMinutes int64 `json:"infrequent-oldest-age-minutes,omitempty" validate:"omitempty,gte=0"`
	// The interval, in hours, at which backups are generated.
	// For some services, like PostgreSQL, this is the interval
	// at which full snapshots are taken and continuous incremental
	// backup stream is maintained in addition to that.
	Interval int64 `json:"interval,omitempty" validate:"omitempty,gt=0"`
	// Maximum number of backups to keep. Zero when no backups are created.
	MaxCount int64 `json:"max-count,omitempty" validate:"omitempty,gte=0"`
	// Mechanism how backups can be restored. 'regular'
	// means a backup is restored as is so that the system
	// is restored to the state it was when the backup was generated.
	// 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.
	RecoveryMode string `json:"recovery-mode,omitempty"`
}

DBaaS plan backup config

type DBAASDatabaseName

type DBAASDatabaseName string

type DBAASIntegration

type DBAASIntegration struct {
	// Description of the integration
	Description string `json:"description,omitempty"`
	// Destination service name
	Dest string `json:"dest,omitempty"`
	// Integration id
	ID UUID `json:"id,omitempty"`
	// Whether the integration is active or not
	ISActive *bool `json:"is-active,omitempty"`
	// Whether the integration is enabled or not
	ISEnabled *bool `json:"is-enabled,omitempty"`
	// Integration settings
	Settings map[string]any `json:"settings,omitempty"`
	// Source service name
	Source string `json:"source,omitempty"`
	// Integration status
	Status string `json:"status,omitempty"`
	// Integration type
	Type string `json:"type,omitempty"`
}

type DBAASIntegrationType

type DBAASIntegrationType struct {
	// The description of the destination service types.
	DestDescription string `json:"dest-description,omitempty"`
	// A list of the destination service types the integration supports.
	DestServiceTypes []string `json:"dest-service-types,omitempty"`
	// A JSON schema of additional settings of the integration.
	Settings *DBAASIntegrationTypeSettings `json:"settings,omitempty"`
	// The description of the source service types.
	SourceDescription string `json:"source-description,omitempty"`
	// A list of the source service types the integration supports.
	SourceServiceTypes []string `json:"source-service-types,omitempty"`
	// The type of the integration.
	Type string `json:"type,omitempty"`
}

type DBAASIntegrationTypeSettings

type DBAASIntegrationTypeSettings struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

A JSON schema of additional settings of the integration.

type DBAASKafkaAclID

type DBAASKafkaAclID string

type DBAASKafkaAcls

type DBAASKafkaAcls struct {
	SchemaRegistryAcl []DBAASKafkaSchemaRegistryAclEntry `json:"schema-registry-acl,omitempty"`
	TopicAcl          []DBAASKafkaTopicAclEntry          `json:"topic-acl,omitempty"`
}

type DBAASKafkaSchemaRegistryAclEntry

type DBAASKafkaSchemaRegistryAclEntry struct {
	ID *DBAASKafkaAclID `json:"id,omitempty" validate:"omitempty,gte=1,lte=40"`
	// Kafka Schema Registry permission
	Permission DBAASKafkaSchemaRegistryAclEntryPermission `json:"permission" validate:"required"`
	// Kafka Schema Registry name or pattern
	Resource string `json:"resource" validate:"required,gte=1,lte=249"`
	// Kafka username or username pattern
	Username string `json:"username" validate:"required,gte=1,lte=64"`
}

type DBAASKafkaSchemaRegistryAclEntryPermission

type DBAASKafkaSchemaRegistryAclEntryPermission string
const (
	DBAASKafkaSchemaRegistryAclEntryPermissionSchemaRegistryRead  DBAASKafkaSchemaRegistryAclEntryPermission = "schema_registry_read"
	DBAASKafkaSchemaRegistryAclEntryPermissionSchemaRegistryWrite DBAASKafkaSchemaRegistryAclEntryPermission = "schema_registry_write"
)

type DBAASKafkaTopicAclEntry

type DBAASKafkaTopicAclEntry struct {
	ID *DBAASKafkaAclID `json:"id,omitempty" validate:"omitempty,gte=1,lte=40"`
	// Kafka permission
	Permission DBAASKafkaTopicAclEntryPermission `json:"permission" validate:"required"`
	// Kafka topic name or pattern
	Topic string `json:"topic" validate:"required,gte=1,lte=249"`
	// Kafka username or username pattern
	Username string `json:"username" validate:"required,gte=1,lte=64"`
}

type DBAASKafkaTopicAclEntryPermission

type DBAASKafkaTopicAclEntryPermission string
const (
	DBAASKafkaTopicAclEntryPermissionAdmin     DBAASKafkaTopicAclEntryPermission = "admin"
	DBAASKafkaTopicAclEntryPermissionRead      DBAASKafkaTopicAclEntryPermission = "read"
	DBAASKafkaTopicAclEntryPermissionReadwrite DBAASKafkaTopicAclEntryPermission = "readwrite"
	DBAASKafkaTopicAclEntryPermissionWrite     DBAASKafkaTopicAclEntryPermission = "write"
)

type DBAASMigrationStatus

type DBAASMigrationStatus struct {
	// Migration status per database
	Details []DBAASMigrationStatusDetails `json:"details,omitempty"`
	// Error message in case that migration has failed
	Error string `json:"error,omitempty"`
	// Redis only: how many seconds since last I/O with redis master
	MasterLastIoSecondsAgo int64                 `json:"master-last-io-seconds-ago,omitempty"`
	MasterLinkStatus       *EnumMasterLinkStatus `json:"master-link-status,omitempty"`
	// Migration method. Empty in case of multiple methods or error
	Method string `json:"method,omitempty"`
	// Migration status
	Status string `json:"status,omitempty"`
}

type DBAASMigrationStatusDetails

type DBAASMigrationStatusDetails struct {
	// Migrated db name (PG) or number (Redis)
	Dbname string `json:"dbname,omitempty"`
	// Error message in case that migration has failed
	Error string `json:"error,omitempty"`
	// Migration method
	Method string               `json:"method,omitempty"`
	Status *EnumMigrationStatus `json:"status,omitempty"`
}

type DBAASMysqlDatabaseName

type DBAASMysqlDatabaseName string

type DBAASNodeState

type DBAASNodeState struct {
	// Name of the service node
	Name string `json:"name" validate:"required"`
	// Extra information regarding the progress for current state
	ProgressUpdates []DBAASNodeStateProgressUpdate `json:"progress-updates,omitempty"`
	// Role of this node. Only returned for a subset of service types
	Role DBAASNodeStateRole `json:"role,omitempty"`
	// Current state of the service node
	State DBAASNodeStateState `json:"state" validate:"required"`
}

Automatic maintenance settings

type DBAASNodeStateProgressUpdate

type DBAASNodeStateProgressUpdate struct {
	// Indicates whether this phase has been completed or not
	Completed *bool `json:"completed" validate:"required"`
	// Current progress for this phase. May be missing or null.
	Current int64 `json:"current,omitempty" validate:"omitempty,gte=0"`
	// Maximum progress value for this phase. May be missing or null. May change.
	Max int64 `json:"max,omitempty" validate:"omitempty,gte=0"`
	// Minimum progress value for this phase. May be missing or null.
	Min int64 `json:"min,omitempty" validate:"omitempty,gte=0"`
	// Key identifying this phase
	Phase DBAASNodeStateProgressUpdatePhase `json:"phase" validate:"required"`
	// Unit for current/min/max values. New units may be added.
	// If null should be treated as generic unit
	Unit string `json:"unit,omitempty"`
}

Extra information regarding the progress for current state

type DBAASNodeStateProgressUpdatePhase

type DBAASNodeStateProgressUpdatePhase string
const (
	DBAASNodeStateProgressUpdatePhaseStream     DBAASNodeStateProgressUpdatePhase = "stream"
	DBAASNodeStateProgressUpdatePhaseBasebackup DBAASNodeStateProgressUpdatePhase = "basebackup"
	DBAASNodeStateProgressUpdatePhasePrepare    DBAASNodeStateProgressUpdatePhase = "prepare"
	DBAASNodeStateProgressUpdatePhaseFinalize   DBAASNodeStateProgressUpdatePhase = "finalize"
)

type DBAASNodeStateRole

type DBAASNodeStateRole string
const (
	DBAASNodeStateRoleStandby     DBAASNodeStateRole = "standby"
	DBAASNodeStateRoleMaster      DBAASNodeStateRole = "master"
	DBAASNodeStateRoleReadReplica DBAASNodeStateRole = "read-replica"
)

type DBAASNodeStateState

type DBAASNodeStateState string
const (
	DBAASNodeStateStateLeaving     DBAASNodeStateState = "leaving"
	DBAASNodeStateStateRunning     DBAASNodeStateState = "running"
	DBAASNodeStateStateSyncingData DBAASNodeStateState = "syncing_data"
	DBAASNodeStateStateSettingUPVm DBAASNodeStateState = "setting_up_vm"
	DBAASNodeStateStateUnknown     DBAASNodeStateState = "unknown"
)

type DBAASOpensearchAclConfig

type DBAASOpensearchAclConfig struct {
	// Enable OpenSearch ACLs. When disabled authenticated service users have unrestricted access.
	AclEnabled *bool `json:"acl-enabled,omitempty"`
	// List of OpenSearch ACLs
	Acls []DBAASOpensearchAclConfigAcls `json:"acls,omitempty"`
	// Enable to enforce index rules in a limited fashion for requests that use the _mget, _msearch, and _bulk APIs
	ExtendedAclEnabled *bool `json:"extended-acl-enabled,omitempty"`
}

type DBAASOpensearchAclConfigAcls

type DBAASOpensearchAclConfigAcls struct {
	Rules    []DBAASOpensearchAclConfigAclsRules `json:"rules,omitempty"`
	Username *DBAASUserUsername                  `json:"username,omitempty" validate:"omitempty,gte=1,lte=64"`
}

type DBAASOpensearchAclConfigAclsRules

type DBAASOpensearchAclConfigAclsRules struct {
	// OpenSearch index pattern
	Index      string                        `json:"index" validate:"required,lte=249"`
	Permission *EnumOpensearchRulePermission `json:"permission,omitempty"`
}

type DBAASPGDatabaseName

type DBAASPGDatabaseName string

type DBAASPGPoolName

type DBAASPGPoolName string

type DBAASPGPoolSize

type DBAASPGPoolSize int64

type DBAASPGPoolUsername

type DBAASPGPoolUsername string

type DBAASPlan

type DBAASPlan struct {
	// Requires authorization or publicly available
	Authorized *bool `json:"authorized,omitempty"`
	// DBaaS plan backup config
	BackupConfig *DBAASBackupConfig `json:"backup-config,omitempty"`
	// DBaaS plan disk space
	DiskSpace int64 `json:"disk-space,omitempty"`
	// DBaaS plan max memory allocated percentage
	MaxMemoryPercent int64 `json:"max-memory-percent,omitempty" validate:"omitempty,gt=0"`
	// DBaaS plan name
	Name string `json:"name,omitempty"`
	// DBaaS plan node count
	NodeCount int64 `json:"node-count,omitempty" validate:"omitempty,gt=0"`
	// DBaaS plan CPU count per node
	NodeCPUCount int64 `json:"node-cpu-count,omitempty" validate:"omitempty,gt=0"`
	// DBaaS plan memory count per node
	NodeMemory int64 `json:"node-memory,omitempty" validate:"omitempty,gt=0"`
}

DBaaS plan

type DBAASPostgresUsers

type DBAASPostgresUsers struct {
	Users []DBAASPostgresUsersUsers `json:"users,omitempty"`
}

type DBAASPostgresUsersUsers

type DBAASPostgresUsersUsers struct {
	AllowReplication *bool              `json:"allow-replication,omitempty"`
	Username         *DBAASUserUsername `json:"username" validate:"required,gte=1,lte=64"`
}

type DBAASServiceBackup

type DBAASServiceBackup struct {
	// Internal name of this backup
	BackupName string `json:"backup-name" validate:"required"`
	// Backup timestamp (ISO 8601)
	BackupTime time.Time `json:"backup-time" validate:"required"`
	// Backup's original size before compression
	DataSize int64 `json:"data-size" validate:"required,gte=0"`
}

List of backups for the service

type DBAASServiceCommon

type DBAASServiceCommon struct {
	// Service creation timestamp (ISO 8601)
	CreatedAT time.Time `json:"created-at,omitempty"`
	// TODO UNIT disk space for data storage
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=0"`
	// Service integrations
	Integrations []DBAASIntegration `json:"integrations,omitempty"`
	Name         *DBAASServiceName  `json:"name" validate:"required,gte=0,lte=63"`
	// Number of service nodes in the active plan
	NodeCount int64 `json:"node-count,omitempty" validate:"omitempty,gte=0"`
	// Number of CPUs for each node
	NodeCPUCount int64 `json:"node-cpu-count,omitempty" validate:"omitempty,gte=0"`
	// TODO UNIT of memory for each node
	NodeMemory int64 `json:"node-memory,omitempty" validate:"omitempty,gte=0"`
	// Service notifications
	Notifications []DBAASServiceNotification `json:"notifications,omitempty"`
	// Subscription plan
	Plan  string            `json:"plan" validate:"required"`
	State *EnumServiceState `json:"state,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool                 `json:"termination-protection,omitempty"`
	Type                  *DBAASServiceTypeName `json:"type" validate:"required,gte=0,lte=64"`
	// Service last update timestamp (ISO 8601)
	UpdatedAT time.Time `json:"updated-at,omitempty"`
	// The zone where the service is running
	Zone string `json:"zone,omitempty"`
}

type DBAASServiceComponents

type DBAASServiceComponents struct {
	// Service component name
	Component string `json:"component" validate:"required"`
	// DNS name for connecting to the service component
	Host                      string               `json:"host" validate:"required"`
	KafkaAuthenticationMethod *EnumKafkaAuthMethod `json:"kafka-authentication-method,omitempty"`
	// Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)
	Path string `json:"path,omitempty"`
	// Port number for connecting to the service component
	Port int64 `json:"port" validate:"required,gte=0,lte=65535"`
	// Network access route
	Route DBAASServiceComponentsRoute `json:"route" validate:"required"`
	// Whether the endpoint is encrypted or accepts plaintext.
	// By default endpoints are always encrypted and
	// this property is only included for service components that may disable encryption.
	SSL *bool `json:"ssl,omitempty"`
	// DNS usage name
	Usage DBAASServiceComponentsUsage `json:"usage" validate:"required"`
}

Service component information objects

type DBAASServiceComponentsRoute

type DBAASServiceComponentsRoute string
const (
	DBAASServiceComponentsRouteDynamic     DBAASServiceComponentsRoute = "dynamic"
	DBAASServiceComponentsRoutePrivate     DBAASServiceComponentsRoute = "private"
	DBAASServiceComponentsRoutePublic      DBAASServiceComponentsRoute = "public"
	DBAASServiceComponentsRoutePrivatelink DBAASServiceComponentsRoute = "privatelink"
)

type DBAASServiceComponentsUsage

type DBAASServiceComponentsUsage string
const (
	DBAASServiceComponentsUsagePrimary DBAASServiceComponentsUsage = "primary"
	DBAASServiceComponentsUsageReplica DBAASServiceComponentsUsage = "replica"
)

type DBAASServiceGrafana

type DBAASServiceGrafana struct {
	// List of backups for the service
	Backups []DBAASServiceBackup `json:"backups,omitempty"`
	// Service component information objects
	Components []DBAASServiceGrafanaComponents `json:"components,omitempty"`
	// Grafana connection information properties
	ConnectionInfo *DBAASServiceGrafanaConnectionInfo `json:"connection-info,omitempty"`
	// Service creation timestamp (ISO 8601)
	CreatedAT time.Time `json:"created-at,omitempty"`
	// DbaaS service description
	Description string `json:"description,omitempty"`
	// TODO UNIT disk space for data storage
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=0"`
	// Grafana settings
	GrafanaSettings *JSONSchemaGrafana `json:"grafana-settings,omitempty"`
	// Service integrations
	Integrations []DBAASIntegration `json:"integrations,omitempty"`
	// Allowed CIDR address blocks for incoming connections
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *DBAASServiceMaintenance `json:"maintenance,omitempty"`
	Name        *DBAASServiceName        `json:"name" validate:"required,gte=0,lte=63"`
	// Number of service nodes in the active plan
	NodeCount int64 `json:"node-count,omitempty" validate:"omitempty,gte=0"`
	// Number of CPUs for each node
	NodeCPUCount int64 `json:"node-cpu-count,omitempty" validate:"omitempty,gte=0"`
	// TODO UNIT of memory for each node
	NodeMemory int64 `json:"node-memory,omitempty" validate:"omitempty,gte=0"`
	// State of individual service nodes
	NodeStates []DBAASNodeState `json:"node-states,omitempty"`
	// Service notifications
	Notifications []DBAASServiceNotification `json:"notifications,omitempty"`
	// Subscription plan
	Plan  string            `json:"plan" validate:"required"`
	State *EnumServiceState `json:"state,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool                 `json:"termination-protection,omitempty"`
	Type                  *DBAASServiceTypeName `json:"type" validate:"required,gte=0,lte=64"`
	// Service last update timestamp (ISO 8601)
	UpdatedAT time.Time `json:"updated-at,omitempty"`
	// URI for connecting to the service (may be absent)
	URI string `json:"uri,omitempty"`
	// service_uri parameterized into key-value pairs
	URIParams map[string]any `json:"uri-params,omitempty"`
	// List of service users
	Users []DBAASServiceGrafanaUsers `json:"users,omitempty"`
	// Grafana version
	Version string `json:"version,omitempty"`
	// The zone where the service is running
	Zone string `json:"zone,omitempty"`
}

type DBAASServiceGrafanaComponents

type DBAASServiceGrafanaComponents struct {
	// Service component name
	Component string `json:"component" validate:"required"`
	// DNS name for connecting to the service component
	Host string `json:"host" validate:"required"`
	// Port number for connecting to the service component
	Port  int64               `json:"port" validate:"required,gte=0,lte=65535"`
	Route *EnumComponentRoute `json:"route" validate:"required"`
	Usage *EnumComponentUsage `json:"usage" validate:"required"`
}

type DBAASServiceGrafanaConnectionInfo

type DBAASServiceGrafanaConnectionInfo struct {
	Password string `json:"password,omitempty"`
	URI      string `json:"uri,omitempty"`
	Username string `json:"username,omitempty"`
}

Grafana connection information properties

type DBAASServiceGrafanaUsers

type DBAASServiceGrafanaUsers struct {
	Password string `json:"password,omitempty"`
	Type     string `json:"type,omitempty"`
	Username string `json:"username,omitempty"`
}

type DBAASServiceIntegration

type DBAASServiceIntegration struct {
	// True when integration is active
	Active *bool `json:"active" validate:"required"`
	// Description of the integration
	Description string `json:"description" validate:"required"`
	// Destination endpoint name
	DestEndpoint string `json:"dest-endpoint,omitempty"`
	// Destination endpoint id
	DestEndpointID string `json:"dest-endpoint-id,omitempty"`
	// Destination service name
	DestService     string                `json:"dest-service" validate:"required"`
	DestServiceType *DBAASServiceTypeName `json:"dest-service-type" validate:"required,gte=0,lte=64"`
	// True when integration is enabled
	Enabled *bool `json:"enabled" validate:"required"`
	// Integration status
	IntegrationStatus map[string]any `json:"integration-status,omitempty"`
	// Type of the integration
	IntegrationType string `json:"integration-type" validate:"required"`
	// Integration ID
	ServiceIntegrationID string `json:"service-integration-id" validate:"required"`
	// Source endpoint name
	SourceEndpoint string `json:"source-endpoint,omitempty"`
	// Source endpoint ID
	SourceEndpointID string `json:"source-endpoint-id,omitempty"`
	// Source service name
	SourceService     string                `json:"source-service" validate:"required"`
	SourceServiceType *DBAASServiceTypeName `json:"source-service-type" validate:"required,gte=0,lte=64"`
	// Service integration settings
	UserConfig map[string]any `json:"user-config,omitempty"`
}

Integrations with other services

type DBAASServiceKafka

type DBAASServiceKafka struct {
	// Kafka authentication methods
	AuthenticationMethods *DBAASServiceKafkaAuthenticationMethods `json:"authentication-methods,omitempty"`
	// List of backups for the service
	Backups []DBAASServiceBackup `json:"backups,omitempty"`
	// Service component information objects
	Components []DBAASServiceKafkaComponents `json:"components,omitempty"`
	// Kafka connection information properties
	ConnectionInfo *DBAASServiceKafkaConnectionInfo `json:"connection-info,omitempty"`
	// Service creation timestamp (ISO 8601)
	CreatedAT time.Time `json:"created-at,omitempty"`
	// TODO UNIT disk space for data storage
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=0"`
	// Service integrations
	Integrations []DBAASIntegration `json:"integrations,omitempty"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Whether Kafka Connect is enabled
	KafkaConnectEnabled *bool `json:"kafka-connect-enabled,omitempty"`
	// Kafka Connect configuration values
	KafkaConnectSettings JSONSchemaKafkaConnect `json:"kafka-connect-settings,omitempty"`
	// Whether Kafka REST is enabled
	KafkaRestEnabled *bool `json:"kafka-rest-enabled,omitempty"`
	// Kafka REST configuration
	KafkaRestSettings JSONSchemaKafkaRest `json:"kafka-rest-settings,omitempty"`
	// Kafka broker configuration values
	KafkaSettings JSONSchemaKafka `json:"kafka-settings,omitempty"`
	// Automatic maintenance settings
	Maintenance *DBAASServiceMaintenance `json:"maintenance,omitempty"`
	Name        *DBAASServiceName        `json:"name" validate:"required,gte=0,lte=63"`
	// Number of service nodes in the active plan
	NodeCount int64 `json:"node-count,omitempty" validate:"omitempty,gte=0"`
	// Number of CPUs for each node
	NodeCPUCount int64 `json:"node-cpu-count,omitempty" validate:"omitempty,gte=0"`
	// TODO UNIT of memory for each node
	NodeMemory int64 `json:"node-memory,omitempty" validate:"omitempty,gte=0"`
	// State of individual service nodes
	NodeStates []DBAASNodeState `json:"node-states,omitempty"`
	// Service notifications
	Notifications []DBAASServiceNotification `json:"notifications,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required"`
	// Whether Schema-Registry is enabled
	SchemaRegistryEnabled *bool `json:"schema-registry-enabled,omitempty"`
	// Schema Registry configuration
	SchemaRegistrySettings JSONSchemaSchemaRegistry `json:"schema-registry-settings,omitempty"`
	State                  *EnumServiceState        `json:"state,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool                 `json:"termination-protection,omitempty"`
	Type                  *DBAASServiceTypeName `json:"type" validate:"required,gte=0,lte=64"`
	// Service last update timestamp (ISO 8601)
	UpdatedAT time.Time `json:"updated-at,omitempty"`
	// URI for connecting to the service (may be absent)
	URI string `json:"uri,omitempty"`
	// service_uri parameterized into key-value pairs
	URIParams map[string]any `json:"uri-params,omitempty"`
	// List of service users
	Users []DBAASServiceKafkaUsers `json:"users,omitempty"`
	// Kafka version
	Version string `json:"version,omitempty"`
	// The zone where the service is running
	Zone string `json:"zone,omitempty"`
}

type DBAASServiceKafkaAuthenticationMethods

type DBAASServiceKafkaAuthenticationMethods struct {
	// Whether certificate/SSL authentication is enabled
	Certificate *bool `json:"certificate,omitempty"`
	// Whether SASL authentication is enabled
	Sasl *bool `json:"sasl,omitempty"`
}

Kafka authentication methods

type DBAASServiceKafkaComponents

type DBAASServiceKafkaComponents struct {
	// Service component name
	Component string `json:"component" validate:"required"`
	// DNS name for connecting to the service component
	Host                      string               `json:"host" validate:"required"`
	KafkaAuthenticationMethod *EnumKafkaAuthMethod `json:"kafka-authentication-method,omitempty"`
	// Port number for connecting to the service component
	Port  int64               `json:"port" validate:"required,gte=0,lte=65535"`
	Route *EnumComponentRoute `json:"route" validate:"required"`
	Usage *EnumComponentUsage `json:"usage" validate:"required"`
}

type DBAASServiceKafkaConnectionInfo

type DBAASServiceKafkaConnectionInfo struct {
	AccessCert  string   `json:"access-cert,omitempty"`
	AccessKey   string   `json:"access-key,omitempty"`
	ConnectURI  string   `json:"connect-uri,omitempty"`
	Nodes       []string `json:"nodes,omitempty"`
	RegistryURI string   `json:"registry-uri,omitempty"`
	RestURI     string   `json:"rest-uri,omitempty"`
}

Kafka connection information properties

type DBAASServiceKafkaUsers

type DBAASServiceKafkaUsers struct {
	AccessCert       string    `json:"access-cert,omitempty"`
	AccessCertExpiry time.Time `json:"access-cert-expiry,omitempty"`
	AccessKey        string    `json:"access-key,omitempty"`
	Password         string    `json:"password,omitempty"`
	Type             string    `json:"type,omitempty"`
	Username         string    `json:"username,omitempty"`
}

type DBAASServiceLogs

type DBAASServiceLogs struct {
	FirstLogOffset string                 `json:"first-log-offset,omitempty"`
	Logs           []DBAASServiceLogsLogs `json:"logs,omitempty"`
	Offset         string                 `json:"offset,omitempty"`
}

type DBAASServiceLogsLogs

type DBAASServiceLogsLogs struct {
	Message string `json:"message,omitempty"`
	Node    string `json:"node,omitempty"`
	Time    string `json:"time,omitempty"`
	Unit    string `json:"unit,omitempty"`
}

type DBAASServiceMaintenance

type DBAASServiceMaintenance struct {
	// Day of week for installing updates
	Dow DBAASServiceMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
	// List of updates waiting to be installed
	Updates []DBAASServiceUpdate `json:"updates" validate:"required"`
}

Automatic maintenance settings

type DBAASServiceMaintenanceDow

type DBAASServiceMaintenanceDow string
const (
	DBAASServiceMaintenanceDowSaturday  DBAASServiceMaintenanceDow = "saturday"
	DBAASServiceMaintenanceDowTuesday   DBAASServiceMaintenanceDow = "tuesday"
	DBAASServiceMaintenanceDowNever     DBAASServiceMaintenanceDow = "never"
	DBAASServiceMaintenanceDowWednesday DBAASServiceMaintenanceDow = "wednesday"
	DBAASServiceMaintenanceDowSunday    DBAASServiceMaintenanceDow = "sunday"
	DBAASServiceMaintenanceDowFriday    DBAASServiceMaintenanceDow = "friday"
	DBAASServiceMaintenanceDowMonday    DBAASServiceMaintenanceDow = "monday"
	DBAASServiceMaintenanceDowThursday  DBAASServiceMaintenanceDow = "thursday"
)

type DBAASServiceMysql

type DBAASServiceMysql struct {
	// Backup schedule
	BackupSchedule *DBAASServiceMysqlBackupSchedule `json:"backup-schedule,omitempty"`
	// List of backups for the service
	Backups []DBAASServiceBackup `json:"backups,omitempty"`
	// Service component information objects
	Components []DBAASServiceMysqlComponents `json:"components,omitempty"`
	// MySQL connection information properties
	ConnectionInfo *DBAASServiceMysqlConnectionInfo `json:"connection-info,omitempty"`
	// Service creation timestamp (ISO 8601)
	CreatedAT time.Time `json:"created-at,omitempty"`
	// List of MySQL databases
	Databases []DBAASMysqlDatabaseName `json:"databases,omitempty"`
	// TODO UNIT disk space for data storage
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=0"`
	// Service integrations
	Integrations []DBAASIntegration `json:"integrations,omitempty"`
	// Allowed CIDR address blocks for incoming connections
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *DBAASServiceMaintenance `json:"maintenance,omitempty"`
	// mysql.conf configuration values
	MysqlSettings JSONSchemaMysql   `json:"mysql-settings,omitempty"`
	Name          *DBAASServiceName `json:"name" validate:"required,gte=0,lte=63"`
	// Number of service nodes in the active plan
	NodeCount int64 `json:"node-count,omitempty" validate:"omitempty,gte=0"`
	// Number of CPUs for each node
	NodeCPUCount int64 `json:"node-cpu-count,omitempty" validate:"omitempty,gte=0"`
	// TODO UNIT of memory for each node
	NodeMemory int64 `json:"node-memory,omitempty" validate:"omitempty,gte=0"`
	// State of individual service nodes
	NodeStates []DBAASNodeState `json:"node-states,omitempty"`
	// Service notifications
	Notifications []DBAASServiceNotification `json:"notifications,omitempty"`
	// Subscription plan
	Plan  string            `json:"plan" validate:"required"`
	State *EnumServiceState `json:"state,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool                 `json:"termination-protection,omitempty"`
	Type                  *DBAASServiceTypeName `json:"type" validate:"required,gte=0,lte=64"`
	// Service last update timestamp (ISO 8601)
	UpdatedAT time.Time `json:"updated-at,omitempty"`
	// URI for connecting to the service (may be absent)
	URI string `json:"uri,omitempty"`
	// service_uri parameterized into key-value pairs
	URIParams map[string]any `json:"uri-params,omitempty"`
	// List of service users
	Users []DBAASServiceMysqlUsers `json:"users,omitempty"`
	// MySQL version
	Version string `json:"version,omitempty"`
	// The zone where the service is running
	Zone string `json:"zone,omitempty"`
}

type DBAASServiceMysqlBackupSchedule

type DBAASServiceMysqlBackupSchedule struct {
	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupHour int64 `json:"backup-hour,omitempty" validate:"omitempty,gte=0,lte=23"`
	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupMinute int64 `json:"backup-minute,omitempty" validate:"omitempty,gte=0,lte=59"`
}

Backup schedule

type DBAASServiceMysqlComponents

type DBAASServiceMysqlComponents struct {
	// Service component name
	Component string `json:"component" validate:"required"`
	// DNS name for connecting to the service component
	Host string `json:"host" validate:"required"`
	// Port number for connecting to the service component
	Port  int64               `json:"port" validate:"required,gte=0,lte=65535"`
	Route *EnumComponentRoute `json:"route" validate:"required"`
	Usage *EnumComponentUsage `json:"usage" validate:"required"`
}

type DBAASServiceMysqlConnectionInfo

type DBAASServiceMysqlConnectionInfo struct {
	Params  []map[string]string `json:"params,omitempty"`
	Standby []string            `json:"standby,omitempty"`
	URI     []string            `json:"uri,omitempty"`
}

MySQL connection information properties

type DBAASServiceMysqlUsers

type DBAASServiceMysqlUsers struct {
	Authentication string `json:"authentication,omitempty"`
	Password       string `json:"password,omitempty"`
	Type           string `json:"type,omitempty"`
	Username       string `json:"username,omitempty"`
}

type DBAASServiceName

type DBAASServiceName string

type DBAASServiceNotification

type DBAASServiceNotification struct {
	// Notification level
	Level DBAASServiceNotificationLevel `json:"level" validate:"required"`
	// Human notification message
	Message string `json:"message" validate:"required,gte=1,lte=1024"`
	// Notification type
	Metadata map[string]any `json:"metadata" validate:"required"`
	// Notification type
	Type DBAASServiceNotificationType `json:"type" validate:"required"`
}

Service notifications

type DBAASServiceNotificationLevel

type DBAASServiceNotificationLevel string
const (
	DBAASServiceNotificationLevelWarning DBAASServiceNotificationLevel = "warning"
	DBAASServiceNotificationLevelNotice  DBAASServiceNotificationLevel = "notice"
)

type DBAASServiceNotificationType

type DBAASServiceNotificationType string
const (
	DBAASServiceNotificationTypeServicePoweredOffRemoval DBAASServiceNotificationType = "service_powered_off_removal"
	DBAASServiceNotificationTypeServiceEndOfLife         DBAASServiceNotificationType = "service_end_of_life"
)

type DBAASServiceOpensearch

type DBAASServiceOpensearch struct {
	// List of backups for the service
	Backups []DBAASServiceBackup `json:"backups,omitempty"`
	// Service component information objects
	Components []DBAASServiceOpensearchComponents `json:"components,omitempty"`
	// Opensearch connection information properties
	ConnectionInfo *DBAASServiceOpensearchConnectionInfo `json:"connection-info,omitempty"`
	// Service creation timestamp (ISO 8601)
	CreatedAT time.Time `json:"created-at,omitempty"`
	// DbaaS service description
	Description string `json:"description,omitempty"`
	// TODO UNIT disk space for data storage
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=0"`
	// Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored.
	IndexPatterns []DBAASServiceOpensearchIndexPatterns `json:"index-patterns,omitempty"`
	// Template settings for all new indexes
	IndexTemplate *DBAASServiceOpensearchIndexTemplate `json:"index-template,omitempty"`
	// Service integrations
	Integrations []DBAASIntegration `json:"integrations,omitempty"`
	// Allowed CIDR address blocks for incoming connections
	IPFilter []string `json:"ip-filter,omitempty"`
	// Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true.
	KeepIndexRefreshInterval *bool `json:"keep-index-refresh-interval,omitempty"`
	// Automatic maintenance settings
	Maintenance *DBAASServiceMaintenance `json:"maintenance,omitempty"`
	// Maximum number of indexes to keep before deleting the oldest one
	MaxIndexCount int64             `json:"max-index-count,omitempty" validate:"omitempty,gte=0"`
	Name          *DBAASServiceName `json:"name" validate:"required,gte=0,lte=63"`
	// Number of service nodes in the active plan
	NodeCount int64 `json:"node-count,omitempty" validate:"omitempty,gte=0"`
	// Number of CPUs for each node
	NodeCPUCount int64 `json:"node-cpu-count,omitempty" validate:"omitempty,gte=0"`
	// TODO UNIT of memory for each node
	NodeMemory int64 `json:"node-memory,omitempty" validate:"omitempty,gte=0"`
	// State of individual service nodes
	NodeStates []DBAASNodeState `json:"node-states,omitempty"`
	// Service notifications
	Notifications []DBAASServiceNotification `json:"notifications,omitempty"`
	// OpenSearch Dashboards settings
	OpensearchDashboards *DBAASServiceOpensearchOpensearchDashboards `json:"opensearch-dashboards,omitempty"`
	// OpenSearch settings
	OpensearchSettings JSONSchemaOpensearch `json:"opensearch-settings,omitempty"`
	// Subscription plan
	Plan  string            `json:"plan" validate:"required"`
	State *EnumServiceState `json:"state,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool                 `json:"termination-protection,omitempty"`
	Type                  *DBAASServiceTypeName `json:"type" validate:"required,gte=0,lte=64"`
	// Service last update timestamp (ISO 8601)
	UpdatedAT time.Time `json:"updated-at,omitempty"`
	// URI for connecting to the service (may be absent)
	URI string `json:"uri,omitempty"`
	// service_uri parameterized into key-value pairs
	URIParams map[string]any `json:"uri-params,omitempty"`
	// List of service users
	Users []DBAASServiceOpensearchUsers `json:"users,omitempty"`
	// OpenSearch version
	Version string `json:"version,omitempty"`
	// The zone where the service is running
	Zone string `json:"zone,omitempty"`
}

type DBAASServiceOpensearchComponents

type DBAASServiceOpensearchComponents struct {
	// Service component name
	Component string `json:"component" validate:"required"`
	// DNS name for connecting to the service component
	Host string `json:"host" validate:"required"`
	// Port number for connecting to the service component
	Port  int64               `json:"port" validate:"required,gte=0,lte=65535"`
	Route *EnumComponentRoute `json:"route" validate:"required"`
	Usage *EnumComponentUsage `json:"usage" validate:"required"`
}

type DBAASServiceOpensearchConnectionInfo

type DBAASServiceOpensearchConnectionInfo struct {
	DashboardURI string   `json:"dashboard-uri,omitempty"`
	Password     string   `json:"password,omitempty"`
	URI          []string `json:"uri,omitempty"`
	Username     string   `json:"username,omitempty"`
}

Opensearch connection information properties

type DBAASServiceOpensearchIndexPatterns

type DBAASServiceOpensearchIndexPatterns struct {
	// Maximum number of indexes to keep
	MaxIndexCount int64 `json:"max-index-count,omitempty" validate:"omitempty,gte=0"`
	// fnmatch pattern
	Pattern string `json:"pattern,omitempty" validate:"omitempty,lte=1024"`
	// Deletion sorting algorithm
	SortingAlgorithm DBAASServiceOpensearchIndexPatternsSortingAlgorithm `json:"sorting-algorithm,omitempty"`
}

type DBAASServiceOpensearchIndexPatternsSortingAlgorithm

type DBAASServiceOpensearchIndexPatternsSortingAlgorithm string
const (
	DBAASServiceOpensearchIndexPatternsSortingAlgorithmAlphabetical DBAASServiceOpensearchIndexPatternsSortingAlgorithm = "alphabetical"
	DBAASServiceOpensearchIndexPatternsSortingAlgorithmCreationDate DBAASServiceOpensearchIndexPatternsSortingAlgorithm = "creation_date"
)

type DBAASServiceOpensearchIndexTemplate

type DBAASServiceOpensearchIndexTemplate struct {
	// The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000.
	MappingNestedObjectsLimit int64 `json:"mapping-nested-objects-limit,omitempty" validate:"omitempty,gte=0,lte=100000"`
	// The number of replicas each primary shard has.
	NumberOfReplicas int64 `json:"number-of-replicas,omitempty" validate:"omitempty,gte=0,lte=29"`
	// The number of primary shards that an index should have.
	NumberOfShards int64 `json:"number-of-shards,omitempty" validate:"omitempty,gte=1,lte=1024"`
}

Template settings for all new indexes

type DBAASServiceOpensearchOpensearchDashboards

type DBAASServiceOpensearchOpensearchDashboards struct {
	// Enable or disable OpenSearch Dashboards (default: true)
	Enabled *bool `json:"enabled,omitempty"`
	// Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch. (default: 128)
	MaxOldSpaceSize int64 `json:"max-old-space-size,omitempty" validate:"omitempty,gte=64,lte=1024"`
	// Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch (default: 30000)
	OpensearchRequestTimeout int64 `json:"opensearch-request-timeout,omitempty" validate:"omitempty,gte=5000,lte=120000"`
}

OpenSearch Dashboards settings

type DBAASServiceOpensearchUsers

type DBAASServiceOpensearchUsers struct {
	Password string `json:"password,omitempty"`
	Type     string `json:"type,omitempty"`
	Username string `json:"username,omitempty"`
}

type DBAASServicePG

type DBAASServicePG struct {
	// Backup schedule
	BackupSchedule *DBAASServicePGBackupSchedule `json:"backup-schedule,omitempty"`
	// List of backups for the service
	Backups []DBAASServiceBackup `json:"backups,omitempty"`
	// Service component information objects
	Components []DBAASServicePGComponents `json:"components,omitempty"`
	// PG connection information properties
	ConnectionInfo *DBAASServicePGConnectionInfo `json:"connection-info,omitempty"`
	// PostgreSQL PGBouncer connection pools
	ConnectionPools []DBAASServicePGConnectionPools `json:"connection-pools,omitempty"`
	// Service creation timestamp (ISO 8601)
	CreatedAT time.Time `json:"created-at,omitempty"`
	// List of PostgreSQL databases
	Databases []DBAASDatabaseName `json:"databases,omitempty"`
	// TODO UNIT disk space for data storage
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=0"`
	// Service integrations
	Integrations []DBAASIntegration `json:"integrations,omitempty"`
	// Allowed CIDR address blocks for incoming connections
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *DBAASServiceMaintenance `json:"maintenance,omitempty"`
	// Maximum number of connections allowed to an instance
	MaxConnections int64             `json:"max-connections,omitempty" validate:"omitempty,gt=0"`
	Name           *DBAASServiceName `json:"name" validate:"required,gte=0,lte=63"`
	// Number of service nodes in the active plan
	NodeCount int64 `json:"node-count,omitempty" validate:"omitempty,gte=0"`
	// Number of CPUs for each node
	NodeCPUCount int64 `json:"node-cpu-count,omitempty" validate:"omitempty,gte=0"`
	// TODO UNIT of memory for each node
	NodeMemory int64 `json:"node-memory,omitempty" validate:"omitempty,gte=0"`
	// State of individual service nodes
	NodeStates []DBAASNodeState `json:"node-states,omitempty"`
	// Service notifications
	Notifications []DBAASServiceNotification `json:"notifications,omitempty"`
	// postgresql.conf configuration values
	PGSettings JSONSchemaPG `json:"pg-settings,omitempty"`
	// PGBouncer connection pooling settings
	PgbouncerSettings JSONSchemaPgbouncer `json:"pgbouncer-settings,omitempty"`
	// PGLookout settings
	PglookoutSettings JSONSchemaPglookout `json:"pglookout-settings,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required"`
	// Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
	SharedBuffersPercentage int64                         `json:"shared-buffers-percentage,omitempty" validate:"omitempty,gte=20,lte=60"`
	State                   *EnumServiceState             `json:"state,omitempty"`
	SynchronousReplication  *EnumPGSynchronousReplication `json:"synchronous-replication,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
	// TimescaleDB extension configuration values
	TimescaledbSettings JSONSchemaTimescaledb `json:"timescaledb-settings,omitempty"`
	Type                *DBAASServiceTypeName `json:"type" validate:"required,gte=0,lte=64"`
	// Service last update timestamp (ISO 8601)
	UpdatedAT time.Time `json:"updated-at,omitempty"`
	// URI for connecting to the service (may be absent)
	URI string `json:"uri,omitempty"`
	// service_uri parameterized into key-value pairs
	URIParams map[string]any `json:"uri-params,omitempty"`
	// List of service users
	Users []DBAASServicePGUsers `json:"users,omitempty"`
	// PostgreSQL version
	Version string `json:"version,omitempty"`
	// Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
	WorkMem int64 `json:"work-mem,omitempty" validate:"omitempty,gte=1,lte=1024"`
	// The zone where the service is running
	Zone string `json:"zone,omitempty"`
}

type DBAASServicePGBackupSchedule

type DBAASServicePGBackupSchedule struct {
	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupHour int64 `json:"backup-hour,omitempty" validate:"omitempty,gte=0,lte=23"`
	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupMinute int64 `json:"backup-minute,omitempty" validate:"omitempty,gte=0,lte=59"`
}

Backup schedule

type DBAASServicePGComponents

type DBAASServicePGComponents struct {
	// Service component name
	Component string `json:"component" validate:"required"`
	// DNS name for connecting to the service component
	Host string `json:"host" validate:"required"`
	// Port number for connecting to the service component
	Port  int64               `json:"port" validate:"required,gte=0,lte=65535"`
	Route *EnumComponentRoute `json:"route" validate:"required"`
	Usage *EnumComponentUsage `json:"usage" validate:"required"`
}

type DBAASServicePGConnectionInfo

type DBAASServicePGConnectionInfo struct {
	Params  []map[string]string `json:"params,omitempty"`
	Standby []string            `json:"standby,omitempty"`
	Syncing []string            `json:"syncing,omitempty"`
	URI     []string            `json:"uri,omitempty"`
}

PG connection information properties

type DBAASServicePGConnectionPools

type DBAASServicePGConnectionPools struct {
	// Connection URI for the DB pool
	ConnectionURI string               `json:"connection-uri" validate:"required"`
	Database      *DBAASDatabaseName   `json:"database" validate:"required,gte=1,lte=40"`
	Mode          *EnumPGPoolMode      `json:"mode" validate:"required"`
	Name          *DBAASPGPoolName     `json:"name" validate:"required,gte=1,lte=63"`
	Size          *DBAASPGPoolSize     `json:"size" validate:"required,gte=1,lte=10000"`
	Username      *DBAASPGPoolUsername `json:"username" validate:"required,gte=1,lte=64"`
}

type DBAASServicePGUsers

type DBAASServicePGUsers struct {
	AllowReplication *bool `json:"allow-replication,omitempty"`
	// Account password. A missing field indicates a user overridden password.
	Password string `json:"password,omitempty"`
	// Account type
	Type string `json:"type" validate:"required"`
	// Account username
	Username string `json:"username" validate:"required"`
}

List of service users

type DBAASServiceRedis

type DBAASServiceRedis struct {
	// List of backups for the service
	Backups []DBAASServiceBackup `json:"backups,omitempty"`
	// Service component information objects
	Components []DBAASServiceRedisComponents `json:"components,omitempty"`
	// Redis connection information properties
	ConnectionInfo *DBAASServiceRedisConnectionInfo `json:"connection-info,omitempty"`
	// Service creation timestamp (ISO 8601)
	CreatedAT time.Time `json:"created-at,omitempty"`
	// TODO UNIT disk space for data storage
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=0"`
	// Service integrations
	Integrations []DBAASIntegration `json:"integrations,omitempty"`
	// Allowed CIDR address blocks for incoming connections
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *DBAASServiceMaintenance `json:"maintenance,omitempty"`
	Name        *DBAASServiceName        `json:"name" validate:"required,gte=0,lte=63"`
	// Number of service nodes in the active plan
	NodeCount int64 `json:"node-count,omitempty" validate:"omitempty,gte=0"`
	// Number of CPUs for each node
	NodeCPUCount int64 `json:"node-cpu-count,omitempty" validate:"omitempty,gte=0"`
	// TODO UNIT of memory for each node
	NodeMemory int64 `json:"node-memory,omitempty" validate:"omitempty,gte=0"`
	// State of individual service nodes
	NodeStates []DBAASNodeState `json:"node-states,omitempty"`
	// Service notifications
	Notifications []DBAASServiceNotification `json:"notifications,omitempty"`
	// Subscription plan
	Plan string `json:"plan" validate:"required"`
	// Redis settings
	RedisSettings *JSONSchemaRedis  `json:"redis-settings,omitempty"`
	State         *EnumServiceState `json:"state,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool                 `json:"termination-protection,omitempty"`
	Type                  *DBAASServiceTypeName `json:"type" validate:"required,gte=0,lte=64"`
	// Service last update timestamp (ISO 8601)
	UpdatedAT time.Time `json:"updated-at,omitempty"`
	// URI for connecting to the service (may be absent)
	URI string `json:"uri,omitempty"`
	// service_uri parameterized into key-value pairs
	URIParams map[string]any `json:"uri-params,omitempty"`
	// List of service users
	Users []DBAASServiceRedisUsers `json:"users,omitempty"`
	// Redis version
	Version string `json:"version,omitempty"`
	// The zone where the service is running
	Zone string `json:"zone,omitempty"`
}

type DBAASServiceRedisComponents

type DBAASServiceRedisComponents struct {
	// Service component name
	Component string `json:"component" validate:"required"`
	// DNS name for connecting to the service component
	Host string `json:"host" validate:"required"`
	// Port number for connecting to the service component
	Port  int64               `json:"port" validate:"required,gte=0,lte=65535"`
	Route *EnumComponentRoute `json:"route" validate:"required"`
	// Whether the endpoint is encrypted or accepts plaintext.
	// By default endpoints are always encrypted and
	// this property is only included for service components that may disable encryption.
	SSL   *bool               `json:"ssl,omitempty"`
	Usage *EnumComponentUsage `json:"usage" validate:"required"`
}

type DBAASServiceRedisConnectionInfo

type DBAASServiceRedisConnectionInfo struct {
	Password string   `json:"password,omitempty"`
	Slave    []string `json:"slave,omitempty"`
	URI      []string `json:"uri,omitempty"`
}

Redis connection information properties

type DBAASServiceRedisUsers

type DBAASServiceRedisUsers struct {
	AccessControl *DBAASServiceRedisUsersAccessControl `json:"access-control,omitempty"`
	Password      string                               `json:"password,omitempty"`
	Type          string                               `json:"type,omitempty"`
	Username      string                               `json:"username,omitempty"`
}

type DBAASServiceRedisUsersAccessControl

type DBAASServiceRedisUsersAccessControl struct {
	Categories []string `json:"categories,omitempty"`
	Channels   []string `json:"channels,omitempty"`
	Commands   []string `json:"commands,omitempty"`
	Keys       []string `json:"keys,omitempty"`
}

type DBAASServiceType

type DBAASServiceType struct {
	// DbaaS service available versions
	AvailableVersions []string `json:"available-versions,omitempty"`
	// DbaaS service default version
	DefaultVersion string `json:"default-version,omitempty"`
	// DbaaS service description
	Description string                `json:"description,omitempty"`
	Name        *DBAASServiceTypeName `json:"name,omitempty" validate:"omitempty,gte=0,lte=64"`
	// DbaaS service plans
	Plans []DBAASPlan `json:"plans,omitempty"`
}

DBaaS service

type DBAASServiceTypeName

type DBAASServiceTypeName string

type DBAASServiceUpdate

type DBAASServiceUpdate struct {
	// Deadline for installing the update
	Deadline time.Time `json:"deadline,omitempty"`
	// Description of the update
	Description string `json:"description,omitempty"`
	// The earliest time the update will be automatically applied
	StartAfter time.Time `json:"start-after,omitempty"`
	// The time when the update will be automatically applied
	StartAT time.Time `json:"start-at,omitempty"`
}

Update waiting to be installed

type DBAASTask

type DBAASTask struct {
	CreateTime  time.Time              `json:"create-time,omitempty"`
	ID          UUID                   `json:"id,omitempty"`
	Result      string                 `json:"result,omitempty"`
	ResultCodes []DBAASTaskResultCodes `json:"result-codes,omitempty"`
	Success     *bool                  `json:"success,omitempty"`
	TaskType    string                 `json:"task-type,omitempty"`
}

type DBAASTaskResultCodes

type DBAASTaskResultCodes struct {
	Code   string `json:"code,omitempty"`
	Dbname string `json:"dbname,omitempty"`
}

type DBAASUserPassword

type DBAASUserPassword string

type DBAASUserUsername

type DBAASUserUsername string

type DNSDomain

type DNSDomain struct {
	// DNS domain creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// DNS domain ID
	ID UUID `json:"id,omitempty"`
	// DNS domain unicode name
	UnicodeName string `json:"unicode-name,omitempty" validate:"omitempty,gte=1,lte=255"`
}

DNS domain

type DNSDomainRecord

type DNSDomainRecord struct {
	// DNS domain record content
	Content string `json:"content,omitempty"`
	// DNS domain record creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// DNS domain record ID
	ID UUID `json:"id,omitempty"`
	// DNS domain record name
	Name string `json:"name,omitempty"`
	// DNS domain record priority
	Priority int64 `json:"priority,omitempty" validate:"omitempty,gte=0"`
	// DNS domain record TTL
	Ttl int64 `json:"ttl,omitempty" validate:"omitempty,gte=0"`
	// DNS domain record type
	Type DNSDomainRecordType `json:"type,omitempty"`
	// DNS domain record update date
	UpdatedAT time.Time `json:"updated-at,omitempty"`
}

DNS domain record

type DNSDomainRecordType

type DNSDomainRecordType string
const (
	DNSDomainRecordTypeNS    DNSDomainRecordType = "NS"
	DNSDomainRecordTypeCAA   DNSDomainRecordType = "CAA"
	DNSDomainRecordTypeNAPTR DNSDomainRecordType = "NAPTR"
	DNSDomainRecordTypePOOL  DNSDomainRecordType = "POOL"
	DNSDomainRecordTypeA     DNSDomainRecordType = "A"
	DNSDomainRecordTypeHINFO DNSDomainRecordType = "HINFO"
	DNSDomainRecordTypeCNAME DNSDomainRecordType = "CNAME"
	DNSDomainRecordTypeSOA   DNSDomainRecordType = "SOA"
	DNSDomainRecordTypeSSHFP DNSDomainRecordType = "SSHFP"
	DNSDomainRecordTypeSRV   DNSDomainRecordType = "SRV"
	DNSDomainRecordTypeAAAA  DNSDomainRecordType = "AAAA"
	DNSDomainRecordTypeMX    DNSDomainRecordType = "MX"
	DNSDomainRecordTypeTXT   DNSDomainRecordType = "TXT"
	DNSDomainRecordTypeALIAS DNSDomainRecordType = "ALIAS"
	DNSDomainRecordTypeURL   DNSDomainRecordType = "URL"
	DNSDomainRecordTypeSPF   DNSDomainRecordType = "SPF"
)

type DeployTarget

type DeployTarget struct {
	// Deploy Target description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Deploy Target ID
	ID UUID `json:"id" validate:"required"`
	// Deploy Target name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Deploy Target type
	Type DeployTargetType `json:"type,omitempty"`
}

Deploy target

type DeployTargetType

type DeployTargetType string
const (
	DeployTargetTypeEdge      DeployTargetType = "edge"
	DeployTargetTypeDedicated DeployTargetType = "dedicated"
)

type DetachInstanceFromElasticIPRequest

type DetachInstanceFromElasticIPRequest struct {
	// Target Instance
	Instance *InstanceTarget `json:"instance" validate:"required"`
}

type DetachInstanceFromPrivateNetworkRequest

type DetachInstanceFromPrivateNetworkRequest struct {
	// Instance
	Instance *Instance `json:"instance" validate:"required"`
}

type DetachInstanceFromSecurityGroupRequest

type DetachInstanceFromSecurityGroupRequest struct {
	// Instance
	Instance *Instance `json:"instance" validate:"required"`
}

type DomainName

type DomainName string

type ElasticIP

type ElasticIP struct {
	// Elastic IP address family
	Addressfamily ElasticIPAddressfamily `json:"addressfamily,omitempty"`
	// Elastic IP cidr
	Cidr string `json:"cidr,omitempty"`
	// Elastic IP description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Elastic IP address healthcheck
	Healthcheck *ElasticIPHealthcheck `json:"healthcheck,omitempty"`
	// Elastic IP ID
	ID UUID `json:"id,omitempty"`
	// Elastic IP address
	IP     string `json:"ip,omitempty"`
	Labels Labels `json:"labels,omitempty"`
}

Elastic IP

type ElasticIPAddressfamily

type ElasticIPAddressfamily string
const (
	ElasticIPAddressfamilyInet4 ElasticIPAddressfamily = "inet4"
	ElasticIPAddressfamilyInet6 ElasticIPAddressfamily = "inet6"
)

type ElasticIPHealthcheck

type ElasticIPHealthcheck struct {
	// Interval between the checks in seconds (default: 10)
	Interval int64 `json:"interval,omitempty" validate:"omitempty,gte=5,lte=300"`
	// Health check mode
	Mode ElasticIPHealthcheckMode `json:"mode" validate:"required"`
	// Health check port
	Port int64 `json:"port" validate:"required,gte=1,lte=65535"`
	// Number of attempts before considering the target unhealthy (default: 3)
	StrikesFail int64 `json:"strikes-fail,omitempty" validate:"omitempty,gte=1,lte=20"`
	// Number of attempts before considering the target healthy (default: 2)
	StrikesOk int64 `json:"strikes-ok,omitempty" validate:"omitempty,gte=1,lte=20"`
	// Health check timeout value in seconds (default: 2)
	Timeout int64 `json:"timeout,omitempty" validate:"omitempty,gte=2,lte=60"`
	// Skip TLS verification
	TlsSkipVerify *bool `json:"tls-skip-verify,omitempty"`
	// An optional domain or subdomain to check TLS against
	TlsSNI string `json:"tls-sni,omitempty" validate:"omitempty,gte=1,lte=255"`
	// An endpoint to use for the health check, for example '/status'
	URI string `json:"uri,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Elastic IP address healthcheck

type ElasticIPHealthcheckMode

type ElasticIPHealthcheckMode string
const (
	ElasticIPHealthcheckModeTCP   ElasticIPHealthcheckMode = "tcp"
	ElasticIPHealthcheckModeHTTP  ElasticIPHealthcheckMode = "http"
	ElasticIPHealthcheckModeHttps ElasticIPHealthcheckMode = "https"
)

type EnumComponentRoute

type EnumComponentRoute string
const (
	EnumComponentRouteDynamic     EnumComponentRoute = "dynamic"
	EnumComponentRoutePrivate     EnumComponentRoute = "private"
	EnumComponentRoutePublic      EnumComponentRoute = "public"
	EnumComponentRoutePrivatelink EnumComponentRoute = "privatelink"
)

type EnumComponentUsage

type EnumComponentUsage string
const (
	EnumComponentUsagePrimary EnumComponentUsage = "primary"
	EnumComponentUsageReplica EnumComponentUsage = "replica"
)

type EnumIntegrationTypes

type EnumIntegrationTypes string
const (
	EnumIntegrationTypesDatasource EnumIntegrationTypes = "datasource"
	EnumIntegrationTypesLogs       EnumIntegrationTypes = "logs"
	EnumIntegrationTypesMetrics    EnumIntegrationTypes = "metrics"
)

type EnumKafkaAuthMethod

type EnumKafkaAuthMethod string
const (
	EnumKafkaAuthMethodCertificate EnumKafkaAuthMethod = "certificate"
	EnumKafkaAuthMethodSasl        EnumKafkaAuthMethod = "sasl"
)

type EnumMasterLinkStatus

type EnumMasterLinkStatus string
const (
	EnumMasterLinkStatusUP   EnumMasterLinkStatus = "up"
	EnumMasterLinkStatusDown EnumMasterLinkStatus = "down"
)

type EnumMigrationMethod

type EnumMigrationMethod string
const (
	EnumMigrationMethodDump        EnumMigrationMethod = "dump"
	EnumMigrationMethodReplication EnumMigrationMethod = "replication"
)

type EnumMigrationStatus

type EnumMigrationStatus string
const (
	EnumMigrationStatusRunning EnumMigrationStatus = "running"
	EnumMigrationStatusSyncing EnumMigrationStatus = "syncing"
	EnumMigrationStatusFailed  EnumMigrationStatus = "failed"
	EnumMigrationStatusDone    EnumMigrationStatus = "done"
)

type EnumMysqlAuthenticationPlugin

type EnumMysqlAuthenticationPlugin string
const (
	EnumMysqlAuthenticationPluginCachingSha2Password EnumMysqlAuthenticationPlugin = "caching_sha2_password"
	EnumMysqlAuthenticationPluginMysqlNativePassword EnumMysqlAuthenticationPlugin = "mysql_native_password"
)

type EnumOpensearchRulePermission

type EnumOpensearchRulePermission string
const (
	EnumOpensearchRulePermissionAdmin     EnumOpensearchRulePermission = "admin"
	EnumOpensearchRulePermissionRead      EnumOpensearchRulePermission = "read"
	EnumOpensearchRulePermissionDeny      EnumOpensearchRulePermission = "deny"
	EnumOpensearchRulePermissionReadwrite EnumOpensearchRulePermission = "readwrite"
	EnumOpensearchRulePermissionWrite     EnumOpensearchRulePermission = "write"
)

type EnumPGPoolMode

type EnumPGPoolMode string
const (
	EnumPGPoolModeTransaction EnumPGPoolMode = "transaction"
	EnumPGPoolModeStatement   EnumPGPoolMode = "statement"
	EnumPGPoolModeSession     EnumPGPoolMode = "session"
)

type EnumPGSynchronousReplication

type EnumPGSynchronousReplication string
const (
	EnumPGSynchronousReplicationQuorum EnumPGSynchronousReplication = "quorum"
	EnumPGSynchronousReplicationOff    EnumPGSynchronousReplication = "off"
)

type EnumPGVariant

type EnumPGVariant string
const (
	EnumPGVariantTimescale EnumPGVariant = "timescale"
	EnumPGVariantAiven     EnumPGVariant = "aiven"
)

type EnumServiceState

type EnumServiceState string
const (
	EnumServiceStateRunning     EnumServiceState = "running"
	EnumServiceStateRebuilding  EnumServiceState = "rebuilding"
	EnumServiceStateRebalancing EnumServiceState = "rebalancing"
	EnumServiceStatePoweroff    EnumServiceState = "poweroff"
)

type EnumSortOrder

type EnumSortOrder string
const (
	EnumSortOrderDesc EnumSortOrder = "desc"
	EnumSortOrderAsc  EnumSortOrder = "asc"
)

type Event

type Event struct {
	// Body parameters (free form map)
	BodyParams map[string]any `json:"body-params,omitempty"`
	// Operation processing time
	ElapsedMS int64 `json:"elapsed-ms,omitempty" validate:"omitempty,gt=0"`
	// Query string parameters (free form map)
	GetParams map[string]any `json:"get-params,omitempty"`
	// Operation handler name
	Handler string `json:"handler,omitempty"`
	// Operation message
	Message string `json:"message,omitempty"`
	// URI path parameters (free form map)
	PathParams map[string]any `json:"path-params,omitempty"`
	// Client IP address
	RemoteAddr string `json:"remote-addr,omitempty"`
	// Operation unique identifier
	RequestID string `json:"request-id,omitempty"`
	// Operation HTTP status
	Status int64 `json:"status,omitempty" validate:"omitempty,gt=0"`
	// Time at which the event happened, millisecond resolution
	Timestamp time.Time `json:"timestamp,omitempty"`
	// Operation request URI
	URI string `json:"uri,omitempty"`
	// Operation targeted zone
	Zone string `json:"zone,omitempty"`
}

A notable Mutation Event which happened on the infrastructure

type EvictInstancePoolMembersRequest

type EvictInstancePoolMembersRequest struct {
	Instances []UUID `json:"instances,omitempty"`
}

type EvictSKSNodepoolMembersRequest

type EvictSKSNodepoolMembersRequest struct {
	Instances []UUID `json:"instances,omitempty"`
}

type GenerateSKSClusterKubeconfigResponse

type GenerateSKSClusterKubeconfigResponse struct {
	Kubeconfig string `json:"kubeconfig,omitempty"`
}

type GetDBAASCACertificateResponse

type GetDBAASCACertificateResponse struct {
	Certificate string `json:"certificate,omitempty"`
}

type GetDBAASServiceLogsRequest

type GetDBAASServiceLogsRequest struct {
	// How many log entries to receive at most, up to 500 (default: 100)
	Limit int64 `json:"limit,omitempty" validate:"omitempty,gte=1,lte=500"`
	// Opaque offset identifier
	Offset    string         `json:"offset,omitempty"`
	SortOrder *EnumSortOrder `json:"sort-order,omitempty"`
}

type GetDBAASServiceMetricsRequest

type GetDBAASServiceMetricsRequest struct {
	// Metrics time period (default: hour)
	Period GetDBAASServiceMetricsRequestPeriod `json:"period,omitempty"`
}

type GetDBAASServiceMetricsRequestPeriod

type GetDBAASServiceMetricsRequestPeriod string
const (
	GetDBAASServiceMetricsRequestPeriodHour  GetDBAASServiceMetricsRequestPeriod = "hour"
	GetDBAASServiceMetricsRequestPeriodWeek  GetDBAASServiceMetricsRequestPeriod = "week"
	GetDBAASServiceMetricsRequestPeriodYear  GetDBAASServiceMetricsRequestPeriod = "year"
	GetDBAASServiceMetricsRequestPeriodMonth GetDBAASServiceMetricsRequestPeriod = "month"
	GetDBAASServiceMetricsRequestPeriodDay   GetDBAASServiceMetricsRequestPeriod = "day"
)

type GetDBAASServiceMetricsResponse

type GetDBAASServiceMetricsResponse struct {
	Metrics map[string]any `json:"metrics,omitempty"`
}

type GetDBAASSettingsGrafanaResponse

type GetDBAASSettingsGrafanaResponse struct {
	Settings *GetDBAASSettingsGrafanaResponseSettings `json:"settings,omitempty"`
}

type GetDBAASSettingsGrafanaResponseSettings

type GetDBAASSettingsGrafanaResponseSettings struct {
	// Grafana configuration values
	Grafana *GetDBAASSettingsGrafanaResponseSettingsGrafana `json:"grafana,omitempty"`
}

type GetDBAASSettingsGrafanaResponseSettingsGrafana

type GetDBAASSettingsGrafanaResponseSettingsGrafana struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

Grafana configuration values

type GetDBAASSettingsKafkaResponse

type GetDBAASSettingsKafkaResponse struct {
	Settings *GetDBAASSettingsKafkaResponseSettings `json:"settings,omitempty"`
}

type GetDBAASSettingsKafkaResponseSettings

type GetDBAASSettingsKafkaResponseSettings struct {
	// Kafka broker configuration values
	Kafka *GetDBAASSettingsKafkaResponseSettingsKafka `json:"kafka,omitempty"`
	// Kafka Connect configuration values
	KafkaConnect *GetDBAASSettingsKafkaResponseSettingsKafkaConnect `json:"kafka-connect,omitempty"`
	// Kafka REST configuration
	KafkaRest *GetDBAASSettingsKafkaResponseSettingsKafkaRest `json:"kafka-rest,omitempty"`
	// Schema Registry configuration
	SchemaRegistry *GetDBAASSettingsKafkaResponseSettingsSchemaRegistry `json:"schema-registry,omitempty"`
}

type GetDBAASSettingsKafkaResponseSettingsKafka

type GetDBAASSettingsKafkaResponseSettingsKafka struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

Kafka broker configuration values

type GetDBAASSettingsKafkaResponseSettingsKafkaConnect

type GetDBAASSettingsKafkaResponseSettingsKafkaConnect struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

Kafka Connect configuration values

type GetDBAASSettingsKafkaResponseSettingsKafkaRest

type GetDBAASSettingsKafkaResponseSettingsKafkaRest struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

Kafka REST configuration

type GetDBAASSettingsKafkaResponseSettingsSchemaRegistry

type GetDBAASSettingsKafkaResponseSettingsSchemaRegistry struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

Schema Registry configuration

type GetDBAASSettingsMysqlResponse

type GetDBAASSettingsMysqlResponse struct {
	Settings *GetDBAASSettingsMysqlResponseSettings `json:"settings,omitempty"`
}

type GetDBAASSettingsMysqlResponseSettings

type GetDBAASSettingsMysqlResponseSettings struct {
	// mysql.conf configuration values
	Mysql *GetDBAASSettingsMysqlResponseSettingsMysql `json:"mysql,omitempty"`
}

type GetDBAASSettingsMysqlResponseSettingsMysql

type GetDBAASSettingsMysqlResponseSettingsMysql struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

mysql.conf configuration values

type GetDBAASSettingsOpensearchResponse

type GetDBAASSettingsOpensearchResponse struct {
	Settings *GetDBAASSettingsOpensearchResponseSettings `json:"settings,omitempty"`
}

type GetDBAASSettingsOpensearchResponseSettings

type GetDBAASSettingsOpensearchResponseSettings struct {
	// OpenSearch configuration values
	Opensearch *GetDBAASSettingsOpensearchResponseSettingsOpensearch `json:"opensearch,omitempty"`
}

type GetDBAASSettingsOpensearchResponseSettingsOpensearch

type GetDBAASSettingsOpensearchResponseSettingsOpensearch struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

OpenSearch configuration values

type GetDBAASSettingsPGResponse

type GetDBAASSettingsPGResponse struct {
	Settings *GetDBAASSettingsPGResponseSettings `json:"settings,omitempty"`
}

type GetDBAASSettingsPGResponseSettings

type GetDBAASSettingsPGResponseSettings struct {
	// postgresql.conf configuration values
	PG *GetDBAASSettingsPGResponseSettingsPG `json:"pg,omitempty"`
	// PGBouncer connection pooling settings
	Pgbouncer *GetDBAASSettingsPGResponseSettingsPgbouncer `json:"pgbouncer,omitempty"`
	// PGLookout settings
	Pglookout *GetDBAASSettingsPGResponseSettingsPglookout `json:"pglookout,omitempty"`
	// TimescaleDB extension configuration values
	Timescaledb *GetDBAASSettingsPGResponseSettingsTimescaledb `json:"timescaledb,omitempty"`
}

type GetDBAASSettingsPGResponseSettingsPG

type GetDBAASSettingsPGResponseSettingsPG struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

postgresql.conf configuration values

type GetDBAASSettingsPGResponseSettingsPgbouncer

type GetDBAASSettingsPGResponseSettingsPgbouncer struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

PGBouncer connection pooling settings

type GetDBAASSettingsPGResponseSettingsPglookout

type GetDBAASSettingsPGResponseSettingsPglookout struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

PGLookout settings

type GetDBAASSettingsPGResponseSettingsTimescaledb

type GetDBAASSettingsPGResponseSettingsTimescaledb struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

TimescaleDB extension configuration values

type GetDBAASSettingsRedisResponse

type GetDBAASSettingsRedisResponse struct {
	Settings *GetDBAASSettingsRedisResponseSettings `json:"settings,omitempty"`
}

type GetDBAASSettingsRedisResponseSettings

type GetDBAASSettingsRedisResponseSettings struct {
	// Redis configuration values
	Redis *GetDBAASSettingsRedisResponseSettingsRedis `json:"redis,omitempty"`
}

type GetDBAASSettingsRedisResponseSettingsRedis

type GetDBAASSettingsRedisResponseSettingsRedis struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

Redis configuration values

type GetDNSDomainZoneFileResponse

type GetDNSDomainZoneFileResponse struct {
	ZoneFile string `json:"zone-file,omitempty"`
}

type GetSKSClusterAuthorityCertAuthority

type GetSKSClusterAuthorityCertAuthority string
const (
	GetSKSClusterAuthorityCertAuthorityControlPlane GetSKSClusterAuthorityCertAuthority = "control-plane"
	GetSKSClusterAuthorityCertAuthorityAggregation  GetSKSClusterAuthorityCertAuthority = "aggregation"
	GetSKSClusterAuthorityCertAuthorityKubelet      GetSKSClusterAuthorityCertAuthority = "kubelet"
)

type GetSKSClusterAuthorityCertResponse

type GetSKSClusterAuthorityCertResponse struct {
	Cacert string `json:"cacert,omitempty"`
}

type GetSKSClusterInspectionResponse

type GetSKSClusterInspectionResponse map[string]any

type GetSOSPresignedURLOpt

type GetSOSPresignedURLOpt func(url.Values)

func GetSOSPresignedURLWithKey

func GetSOSPresignedURLWithKey(key string) GetSOSPresignedURLOpt

type GetSOSPresignedURLResponse

type GetSOSPresignedURLResponse struct {
	URL string `json:"url,omitempty"`
}

type IAMAPIKey

type IAMAPIKey struct {
	// IAM API Key
	Key string `json:"key,omitempty"`
	// IAM API Key name
	Name string `json:"name,omitempty"`
	// IAM API Key Role ID
	RoleID UUID `json:"role-id,omitempty"`
}

IAM API Key

type IAMAPIKeyCreated

type IAMAPIKeyCreated struct {
	// IAM API Key
	Key string `json:"key,omitempty"`
	// IAM API Key name
	Name string `json:"name,omitempty"`
	// IAM API Key Role ID
	RoleID UUID `json:"role-id,omitempty"`
	// IAM API Key Secret
	Secret string `json:"secret,omitempty"`
}

IAM API Key

type IAMPolicy

type IAMPolicy struct {
	// IAM default service strategy
	DefaultServiceStrategy IAMPolicyDefaultServiceStrategy `json:"default-service-strategy" validate:"required"`
	// IAM services
	Services map[string]IAMServicePolicy `json:"services" validate:"required"`
}

Policy

type IAMPolicyDefaultServiceStrategy

type IAMPolicyDefaultServiceStrategy string
const (
	IAMPolicyDefaultServiceStrategyAllow IAMPolicyDefaultServiceStrategy = "allow"
	IAMPolicyDefaultServiceStrategyDeny  IAMPolicyDefaultServiceStrategy = "deny"
)

type IAMRole

type IAMRole struct {
	// IAM Role description
	Description string `json:"description,omitempty" validate:"omitempty,gte=1,lte=255"`
	// IAM Role mutability
	Editable *bool `json:"editable,omitempty"`
	// IAM Role ID
	ID     UUID   `json:"id,omitempty"`
	Labels Labels `json:"labels,omitempty"`
	// IAM Role name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// IAM Role permissions
	Permissions []string `json:"permissions,omitempty"`
	// Policy
	Policy *IAMPolicy `json:"policy,omitempty"`
}

IAM Role

type IAMServicePolicy

type IAMServicePolicy struct {
	Rules []IAMServicePolicyRule `json:"rules,omitempty"`
	Type  IAMServicePolicyType   `json:"type,omitempty"`
}

type IAMServicePolicyRule

type IAMServicePolicyRule struct {
	Action     IAMServicePolicyRuleAction `json:"action,omitempty"`
	Expression string                     `json:"expression,omitempty"`
	Resources  []string                   `json:"resources,omitempty"`
}

type IAMServicePolicyRuleAction

type IAMServicePolicyRuleAction string
const (
	IAMServicePolicyRuleActionAllow IAMServicePolicyRuleAction = "allow"
	IAMServicePolicyRuleActionDeny  IAMServicePolicyRuleAction = "deny"
)

type IAMServicePolicyType

type IAMServicePolicyType string
const (
	IAMServicePolicyTypeRules IAMServicePolicyType = "rules"
	IAMServicePolicyTypeAllow IAMServicePolicyType = "allow"
	IAMServicePolicyTypeDeny  IAMServicePolicyType = "deny"
)

type Instance

type Instance struct {
	// Instance Anti-affinity Groups
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
	// Instance creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Deploy target
	DeployTarget *DeployTarget `json:"deploy-target,omitempty"`
	// Instance disk size in GB
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=10,lte=50000"`
	// Instance Elastic IPs
	ElasticIPS []ElasticIP `json:"elastic-ips,omitempty"`
	// Instance ID
	ID UUID `json:"id,omitempty"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type,omitempty"`
	// Instance IPv6 address
	Ipv6Address string `json:"ipv6-address,omitempty"`
	Labels      Labels `json:"labels,omitempty"`
	// Resource manager
	Manager *Manager `json:"manager,omitempty"`
	// Instance name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Instance Private Networks
	PrivateNetworks []PrivateNetwork `json:"private-networks,omitempty"`
	// Instance public IPv4 address
	PublicIP           net.IP              `json:"public-ip,omitempty"`
	PublicIPAssignment *PublicIPAssignment `json:"public-ip-assignment,omitempty"`
	// Instance Security Groups
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
	// Instance Snapshots
	Snapshots []Snapshot `json:"snapshots,omitempty"`
	// SSH key
	SSHKey *SSHKey `json:"ssh-key,omitempty"`
	// Instance SSH Keys
	SSHKeys []SSHKey       `json:"ssh-keys,omitempty"`
	State   *InstanceState `json:"state,omitempty"`
	// Instance template
	Template *Template `json:"template,omitempty"`
	// Instance Cloud-init user-data (base64 encoded)
	UserData string `json:"user-data,omitempty" validate:"omitempty,gte=1"`
}

Instance

type InstancePassword

type InstancePassword struct {
	// Password
	Password string `json:"password,omitempty"`
}

Instance password

type InstancePool

type InstancePool struct {
	// Instance Pool Anti-affinity Groups
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
	// Deploy target
	DeployTarget *DeployTarget `json:"deploy-target,omitempty"`
	// Instance Pool description
	Description string `json:"description,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Instances disk size in GB
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=10,lte=50000"`
	// Instances Elastic IPs
	ElasticIPS []ElasticIP `json:"elastic-ips,omitempty"`
	// Instance Pool ID
	ID UUID `json:"id,omitempty"`
	// The instances created by the Instance Pool will be prefixed with this value (default: pool)
	InstancePrefix string `json:"instance-prefix,omitempty" validate:"omitempty,gte=1,lte=30"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type,omitempty"`
	// Instances
	Instances []Instance `json:"instances,omitempty"`
	// Enable IPv6 for instances
	Ipv6Enabled *bool  `json:"ipv6-enabled,omitempty"`
	Labels      Labels `json:"labels,omitempty"`
	// Resource manager
	Manager *Manager `json:"manager,omitempty"`
	// Minimum number of running instances
	MinAvailable int64 `json:"min-available,omitempty" validate:"omitempty,gte=0"`
	// Instance Pool name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Instance Pool Private Networks
	PrivateNetworks    []PrivateNetwork    `json:"private-networks,omitempty"`
	PublicIPAssignment *PublicIPAssignment `json:"public-ip-assignment,omitempty"`
	// Instance Pool Security Groups
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
	// Number of instances
	Size int64 `json:"size,omitempty" validate:"omitempty,gt=0"`
	// SSH key
	SSHKey *SSHKey `json:"ssh-key,omitempty"`
	// Instances SSH keys
	SSHKeys []SSHKey `json:"ssh-keys,omitempty"`
	// Instance Pool state
	State InstancePoolState `json:"state,omitempty"`
	// Instance template
	Template *Template `json:"template,omitempty"`
	// Instances Cloud-init user-data
	UserData string `json:"user-data,omitempty" validate:"omitempty,gte=1"`
}

Instance Pool

type InstancePoolState

type InstancePoolState string
const (
	InstancePoolStateScalingUP   InstancePoolState = "scaling-up"
	InstancePoolStateScalingDown InstancePoolState = "scaling-down"
	InstancePoolStateDestroying  InstancePoolState = "destroying"
	InstancePoolStateCreating    InstancePoolState = "creating"
	InstancePoolStateSuspended   InstancePoolState = "suspended"
	InstancePoolStateRunning     InstancePoolState = "running"
	InstancePoolStateUpdating    InstancePoolState = "updating"
)

type InstanceState

type InstanceState string
const (
	InstanceStateExpunging  InstanceState = "expunging"
	InstanceStateStarting   InstanceState = "starting"
	InstanceStateDestroying InstanceState = "destroying"
	InstanceStateRunning    InstanceState = "running"
	InstanceStateStopping   InstanceState = "stopping"
	InstanceStateStopped    InstanceState = "stopped"
	InstanceStateMigrating  InstanceState = "migrating"
	InstanceStateError      InstanceState = "error"
	InstanceStateDestroyed  InstanceState = "destroyed"
)

type InstanceTarget

type InstanceTarget struct {
	// Instance ID
	ID UUID `json:"id,omitempty"`
}

Target Instance

type InstanceType

type InstanceType struct {
	// Requires authorization or publicly available
	Authorized *bool `json:"authorized,omitempty"`
	// CPU count
	Cpus int64 `json:"cpus,omitempty" validate:"omitempty,gt=0"`
	// Instance type family
	Family InstanceTypeFamily `json:"family,omitempty"`
	// GPU count
	Gpus int64 `json:"gpus,omitempty" validate:"omitempty,gt=0"`
	// Instance type ID
	ID UUID `json:"id,omitempty"`
	// Available memory
	Memory int64 `json:"memory,omitempty" validate:"omitempty,gt=0"`
	// Instance type size
	Size InstanceTypeSize `json:"size,omitempty"`
	// Instance Type available zones
	Zones []ZoneName `json:"zones,omitempty"`
}

Compute instance type

type InstanceTypeFamily

type InstanceTypeFamily string
const (
	InstanceTypeFamilyGpu3     InstanceTypeFamily = "gpu3"
	InstanceTypeFamilyGpu2     InstanceTypeFamily = "gpu2"
	InstanceTypeFamilyGpu      InstanceTypeFamily = "gpu"
	InstanceTypeFamilyMemory   InstanceTypeFamily = "memory"
	InstanceTypeFamilyStorage  InstanceTypeFamily = "storage"
	InstanceTypeFamilyStandard InstanceTypeFamily = "standard"
	InstanceTypeFamilyColossus InstanceTypeFamily = "colossus"
	InstanceTypeFamilyCPU      InstanceTypeFamily = "cpu"
)

type InstanceTypeSize

type InstanceTypeSize string
const (
	InstanceTypeSizeLarge      InstanceTypeSize = "large"
	InstanceTypeSizeHuge       InstanceTypeSize = "huge"
	InstanceTypeSizeJumbo      InstanceTypeSize = "jumbo"
	InstanceTypeSizeMedium     InstanceTypeSize = "medium"
	InstanceTypeSizeMega       InstanceTypeSize = "mega"
	InstanceTypeSizeSmall      InstanceTypeSize = "small"
	InstanceTypeSizeExtraLarge InstanceTypeSize = "extra-large"
	InstanceTypeSizeTitan      InstanceTypeSize = "titan"
	InstanceTypeSizeMicro      InstanceTypeSize = "micro"
	InstanceTypeSizeColossus   InstanceTypeSize = "colossus"
	InstanceTypeSizeTiny       InstanceTypeSize = "tiny"
)

type JSONSchemaGrafana

type JSONSchemaGrafana struct {
	// Enable or disable Grafana legacy alerting functionality. This should not be enabled with unified_alerting_enabled.
	AlertingEnabled *bool `json:"alerting_enabled,omitempty"`
	// Default error or timeout setting for new alerting rules
	AlertingErrorORTimeout JSONSchemaGrafanaAlertingErrorORTimeout `json:"alerting_error_or_timeout,omitempty"`
	// Max number of alert annotations that Grafana stores. 0 (default) keeps all alert annotations.
	AlertingMaxAnnotationsToKeep int `json:"alerting_max_annotations_to_keep,omitempty" validate:"omitempty,gte=0,lte=1e+06"`
	// Default value for 'no data or null values' for new alerting rules
	AlertingNodataORNullvalues JSONSchemaGrafanaAlertingNodataORNullvalues `json:"alerting_nodata_or_nullvalues,omitempty"`
	// Allow embedding Grafana dashboards with iframe/frame/object/embed tags. Disabled by default to limit impact of clickjacking
	AllowEmbedding *bool `json:"allow_embedding,omitempty"`
	// Azure AD OAuth integration
	AuthAzuread map[string]any `json:"auth_azuread,omitempty"`
	// Enable or disable basic authentication form, used by Grafana built-in login
	AuthBasicEnabled *bool `json:"auth_basic_enabled,omitempty"`
	// Generic OAuth integration
	AuthGenericOauth map[string]any `json:"auth_generic_oauth,omitempty"`
	// Github Auth integration
	AuthGithub map[string]any `json:"auth_github,omitempty"`
	// GitLab Auth integration
	AuthGitlab map[string]any `json:"auth_gitlab,omitempty"`
	// Google Auth integration
	AuthGoogle map[string]any `json:"auth_google,omitempty"`
	// Cookie SameSite attribute: 'strict' prevents sending cookie for cross-site requests, effectively disabling direct linking from other sites to Grafana. 'lax' is the default value.
	CookieSamesite JSONSchemaGrafanaCookieSamesite `json:"cookie_samesite,omitempty"`
	// This feature is new in Grafana 9 and is quite resource intensive. It may cause low-end plans to work more slowly while the dashboard previews are rendering.
	DashboardPreviewsEnabled *bool `json:"dashboard_previews_enabled,omitempty"`
	// Signed sequence of decimal numbers, followed by a unit suffix (ms, s, m, h, d), e.g. 30s, 1h
	DashboardsMinRefreshInterval string `json:"dashboards_min_refresh_interval,omitempty" validate:"omitempty,lte=16"`
	// Dashboard versions to keep per dashboard
	DashboardsVersionsToKeep int `json:"dashboards_versions_to_keep,omitempty" validate:"omitempty,gte=1,lte=100"`
	// Send 'X-Grafana-User' header to data source
	DataproxySendUserHeader *bool `json:"dataproxy_send_user_header,omitempty"`
	// Timeout for data proxy requests in seconds
	DataproxyTimeout int `json:"dataproxy_timeout,omitempty" validate:"omitempty,gte=15,lte=90"`
	// Grafana date format specifications
	DateFormats map[string]any `json:"date_formats,omitempty"`
	// Set to true to disable gravatar. Defaults to false (gravatar is enabled)
	DisableGravatar *bool `json:"disable_gravatar,omitempty"`
	// Editors can manage folders, teams and dashboards created by them
	EditorsCanAdmin *bool `json:"editors_can_admin,omitempty"`
	// Google Analytics ID
	GoogleAnalyticsUAID string `json:"google_analytics_ua_id,omitempty" validate:"omitempty,lte=64"`
	// Enable Grafana /metrics endpoint
	MetricsEnabled *bool `json:"metrics_enabled,omitempty"`
	// Enforce user lookup based on email instead of the unique ID provided by the IdP
	OauthAllowInsecureEmailLookup *bool `json:"oauth_allow_insecure_email_lookup,omitempty"`
	// Allow access to selected service components through Privatelink
	PrivatelinkAccess map[string]any `json:"privatelink_access,omitempty"`
	// Name of the basebackup to restore in forked service
	RecoveryBasebackupName string `json:"recovery_basebackup_name,omitempty" validate:"omitempty,lte=128"`
	// SMTP server settings
	SMTPServer map[string]any `json:"smtp_server,omitempty"`
	// Enable or disable Grafana unified alerting functionality. By default this is enabled and any legacy alerts will be migrated on upgrade to Grafana 9+. To stay on legacy alerting, set unified_alerting_enabled to false and alerting_enabled to true. See https://grafana.com/docs/grafana/latest/alerting/set-up/migrating-alerts/ for more details.
	UnifiedAlertingEnabled *bool `json:"unified_alerting_enabled,omitempty"`
	// Auto-assign new users on signup to main organization. Defaults to false
	UserAutoAssignOrg *bool `json:"user_auto_assign_org,omitempty"`
	// Set role for new signups. Defaults to Viewer
	UserAutoAssignOrgRole JSONSchemaGrafanaUserAutoAssignOrgRole `json:"user_auto_assign_org_role,omitempty"`
	// Users with view-only permission can edit but not save dashboards
	ViewersCanEdit *bool `json:"viewers_can_edit,omitempty"`
}

Grafana settings

type JSONSchemaGrafanaAlertingErrorORTimeout

type JSONSchemaGrafanaAlertingErrorORTimeout string
const (
	JSONSchemaGrafanaAlertingErrorORTimeoutAlerting  JSONSchemaGrafanaAlertingErrorORTimeout = "alerting"
	JSONSchemaGrafanaAlertingErrorORTimeoutKeepState JSONSchemaGrafanaAlertingErrorORTimeout = "keep_state"
)

type JSONSchemaGrafanaAlertingNodataORNullvalues

type JSONSchemaGrafanaAlertingNodataORNullvalues string
const (
	JSONSchemaGrafanaAlertingNodataORNullvaluesAlerting  JSONSchemaGrafanaAlertingNodataORNullvalues = "alerting"
	JSONSchemaGrafanaAlertingNodataORNullvaluesNOData    JSONSchemaGrafanaAlertingNodataORNullvalues = "no_data"
	JSONSchemaGrafanaAlertingNodataORNullvaluesKeepState JSONSchemaGrafanaAlertingNodataORNullvalues = "keep_state"
	JSONSchemaGrafanaAlertingNodataORNullvaluesOk        JSONSchemaGrafanaAlertingNodataORNullvalues = "ok"
)

type JSONSchemaGrafanaCookieSamesite

type JSONSchemaGrafanaCookieSamesite string
const (
	JSONSchemaGrafanaCookieSamesiteLax    JSONSchemaGrafanaCookieSamesite = "lax"
	JSONSchemaGrafanaCookieSamesiteStrict JSONSchemaGrafanaCookieSamesite = "strict"
	JSONSchemaGrafanaCookieSamesiteNone   JSONSchemaGrafanaCookieSamesite = "none"
)

type JSONSchemaGrafanaUserAutoAssignOrgRole

type JSONSchemaGrafanaUserAutoAssignOrgRole string
const (
	JSONSchemaGrafanaUserAutoAssignOrgRoleViewer JSONSchemaGrafanaUserAutoAssignOrgRole = "Viewer"
	JSONSchemaGrafanaUserAutoAssignOrgRoleAdmin  JSONSchemaGrafanaUserAutoAssignOrgRole = "Admin"
	JSONSchemaGrafanaUserAutoAssignOrgRoleEditor JSONSchemaGrafanaUserAutoAssignOrgRole = "Editor"
)

type JSONSchemaKafka

type JSONSchemaKafka map[string]any

Kafka broker configuration values

type JSONSchemaKafkaConnect

type JSONSchemaKafkaConnect map[string]any

Kafka Connect configuration values

type JSONSchemaKafkaRest

type JSONSchemaKafkaRest map[string]any

Kafka REST configuration

type JSONSchemaMysql

type JSONSchemaMysql map[string]any

mysql.conf configuration values

type JSONSchemaOpensearch

type JSONSchemaOpensearch map[string]any

OpenSearch settings

type JSONSchemaPG

type JSONSchemaPG map[string]any

postgresql.conf configuration values

type JSONSchemaPgbouncer

type JSONSchemaPgbouncer map[string]any

PGBouncer connection pooling settings

type JSONSchemaPglookout

type JSONSchemaPglookout map[string]any

PGLookout settings

type JSONSchemaRedis

type JSONSchemaRedis struct {
	// Determines default pub/sub channels' ACL for new users if ACL is not supplied. When this option is not defined, all_channels is assumed to keep backward compatibility. This option doesn't affect Redis configuration acl-pubsub-default.
	AclChannelsDefault JSONSchemaRedisAclChannelsDefault `json:"acl_channels_default,omitempty"`
	// Set Redis IO thread count. Changing this will cause a restart of the Redis service.
	IoThreads int `json:"io_threads,omitempty" validate:"omitempty,gte=1,lte=32"`
	// LFU maxmemory-policy counter decay time in minutes
	LfuDecayTime int `json:"lfu_decay_time,omitempty" validate:"omitempty,gte=1,lte=120"`
	// Counter logarithm factor for volatile-lfu and allkeys-lfu maxmemory-policies
	LfuLogFactor int `json:"lfu_log_factor,omitempty" validate:"omitempty,gte=0,lte=100"`
	// Redis maxmemory-policy
	MaxmemoryPolicy JSONSchemaRedisMaxmemoryPolicy `json:"maxmemory_policy,omitempty"`
	// Set notify-keyspace-events option
	NotifyKeyspaceEvents string `json:"notify_keyspace_events,omitempty" validate:"omitempty,lte=32"`
	// Set number of Redis databases. Changing this will cause a restart of the Redis service.
	NumberOfDatabases int `json:"number_of_databases,omitempty" validate:"omitempty,gte=1,lte=128"`
	// When persistence is 'rdb', Redis does RDB dumps each 10 minutes if any key is changed. Also RDB dumps are done according to backup schedule for backup purposes. When persistence is 'off', no RDB dumps and backups are done, so data can be lost at any moment if service is restarted for any reason, or if service is powered off. Also service can't be forked.
	Persistence JSONSchemaRedisPersistence `json:"persistence,omitempty"`
	// Set output buffer limit for pub / sub clients in MB. The value is the hard limit, the soft limit is 1/4 of the hard limit. When setting the limit, be mindful of the available memory in the selected service plan.
	PubsubClientOutputBufferLimit int `json:"pubsub_client_output_buffer_limit,omitempty" validate:"omitempty,gte=32,lte=512"`
	// Require SSL to access Redis
	SSL *bool `json:"ssl,omitempty"`
	// Redis idle connection timeout in seconds
	Timeout int `json:"timeout,omitempty" validate:"omitempty,gte=0,lte=3.1536e+07"`
}

Redis settings

type JSONSchemaRedisAclChannelsDefault

type JSONSchemaRedisAclChannelsDefault string
const (
	JSONSchemaRedisAclChannelsDefaultAllchannels   JSONSchemaRedisAclChannelsDefault = "allchannels"
	JSONSchemaRedisAclChannelsDefaultResetchannels JSONSchemaRedisAclChannelsDefault = "resetchannels"
)

type JSONSchemaRedisMaxmemoryPolicy

type JSONSchemaRedisMaxmemoryPolicy string
const (
	JSONSchemaRedisMaxmemoryPolicyNoeviction     JSONSchemaRedisMaxmemoryPolicy = "noeviction"
	JSONSchemaRedisMaxmemoryPolicyAllkeysLru     JSONSchemaRedisMaxmemoryPolicy = "allkeys-lru"
	JSONSchemaRedisMaxmemoryPolicyVolatileLru    JSONSchemaRedisMaxmemoryPolicy = "volatile-lru"
	JSONSchemaRedisMaxmemoryPolicyAllkeysRandom  JSONSchemaRedisMaxmemoryPolicy = "allkeys-random"
	JSONSchemaRedisMaxmemoryPolicyVolatileRandom JSONSchemaRedisMaxmemoryPolicy = "volatile-random"
	JSONSchemaRedisMaxmemoryPolicyVolatileTtl    JSONSchemaRedisMaxmemoryPolicy = "volatile-ttl"
	JSONSchemaRedisMaxmemoryPolicyVolatileLfu    JSONSchemaRedisMaxmemoryPolicy = "volatile-lfu"
	JSONSchemaRedisMaxmemoryPolicyAllkeysLfu     JSONSchemaRedisMaxmemoryPolicy = "allkeys-lfu"
)

type JSONSchemaRedisPersistence

type JSONSchemaRedisPersistence string
const (
	JSONSchemaRedisPersistenceOff JSONSchemaRedisPersistence = "off"
	JSONSchemaRedisPersistenceRdb JSONSchemaRedisPersistence = "rdb"
)

type JSONSchemaSchemaRegistry

type JSONSchemaSchemaRegistry map[string]any

Schema Registry configuration

type JSONSchemaTimescaledb

type JSONSchemaTimescaledb map[string]any

TimescaleDB extension configuration values

type KubeletImageGC

type KubeletImageGC struct {
	HighThreshold int64  `json:"high-threshold,omitempty" validate:"omitempty,gte=0"`
	LowThreshold  int64  `json:"low-threshold,omitempty" validate:"omitempty,gte=0"`
	MinAge        string `json:"min-age,omitempty"`
}

Kubelet image GC options

type Labels

type Labels map[string]string

type ListAPIKeysResponse

type ListAPIKeysResponse struct {
	APIKeys []IAMAPIKey `json:"api-keys,omitempty"`
}

type ListAccessKeyKnownOperationsResponse

type ListAccessKeyKnownOperationsResponse struct {
	AccessKeyOperations []AccessKeyOperation `json:"access-key-operations,omitempty"`
}

type ListAccessKeyOperationsResponse

type ListAccessKeyOperationsResponse struct {
	AccessKeyOperations []AccessKeyOperation `json:"access-key-operations,omitempty"`
}

type ListAccessKeysResponse

type ListAccessKeysResponse struct {
	AccessKeys []AccessKey `json:"access-keys,omitempty"`
}

type ListAntiAffinityGroupsResponse

type ListAntiAffinityGroupsResponse struct {
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
}

type ListBlockStorageSnapshotsResponse

type ListBlockStorageSnapshotsResponse struct {
	BlockStorageSnapshots []BlockStorageSnapshot `json:"block-storage-snapshots,omitempty"`
}

type ListBlockStorageVolumesOpt

type ListBlockStorageVolumesOpt func(url.Values)

func ListBlockStorageVolumesWithInstanceID

func ListBlockStorageVolumesWithInstanceID(instanceID UUID) ListBlockStorageVolumesOpt

type ListBlockStorageVolumesResponse

type ListBlockStorageVolumesResponse struct {
	BlockStorageVolumes []BlockStorageVolume `json:"block-storage-volumes,omitempty"`
}

type ListDBAASIntegrationSettingsResponse

type ListDBAASIntegrationSettingsResponse struct {
	// The JSON schema representing the settings for the given integration type, source, and destination service types.
	Settings *ListDBAASIntegrationSettingsResponseSettings `json:"settings,omitempty"`
}

type ListDBAASIntegrationSettingsResponseSettings

type ListDBAASIntegrationSettingsResponseSettings struct {
	AdditionalProperties *bool          `json:"additionalProperties,omitempty"`
	Properties           map[string]any `json:"properties,omitempty"`
	Title                string         `json:"title,omitempty"`
	Type                 string         `json:"type,omitempty"`
}

The JSON schema representing the settings for the given integration type, source, and destination service types.

type ListDBAASIntegrationTypesResponse

type ListDBAASIntegrationTypesResponse struct {
	DBAASIntegrationTypes []DBAASIntegrationType `json:"dbaas-integration-types,omitempty"`
}

type ListDBAASServiceTypesResponse

type ListDBAASServiceTypesResponse struct {
	DBAASServiceTypes []DBAASServiceType `json:"dbaas-service-types,omitempty"`
}

type ListDBAASServicesResponse

type ListDBAASServicesResponse struct {
	DBAASServices []DBAASServiceCommon `json:"dbaas-services,omitempty"`
}

type ListDNSDomainRecordsResponse

type ListDNSDomainRecordsResponse struct {
	DNSDomainRecords []DNSDomainRecord `json:"dns-domain-records,omitempty"`
}

type ListDNSDomainsResponse

type ListDNSDomainsResponse struct {
	DNSDomains []DNSDomain `json:"dns-domains,omitempty"`
}

type ListDeployTargetsResponse

type ListDeployTargetsResponse struct {
	DeployTargets []DeployTarget `json:"deploy-targets,omitempty"`
}

type ListElasticIPSResponse

type ListElasticIPSResponse struct {
	ElasticIPS []ElasticIP `json:"elastic-ips,omitempty"`
}

type ListEventsOpt

type ListEventsOpt func(url.Values)

func ListEventsWithFrom

func ListEventsWithFrom(from time.Time) ListEventsOpt

func ListEventsWithTo

func ListEventsWithTo(to time.Time) ListEventsOpt

type ListIAMRolesResponse

type ListIAMRolesResponse struct {
	IAMRoles []IAMRole `json:"iam-roles,omitempty"`
}

type ListInstancePoolsResponse

type ListInstancePoolsResponse struct {
	InstancePools []InstancePool `json:"instance-pools,omitempty"`
}

type ListInstanceTypesResponse

type ListInstanceTypesResponse struct {
	InstanceTypes []InstanceType `json:"instance-types,omitempty"`
}

type ListInstancesManagerType

type ListInstancesManagerType string
const (
	ListInstancesManagerTypeInstancePool ListInstancesManagerType = "instance-pool"
)

type ListInstancesOpt

type ListInstancesOpt func(url.Values)

func ListInstancesWithIPAddress

func ListInstancesWithIPAddress(ipAddress string) ListInstancesOpt

func ListInstancesWithManagerID

func ListInstancesWithManagerID(managerID UUID) ListInstancesOpt

func ListInstancesWithManagerType

func ListInstancesWithManagerType(managerType ListInstancesManagerType) ListInstancesOpt

type ListInstancesResponse

type ListInstancesResponse struct {
	Instances []ListInstancesResponseInstances `json:"instances,omitempty"`
}

type ListInstancesResponseInstances

type ListInstancesResponseInstances struct {
	// Instance creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Instance ID
	ID UUID `json:"id,omitempty"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type,omitempty"`
	// Instance IPv6 address
	Ipv6Address string `json:"ipv6-address,omitempty"`
	Labels      Labels `json:"labels,omitempty"`
	// Resource manager
	Manager *Manager `json:"manager,omitempty"`
	// Instance name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Instance Private Networks
	PrivateNetworks []PrivateNetwork `json:"private-networks,omitempty"`
	// Instance public IPv4 address
	PublicIP           net.IP              `json:"public-ip,omitempty"`
	PublicIPAssignment *PublicIPAssignment `json:"public-ip-assignment,omitempty"`
	// Instance Security Groups
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
	// SSH key
	SSHKey *SSHKey `json:"ssh-key,omitempty"`
	// Instance SSH Keys
	SSHKeys []SSHKey       `json:"ssh-keys,omitempty"`
	State   *InstanceState `json:"state,omitempty"`
	// Instance template
	Template *Template `json:"template,omitempty"`
}

Instance

type ListLoadBalancersResponse

type ListLoadBalancersResponse struct {
	LoadBalancers []LoadBalancer `json:"load-balancers,omitempty"`
}

type ListPrivateNetworksResponse

type ListPrivateNetworksResponse struct {
	PrivateNetworks []PrivateNetwork `json:"private-networks,omitempty"`
}

type ListQuotasResponse

type ListQuotasResponse struct {
	Quotas []Quota `json:"quotas,omitempty"`
}

type ListSKSClusterVersionsOpt

type ListSKSClusterVersionsOpt func(url.Values)

func ListSKSClusterVersionsWithIncludeDeprecated

func ListSKSClusterVersionsWithIncludeDeprecated(includeDeprecated string) ListSKSClusterVersionsOpt

type ListSKSClusterVersionsResponse

type ListSKSClusterVersionsResponse struct {
	SKSClusterVersions []string `json:"sks-cluster-versions,omitempty"`
}

type ListSKSClustersResponse

type ListSKSClustersResponse struct {
	SKSClusters []SKSCluster `json:"sks-clusters,omitempty"`
}

type ListSOSBucketsUsageResponse

type ListSOSBucketsUsageResponse struct {
	SOSBucketsUsage []SOSBucketUsage `json:"sos-buckets-usage,omitempty"`
}

type ListSSHKeysResponse

type ListSSHKeysResponse struct {
	SSHKeys []SSHKey `json:"ssh-keys,omitempty"`
}

type ListSecurityGroupsOpt

type ListSecurityGroupsOpt func(url.Values)

func ListSecurityGroupsWithVisibility

func ListSecurityGroupsWithVisibility(visibility ListSecurityGroupsVisibility) ListSecurityGroupsOpt

type ListSecurityGroupsResponse

type ListSecurityGroupsResponse struct {
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
}

type ListSecurityGroupsVisibility

type ListSecurityGroupsVisibility string
const (
	ListSecurityGroupsVisibilityPrivate ListSecurityGroupsVisibility = "private"
	ListSecurityGroupsVisibilityPublic  ListSecurityGroupsVisibility = "public"
)

type ListSnapshotsResponse

type ListSnapshotsResponse struct {
	Snapshots []Snapshot `json:"snapshots,omitempty"`
}

type ListTemplatesOpt

type ListTemplatesOpt func(url.Values)

func ListTemplatesWithFamily

func ListTemplatesWithFamily(family string) ListTemplatesOpt

func ListTemplatesWithVisibility

func ListTemplatesWithVisibility(visibility ListTemplatesVisibility) ListTemplatesOpt

type ListTemplatesResponse

type ListTemplatesResponse struct {
	Templates []Template `json:"templates,omitempty"`
}

type ListTemplatesVisibility

type ListTemplatesVisibility string
const (
	ListTemplatesVisibilityPrivate ListTemplatesVisibility = "private"
	ListTemplatesVisibilityPublic  ListTemplatesVisibility = "public"
)

type ListZonesResponse

type ListZonesResponse struct {
	Zones []Zone `json:"zones,omitempty"`
}

type LoadBalancer

type LoadBalancer struct {
	// Load Balancer creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Load Balancer description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Load Balancer ID
	ID UUID `json:"id,omitempty"`
	// Load Balancer public IP
	IP     net.IP `json:"ip,omitempty"`
	Labels Labels `json:"labels,omitempty"`
	// Load Balancer name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Load Balancer Services
	Services []LoadBalancerService `json:"services,omitempty"`
	// Load Balancer state
	State LoadBalancerState `json:"state,omitempty"`
}

Load Balancer

type LoadBalancerServerStatus

type LoadBalancerServerStatus struct {
	// Backend server public IP
	PublicIP net.IP `json:"public-ip,omitempty"`
	// Status of the instance's healthcheck
	Status LoadBalancerServerStatusStatus `json:"status,omitempty"`
}

Load Balancer Service status

type LoadBalancerServerStatusStatus

type LoadBalancerServerStatusStatus string
const (
	LoadBalancerServerStatusStatusFailure LoadBalancerServerStatusStatus = "failure"
	LoadBalancerServerStatusStatusSuccess LoadBalancerServerStatusStatus = "success"
)

type LoadBalancerService

type LoadBalancerService struct {
	// Load Balancer Service description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Load Balancer Service healthcheck
	Healthcheck *LoadBalancerServiceHealthcheck `json:"healthcheck,omitempty"`
	// Healthcheck status per backend server
	HealthcheckStatus []LoadBalancerServerStatus `json:"healthcheck-status,omitempty"`
	// Load Balancer Service ID
	ID UUID `json:"id,omitempty"`
	// Instance Pool
	InstancePool *InstancePool `json:"instance-pool,omitempty"`
	// Load Balancer Service name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Port exposed on the Load Balancer's public IP
	Port int64 `json:"port,omitempty" validate:"omitempty,gt=0"`
	// Network traffic protocol
	Protocol LoadBalancerServiceProtocol `json:"protocol,omitempty"`
	// Load Balancer Service state
	State LoadBalancerServiceState `json:"state,omitempty"`
	// Load balancing strategy
	Strategy LoadBalancerServiceStrategy `json:"strategy,omitempty"`
	// Port on which the network traffic will be forwarded to on the receiving instance
	TargetPort int64 `json:"target-port,omitempty" validate:"omitempty,gt=0"`
}

Load Balancer Service

type LoadBalancerServiceHealthcheck

type LoadBalancerServiceHealthcheck struct {
	// Healthcheck interval (default: 10). Must be greater than or equal to Timeout
	Interval int64 `json:"interval,omitempty" validate:"omitempty,gte=5,lte=300"`
	// Healthcheck mode
	Mode LoadBalancerServiceHealthcheckMode `json:"mode,omitempty"`
	// Healthcheck port
	Port int64 `json:"port,omitempty" validate:"omitempty,gte=1,lte=65535"`
	// Number of retries before considering a Service failed
	Retries int64 `json:"retries,omitempty" validate:"omitempty,gte=1,lte=20"`
	// Healthcheck timeout value (default: 2). Must be lower than or equal to Interval
	Timeout int64 `json:"timeout,omitempty" validate:"omitempty,gte=2,lte=60"`
	// SNI domain for HTTPS healthchecks
	TlsSNI string `json:"tls-sni,omitempty" validate:"omitempty,gte=1,lte=255"`
	// An endpoint to use for the HTTP healthcheck, e.g. '/status'
	URI string `json:"uri,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Load Balancer Service healthcheck

type LoadBalancerServiceHealthcheckMode

type LoadBalancerServiceHealthcheckMode string
const (
	LoadBalancerServiceHealthcheckModeTCP   LoadBalancerServiceHealthcheckMode = "tcp"
	LoadBalancerServiceHealthcheckModeHTTP  LoadBalancerServiceHealthcheckMode = "http"
	LoadBalancerServiceHealthcheckModeHttps LoadBalancerServiceHealthcheckMode = "https"
)

type LoadBalancerServiceProtocol

type LoadBalancerServiceProtocol string
const (
	LoadBalancerServiceProtocolTCP LoadBalancerServiceProtocol = "tcp"
	LoadBalancerServiceProtocolUDP LoadBalancerServiceProtocol = "udp"
)

type LoadBalancerServiceState

type LoadBalancerServiceState string
const (
	LoadBalancerServiceStateCreating LoadBalancerServiceState = "creating"
	LoadBalancerServiceStateDeleting LoadBalancerServiceState = "deleting"
	LoadBalancerServiceStateRunning  LoadBalancerServiceState = "running"
	LoadBalancerServiceStateUpdating LoadBalancerServiceState = "updating"
	LoadBalancerServiceStateError    LoadBalancerServiceState = "error"
)

type LoadBalancerServiceStrategy

type LoadBalancerServiceStrategy string
const (
	LoadBalancerServiceStrategyRoundRobin LoadBalancerServiceStrategy = "round-robin"
	LoadBalancerServiceStrategySourceHash LoadBalancerServiceStrategy = "source-hash"
)

type LoadBalancerState

type LoadBalancerState string
const (
	LoadBalancerStateCreating  LoadBalancerState = "creating"
	LoadBalancerStateMigrated  LoadBalancerState = "migrated"
	LoadBalancerStateDeleting  LoadBalancerState = "deleting"
	LoadBalancerStateRunning   LoadBalancerState = "running"
	LoadBalancerStateMigrating LoadBalancerState = "migrating"
	LoadBalancerStateError     LoadBalancerState = "error"
)

type Manager

type Manager struct {
	// Manager ID
	ID UUID `json:"id,omitempty"`
	// Manager type
	Type ManagerType `json:"type,omitempty"`
}

Resource manager

type ManagerType

type ManagerType string
const (
	ManagerTypeSKSNodepool  ManagerType = "sks-nodepool"
	ManagerTypeInstancePool ManagerType = "instance-pool"
)

type Operation

type Operation struct {
	// Operation ID
	ID UUID `json:"id,omitempty"`
	// Operation message
	Message string `json:"message,omitempty"`
	// Operation failure reason
	Reason OperationReason `json:"reason,omitempty"`
	// Related resource reference
	Reference *OperationReference `json:"reference,omitempty"`
	// Operation status
	State OperationState `json:"state,omitempty"`
}

Operation

type OperationReason

type OperationReason string
const (
	OperationReasonIncorrect   OperationReason = "incorrect"
	OperationReasonUnknown     OperationReason = "unknown"
	OperationReasonUnavailable OperationReason = "unavailable"
	OperationReasonForbidden   OperationReason = "forbidden"
	OperationReasonBusy        OperationReason = "busy"
	OperationReasonFault       OperationReason = "fault"
	OperationReasonPartial     OperationReason = "partial"
	OperationReasonNotFound    OperationReason = "not-found"
	OperationReasonInterrupted OperationReason = "interrupted"
	OperationReasonUnsupported OperationReason = "unsupported"
	OperationReasonConflict    OperationReason = "conflict"
)

type OperationReference

type OperationReference struct {
	// Command name
	Command string `json:"command,omitempty"`
	// Reference ID
	ID UUID `json:"id,omitempty"`
	// Link to the referenced resource
	Link string `json:"link,omitempty"`
}

Related resource reference

type OperationState

type OperationState string
const (
	OperationStateFailure OperationState = "failure"
	OperationStatePending OperationState = "pending"
	OperationStateSuccess OperationState = "success"
	OperationStateTimeout OperationState = "timeout"
)

type PrivateNetwork

type PrivateNetwork struct {
	// Private Network description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Private Network end IP address
	EndIP net.IP `json:"end-ip,omitempty"`
	// Private Network ID
	ID     UUID   `json:"id,omitempty"`
	Labels Labels `json:"labels,omitempty"`
	// Private Network leased IP addresses
	Leases []PrivateNetworkLease `json:"leases,omitempty"`
	// Private Network name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Private Network netmask
	Netmask net.IP `json:"netmask,omitempty"`
	// Private Network start IP address
	StartIP net.IP `json:"start-ip,omitempty"`
}

Private Network

type PrivateNetworkLease

type PrivateNetworkLease struct {
	// Attached instance ID
	InstanceID UUID `json:"instance-id,omitempty"`
	// Private Network IP address
	IP net.IP `json:"ip,omitempty"`
}

Private Network leased IP address

type PromoteSnapshotToTemplateRequest

type PromoteSnapshotToTemplateRequest struct {
	// Template default user
	DefaultUser string `json:"default-user,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Template description
	Description string `json:"description,omitempty" validate:"omitempty,lte=4096"`
	// Template name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
	// Enable password-based login in the template
	PasswordEnabled *bool `json:"password-enabled,omitempty"`
	// Enable SSH key-based login in the template
	SSHKeyEnabled *bool `json:"ssh-key-enabled,omitempty"`
}

type PublicIPAssignment

type PublicIPAssignment string
const (
	PublicIPAssignmentInet4 PublicIPAssignment = "inet4"
	PublicIPAssignmentDual  PublicIPAssignment = "dual"
	PublicIPAssignmentNone  PublicIPAssignment = "none"
)

type Quota

type Quota struct {
	// Resource Limit. -1 for Unlimited
	Limit int64 `json:"limit,omitempty"`
	// Resource Name
	Resource string `json:"resource,omitempty"`
	// Resource Usage
	Usage int64 `json:"usage,omitempty"`
}

Organization Quota

type RegisterSSHKeyRequest

type RegisterSSHKeyRequest struct {
	// SSH key name
	Name string `json:"name" validate:"required"`
	// Public key value
	PublicKey string `json:"public-key" validate:"required"`
}

type RegisterTemplateRequest

type RegisterTemplateRequest struct {
	// Boot mode (default: legacy)
	BootMode RegisterTemplateRequestBootMode `json:"boot-mode,omitempty"`
	// Template build
	Build string `json:"build,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Template MD5 checksum
	Checksum string `json:"checksum" validate:"required,gte=1"`
	// Template default user
	DefaultUser string `json:"default-user,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Template description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Template maintainer
	Maintainer string `json:"maintainer,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Template name
	Name string `json:"name" validate:"required,gte=1,lte=255"`
	// Enable password-based login
	PasswordEnabled *bool `json:"password-enabled" validate:"required"`
	// Template size
	Size int64 `json:"size,omitempty" validate:"omitempty,gt=0"`
	// Enable SSH key-based login
	SSHKeyEnabled *bool `json:"ssh-key-enabled" validate:"required"`
	// Template source URL
	URL string `json:"url" validate:"required,gte=1"`
	// Template version
	Version string `json:"version,omitempty" validate:"omitempty,gte=1,lte=255"`
}

type RegisterTemplateRequestBootMode

type RegisterTemplateRequestBootMode string
const (
	RegisterTemplateRequestBootModeLegacy RegisterTemplateRequestBootMode = "legacy"
	RegisterTemplateRequestBootModeUefi   RegisterTemplateRequestBootMode = "uefi"
)

type RemoveExternalSourceFromSecurityGroupRequest

type RemoveExternalSourceFromSecurityGroupRequest struct {
	// CIDR-formatted network to remove
	Cidr string `json:"cidr" validate:"required"`
}

type RemoveInstanceProtectionResponse

type RemoveInstanceProtectionResponse struct {
}

type RequestInterceptorFn

type RequestInterceptorFn func(ctx context.Context, req *http.Request) error

RequestInterceptorFn is the function signature for the RequestInterceptor callback function

type ResetDBAASKafkaUserPasswordRequest

type ResetDBAASKafkaUserPasswordRequest struct {
	Password *DBAASUserPassword `json:"password,omitempty" validate:"omitempty,gte=8,lte=256"`
}

type ResetDBAASMysqlUserPasswordRequest

type ResetDBAASMysqlUserPasswordRequest struct {
	Authentication *EnumMysqlAuthenticationPlugin `json:"authentication,omitempty"`
	Password       *DBAASUserPassword             `json:"password,omitempty" validate:"omitempty,gte=8,lte=256"`
}

type ResetDBAASOpensearchUserPasswordRequest

type ResetDBAASOpensearchUserPasswordRequest struct {
	Password *DBAASUserPassword `json:"password,omitempty" validate:"omitempty,gte=8,lte=256"`
}

type ResetDBAASPostgresUserPasswordRequest

type ResetDBAASPostgresUserPasswordRequest struct {
	Password *DBAASUserPassword `json:"password,omitempty" validate:"omitempty,gte=8,lte=256"`
}

type ResetElasticIPFieldField

type ResetElasticIPFieldField string
const (
	ResetElasticIPFieldFieldDescription ResetElasticIPFieldField = "description"
)

type ResetInstanceFieldField

type ResetInstanceFieldField string
const (
	ResetInstanceFieldFieldLabels ResetInstanceFieldField = "labels"
)

type ResetInstancePoolFieldField

type ResetInstancePoolFieldField string
const (
	ResetInstancePoolFieldFieldAntiAffinityGroups ResetInstancePoolFieldField = "anti-affinity-groups"
	ResetInstancePoolFieldFieldDescription        ResetInstancePoolFieldField = "description"
	ResetInstancePoolFieldFieldLabels             ResetInstancePoolFieldField = "labels"
	ResetInstancePoolFieldFieldSecurityGroups     ResetInstancePoolFieldField = "security-groups"
	ResetInstancePoolFieldFieldElasticIPS         ResetInstancePoolFieldField = "elastic-ips"
	ResetInstancePoolFieldFieldPrivateNetworks    ResetInstancePoolFieldField = "private-networks"
	ResetInstancePoolFieldFieldSSHKey             ResetInstancePoolFieldField = "ssh-key"
	ResetInstancePoolFieldFieldUserData           ResetInstancePoolFieldField = "user-data"
	ResetInstancePoolFieldFieldDeployTarget       ResetInstancePoolFieldField = "deploy-target"
	ResetInstancePoolFieldFieldIpv6Enabled        ResetInstancePoolFieldField = "ipv6-enabled"
)

type ResetInstanceRequest

type ResetInstanceRequest struct {
	// Instance disk size in GB
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=10,lte=50000"`
	// Instance template
	Template *Template `json:"template,omitempty"`
}

type ResetLoadBalancerFieldField

type ResetLoadBalancerFieldField string
const (
	ResetLoadBalancerFieldFieldDescription ResetLoadBalancerFieldField = "description"
	ResetLoadBalancerFieldFieldLabels      ResetLoadBalancerFieldField = "labels"
)

type ResetLoadBalancerServiceFieldField

type ResetLoadBalancerServiceFieldField string
const (
	ResetLoadBalancerServiceFieldFieldDescription ResetLoadBalancerServiceFieldField = "description"
)

type ResetPrivateNetworkFieldField

type ResetPrivateNetworkFieldField string
const (
	ResetPrivateNetworkFieldFieldLabels ResetPrivateNetworkFieldField = "labels"
)

type ResetSKSClusterFieldField

type ResetSKSClusterFieldField string
const (
	ResetSKSClusterFieldFieldDescription ResetSKSClusterFieldField = "description"
	ResetSKSClusterFieldFieldLabels      ResetSKSClusterFieldField = "labels"
)

type ResetSKSNodepoolFieldField

type ResetSKSNodepoolFieldField string
const (
	ResetSKSNodepoolFieldFieldAntiAffinityGroups ResetSKSNodepoolFieldField = "anti-affinity-groups"
	ResetSKSNodepoolFieldFieldDescription        ResetSKSNodepoolFieldField = "description"
	ResetSKSNodepoolFieldFieldLabels             ResetSKSNodepoolFieldField = "labels"
	ResetSKSNodepoolFieldFieldSecurityGroups     ResetSKSNodepoolFieldField = "security-groups"
	ResetSKSNodepoolFieldFieldPrivateNetworks    ResetSKSNodepoolFieldField = "private-networks"
	ResetSKSNodepoolFieldFieldDeployTarget       ResetSKSNodepoolFieldField = "deploy-target"
)

type ResizeBlockStorageVolumeRequest

type ResizeBlockStorageVolumeRequest struct {
	// Volume size in GB
	Size int64 `json:"size" validate:"required,gte=101,lte=1024"`
}

type ResizeInstanceDiskRequest

type ResizeInstanceDiskRequest struct {
	// Instance disk size in GB
	DiskSize int64 `json:"disk-size" validate:"required,gte=10,lte=50000"`
}

type Resource

type Resource struct {
	// Resource ID
	ID UUID `json:"id,omitempty"`
	// Resource name
	Name string `json:"name,omitempty"`
}

Resource

type ReverseDNSRecord

type ReverseDNSRecord struct {
	DomainName *DomainName `json:"domain-name,omitempty" validate:"omitempty,gte=1,lte=253"`
}

type RevertInstanceToSnapshotRequest

type RevertInstanceToSnapshotRequest struct {
	// Snapshot ID
	ID UUID `json:"id" validate:"required"`
}

type SKSCluster

type SKSCluster struct {
	// Cluster addons
	Addons []string `json:"addons,omitempty"`
	// Enable auto upgrade of the control plane to the latest patch version available
	AutoUpgrade *bool `json:"auto-upgrade,omitempty"`
	// Cluster CNI
	Cni SKSClusterCni `json:"cni,omitempty"`
	// Cluster creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Cluster description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Cluster endpoint
	Endpoint string `json:"endpoint,omitempty"`
	// Cluster ID
	ID     UUID   `json:"id,omitempty"`
	Labels Labels `json:"labels,omitempty"`
	// Cluster level
	Level SKSClusterLevel `json:"level,omitempty"`
	// Cluster name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Cluster Nodepools
	Nodepools []SKSNodepool `json:"nodepools,omitempty"`
	// Cluster state
	State SKSClusterState `json:"state,omitempty"`
	// Control plane Kubernetes version
	Version string `json:"version,omitempty"`
}

SKS Cluster

type SKSClusterCni

type SKSClusterCni string
const (
	SKSClusterCniCalico SKSClusterCni = "calico"
	SKSClusterCniCilium SKSClusterCni = "cilium"
)

type SKSClusterDeprecatedResource

type SKSClusterDeprecatedResource map[string]string

type SKSClusterLevel

type SKSClusterLevel string
const (
	SKSClusterLevelStarter SKSClusterLevel = "starter"
	SKSClusterLevelPro     SKSClusterLevel = "pro"
)

type SKSClusterState

type SKSClusterState string
const (
	SKSClusterStateRotatingCcmCredentials SKSClusterState = "rotating-ccm-credentials"
	SKSClusterStateCreating               SKSClusterState = "creating"
	SKSClusterStateUpgrading              SKSClusterState = "upgrading"
	SKSClusterStateDeleting               SKSClusterState = "deleting"
	SKSClusterStateRunning                SKSClusterState = "running"
	SKSClusterStateSuspending             SKSClusterState = "suspending"
	SKSClusterStateUpdating               SKSClusterState = "updating"
	SKSClusterStateError                  SKSClusterState = "error"
)

type SKSKubeconfigRequest

type SKSKubeconfigRequest struct {
	// List of roles. The certificate present in the Kubeconfig will have these roles set in the Org field.
	Groups []string `json:"groups,omitempty"`
	// Validity in seconds of the Kubeconfig user certificate (default: 30 days)
	Ttl int64 `json:"ttl,omitempty" validate:"omitempty,gt=0"`
	// User name in the generated Kubeconfig. The certificate present in the Kubeconfig will also have this name set for the CN field.
	User string `json:"user,omitempty"`
}

Kubeconfig request for a SKS cluster

type SKSNodepool

type SKSNodepool struct {
	// Nodepool addons
	Addons []string `json:"addons,omitempty"`
	// Nodepool Anti-affinity Groups
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
	// Nodepool creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Deploy target
	DeployTarget *DeployTarget `json:"deploy-target,omitempty"`
	// Nodepool description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Nodepool instances disk size in GB
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=20,lte=50000"`
	// Nodepool ID
	ID UUID `json:"id,omitempty"`
	// Instance Pool
	InstancePool *InstancePool `json:"instance-pool,omitempty"`
	// The instances created by the Nodepool will be prefixed with this value (default: pool)
	InstancePrefix string `json:"instance-prefix,omitempty" validate:"omitempty,gte=1,lte=30"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type,omitempty"`
	// Kubelet image GC options
	KubeletImageGC *KubeletImageGC `json:"kubelet-image-gc,omitempty"`
	Labels         Labels          `json:"labels,omitempty"`
	// Nodepool name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Nodepool Private Networks
	PrivateNetworks []PrivateNetwork `json:"private-networks,omitempty"`
	// Nodepool Security Groups
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
	// Number of instances
	Size int64 `json:"size,omitempty" validate:"omitempty,gt=0"`
	// Nodepool state
	State  SKSNodepoolState  `json:"state,omitempty"`
	Taints SKSNodepoolTaints `json:"taints,omitempty"`
	// Instance template
	Template *Template `json:"template,omitempty"`
	// Nodepool version
	Version string `json:"version,omitempty"`
}

SKS Nodepool

type SKSNodepoolState

type SKSNodepoolState string
const (
	SKSNodepoolStateRenewingToken SKSNodepoolState = "renewing-token"
	SKSNodepoolStateCreating      SKSNodepoolState = "creating"
	SKSNodepoolStateDeleting      SKSNodepoolState = "deleting"
	SKSNodepoolStateRunning       SKSNodepoolState = "running"
	SKSNodepoolStateScaling       SKSNodepoolState = "scaling"
	SKSNodepoolStateUpdating      SKSNodepoolState = "updating"
	SKSNodepoolStateError         SKSNodepoolState = "error"
)

type SKSNodepoolTaint

type SKSNodepoolTaint struct {
	// Nodepool taint effect
	Effect SKSNodepoolTaintEffect `json:"effect" validate:"required"`
	// Nodepool taint value
	Value string `json:"value" validate:"required,gte=1,lte=255"`
}

Nodepool taint

type SKSNodepoolTaintEffect

type SKSNodepoolTaintEffect string
const (
	SKSNodepoolTaintEffectNoExecute        SKSNodepoolTaintEffect = "NoExecute"
	SKSNodepoolTaintEffectNoSchedule       SKSNodepoolTaintEffect = "NoSchedule"
	SKSNodepoolTaintEffectPreferNoSchedule SKSNodepoolTaintEffect = "PreferNoSchedule"
)

type SKSNodepoolTaints

type SKSNodepoolTaints map[string]SKSNodepoolTaint

type SKSOidc

type SKSOidc struct {
	// OpenID client ID
	ClientID string `json:"client-id" validate:"required,gte=1,lte=255"`
	// JWT claim to use as the user's group
	GroupsClaim string `json:"groups-claim,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Prefix prepended to group claims
	GroupsPrefix string `json:"groups-prefix,omitempty" validate:"omitempty,gte=1,lte=255"`
	// OpenID provider URL
	IssuerURL string `json:"issuer-url" validate:"required,gte=1,lte=255"`
	// A key value map that describes a required claim in the ID Token
	RequiredClaim map[string]string `json:"required-claim,omitempty"`
	// JWT claim to use as the user name
	UsernameClaim string `json:"username-claim,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Prefix prepended to username claims
	UsernamePrefix string `json:"username-prefix,omitempty" validate:"omitempty,gte=1,lte=255"`
}

SKS Cluster OpenID config map

type SOSBucketUsage

type SOSBucketUsage struct {
	// SOS Bucket creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// SOS Bucket name
	Name string `json:"name,omitempty"`
	// SOS Bucket size in B
	Size     int64     `json:"size,omitempty" validate:"omitempty,gte=0"`
	ZoneName *ZoneName `json:"zone-name,omitempty"`
}

SOS Bucket usage

type SSHKey

type SSHKey struct {
	// SSH key fingerprint
	Fingerprint string `json:"fingerprint,omitempty"`
	// SSH key name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
}

SSH key

type ScaleInstancePoolRequest

type ScaleInstancePoolRequest struct {
	// Number of managed Instances
	Size int64 `json:"size" validate:"required,gt=0"`
}

type ScaleInstanceRequest

type ScaleInstanceRequest struct {
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type" validate:"required"`
}

type ScaleSKSNodepoolRequest

type ScaleSKSNodepoolRequest struct {
	// Number of instances
	Size int64 `json:"size" validate:"required,gt=0"`
}

type SecurityGroup

type SecurityGroup struct {
	// Security Group description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Security Group external sources
	ExternalSources []string `json:"external-sources,omitempty"`
	// Security Group ID
	ID UUID `json:"id,omitempty"`
	// Security Group name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Security Group rules
	Rules []SecurityGroupRule `json:"rules,omitempty"`
}

Security Group

type SecurityGroupResource

type SecurityGroupResource struct {
	// Security Group ID
	ID UUID `json:"id,omitempty"`
	// Security Group name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Whether this points to a public security group. This is only valid when in the context of
	// a rule addition which uses a public security group as a source or destination.
	Visibility SecurityGroupResourceVisibility `json:"visibility,omitempty"`
}

Security Group

type SecurityGroupResourceVisibility

type SecurityGroupResourceVisibility string
const (
	SecurityGroupResourceVisibilityPrivate SecurityGroupResourceVisibility = "private"
	SecurityGroupResourceVisibilityPublic  SecurityGroupResourceVisibility = "public"
)

type SecurityGroupRule

type SecurityGroupRule struct {
	// Security Group rule description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// End port of the range
	EndPort int64 `json:"end-port,omitempty" validate:"omitempty,gte=1,lte=65535"`
	// Network flow direction to match
	FlowDirection SecurityGroupRuleFlowDirection `json:"flow-direction,omitempty"`
	// ICMP details
	ICMP *SecurityGroupRuleICMP `json:"icmp,omitempty"`
	// Security Group rule ID
	ID UUID `json:"id,omitempty"`
	// CIDR-formatted network allowed
	Network string `json:"network,omitempty"`
	// Network protocol
	Protocol SecurityGroupRuleProtocol `json:"protocol,omitempty"`
	// Security Group
	SecurityGroup *SecurityGroupResource `json:"security-group,omitempty"`
	// Start port of the range
	StartPort int64 `json:"start-port,omitempty" validate:"omitempty,gte=1,lte=65535"`
}

Security Group rule

type SecurityGroupRuleFlowDirection

type SecurityGroupRuleFlowDirection string
const (
	SecurityGroupRuleFlowDirectionIngress SecurityGroupRuleFlowDirection = "ingress"
	SecurityGroupRuleFlowDirectionEgress  SecurityGroupRuleFlowDirection = "egress"
)

type SecurityGroupRuleICMP

type SecurityGroupRuleICMP struct {
	Code int64 `json:"code,omitempty" validate:"omitempty,gte=-1,lte=254"`
	Type int64 `json:"type,omitempty" validate:"omitempty,gte=-1,lte=254"`
}

ICMP details

type SecurityGroupRuleProtocol

type SecurityGroupRuleProtocol string
const (
	SecurityGroupRuleProtocolTCP    SecurityGroupRuleProtocol = "tcp"
	SecurityGroupRuleProtocolEsp    SecurityGroupRuleProtocol = "esp"
	SecurityGroupRuleProtocolICMP   SecurityGroupRuleProtocol = "icmp"
	SecurityGroupRuleProtocolUDP    SecurityGroupRuleProtocol = "udp"
	SecurityGroupRuleProtocolGre    SecurityGroupRuleProtocol = "gre"
	SecurityGroupRuleProtocolAh     SecurityGroupRuleProtocol = "ah"
	SecurityGroupRuleProtocolIpip   SecurityGroupRuleProtocol = "ipip"
	SecurityGroupRuleProtocolIcmpv6 SecurityGroupRuleProtocol = "icmpv6"
)

type Snapshot

type Snapshot struct {
	// Snapshot creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Exported snapshot information
	Export *SnapshotExport `json:"export,omitempty"`
	// Snapshot ID
	ID UUID `json:"id,omitempty"`
	// Instance
	Instance *Instance `json:"instance,omitempty"`
	// Snapshot name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Snapshot size in GB
	Size int64 `json:"size,omitempty" validate:"omitempty,gte=10,lte=50000"`
	// Snapshot state
	State SnapshotState `json:"state,omitempty"`
}

Snapshot

type SnapshotExport

type SnapshotExport struct {
	// Exported snapshot disk file MD5 checksum
	Md5sum string `json:"md5sum,omitempty"`
	// Exported snapshot disk file pre-signed URL
	PresignedURL string `json:"presigned-url,omitempty"`
}

Exported snapshot information

type SnapshotState

type SnapshotState string
const (
	SnapshotStateSnapshotting SnapshotState = "snapshotting"
	SnapshotStateDeleted      SnapshotState = "deleted"
	SnapshotStateExporting    SnapshotState = "exporting"
	SnapshotStateReady        SnapshotState = "ready"
	SnapshotStateDeleting     SnapshotState = "deleting"
	SnapshotStateError        SnapshotState = "error"
	SnapshotStateExported     SnapshotState = "exported"
)

type StartInstanceRequest

type StartInstanceRequest struct {
	// Boot in Rescue Mode, using named profile (supported: netboot, netboot-efi)
	RescueProfile StartInstanceRequestRescueProfile `json:"rescue-profile,omitempty"`
}

type StartInstanceRequestRescueProfile

type StartInstanceRequestRescueProfile string
const (
	StartInstanceRequestRescueProfileNetbootEfi StartInstanceRequestRescueProfile = "netboot-efi"
	StartInstanceRequestRescueProfileNetboot    StartInstanceRequestRescueProfile = "netboot"
)

type Template

type Template struct {
	// Boot mode (default: legacy)
	BootMode TemplateBootMode `json:"boot-mode,omitempty"`
	// Template build
	Build string `json:"build,omitempty"`
	// Template MD5 checksum
	Checksum string `json:"checksum,omitempty"`
	// Template creation date
	CreatedAT time.Time `json:"created-at,omitempty"`
	// Template default user
	DefaultUser string `json:"default-user,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Template description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Template family
	Family string `json:"family,omitempty"`
	// Template ID
	ID UUID `json:"id,omitempty"`
	// Template maintainer
	Maintainer string `json:"maintainer,omitempty"`
	// Template name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Enable password-based login
	PasswordEnabled *bool `json:"password-enabled,omitempty"`
	// Template size
	Size int64 `json:"size,omitempty" validate:"omitempty,gt=0"`
	// Enable SSH key-based login
	SSHKeyEnabled *bool `json:"ssh-key-enabled,omitempty"`
	// Template source URL
	URL string `json:"url,omitempty"`
	// Template version
	Version string `json:"version,omitempty"`
	// Template visibility
	Visibility TemplateVisibility `json:"visibility,omitempty"`
	// Zones availability
	Zones []ZoneName `json:"zones,omitempty"`
}

Instance template

type TemplateBootMode

type TemplateBootMode string
const (
	TemplateBootModeLegacy TemplateBootMode = "legacy"
	TemplateBootModeUefi   TemplateBootMode = "uefi"
)

type TemplateVisibility

type TemplateVisibility string
const (
	TemplateVisibilityPrivate TemplateVisibility = "private"
	TemplateVisibilityPublic  TemplateVisibility = "public"
)

type URL

type URL string

URL represents a zoned url endpoint.

const (
	CHGva2 URL = "https://api-ch-gva-2.exoscale.com/v2"
	CHDk2  URL = "https://api-ch-dk-2.exoscale.com/v2"
	DEFra1 URL = "https://api-de-fra-1.exoscale.com/v2"
	DEMuc1 URL = "https://api-de-muc-1.exoscale.com/v2"
	ATVie1 URL = "https://api-at-vie-1.exoscale.com/v2"
	ATVie2 URL = "https://api-at-vie-2.exoscale.com/v2"
	BGSof1 URL = "https://api-bg-sof-1.exoscale.com/v2"
)

type UUID

type UUID string

func ParseUUID

func ParseUUID(s string) (UUID, error)

func (UUID) String

func (u UUID) String() string

type UpdateBlockStorageVolumeLabelsRequest

type UpdateBlockStorageVolumeLabelsRequest struct {
	Labels Labels `json:"labels,omitempty"`
}

type UpdateDBAASIntegrationRequest

type UpdateDBAASIntegrationRequest struct {
	// Integration settings
	Settings map[string]any `json:"settings" validate:"required"`
}

type UpdateDBAASPGConnectionPoolRequest

type UpdateDBAASPGConnectionPoolRequest struct {
	DatabaseName *DBAASDatabaseName   `json:"database-name,omitempty" validate:"omitempty,gte=1,lte=40"`
	Mode         *EnumPGPoolMode      `json:"mode,omitempty"`
	Size         *DBAASPGPoolSize     `json:"size,omitempty" validate:"omitempty,gte=1,lte=10000"`
	Username     *DBAASPGPoolUsername `json:"username,omitempty" validate:"omitempty,gte=1,lte=64"`
}

type UpdateDBAASPostgresAllowReplicationRequest

type UpdateDBAASPostgresAllowReplicationRequest struct {
	AllowReplication *bool `json:"allow-replication,omitempty"`
}

type UpdateDBAASServiceGrafanaRequest

type UpdateDBAASServiceGrafanaRequest struct {
	// Grafana settings
	GrafanaSettings *JSONSchemaGrafana `json:"grafana-settings,omitempty"`
	// Allowed CIDR address blocks for incoming connections
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *UpdateDBAASServiceGrafanaRequestMaintenance `json:"maintenance,omitempty"`
	// Subscription plan
	Plan string `json:"plan,omitempty" validate:"omitempty,gte=1,lte=128"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
}

type UpdateDBAASServiceGrafanaRequestMaintenance

type UpdateDBAASServiceGrafanaRequestMaintenance struct {
	// Day of week for installing updates
	Dow UpdateDBAASServiceGrafanaRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type UpdateDBAASServiceGrafanaRequestMaintenanceDow

type UpdateDBAASServiceGrafanaRequestMaintenanceDow string
const (
	UpdateDBAASServiceGrafanaRequestMaintenanceDowSaturday  UpdateDBAASServiceGrafanaRequestMaintenanceDow = "saturday"
	UpdateDBAASServiceGrafanaRequestMaintenanceDowTuesday   UpdateDBAASServiceGrafanaRequestMaintenanceDow = "tuesday"
	UpdateDBAASServiceGrafanaRequestMaintenanceDowNever     UpdateDBAASServiceGrafanaRequestMaintenanceDow = "never"
	UpdateDBAASServiceGrafanaRequestMaintenanceDowWednesday UpdateDBAASServiceGrafanaRequestMaintenanceDow = "wednesday"
	UpdateDBAASServiceGrafanaRequestMaintenanceDowSunday    UpdateDBAASServiceGrafanaRequestMaintenanceDow = "sunday"
	UpdateDBAASServiceGrafanaRequestMaintenanceDowFriday    UpdateDBAASServiceGrafanaRequestMaintenanceDow = "friday"
	UpdateDBAASServiceGrafanaRequestMaintenanceDowMonday    UpdateDBAASServiceGrafanaRequestMaintenanceDow = "monday"
	UpdateDBAASServiceGrafanaRequestMaintenanceDowThursday  UpdateDBAASServiceGrafanaRequestMaintenanceDow = "thursday"
)

type UpdateDBAASServiceKafkaRequest

type UpdateDBAASServiceKafkaRequest struct {
	// Kafka authentication methods
	AuthenticationMethods *UpdateDBAASServiceKafkaRequestAuthenticationMethods `json:"authentication-methods,omitempty"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Allow clients to connect to kafka_connect from the public internet for service nodes that are in a project VPC or another type of private network
	KafkaConnectEnabled *bool `json:"kafka-connect-enabled,omitempty"`
	// Kafka Connect configuration values
	KafkaConnectSettings JSONSchemaKafkaConnect `json:"kafka-connect-settings,omitempty"`
	// Enable Kafka-REST service
	KafkaRestEnabled *bool `json:"kafka-rest-enabled,omitempty"`
	// Kafka REST configuration
	KafkaRestSettings JSONSchemaKafkaRest `json:"kafka-rest-settings,omitempty"`
	// Kafka broker configuration values
	KafkaSettings JSONSchemaKafka `json:"kafka-settings,omitempty"`
	// Automatic maintenance settings
	Maintenance *UpdateDBAASServiceKafkaRequestMaintenance `json:"maintenance,omitempty"`
	// Subscription plan
	Plan string `json:"plan,omitempty" validate:"omitempty,gte=1,lte=128"`
	// Enable Schema-Registry service
	SchemaRegistryEnabled *bool `json:"schema-registry-enabled,omitempty"`
	// Schema Registry configuration
	SchemaRegistrySettings JSONSchemaSchemaRegistry `json:"schema-registry-settings,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
	// Kafka major version
	Version string `json:"version,omitempty" validate:"omitempty,gte=1"`
}

type UpdateDBAASServiceKafkaRequestAuthenticationMethods

type UpdateDBAASServiceKafkaRequestAuthenticationMethods struct {
	// Enable certificate/SSL authentication
	Certificate *bool `json:"certificate,omitempty"`
	// Enable SASL authentication
	Sasl *bool `json:"sasl,omitempty"`
}

Kafka authentication methods

type UpdateDBAASServiceKafkaRequestMaintenance

type UpdateDBAASServiceKafkaRequestMaintenance struct {
	// Day of week for installing updates
	Dow UpdateDBAASServiceKafkaRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type UpdateDBAASServiceKafkaRequestMaintenanceDow

type UpdateDBAASServiceKafkaRequestMaintenanceDow string
const (
	UpdateDBAASServiceKafkaRequestMaintenanceDowSaturday  UpdateDBAASServiceKafkaRequestMaintenanceDow = "saturday"
	UpdateDBAASServiceKafkaRequestMaintenanceDowTuesday   UpdateDBAASServiceKafkaRequestMaintenanceDow = "tuesday"
	UpdateDBAASServiceKafkaRequestMaintenanceDowNever     UpdateDBAASServiceKafkaRequestMaintenanceDow = "never"
	UpdateDBAASServiceKafkaRequestMaintenanceDowWednesday UpdateDBAASServiceKafkaRequestMaintenanceDow = "wednesday"
	UpdateDBAASServiceKafkaRequestMaintenanceDowSunday    UpdateDBAASServiceKafkaRequestMaintenanceDow = "sunday"
	UpdateDBAASServiceKafkaRequestMaintenanceDowFriday    UpdateDBAASServiceKafkaRequestMaintenanceDow = "friday"
	UpdateDBAASServiceKafkaRequestMaintenanceDowMonday    UpdateDBAASServiceKafkaRequestMaintenanceDow = "monday"
	UpdateDBAASServiceKafkaRequestMaintenanceDowThursday  UpdateDBAASServiceKafkaRequestMaintenanceDow = "thursday"
)

type UpdateDBAASServiceMysqlRequest

type UpdateDBAASServiceMysqlRequest struct {
	BackupSchedule *UpdateDBAASServiceMysqlRequestBackupSchedule `json:"backup-schedule,omitempty"`
	// The minimum amount of time in seconds to keep binlog entries before deletion. This may be extended for services that require binlog entries for longer than the default for example if using the MySQL Debezium Kafka connector.
	BinlogRetentionPeriod int64 `json:"binlog-retention-period,omitempty" validate:"omitempty,gte=600,lte=86400"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *UpdateDBAASServiceMysqlRequestMaintenance `json:"maintenance,omitempty"`
	// Migrate data from existing server
	Migration *UpdateDBAASServiceMysqlRequestMigration `json:"migration,omitempty"`
	// mysql.conf configuration values
	MysqlSettings JSONSchemaMysql `json:"mysql-settings,omitempty"`
	// Subscription plan
	Plan string `json:"plan,omitempty" validate:"omitempty,gte=1,lte=128"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
}

type UpdateDBAASServiceMysqlRequestBackupSchedule

type UpdateDBAASServiceMysqlRequestBackupSchedule struct {
	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupHour int64 `json:"backup-hour,omitempty" validate:"omitempty,gte=0,lte=23"`
	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupMinute int64 `json:"backup-minute,omitempty" validate:"omitempty,gte=0,lte=59"`
}

type UpdateDBAASServiceMysqlRequestMaintenance

type UpdateDBAASServiceMysqlRequestMaintenance struct {
	// Day of week for installing updates
	Dow UpdateDBAASServiceMysqlRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type UpdateDBAASServiceMysqlRequestMaintenanceDow

type UpdateDBAASServiceMysqlRequestMaintenanceDow string
const (
	UpdateDBAASServiceMysqlRequestMaintenanceDowSaturday  UpdateDBAASServiceMysqlRequestMaintenanceDow = "saturday"
	UpdateDBAASServiceMysqlRequestMaintenanceDowTuesday   UpdateDBAASServiceMysqlRequestMaintenanceDow = "tuesday"
	UpdateDBAASServiceMysqlRequestMaintenanceDowNever     UpdateDBAASServiceMysqlRequestMaintenanceDow = "never"
	UpdateDBAASServiceMysqlRequestMaintenanceDowWednesday UpdateDBAASServiceMysqlRequestMaintenanceDow = "wednesday"
	UpdateDBAASServiceMysqlRequestMaintenanceDowSunday    UpdateDBAASServiceMysqlRequestMaintenanceDow = "sunday"
	UpdateDBAASServiceMysqlRequestMaintenanceDowFriday    UpdateDBAASServiceMysqlRequestMaintenanceDow = "friday"
	UpdateDBAASServiceMysqlRequestMaintenanceDowMonday    UpdateDBAASServiceMysqlRequestMaintenanceDow = "monday"
	UpdateDBAASServiceMysqlRequestMaintenanceDowThursday  UpdateDBAASServiceMysqlRequestMaintenanceDow = "thursday"
)

type UpdateDBAASServiceMysqlRequestMigration

type UpdateDBAASServiceMysqlRequestMigration struct {
	// Database name for bootstrapping the initial connection
	Dbname string `json:"dbname,omitempty" validate:"omitempty,gte=1,lte=63"`
	// Hostname or IP address of the server where to migrate data from
	Host string `json:"host" validate:"required,gte=1,lte=255"`
	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
	IgnoreDbs string               `json:"ignore-dbs,omitempty" validate:"omitempty,gte=1,lte=2048"`
	Method    *EnumMigrationMethod `json:"method,omitempty"`
	// Password for authentication with the server where to migrate data from
	Password string `json:"password,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Port number of the server where to migrate data from
	Port int64 `json:"port" validate:"required,gte=1,lte=65535"`
	// The server where to migrate data from is secured with SSL
	SSL *bool `json:"ssl,omitempty"`
	// User name for authentication with the server where to migrate data from
	Username string `json:"username,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Migrate data from existing server

type UpdateDBAASServiceOpensearchRequest

type UpdateDBAASServiceOpensearchRequest struct {
	// Allows you to create glob style patterns and set a max number of indexes matching this pattern you want to keep. Creating indexes exceeding this value will cause the oldest one to get deleted. You could for example create a pattern looking like 'logs.?' and then create index logs.1, logs.2 etc, it will delete logs.1 once you create logs.6. Do note 'logs.?' does not apply to logs.10. Note: Setting max_index_count to 0 will do nothing and the pattern gets ignored.
	IndexPatterns []UpdateDBAASServiceOpensearchRequestIndexPatterns `json:"index-patterns,omitempty"`
	// Template settings for all new indexes
	IndexTemplate *UpdateDBAASServiceOpensearchRequestIndexTemplate `json:"index-template,omitempty"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Aiven automation resets index.refresh_interval to default value for every index to be sure that indices are always visible to search. If it doesn't fit your case, you can disable this by setting up this flag to true.
	KeepIndexRefreshInterval *bool `json:"keep-index-refresh-interval,omitempty"`
	// Automatic maintenance settings
	Maintenance *UpdateDBAASServiceOpensearchRequestMaintenance `json:"maintenance,omitempty"`
	// Maximum number of indexes to keep before deleting the oldest one
	MaxIndexCount int64 `json:"max-index-count,omitempty" validate:"omitempty,gte=0"`
	// OpenSearch Dashboards settings
	OpensearchDashboards *UpdateDBAASServiceOpensearchRequestOpensearchDashboards `json:"opensearch-dashboards,omitempty"`
	// OpenSearch settings
	OpensearchSettings JSONSchemaOpensearch `json:"opensearch-settings,omitempty"`
	// Subscription plan
	Plan string `json:"plan,omitempty" validate:"omitempty,gte=1,lte=128"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
	// Version
	Version string `json:"version,omitempty"`
}

type UpdateDBAASServiceOpensearchRequestIndexPatterns

type UpdateDBAASServiceOpensearchRequestIndexPatterns struct {
	// Maximum number of indexes to keep
	MaxIndexCount int64 `json:"max-index-count,omitempty" validate:"omitempty,gte=0"`
	// fnmatch pattern
	Pattern string `json:"pattern,omitempty" validate:"omitempty,lte=1024"`
	// Deletion sorting algorithm
	SortingAlgorithm UpdateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm `json:"sorting-algorithm,omitempty"`
}

type UpdateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm

type UpdateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm string
const (
	UpdateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithmAlphabetical UpdateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm = "alphabetical"
	UpdateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithmCreationDate UpdateDBAASServiceOpensearchRequestIndexPatternsSortingAlgorithm = "creation_date"
)

type UpdateDBAASServiceOpensearchRequestIndexTemplate

type UpdateDBAASServiceOpensearchRequestIndexTemplate struct {
	// The maximum number of nested JSON objects that a single document can contain across all nested types. This limit helps to prevent out of memory errors when a document contains too many nested objects. Default is 10000.
	MappingNestedObjectsLimit int64 `json:"mapping-nested-objects-limit,omitempty" validate:"omitempty,gte=0,lte=100000"`
	// The number of replicas each primary shard has.
	NumberOfReplicas int64 `json:"number-of-replicas,omitempty" validate:"omitempty,gte=0,lte=29"`
	// The number of primary shards that an index should have.
	NumberOfShards int64 `json:"number-of-shards,omitempty" validate:"omitempty,gte=1,lte=1024"`
}

Template settings for all new indexes

type UpdateDBAASServiceOpensearchRequestMaintenance

type UpdateDBAASServiceOpensearchRequestMaintenance struct {
	// Day of week for installing updates
	Dow UpdateDBAASServiceOpensearchRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type UpdateDBAASServiceOpensearchRequestMaintenanceDow

type UpdateDBAASServiceOpensearchRequestMaintenanceDow string
const (
	UpdateDBAASServiceOpensearchRequestMaintenanceDowSaturday  UpdateDBAASServiceOpensearchRequestMaintenanceDow = "saturday"
	UpdateDBAASServiceOpensearchRequestMaintenanceDowTuesday   UpdateDBAASServiceOpensearchRequestMaintenanceDow = "tuesday"
	UpdateDBAASServiceOpensearchRequestMaintenanceDowNever     UpdateDBAASServiceOpensearchRequestMaintenanceDow = "never"
	UpdateDBAASServiceOpensearchRequestMaintenanceDowWednesday UpdateDBAASServiceOpensearchRequestMaintenanceDow = "wednesday"
	UpdateDBAASServiceOpensearchRequestMaintenanceDowSunday    UpdateDBAASServiceOpensearchRequestMaintenanceDow = "sunday"
	UpdateDBAASServiceOpensearchRequestMaintenanceDowFriday    UpdateDBAASServiceOpensearchRequestMaintenanceDow = "friday"
	UpdateDBAASServiceOpensearchRequestMaintenanceDowMonday    UpdateDBAASServiceOpensearchRequestMaintenanceDow = "monday"
	UpdateDBAASServiceOpensearchRequestMaintenanceDowThursday  UpdateDBAASServiceOpensearchRequestMaintenanceDow = "thursday"
)

type UpdateDBAASServiceOpensearchRequestOpensearchDashboards

type UpdateDBAASServiceOpensearchRequestOpensearchDashboards struct {
	// Enable or disable OpenSearch Dashboards (default: true)
	Enabled *bool `json:"enabled,omitempty"`
	// Limits the maximum amount of memory (in MiB) the OpenSearch Dashboards process can use. This sets the max_old_space_size option of the nodejs running the OpenSearch Dashboards. Note: the memory reserved by OpenSearch Dashboards is not available for OpenSearch. (default: 128)
	MaxOldSpaceSize int64 `json:"max-old-space-size,omitempty" validate:"omitempty,gte=64,lte=1024"`
	// Timeout in milliseconds for requests made by OpenSearch Dashboards towards OpenSearch (default: 30000)
	OpensearchRequestTimeout int64 `json:"opensearch-request-timeout,omitempty" validate:"omitempty,gte=5000,lte=120000"`
}

OpenSearch Dashboards settings

type UpdateDBAASServicePGRequest

type UpdateDBAASServicePGRequest struct {
	BackupSchedule *UpdateDBAASServicePGRequestBackupSchedule `json:"backup-schedule,omitempty"`
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *UpdateDBAASServicePGRequestMaintenance `json:"maintenance,omitempty"`
	// Migrate data from existing server
	Migration *UpdateDBAASServicePGRequestMigration `json:"migration,omitempty"`
	// postgresql.conf configuration values
	PGSettings JSONSchemaPG `json:"pg-settings,omitempty"`
	// PGBouncer connection pooling settings
	PgbouncerSettings JSONSchemaPgbouncer `json:"pgbouncer-settings,omitempty"`
	// PGLookout settings
	PglookoutSettings JSONSchemaPglookout `json:"pglookout-settings,omitempty"`
	// Subscription plan
	Plan string `json:"plan,omitempty" validate:"omitempty,gte=1,lte=128"`
	// Percentage of total RAM that the database server uses for shared memory buffers. Valid range is 20-60 (float), which corresponds to 20% - 60%. This setting adjusts the shared_buffers configuration value.
	SharedBuffersPercentage int64                         `json:"shared-buffers-percentage,omitempty" validate:"omitempty,gte=20,lte=60"`
	SynchronousReplication  *EnumPGSynchronousReplication `json:"synchronous-replication,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
	// TimescaleDB extension configuration values
	TimescaledbSettings JSONSchemaTimescaledb `json:"timescaledb-settings,omitempty"`
	Variant             *EnumPGVariant        `json:"variant,omitempty"`
	// Version
	Version string `json:"version,omitempty"`
	// Sets the maximum amount of memory to be used by a query operation (such as a sort or hash table) before writing to temporary disk files, in MB. Default is 1MB + 0.075% of total RAM (up to 32MB).
	WorkMem int64 `json:"work-mem,omitempty" validate:"omitempty,gte=1,lte=1024"`
}

type UpdateDBAASServicePGRequestBackupSchedule

type UpdateDBAASServicePGRequestBackupSchedule struct {
	// The hour of day (in UTC) when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupHour int64 `json:"backup-hour,omitempty" validate:"omitempty,gte=0,lte=23"`
	// The minute of an hour when backup for the service is started. New backup is only started if previous backup has already completed.
	BackupMinute int64 `json:"backup-minute,omitempty" validate:"omitempty,gte=0,lte=59"`
}

type UpdateDBAASServicePGRequestMaintenance

type UpdateDBAASServicePGRequestMaintenance struct {
	// Day of week for installing updates
	Dow UpdateDBAASServicePGRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type UpdateDBAASServicePGRequestMaintenanceDow

type UpdateDBAASServicePGRequestMaintenanceDow string
const (
	UpdateDBAASServicePGRequestMaintenanceDowSaturday  UpdateDBAASServicePGRequestMaintenanceDow = "saturday"
	UpdateDBAASServicePGRequestMaintenanceDowTuesday   UpdateDBAASServicePGRequestMaintenanceDow = "tuesday"
	UpdateDBAASServicePGRequestMaintenanceDowNever     UpdateDBAASServicePGRequestMaintenanceDow = "never"
	UpdateDBAASServicePGRequestMaintenanceDowWednesday UpdateDBAASServicePGRequestMaintenanceDow = "wednesday"
	UpdateDBAASServicePGRequestMaintenanceDowSunday    UpdateDBAASServicePGRequestMaintenanceDow = "sunday"
	UpdateDBAASServicePGRequestMaintenanceDowFriday    UpdateDBAASServicePGRequestMaintenanceDow = "friday"
	UpdateDBAASServicePGRequestMaintenanceDowMonday    UpdateDBAASServicePGRequestMaintenanceDow = "monday"
	UpdateDBAASServicePGRequestMaintenanceDowThursday  UpdateDBAASServicePGRequestMaintenanceDow = "thursday"
)

type UpdateDBAASServicePGRequestMigration

type UpdateDBAASServicePGRequestMigration struct {
	// Database name for bootstrapping the initial connection
	Dbname string `json:"dbname,omitempty" validate:"omitempty,gte=1,lte=63"`
	// Hostname or IP address of the server where to migrate data from
	Host string `json:"host" validate:"required,gte=1,lte=255"`
	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
	IgnoreDbs string               `json:"ignore-dbs,omitempty" validate:"omitempty,gte=1,lte=2048"`
	Method    *EnumMigrationMethod `json:"method,omitempty"`
	// Password for authentication with the server where to migrate data from
	Password string `json:"password,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Port number of the server where to migrate data from
	Port int64 `json:"port" validate:"required,gte=1,lte=65535"`
	// The server where to migrate data from is secured with SSL
	SSL *bool `json:"ssl,omitempty"`
	// User name for authentication with the server where to migrate data from
	Username string `json:"username,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Migrate data from existing server

type UpdateDBAASServiceRedisRequest

type UpdateDBAASServiceRedisRequest struct {
	// Allow incoming connections from CIDR address block, e.g. '10.20.0.0/16'
	IPFilter []string `json:"ip-filter,omitempty"`
	// Automatic maintenance settings
	Maintenance *UpdateDBAASServiceRedisRequestMaintenance `json:"maintenance,omitempty"`
	// Migrate data from existing server
	Migration *UpdateDBAASServiceRedisRequestMigration `json:"migration,omitempty"`
	// Subscription plan
	Plan string `json:"plan,omitempty" validate:"omitempty,gte=1,lte=128"`
	// Redis settings
	RedisSettings *JSONSchemaRedis `json:"redis-settings,omitempty"`
	// Service is protected against termination and powering off
	TerminationProtection *bool `json:"termination-protection,omitempty"`
}

type UpdateDBAASServiceRedisRequestMaintenance

type UpdateDBAASServiceRedisRequestMaintenance struct {
	// Day of week for installing updates
	Dow UpdateDBAASServiceRedisRequestMaintenanceDow `json:"dow" validate:"required"`
	// Time for installing updates, UTC
	Time string `json:"time" validate:"required,gte=8,lte=8"`
}

Automatic maintenance settings

type UpdateDBAASServiceRedisRequestMaintenanceDow

type UpdateDBAASServiceRedisRequestMaintenanceDow string
const (
	UpdateDBAASServiceRedisRequestMaintenanceDowSaturday  UpdateDBAASServiceRedisRequestMaintenanceDow = "saturday"
	UpdateDBAASServiceRedisRequestMaintenanceDowTuesday   UpdateDBAASServiceRedisRequestMaintenanceDow = "tuesday"
	UpdateDBAASServiceRedisRequestMaintenanceDowNever     UpdateDBAASServiceRedisRequestMaintenanceDow = "never"
	UpdateDBAASServiceRedisRequestMaintenanceDowWednesday UpdateDBAASServiceRedisRequestMaintenanceDow = "wednesday"
	UpdateDBAASServiceRedisRequestMaintenanceDowSunday    UpdateDBAASServiceRedisRequestMaintenanceDow = "sunday"
	UpdateDBAASServiceRedisRequestMaintenanceDowFriday    UpdateDBAASServiceRedisRequestMaintenanceDow = "friday"
	UpdateDBAASServiceRedisRequestMaintenanceDowMonday    UpdateDBAASServiceRedisRequestMaintenanceDow = "monday"
	UpdateDBAASServiceRedisRequestMaintenanceDowThursday  UpdateDBAASServiceRedisRequestMaintenanceDow = "thursday"
)

type UpdateDBAASServiceRedisRequestMigration

type UpdateDBAASServiceRedisRequestMigration struct {
	// Database name for bootstrapping the initial connection
	Dbname string `json:"dbname,omitempty" validate:"omitempty,gte=1,lte=63"`
	// Hostname or IP address of the server where to migrate data from
	Host string `json:"host" validate:"required,gte=1,lte=255"`
	// Comma-separated list of databases, which should be ignored during migration (supported by MySQL only at the moment)
	IgnoreDbs string               `json:"ignore-dbs,omitempty" validate:"omitempty,gte=1,lte=2048"`
	Method    *EnumMigrationMethod `json:"method,omitempty"`
	// Password for authentication with the server where to migrate data from
	Password string `json:"password,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Port number of the server where to migrate data from
	Port int64 `json:"port" validate:"required,gte=1,lte=65535"`
	// The server where to migrate data from is secured with SSL
	SSL *bool `json:"ssl,omitempty"`
	// User name for authentication with the server where to migrate data from
	Username string `json:"username,omitempty" validate:"omitempty,gte=1,lte=255"`
}

Migrate data from existing server

type UpdateDNSDomainRecordRequest

type UpdateDNSDomainRecordRequest struct {
	// DNS domain record content
	Content string `json:"content,omitempty"`
	// DNS domain record name
	Name string `json:"name,omitempty"`
	// DNS domain record priority
	Priority int64 `json:"priority,omitempty" validate:"omitempty,gt=0"`
	// DNS domain record TTL
	Ttl int64 `json:"ttl,omitempty" validate:"omitempty,gt=0"`
}

type UpdateElasticIPRequest

type UpdateElasticIPRequest struct {
	// Elastic IP description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Elastic IP address healthcheck
	Healthcheck *ElasticIPHealthcheck `json:"healthcheck,omitempty"`
	Labels      Labels                `json:"labels,omitempty"`
}

type UpdateIAMRoleRequest

type UpdateIAMRoleRequest struct {
	// IAM Role description
	Description string `json:"description,omitempty" validate:"omitempty,gte=1,lte=255"`
	Labels      Labels `json:"labels,omitempty"`
	// IAM Role permissions
	Permissions []string `json:"permissions,omitempty"`
}

type UpdateInstancePoolRequest

type UpdateInstancePoolRequest struct {
	// Instance Pool Anti-affinity Groups
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
	// Deploy target
	DeployTarget *DeployTarget `json:"deploy-target,omitempty"`
	// Instance Pool description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Instances disk size in GB
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=10,lte=50000"`
	// Instances Elastic IPs
	ElasticIPS []ElasticIP `json:"elastic-ips,omitempty"`
	// Prefix to apply to Instances names (default: pool)
	InstancePrefix *string `json:"instance-prefix,omitempty"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type,omitempty"`
	// Enable IPv6. DEPRECATED: use `public-ip-assignments`.
	Ipv6Enabled *bool  `json:"ipv6-enabled,omitempty"`
	Labels      Labels `json:"labels,omitempty"`
	// Minimum number of running Instances
	MinAvailable *int64 `json:"min-available,omitempty" validate:"omitempty,gte=0"`
	// Instance Pool name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Instance Pool Private Networks
	PrivateNetworks    []PrivateNetwork    `json:"private-networks,omitempty"`
	PublicIPAssignment *PublicIPAssignment `json:"public-ip-assignment,omitempty"`
	// Instance Pool Security Groups
	SecurityGroups []SecurityGroup `json:"security-groups,omitempty"`
	// SSH key
	SSHKey *SSHKey `json:"ssh-key,omitempty"`
	// Instances SSH keys
	SSHKeys []SSHKey `json:"ssh-keys,omitempty"`
	// Instance template
	Template *Template `json:"template,omitempty"`
	// Instances Cloud-init user-data
	UserData *string `json:"user-data,omitempty" validate:"omitempty,gte=1"`
}

type UpdateInstanceRequest

type UpdateInstanceRequest struct {
	Labels Labels `json:"labels,omitempty"`
	// Instance name
	Name               string              `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	PublicIPAssignment *PublicIPAssignment `json:"public-ip-assignment,omitempty"`
	// Instance Cloud-init user-data
	UserData string `json:"user-data,omitempty" validate:"omitempty,gte=1,lte=32768"`
}

type UpdateLoadBalancerRequest

type UpdateLoadBalancerRequest struct {
	// Load Balancer description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	Labels      Labels `json:"labels,omitempty"`
	// Load Balancer name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
}

type UpdateLoadBalancerServiceRequest

type UpdateLoadBalancerServiceRequest struct {
	// Load Balancer Service description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Load Balancer Service healthcheck
	Healthcheck *LoadBalancerServiceHealthcheck `json:"healthcheck,omitempty"`
	// Load Balancer Service name
	Name string `json:"name,omitempty" validate:"omitempty,lte=255"`
	// Port exposed on the Load Balancer's public IP
	Port int64 `json:"port,omitempty" validate:"omitempty,gte=1,lte=65535"`
	// Network traffic protocol
	Protocol UpdateLoadBalancerServiceRequestProtocol `json:"protocol,omitempty"`
	// Load balancing strategy
	Strategy UpdateLoadBalancerServiceRequestStrategy `json:"strategy,omitempty"`
	// Port on which the network traffic will be forwarded to on the receiving instance
	TargetPort int64 `json:"target-port,omitempty" validate:"omitempty,gte=1,lte=65535"`
}

type UpdateLoadBalancerServiceRequestProtocol

type UpdateLoadBalancerServiceRequestProtocol string
const (
	UpdateLoadBalancerServiceRequestProtocolTCP UpdateLoadBalancerServiceRequestProtocol = "tcp"
	UpdateLoadBalancerServiceRequestProtocolUDP UpdateLoadBalancerServiceRequestProtocol = "udp"
)

type UpdateLoadBalancerServiceRequestStrategy

type UpdateLoadBalancerServiceRequestStrategy string
const (
	UpdateLoadBalancerServiceRequestStrategyRoundRobin UpdateLoadBalancerServiceRequestStrategy = "round-robin"
	UpdateLoadBalancerServiceRequestStrategySourceHash UpdateLoadBalancerServiceRequestStrategy = "source-hash"
)

type UpdatePrivateNetworkInstanceIPRequest

type UpdatePrivateNetworkInstanceIPRequest struct {
	Instance *UpdatePrivateNetworkInstanceIPRequestInstance `json:"instance,omitempty"`
	// Static IP address lease for the corresponding network interface
	IP net.IP `json:"ip,omitempty"`
}

type UpdatePrivateNetworkInstanceIPRequestInstance

type UpdatePrivateNetworkInstanceIPRequestInstance struct {
	// Instance ID
	ID UUID `json:"id" validate:"required"`
}

type UpdatePrivateNetworkRequest

type UpdatePrivateNetworkRequest struct {
	// Private Network description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Private Network end IP address
	EndIP  net.IP `json:"end-ip,omitempty"`
	Labels Labels `json:"labels,omitempty"`
	// Private Network name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Private Network netmask
	Netmask net.IP `json:"netmask,omitempty"`
	// Private Network start IP address
	StartIP net.IP `json:"start-ip,omitempty"`
}

type UpdateReverseDNSElasticIPRequest

type UpdateReverseDNSElasticIPRequest struct {
	DomainName string `json:"domain-name,omitempty" validate:"omitempty,gte=1,lte=253"`
}

type UpdateReverseDNSInstanceRequest

type UpdateReverseDNSInstanceRequest struct {
	DomainName string `json:"domain-name,omitempty" validate:"omitempty,gte=1,lte=253"`
}

type UpdateSKSClusterRequest

type UpdateSKSClusterRequest struct {
	// Cluster addons
	Addons []string `json:"addons,omitempty"`
	// Enable auto upgrade of the control plane to the latest patch version available
	AutoUpgrade *bool `json:"auto-upgrade,omitempty"`
	// Cluster description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	Labels      Labels `json:"labels,omitempty"`
	// Cluster name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// SKS Cluster OpenID config map
	Oidc *SKSOidc `json:"oidc,omitempty"`
}

type UpdateSKSNodepoolRequest

type UpdateSKSNodepoolRequest struct {
	// Nodepool Anti-affinity Groups
	AntiAffinityGroups []AntiAffinityGroup `json:"anti-affinity-groups,omitempty"`
	// Deploy target
	DeployTarget *DeployTarget `json:"deploy-target,omitempty"`
	// Nodepool description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Nodepool instances disk size in GB
	DiskSize int64 `json:"disk-size,omitempty" validate:"omitempty,gte=20,lte=50000"`
	// Prefix to apply to managed instances names (default: pool)
	InstancePrefix string `json:"instance-prefix,omitempty" validate:"omitempty,gte=1,lte=30"`
	// Compute instance type
	InstanceType *InstanceType `json:"instance-type,omitempty"`
	Labels       Labels        `json:"labels,omitempty"`
	// Nodepool name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
	// Nodepool Private Networks
	PrivateNetworks []PrivateNetwork `json:"private-networks,omitempty"`
	// Nodepool Security Groups
	SecurityGroups []SecurityGroup   `json:"security-groups,omitempty"`
	Taints         SKSNodepoolTaints `json:"taints,omitempty"`
}

type UpdateTemplateRequest

type UpdateTemplateRequest struct {
	// Template Description
	Description string `json:"description,omitempty" validate:"omitempty,lte=255"`
	// Template name
	Name string `json:"name,omitempty" validate:"omitempty,gte=1,lte=255"`
}

type UpgradeSKSClusterRequest

type UpgradeSKSClusterRequest struct {
	// Control plane Kubernetes version
	Version string `json:"version" validate:"required"`
}

type Zone

type Zone struct {
	Name *ZoneName `json:"name,omitempty"`
}

Zone

type ZoneName

type ZoneName string
const (
	ZoneNameCHDk2  ZoneName = "ch-dk-2"
	ZoneNameDEMuc1 ZoneName = "de-muc-1"
	ZoneNameCHGva2 ZoneName = "ch-gva-2"
	ZoneNameATVie1 ZoneName = "at-vie-1"
	ZoneNameDEFra1 ZoneName = "de-fra-1"
	ZoneNameBGSof1 ZoneName = "bg-sof-1"
	ZoneNameATVie2 ZoneName = "at-vie-2"
)

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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