Documentation
¶
Index ¶
- func AuthenticationTypeChoices() []string
- func DatasetNameTypeChoices() []string
- func DowTypeAltChoices() []string
- func DowTypeChoices() []string
- func IntegrationStatusTypeChoices() []string
- func IntegrationTypeChoices() []string
- func KafkaAuthenticationMethodTypeChoices() []string
- func KafkaSslCaTypeChoices() []string
- func LevelTypeChoices() []string
- func LikelyErrorCauseTypeChoices() []string
- func MasterLinkStatusTypeChoices() []string
- func MethodTypeAltChoices() []string
- func MethodTypeChoices() []string
- func MigrationDetailStatusTypeChoices() []string
- func MigrationStatusTypeChoices() []string
- func NodeStateTypeChoices() []string
- func PeriodTypeChoices() []string
- func PermissionTypeAltChoices() []string
- func PermissionTypeChoices() []string
- func PhaseTypeChoices() []string
- func PoolModeTypeChoices() []string
- func RecoveryModeTypeChoices() []string
- func RoleTypeChoices() []string
- func RouteTypeChoices() []string
- func ServiceNotificationTypeChoices() []string
- func ServiceStateTypeChoices() []string
- func ServiceVersionStateTypeChoices() []string
- func SortOrderTypeChoices() []string
- func TargetVersionTypeChoices() []string
- func TaskTypeChoices() []string
- func TopicStateTypeChoices() []string
- func UnitTypeChoices() []string
- func UsageTypeChoices() []string
- type AccessControlOut
- type AclOut
- type AdditionalRegionOut
- type AggregatorOut
- type AlertOut
- type AuthenticationType
- type BackupConfigOut
- type BackupOut
- type CassandraOut
- type ClickhouseOut
- type ComponentOut
- type ConnectionPoolOut
- type DatabaseOut
- type DatasetImportIn
- type DatasetNameType
- type DbOut
- type DowType
- type DowTypeAlt
- type DragonflyOut
- type ElasticsearchOut
- type FlinkOut
- type GrafanaOut
- type Handler
- type InfluxdbOut
- type IntegrationStatusOut
- type IntegrationStatusType
- type IntegrationType
- type KafkaAuthenticationMethodType
- type KafkaConnectOut
- type KafkaMirrormakerOut
- type KafkaOut
- type KafkaSslCaType
- type LevelType
- type LikelyErrorCauseType
- type ListProjectServiceTypesOut
- type ListPublicServiceTypesOut
- type LogOut
- type MaintenanceIn
- type MaintenanceOut
- type MasterLinkStatusType
- type MetadataOut
- type MethodType
- type MethodTypeAlt
- type MigrationCheckIn
- type MigrationDetailOut
- type MigrationDetailStatusType
- type MigrationOut
- type MigrationStatusType
- type MysqlOut
- type NodeStateOut
- type NodeStateType
- type OpensearchOut
- type PeriodType
- type PermissionType
- type PermissionTypeAlt
- type PgOut
- type PhaseType
- type PoolModeType
- type ProgressUpdateOut
- type ProjectGetServiceLogsIn
- type ProjectGetServiceLogsOut
- type ProjectServiceTagsReplaceIn
- type ProjectServiceTagsUpdateIn
- type QueryOut
- type RecoveryModeType
- type RedisOut
- type ResultCodeOut
- type RoleType
- type RouteType
- type SchemaRegistryAclOut
- type ServiceBackupToAnotherRegionReportIn
- type ServiceCancelQueryIn
- type ServiceCreateIn
- type ServiceCreateOut
- type ServiceDatabaseCreateIn
- type ServiceGetMigrationStatusOut
- type ServiceGetOut
- type ServiceHandler
- func (h *ServiceHandler) ListProjectServiceTypes(ctx context.Context, project string) (*ListProjectServiceTypesOut, error)
- func (h *ServiceHandler) ListPublicServiceTypes(ctx context.Context) (*ListPublicServiceTypesOut, error)
- func (h *ServiceHandler) ListServiceVersions(ctx context.Context) ([]ServiceVersionOut, error)
- func (h *ServiceHandler) ProjectGetServiceLogs(ctx context.Context, project string, serviceName string, ...) (*ProjectGetServiceLogsOut, error)
- func (h *ServiceHandler) ProjectServiceTagsList(ctx context.Context, project string, serviceName string) (map[string]string, error)
- func (h *ServiceHandler) ProjectServiceTagsReplace(ctx context.Context, project string, serviceName string, ...) error
- func (h *ServiceHandler) ProjectServiceTagsUpdate(ctx context.Context, project string, serviceName string, ...) error
- func (h *ServiceHandler) ServiceAlertsList(ctx context.Context, project string, serviceName string) ([]AlertOut, error)
- func (h *ServiceHandler) ServiceBackupToAnotherRegionReport(ctx context.Context, project string, serviceName string, ...) (map[string]any, error)
- func (h *ServiceHandler) ServiceBackupsGet(ctx context.Context, project string, serviceName string) ([]BackupOut, error)
- func (h *ServiceHandler) ServiceCancelQuery(ctx context.Context, project string, serviceName string, ...) (bool, error)
- func (h *ServiceHandler) ServiceCreate(ctx context.Context, project string, in *ServiceCreateIn) (*ServiceCreateOut, error)
- func (h *ServiceHandler) ServiceDatabaseCreate(ctx context.Context, project string, serviceName string, ...) error
- func (h *ServiceHandler) ServiceDatabaseDelete(ctx context.Context, project string, serviceName string, dbname string) error
- func (h *ServiceHandler) ServiceDatabaseList(ctx context.Context, project string, serviceName string) ([]DatabaseOut, error)
- func (h *ServiceHandler) ServiceDelete(ctx context.Context, project string, serviceName string) error
- func (h *ServiceHandler) ServiceEnableWrites(ctx context.Context, project string, serviceName string) (*string, error)
- func (h *ServiceHandler) ServiceGet(ctx context.Context, project string, serviceName string) (*ServiceGetOut, error)
- func (h *ServiceHandler) ServiceGetMigrationStatus(ctx context.Context, project string, serviceName string) (*ServiceGetMigrationStatusOut, error)
- func (h *ServiceHandler) ServiceInfluxDBStats(ctx context.Context, project string, serviceName string) (map[string]any, error)
- func (h *ServiceHandler) ServiceKmsGetCA(ctx context.Context, project string, serviceName string, caName string) (string, error)
- func (h *ServiceHandler) ServiceKmsGetKeypair(ctx context.Context, project string, serviceName string, keypairName string) (*ServiceKmsGetKeypairOut, error)
- func (h *ServiceHandler) ServiceList(ctx context.Context, project string) ([]ServiceOut, error)
- func (h *ServiceHandler) ServiceMaintenanceStart(ctx context.Context, project string, serviceName string) error
- func (h *ServiceHandler) ServiceMetricsFetch(ctx context.Context, project string, serviceName string, ...) (map[string]any, error)
- func (h *ServiceHandler) ServiceQueryActivity(ctx context.Context, project string, serviceName string, ...) ([]QueryOut, error)
- func (h *ServiceHandler) ServiceQueryStatisticsReset(ctx context.Context, project string, serviceName string) ([]map[string]any, error)
- func (h *ServiceHandler) ServiceTaskCreate(ctx context.Context, project string, serviceName string, ...) (*ServiceTaskCreateOut, error)
- func (h *ServiceHandler) ServiceTaskGet(ctx context.Context, project string, serviceName string, taskId string) (*ServiceTaskGetOut, error)
- func (h *ServiceHandler) ServiceUpdate(ctx context.Context, project string, serviceName string, in *ServiceUpdateIn) (*ServiceUpdateOut, error)
- type ServiceIntegrationIn
- type ServiceIntegrationOut
- type ServiceKmsGetKeypairOut
- type ServiceMetricsFetchIn
- type ServiceNotificationOut
- type ServiceNotificationType
- type ServiceOut
- type ServicePlanOut
- type ServiceQueryActivityIn
- type ServiceStateType
- type ServiceTaskCreateIn
- type ServiceTaskCreateOut
- type ServiceTaskGetOut
- type ServiceUpdateIn
- type ServiceUpdateOut
- type ServiceVersionOut
- type ServiceVersionStateType
- type ShardOut
- type SortOrderType
- type StateOut
- type TargetVersionType
- type TaskType
- type TechEmailIn
- type TechEmailOut
- type TopicOut
- type TopicStateType
- type UnitType
- type UpdateOut
- type UsageType
- type UserOut
- type ValkeyOut
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AuthenticationTypeChoices ¶ added in v0.3.0
func AuthenticationTypeChoices() []string
func DatasetNameTypeChoices ¶
func DatasetNameTypeChoices() []string
func DowTypeAltChoices ¶ added in v0.3.0
func DowTypeAltChoices() []string
func DowTypeChoices ¶
func DowTypeChoices() []string
func IntegrationStatusTypeChoices ¶ added in v0.3.0
func IntegrationStatusTypeChoices() []string
func IntegrationTypeChoices ¶
func IntegrationTypeChoices() []string
func KafkaAuthenticationMethodTypeChoices ¶ added in v0.3.0
func KafkaAuthenticationMethodTypeChoices() []string
func KafkaSslCaTypeChoices ¶ added in v0.11.0
func KafkaSslCaTypeChoices() []string
func LevelTypeChoices ¶ added in v0.3.0
func LevelTypeChoices() []string
func LikelyErrorCauseTypeChoices ¶ added in v0.3.0
func LikelyErrorCauseTypeChoices() []string
func MasterLinkStatusTypeChoices ¶ added in v0.3.0
func MasterLinkStatusTypeChoices() []string
func MethodTypeAltChoices ¶ added in v0.3.0
func MethodTypeAltChoices() []string
func MethodTypeChoices ¶
func MethodTypeChoices() []string
func MigrationDetailStatusTypeChoices ¶ added in v0.3.0
func MigrationDetailStatusTypeChoices() []string
func MigrationStatusTypeChoices ¶ added in v0.3.0
func MigrationStatusTypeChoices() []string
func NodeStateTypeChoices ¶ added in v0.3.0
func NodeStateTypeChoices() []string
func PeriodTypeChoices ¶
func PeriodTypeChoices() []string
func PermissionTypeAltChoices ¶ added in v0.3.0
func PermissionTypeAltChoices() []string
func PermissionTypeChoices ¶ added in v0.3.0
func PermissionTypeChoices() []string
func PhaseTypeChoices ¶ added in v0.3.0
func PhaseTypeChoices() []string
func PoolModeTypeChoices ¶ added in v0.3.0
func PoolModeTypeChoices() []string
func RecoveryModeTypeChoices ¶ added in v0.3.0
func RecoveryModeTypeChoices() []string
func RoleTypeChoices ¶ added in v0.3.0
func RoleTypeChoices() []string
func RouteTypeChoices ¶ added in v0.3.0
func RouteTypeChoices() []string
func ServiceNotificationTypeChoices ¶ added in v0.3.0
func ServiceNotificationTypeChoices() []string
func ServiceStateTypeChoices ¶ added in v0.3.0
func ServiceStateTypeChoices() []string
func ServiceVersionStateTypeChoices ¶ added in v0.3.0
func ServiceVersionStateTypeChoices() []string
func SortOrderTypeChoices ¶
func SortOrderTypeChoices() []string
func TargetVersionTypeChoices ¶
func TargetVersionTypeChoices() []string
func TaskTypeChoices ¶
func TaskTypeChoices() []string
func TopicStateTypeChoices ¶ added in v0.3.0
func TopicStateTypeChoices() []string
func UnitTypeChoices ¶ added in v0.3.0
func UnitTypeChoices() []string
func UsageTypeChoices ¶ added in v0.3.0
func UsageTypeChoices() []string
Types ¶
type AccessControlOut ¶
type AccessControlOut struct {
DragonflyAclCategories []string `json:"dragonfly_acl_categories,omitempty"` // Command category rules
DragonflyAclCommands []string `json:"dragonfly_acl_commands,omitempty"` // Rules for individual commands
DragonflyAclKeys []string `json:"dragonfly_acl_keys,omitempty"` // Key access rules
M3Group *string `json:"m3_group,omitempty"` // M3 access group to associate users with
PgAllowReplication *bool `json:"pg_allow_replication,omitempty"` // Enable REPLICATION role option
RedisAclCategories []string `json:"redis_acl_categories,omitempty"` // Command category rules
RedisAclChannels []string `json:"redis_acl_channels,omitempty"` // Permitted pub/sub channel patterns. Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).
RedisAclCommands []string `json:"redis_acl_commands,omitempty"` // Rules for individual commands
RedisAclKeys []string `json:"redis_acl_keys,omitempty"` // Key access rules
ValkeyAclCategories []string `json:"valkey_acl_categories,omitempty"` // Command category rules
ValkeyAclChannels []string `json:"valkey_acl_channels,omitempty"` // Permitted pub/sub channel patterns. Glob-style patterns defining which pub/sub channels can be accessed. If array is not defined, the default policy is used (allchannels).
ValkeyAclCommands []string `json:"valkey_acl_commands,omitempty"` // Rules for individual commands
ValkeyAclKeys []string `json:"valkey_acl_keys,omitempty"` // Key access rules
}
AccessControlOut Service specific access controls for user. Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.
type AclOut ¶
type AclOut struct {
Id *string `json:"id,omitempty"` // ID
Permission PermissionType `json:"permission"` // Kafka permission
Topic string `json:"topic"` // Topic name pattern
Username string `json:"username"`
}
type AdditionalRegionOut ¶
type AdditionalRegionOut struct {
Cloud string `json:"cloud"` // Target cloud
PauseReason *string `json:"pause_reason,omitempty"` // Reason for pausing the backup synchronization
Paused *bool `json:"paused,omitempty"` // Indicates additional backup synchronization is paused
Region *string `json:"region,omitempty"` // Cloud storage region name
}
type AggregatorOut ¶ added in v0.3.0
type AggregatorOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
AggregatorOut Service type information
type AlertOut ¶
type AlertOut struct {
CreateTime time.Time `json:"create_time"` // Event creation timestamp (ISO 8601)
Event string `json:"event"` // Name of the alerting event
NodeName *string `json:"node_name,omitempty"` // Name of the service node
ProjectName string `json:"project_name"` // Project name
ServiceName *string `json:"service_name,omitempty"` // Service name
ServiceType *string `json:"service_type,omitempty"` // Service type code
Severity string `json:"severity"` // Severity of the event
}
type AuthenticationType ¶ added in v0.3.0
type AuthenticationType string
const ( AuthenticationTypeNull AuthenticationType = "null" AuthenticationTypeCachingSha2Password AuthenticationType = "caching_sha2_password" AuthenticationTypeMysqlNativePassword AuthenticationType = "mysql_native_password" )
type BackupConfigOut ¶
type BackupConfigOut struct {
FrequentIntervalMinutes *int `json:"frequent_interval_minutes,omitempty"` // Interval of taking a frequent backup in service types supporting different backup schedules
FrequentOldestAgeMinutes *int `json:"frequent_oldest_age_minutes,omitempty"` // Maximum age of the oldest frequent backup in service types supporting different backup schedules
InfrequentIntervalMinutes *int `json:"infrequent_interval_minutes,omitempty"` // Interval of taking an infrequent backup in service types supporting different backup schedules
InfrequentOldestAgeMinutes *int `json:"infrequent_oldest_age_minutes,omitempty"` // Maximum age of the oldest infrequent backup in service types supporting different backup schedules
Interval int `json:"interval"` // 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.
MaxCount int `json:"max_count"` // Maximum number of backups to keep. Zero when no backups are created.
RecoveryMode RecoveryModeType `json:"recovery_mode"` // Mechanism how backups can be restored. 'basic' 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.
}
BackupConfigOut Backup configuration for this service plan
type BackupOut ¶
type BackupOut struct {
AdditionalRegions []AdditionalRegionOut `json:"additional_regions,omitempty"` // Additional backup regions, if available
BackupName string `json:"backup_name"` // Internal name of this backup
BackupTime time.Time `json:"backup_time"` // Backup timestamp (ISO 8601)
DataSize int `json:"data_size"` // Backup's original size before compression
StorageLocation *string `json:"storage_location,omitempty"` // Location where this backup is stored
}
type CassandraOut ¶ added in v0.3.0
type CassandraOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
CassandraOut Service type information
type ClickhouseOut ¶ added in v0.3.0
type ClickhouseOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
ClickhouseOut Service type information
type ComponentOut ¶
type ComponentOut struct {
Component string `json:"component"` // Service component name
Host string `json:"host"` // DNS name for connecting to the service component
KafkaAuthenticationMethod KafkaAuthenticationMethodType `json:"kafka_authentication_method,omitempty"` // Kafka authentication method. This is a value specific to the 'kafka' service component
KafkaSslCa KafkaSslCaType `json:"kafka_ssl_ca,omitempty"` // Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component.
Path *string `json:"path,omitempty"` // Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint)
Port int `json:"port"` // Port number for connecting to the service component
PrivatelinkConnectionId *string `json:"privatelink_connection_id,omitempty"` // Privatelink connection ID
Route RouteType `json:"route"` // Network access route
Ssl *bool `json:"ssl,omitempty"` // Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption.
Usage UsageType `json:"usage"` // DNS usage name
}
type ConnectionPoolOut ¶
type ConnectionPoolOut struct {
ConnectionUri string `json:"connection_uri"` // Connection URI for the DB pool
Database string `json:"database"` // Database name
PoolMode PoolModeType `json:"pool_mode"` // PGBouncer pool mode
PoolName string `json:"pool_name"` // Connection pool name
PoolSize int `json:"pool_size"` // Size of PGBouncer's PostgreSQL side connection pool
Username *string `json:"username,omitempty"` // Pool username
}
type DatabaseOut ¶
type DatabaseOut struct {
DatabaseName string `json:"database_name"` // Database name or ID
}
type DatasetImportIn ¶
type DatasetImportIn struct {
DatasetName DatasetNameType `json:"dataset_name"` // Name of the dataset to import to PostgreSQL database. Used with dataset_import.
}
DatasetImportIn Payload to be used with dataset_import
type DatasetNameType ¶
type DatasetNameType string
const (
DatasetNameTypePagila DatasetNameType = "pagila"
)
type DbOut ¶ added in v0.3.0
type DbOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
DbOut Service type information
type DowTypeAlt ¶ added in v0.3.0
type DowTypeAlt string
const ( DowTypeAltMonday DowTypeAlt = "monday" DowTypeAltTuesday DowTypeAlt = "tuesday" DowTypeAltWednesday DowTypeAlt = "wednesday" DowTypeAltThursday DowTypeAlt = "thursday" DowTypeAltFriday DowTypeAlt = "friday" DowTypeAltSaturday DowTypeAlt = "saturday" DowTypeAltSunday DowTypeAlt = "sunday" DowTypeAltNever DowTypeAlt = "never" )
type DragonflyOut ¶ added in v0.6.0
type DragonflyOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
DragonflyOut Service type information
type ElasticsearchOut ¶ added in v0.3.0
type ElasticsearchOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
ElasticsearchOut Service type information
type FlinkOut ¶ added in v0.3.0
type FlinkOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
FlinkOut Service type information
type GrafanaOut ¶ added in v0.3.0
type GrafanaOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
GrafanaOut Service type information
type Handler ¶
type Handler interface {
// ListProjectServiceTypes list service types for a project
// GET /v1/project/{project}/service_types
// https://api.aiven.io/doc/#tag/Service/operation/ListProjectServiceTypes
ListProjectServiceTypes(ctx context.Context, project string) (*ListProjectServiceTypesOut, error)
// ListPublicServiceTypes list publicly available service types
// GET /v1/service_types
// https://api.aiven.io/doc/#tag/Service/operation/ListPublicServiceTypes
ListPublicServiceTypes(ctx context.Context) (*ListPublicServiceTypesOut, error)
// ListServiceVersions list service versions
// GET /v1/service_versions
// https://api.aiven.io/doc/#tag/Service/operation/ListServiceVersions
ListServiceVersions(ctx context.Context) ([]ServiceVersionOut, error)
// ProjectGetServiceLogs get service log entries
// POST /v1/project/{project}/service/{service_name}/logs
// https://api.aiven.io/doc/#tag/Service/operation/ProjectGetServiceLogs
ProjectGetServiceLogs(ctx context.Context, project string, serviceName string, in *ProjectGetServiceLogsIn) (*ProjectGetServiceLogsOut, error)
// ProjectServiceTagsList list all tags attached to the service
// GET /v1/project/{project}/service/{service_name}/tags
// https://api.aiven.io/doc/#tag/Service/operation/ProjectServiceTagsList
ProjectServiceTagsList(ctx context.Context, project string, serviceName string) (map[string]string, error)
// ProjectServiceTagsReplace replace all project tags with a new set of tags, deleting old ones
// PUT /v1/project/{project}/service/{service_name}/tags
// https://api.aiven.io/doc/#tag/Service/operation/ProjectServiceTagsReplace
ProjectServiceTagsReplace(ctx context.Context, project string, serviceName string, in *ProjectServiceTagsReplaceIn) error
// ProjectServiceTagsUpdate update one or more tags, creating ones that don't exist, and deleting ones given NULL value
// PATCH /v1/project/{project}/service/{service_name}/tags
// https://api.aiven.io/doc/#tag/Service/operation/ProjectServiceTagsUpdate
ProjectServiceTagsUpdate(ctx context.Context, project string, serviceName string, in *ProjectServiceTagsUpdateIn) error
// ServiceAlertsList list active alerts for service
// GET /v1/project/{project}/service/{service_name}/alerts
// https://api.aiven.io/doc/#tag/Service/operation/ServiceAlertsList
ServiceAlertsList(ctx context.Context, project string, serviceName string) ([]AlertOut, error)
// ServiceBackupToAnotherRegionReport get service's backup to another region information
// POST /v1/project/{project}/service/{service_name}/backup_to_another_region/report
// https://api.aiven.io/doc/#tag/Service/operation/ServiceBackupToAnotherRegionReport
ServiceBackupToAnotherRegionReport(ctx context.Context, project string, serviceName string, in *ServiceBackupToAnotherRegionReportIn) (map[string]any, error)
// ServiceBackupsGet get service backup information
// GET /v1/project/{project}/service/{service_name}/backups
// https://api.aiven.io/doc/#tag/Service/operation/ServiceBackupsGet
ServiceBackupsGet(ctx context.Context, project string, serviceName string) ([]BackupOut, error)
// ServiceCancelQuery cancel specified query from service
// POST /v1/project/{project}/service/{service_name}/query/cancel
// https://api.aiven.io/doc/#tag/Service/operation/ServiceCancelQuery
ServiceCancelQuery(ctx context.Context, project string, serviceName string, in *ServiceCancelQueryIn) (bool, error)
// ServiceCreate create a service
// POST /v1/project/{project}/service
// https://api.aiven.io/doc/#tag/Service/operation/ServiceCreate
ServiceCreate(ctx context.Context, project string, in *ServiceCreateIn) (*ServiceCreateOut, error)
// ServiceDatabaseCreate create a new logical database for service
// POST /v1/project/{project}/service/{service_name}/db
// https://api.aiven.io/doc/#tag/Service/operation/ServiceDatabaseCreate
ServiceDatabaseCreate(ctx context.Context, project string, serviceName string, in *ServiceDatabaseCreateIn) error
// ServiceDatabaseDelete delete a logical database
// DELETE /v1/project/{project}/service/{service_name}/db/{dbname}
// https://api.aiven.io/doc/#tag/Service/operation/ServiceDatabaseDelete
ServiceDatabaseDelete(ctx context.Context, project string, serviceName string, dbname string) error
// ServiceDatabaseList list service databases
// GET /v1/project/{project}/service/{service_name}/db
// https://api.aiven.io/doc/#tag/Service/operation/ServiceDatabaseList
ServiceDatabaseList(ctx context.Context, project string, serviceName string) ([]DatabaseOut, error)
// ServiceDelete terminate a service
// DELETE /v1/project/{project}/service/{service_name}
// https://api.aiven.io/doc/#tag/Service/operation/ServiceDelete
ServiceDelete(ctx context.Context, project string, serviceName string) error
// ServiceEnableWrites temporarily enable writes for a service in read-only mode. Will only work if disk usage is lower than 99.0%
// POST /v1/project/{project}/service/{service_name}/enable-writes
// https://api.aiven.io/doc/#tag/Service/operation/ServiceEnableWrites
ServiceEnableWrites(ctx context.Context, project string, serviceName string) (*string, error)
// ServiceGet get service information
// GET /v1/project/{project}/service/{service_name}
// https://api.aiven.io/doc/#tag/Service/operation/ServiceGet
ServiceGet(ctx context.Context, project string, serviceName string) (*ServiceGetOut, error)
// ServiceGetMigrationStatus get migration status
// GET /v1/project/{project}/service/{service_name}/migration
// https://api.aiven.io/doc/#tag/Service/operation/ServiceGetMigrationStatus
ServiceGetMigrationStatus(ctx context.Context, project string, serviceName string) (*ServiceGetMigrationStatusOut, error)
// ServiceInfluxDBStats list stats for influxdb
// GET /v1/project/{project}/service/{service_name}/influxdb/stats
// https://api.aiven.io/doc/#tag/Service/operation/ServiceInfluxDBStats
ServiceInfluxDBStats(ctx context.Context, project string, serviceName string) (map[string]any, error)
// ServiceKmsGetCA retrieve a service CA
// GET /v1/project/{project}/service/{service_name}/kms/ca/{ca_name}
// https://api.aiven.io/doc/#tag/Service/operation/ServiceKmsGetCA
ServiceKmsGetCA(ctx context.Context, project string, serviceName string, caName string) (string, error)
// ServiceKmsGetKeypair retrieve service keypair
// GET /v1/project/{project}/service/{service_name}/kms/keypairs/{keypair_name}
// https://api.aiven.io/doc/#tag/Service/operation/ServiceKmsGetKeypair
ServiceKmsGetKeypair(ctx context.Context, project string, serviceName string, keypairName string) (*ServiceKmsGetKeypairOut, error)
// ServiceList list services
// GET /v1/project/{project}/service
// https://api.aiven.io/doc/#tag/Service/operation/ServiceList
ServiceList(ctx context.Context, project string) ([]ServiceOut, error)
// ServiceMaintenanceStart start maintenance updates
// PUT /v1/project/{project}/service/{service_name}/maintenance/start
// https://api.aiven.io/doc/#tag/Service/operation/ServiceMaintenanceStart
ServiceMaintenanceStart(ctx context.Context, project string, serviceName string) error
// ServiceMetricsFetch fetch service metrics
// POST /v1/project/{project}/service/{service_name}/metrics
// https://api.aiven.io/doc/#tag/Service/operation/ServiceMetricsFetch
ServiceMetricsFetch(ctx context.Context, project string, serviceName string, in *ServiceMetricsFetchIn) (map[string]any, error)
// ServiceQueryActivity fetch current queries for the service
// POST /v1/project/{project}/service/{service_name}/query/activity
// https://api.aiven.io/doc/#tag/Service/operation/ServiceQueryActivity
ServiceQueryActivity(ctx context.Context, project string, serviceName string, in *ServiceQueryActivityIn) ([]QueryOut, error)
// ServiceQueryStatisticsReset reset service's query statistics
// PUT /v1/project/{project}/service/{service_name}/query/stats/reset
// https://api.aiven.io/doc/#tag/Service/operation/ServiceQueryStatisticsReset
ServiceQueryStatisticsReset(ctx context.Context, project string, serviceName string) ([]map[string]any, error)
// ServiceTaskCreate create a new task for service
// POST /v1/project/{project}/service/{service_name}/task
// https://api.aiven.io/doc/#tag/Service/operation/ServiceTaskCreate
ServiceTaskCreate(ctx context.Context, project string, serviceName string, in *ServiceTaskCreateIn) (*ServiceTaskCreateOut, error)
// ServiceTaskGet get task result
// GET /v1/project/{project}/service/{service_name}/task/{task_id}
// https://api.aiven.io/doc/#tag/Service/operation/ServiceTaskGet
ServiceTaskGet(ctx context.Context, project string, serviceName string, taskId string) (*ServiceTaskGetOut, error)
// ServiceUpdate update service configuration
// PUT /v1/project/{project}/service/{service_name}
// https://api.aiven.io/doc/#tag/Service/operation/ServiceUpdate
ServiceUpdate(ctx context.Context, project string, serviceName string, in *ServiceUpdateIn) (*ServiceUpdateOut, error)
}
type InfluxdbOut ¶ added in v0.3.0
type InfluxdbOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
InfluxdbOut Service type information
type IntegrationStatusOut ¶
type IntegrationStatusOut struct {
State StateOut `json:"state"` // Service integration state
StatusUserDesc string `json:"status_user_desc"` // Integration status description
}
IntegrationStatusOut Integration status
type IntegrationStatusType ¶ added in v0.3.0
type IntegrationStatusType string
const ( IntegrationStatusTypeFailed IntegrationStatusType = "failed" IntegrationStatusTypeInactive IntegrationStatusType = "inactive" IntegrationStatusTypeRunning IntegrationStatusType = "running" IntegrationStatusTypeStarting IntegrationStatusType = "starting" IntegrationStatusTypeUnknown IntegrationStatusType = "unknown" )
type IntegrationType ¶
type IntegrationType string
const ( IntegrationTypeAlertmanager IntegrationType = "alertmanager" IntegrationTypeAutoscaler IntegrationType = "autoscaler" IntegrationTypeCaching IntegrationType = "caching" IntegrationTypeCassandraCrossServiceCluster IntegrationType = "cassandra_cross_service_cluster" IntegrationTypeClickhouseCredentials IntegrationType = "clickhouse_credentials" IntegrationTypeClickhouseKafka IntegrationType = "clickhouse_kafka" IntegrationTypeClickhousePostgresql IntegrationType = "clickhouse_postgresql" IntegrationTypeDashboard IntegrationType = "dashboard" IntegrationTypeDatadog IntegrationType = "datadog" IntegrationTypeDatasource IntegrationType = "datasource" IntegrationTypeExternalAwsCloudwatchLogs IntegrationType = "external_aws_cloudwatch_logs" IntegrationTypeExternalAwsCloudwatchMetrics IntegrationType = "external_aws_cloudwatch_metrics" IntegrationTypeExternalElasticsearchLogs IntegrationType = "external_elasticsearch_logs" IntegrationTypeExternalGoogleCloudLogging IntegrationType = "external_google_cloud_logging" IntegrationTypeExternalOpensearchLogs IntegrationType = "external_opensearch_logs" IntegrationTypeFlink IntegrationType = "flink" IntegrationTypeFlinkExternalBigquery IntegrationType = "flink_external_bigquery" IntegrationTypeFlinkExternalKafka IntegrationType = "flink_external_kafka" IntegrationTypeFlinkExternalPostgresql IntegrationType = "flink_external_postgresql" IntegrationTypeInternalConnectivity IntegrationType = "internal_connectivity" IntegrationTypeJolokia IntegrationType = "jolokia" IntegrationTypeKafkaConnect IntegrationType = "kafka_connect" IntegrationTypeKafkaConnectPostgresql IntegrationType = "kafka_connect_postgresql" IntegrationTypeKafkaLogs IntegrationType = "kafka_logs" IntegrationTypeKafkaMirrormaker IntegrationType = "kafka_mirrormaker" IntegrationTypeLogs IntegrationType = "logs" IntegrationTypeM3Aggregator IntegrationType = "m3aggregator" IntegrationTypeM3Coordinator IntegrationType = "m3coordinator" IntegrationTypeMetrics IntegrationType = "metrics" IntegrationTypeOpensearchCrossClusterReplication IntegrationType = "opensearch_cross_cluster_replication" IntegrationTypeOpensearchCrossClusterSearch IntegrationType = "opensearch_cross_cluster_search" IntegrationTypePrometheus IntegrationType = "prometheus" IntegrationTypeReadReplica IntegrationType = "read_replica" IntegrationTypeRsyslog IntegrationType = "rsyslog" IntegrationTypeSchemaRegistryProxy IntegrationType = "schema_registry_proxy" IntegrationTypeStresstester IntegrationType = "stresstester" IntegrationTypeThanosDistributedQuery IntegrationType = "thanos_distributed_query" IntegrationTypeThanosMigrate IntegrationType = "thanos_migrate" IntegrationTypeThanoscompactor IntegrationType = "thanoscompactor" IntegrationTypeThanosquery IntegrationType = "thanosquery" IntegrationTypeThanosstore IntegrationType = "thanosstore" IntegrationTypeVector IntegrationType = "vector" IntegrationTypeVmalert IntegrationType = "vmalert" )
type KafkaAuthenticationMethodType ¶ added in v0.3.0
type KafkaAuthenticationMethodType string
const ( KafkaAuthenticationMethodTypeCertificate KafkaAuthenticationMethodType = "certificate" KafkaAuthenticationMethodTypeSasl KafkaAuthenticationMethodType = "sasl" )
type KafkaConnectOut ¶ added in v0.3.0
type KafkaConnectOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
KafkaConnectOut Service type information
type KafkaMirrormakerOut ¶ added in v0.3.0
type KafkaMirrormakerOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
KafkaMirrormakerOut Service type information
type KafkaOut ¶ added in v0.3.0
type KafkaOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
KafkaOut Service type information
type KafkaSslCaType ¶ added in v0.11.0
type KafkaSslCaType string
const ( KafkaSslCaTypeProjectCa KafkaSslCaType = "project_ca" KafkaSslCaTypeLetsencrypt KafkaSslCaType = "letsencrypt" )
type LikelyErrorCauseType ¶ added in v0.3.0
type LikelyErrorCauseType string
const ( LikelyErrorCauseTypeNull LikelyErrorCauseType = "null" LikelyErrorCauseTypeDestination LikelyErrorCauseType = "destination" LikelyErrorCauseTypeIntegration LikelyErrorCauseType = "integration" LikelyErrorCauseTypeSource LikelyErrorCauseType = "source" LikelyErrorCauseTypeUnknown LikelyErrorCauseType = "unknown" )
type ListProjectServiceTypesOut ¶
type ListProjectServiceTypesOut struct {
Cassandra *CassandraOut `json:"cassandra,omitempty"` // Service type information
Clickhouse *ClickhouseOut `json:"clickhouse,omitempty"` // Service type information
Dragonfly *DragonflyOut `json:"dragonfly,omitempty"` // Service type information
Elasticsearch *ElasticsearchOut `json:"elasticsearch,omitempty"` // Service type information
Flink *FlinkOut `json:"flink,omitempty"` // Service type information
Grafana *GrafanaOut `json:"grafana,omitempty"` // Service type information
Influxdb *InfluxdbOut `json:"influxdb,omitempty"` // Service type information
Kafka *KafkaOut `json:"kafka,omitempty"` // Service type information
KafkaConnect *KafkaConnectOut `json:"kafka_connect,omitempty"` // Service type information
KafkaMirrormaker *KafkaMirrormakerOut `json:"kafka_mirrormaker,omitempty"` // Service type information
M3Aggregator *AggregatorOut `json:"m3aggregator,omitempty"` // Service type information
M3Db *DbOut `json:"m3db,omitempty"` // Service type information
Mysql *MysqlOut `json:"mysql,omitempty"` // Service type information
Opensearch *OpensearchOut `json:"opensearch,omitempty"` // Service type information
Pg *PgOut `json:"pg,omitempty"` // Service type information
Redis *RedisOut `json:"redis,omitempty"` // Service type information
Valkey *ValkeyOut `json:"valkey,omitempty"` // Service type information
}
ListProjectServiceTypesOut Service plans by service type
type ListPublicServiceTypesOut ¶
type ListPublicServiceTypesOut struct {
Cassandra *CassandraOut `json:"cassandra,omitempty"` // Service type information
Clickhouse *ClickhouseOut `json:"clickhouse,omitempty"` // Service type information
Dragonfly *DragonflyOut `json:"dragonfly,omitempty"` // Service type information
Elasticsearch *ElasticsearchOut `json:"elasticsearch,omitempty"` // Service type information
Flink *FlinkOut `json:"flink,omitempty"` // Service type information
Grafana *GrafanaOut `json:"grafana,omitempty"` // Service type information
Influxdb *InfluxdbOut `json:"influxdb,omitempty"` // Service type information
Kafka *KafkaOut `json:"kafka,omitempty"` // Service type information
KafkaConnect *KafkaConnectOut `json:"kafka_connect,omitempty"` // Service type information
KafkaMirrormaker *KafkaMirrormakerOut `json:"kafka_mirrormaker,omitempty"` // Service type information
M3Aggregator *AggregatorOut `json:"m3aggregator,omitempty"` // Service type information
M3Db *DbOut `json:"m3db,omitempty"` // Service type information
Mysql *MysqlOut `json:"mysql,omitempty"` // Service type information
Opensearch *OpensearchOut `json:"opensearch,omitempty"` // Service type information
Pg *PgOut `json:"pg,omitempty"` // Service type information
Redis *RedisOut `json:"redis,omitempty"` // Service type information
Valkey *ValkeyOut `json:"valkey,omitempty"` // Service type information
}
ListPublicServiceTypesOut Service plans by service type
type MaintenanceIn ¶
type MaintenanceIn struct {
Dow DowType `json:"dow,omitempty"` // Day of week for installing updates
Time *string `json:"time,omitempty"` // Time for installing updates, UTC
}
MaintenanceIn Automatic maintenance settings
type MaintenanceOut ¶
type MaintenanceOut struct {
Dow DowTypeAlt `json:"dow"` // Day of week for installing updates
Time string `json:"time"` // Time for installing updates, UTC
Updates []UpdateOut `json:"updates"` // List of updates waiting to be installed
}
MaintenanceOut Automatic maintenance settings
type MasterLinkStatusType ¶ added in v0.3.0
type MasterLinkStatusType string
const ( MasterLinkStatusTypeUp MasterLinkStatusType = "up" MasterLinkStatusTypeDown MasterLinkStatusType = "down" )
type MetadataOut ¶
type MetadataOut struct {
EndOfLifeHelpArticleUrl *string `json:"end_of_life_help_article_url,omitempty"` // Link to the help article
EndOfLifePolicyUrl *string `json:"end_of_life_policy_url,omitempty"` // Link to the help article
ServiceEndOfLifeTime *time.Time `json:"service_end_of_life_time,omitempty"` // Timestamp in ISO 8601 format, always in UTC
UpgradeToServiceType *string `json:"upgrade_to_service_type,omitempty"` // If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version.
UpgradeToVersion *string `json:"upgrade_to_version,omitempty"` // The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action
}
MetadataOut Notification metadata
type MethodType ¶
type MethodType string
const ( MethodTypeDump MethodType = "dump" MethodTypeMysqldump MethodType = "mysqldump" MethodTypePgDump MethodType = "pg_dump" MethodTypeReplication MethodType = "replication" MethodTypeScan MethodType = "scan" )
type MethodTypeAlt ¶ added in v0.3.0
type MethodTypeAlt string
const ( MethodTypeAltDump MethodTypeAlt = "dump" MethodTypeAltReplication MethodTypeAlt = "replication" )
type MigrationCheckIn ¶
type MigrationCheckIn struct {
IgnoreDbs *string `json:"ignore_dbs,omitempty"` // Comma-separated list of databases, which should be ignored during migration (supported by MySQL and PostgreSQL only at the moment)
IgnoreRoles *string `json:"ignore_roles,omitempty"` // Comma-separated list of database roles, which should be ignored during migration (supported by PostgreSQL only at the moment)
Method MethodTypeAlt `json:"method,omitempty"` // The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)
SourceProjectName *string `json:"source_project_name,omitempty"` // Project name
SourceServiceName *string `json:"source_service_name,omitempty"` // Service name
SourceServiceUri *string `json:"source_service_uri,omitempty"` // Service URI of the source MySQL or PostgreSQL database with admin credentials. Used with migration_check.
}
MigrationCheckIn Payload to be used with migration_check
type MigrationDetailOut ¶
type MigrationDetailOut struct {
Dbname string `json:"dbname"` // Migrated db name (PG, MySQL) or number (Redis, Dragonfly)
Error *string `json:"error,omitempty"` // Error message in case that migration has failed
Method MethodType `json:"method"` // The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)
Status MigrationDetailStatusType `json:"status"` // Migration status
}
type MigrationDetailStatusType ¶ added in v0.3.0
type MigrationDetailStatusType string
const ( MigrationDetailStatusTypeDone MigrationDetailStatusType = "done" MigrationDetailStatusTypeFailed MigrationDetailStatusType = "failed" MigrationDetailStatusTypeRunning MigrationDetailStatusType = "running" MigrationDetailStatusTypeSyncing MigrationDetailStatusType = "syncing" )
type MigrationOut ¶
type MigrationOut struct {
Error *string `json:"error,omitempty"` // Error message in case that migration has failed
MasterLastIoSecondsAgo *int `json:"master_last_io_seconds_ago,omitempty"` // Redis only: how many seconds since last I/O with redis master
MasterLinkStatus MasterLinkStatusType `json:"master_link_status,omitempty"` // Redis only: replication master link status
Method MethodType `json:"method"` // The migration method to be used (currently supported only by Redis, Dragonfly, MySQL and PostgreSQL service types)
Status MigrationStatusType `json:"status"` // Migration status
}
MigrationOut Service migration info
type MigrationStatusType ¶ added in v0.3.0
type MigrationStatusType string
const ( MigrationStatusTypeDone MigrationStatusType = "done" MigrationStatusTypeFailed MigrationStatusType = "failed" MigrationStatusTypeRunning MigrationStatusType = "running" MigrationStatusTypeSyncing MigrationStatusType = "syncing" )
type MysqlOut ¶ added in v0.3.0
type MysqlOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
MysqlOut Service type information
type NodeStateOut ¶
type NodeStateOut struct {
Name string `json:"name"` // Name of the service node
ProgressUpdates []ProgressUpdateOut `json:"progress_updates,omitempty"` // Extra information regarding the progress for current state
Role RoleType `json:"role,omitempty"` // Role of this node. Only returned for a subset of service types
Shard *ShardOut `json:"shard,omitempty"` // Shard of this node. Only returned for a subset of service types
State NodeStateType `json:"state"` // Current state of the service node
}
type NodeStateType ¶ added in v0.3.0
type NodeStateType string
const ( NodeStateTypeLeaving NodeStateType = "leaving" NodeStateTypeRunning NodeStateType = "running" NodeStateTypeSettingUpVm NodeStateType = "setting_up_vm" NodeStateTypeSyncingData NodeStateType = "syncing_data" NodeStateTypeTimingOut NodeStateType = "timing_out" NodeStateTypeUnknown NodeStateType = "unknown" )
type OpensearchOut ¶ added in v0.3.0
type OpensearchOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
OpensearchOut Service type information
type PeriodType ¶
type PeriodType string
const ( PeriodTypeHour PeriodType = "hour" PeriodTypeDay PeriodType = "day" PeriodTypeWeek PeriodType = "week" PeriodTypeMonth PeriodType = "month" PeriodTypeYear PeriodType = "year" )
type PermissionType ¶ added in v0.3.0
type PermissionType string
const ( PermissionTypeAdmin PermissionType = "admin" PermissionTypeRead PermissionType = "read" PermissionTypeReadwrite PermissionType = "readwrite" PermissionTypeWrite PermissionType = "write" )
type PermissionTypeAlt ¶ added in v0.3.0
type PermissionTypeAlt string
const ( PermissionTypeAltSchemaRegistryRead PermissionTypeAlt = "schema_registry_read" PermissionTypeAltSchemaRegistryWrite PermissionTypeAlt = "schema_registry_write" )
type PgOut ¶ added in v0.3.0
type PgOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
PgOut Service type information
type PoolModeType ¶ added in v0.3.0
type PoolModeType string
const ( PoolModeTypeSession PoolModeType = "session" PoolModeTypeTransaction PoolModeType = "transaction" PoolModeTypeStatement PoolModeType = "statement" )
type ProgressUpdateOut ¶
type ProgressUpdateOut struct {
Completed bool `json:"completed"` // Indicates whether this phase has been completed or not
Current *int `json:"current,omitempty"` // Current progress for this phase. May be missing or null.
Max *int `json:"max,omitempty"` // Maximum progress value for this phase. May be missing or null. May change.
Min *int `json:"min,omitempty"` // Minimum progress value for this phase. May be missing or null.
Phase PhaseType `json:"phase"` // Key identifying this phase
Unit UnitType `json:"unit,omitempty"` // Unit for current/min/max values. New units may be added. If null should be treated as generic unit
}
type ProjectGetServiceLogsIn ¶
type ProjectGetServiceLogsIn struct {
Limit *int `json:"limit,omitempty"` // How many log entries to receive at most
Offset *string `json:"offset,omitempty"` // Opaque offset identifier
SortOrder SortOrderType `json:"sort_order,omitempty"` // Sort order for log messages
}
ProjectGetServiceLogsIn ProjectGetServiceLogsRequestBody
type ProjectGetServiceLogsOut ¶
type ProjectGetServiceLogsOut struct {
FirstLogOffset string `json:"first_log_offset"` // Opaque offset identifier of the first received log message. A null value is returned when there are no logs at all.
Logs []LogOut `json:"logs"` // List of log entries
Offset string `json:"offset"` // Opaque offset identifier. A null value is returned when there are no logs at all.
}
ProjectGetServiceLogsOut ProjectGetServiceLogsResponse
type ProjectServiceTagsReplaceIn ¶
type ProjectServiceTagsReplaceIn struct {
Tags map[string]string `json:"tags"` // Set of resource tags
}
ProjectServiceTagsReplaceIn ProjectServiceTagsReplaceRequestBody
type ProjectServiceTagsUpdateIn ¶
type ProjectServiceTagsUpdateIn struct {
Tags map[string]string `json:"tags"` // Set of resource tags
}
ProjectServiceTagsUpdateIn ProjectServiceTagsUpdateRequestBody
type QueryOut ¶
type QueryOut struct {
ActiveChannelSubscriptions *int `json:"active_channel_subscriptions,omitempty"` // Currently active channel subscriptions
ActiveDatabase *string `json:"active_database,omitempty"` // Selected database
ActivePatternMatchingChannelSubscriptions *int `json:"active_pattern_matching_channel_subscriptions,omitempty"` // Currently active channel subscriptions using pattern matching
ApplicationName *string `json:"application_name,omitempty"` // Application name when set
BackendStart *string `json:"backend_start,omitempty"` // Timestamp in ISO 8601 format, always in UTC
BackendType *string `json:"backend_type,omitempty"` // Backend type
BackendXid *int `json:"backend_xid,omitempty"` // XID for current backend
BackendXmin *int `json:"backend_xmin,omitempty"` // xmin for current backend
ClientAddr *string `json:"client_addr,omitempty"` // IP address:port pair. Not always available due to load balancers
ClientHostname *string `json:"client_hostname,omitempty"` // Client hostname
ClientPort *int `json:"client_port,omitempty"` // Client port, -1 is unknown
ConnectionAgeSeconds *float64 `json:"connection_age_seconds,omitempty"` // Connection age in seconds
ConnectionIdleSeconds *float64 `json:"connection_idle_seconds,omitempty"` // Connection idle time in seconds
Datid *int `json:"datid,omitempty"` // Database ID
Datname *string `json:"datname,omitempty"` // Database name
Flags []string `json:"flags,omitempty"` // Connection state flags
FlagsRaw *string `json:"flags_raw,omitempty"` // Raw connection flags string
Id *string `json:"id,omitempty"` // Unique connection ID
LeaderPid *int `json:"leader_pid,omitempty"` // Leader process ID
MultiExecCommands *int `json:"multi_exec_commands,omitempty"` // Number of MULTI/EXEC comands
Name *string `json:"name,omitempty"` // Connection name, if specified
OutputBuffer *int `json:"output_buffer,omitempty"` // Output buffer length (disabled if 0)
OutputBufferMemory *int `json:"output_buffer_memory,omitempty"` // Output buffer memory
OutputListLength *int `json:"output_list_length,omitempty"` // Output list, overflow for output buffering
Pid *int `json:"pid,omitempty"` // Connection process ID
Query *string `json:"query,omitempty"` // Last/current query running on this connection
QueryBuffer *int `json:"query_buffer,omitempty"` // Query buffer length (disabled if 0)
QueryBufferFree *int `json:"query_buffer_free,omitempty"` // Free bytes in query buffer, if enabled
QueryDuration *float64 `json:"query_duration,omitempty"` // Duration of the last/current query in seconds
QueryId *int `json:"query_id,omitempty"` // Hash code to identify identical normalized queries.
QueryStart *string `json:"query_start,omitempty"` // Timestamp in ISO 8601 format, always in UTC
State *string `json:"state,omitempty"` // Connection state
StateChange *string `json:"state_change,omitempty"` // Timestamp in ISO 8601 format, always in UTC
Usename *string `json:"usename,omitempty"` // Username
Usesysid *int `json:"usesysid,omitempty"` // User ID
WaitEvent *string `json:"wait_event,omitempty"` // Connection wait event
WaitEventType *string `json:"wait_event_type,omitempty"` // Connection wait event type
Waiting *bool `json:"waiting,omitempty"` // Query is waiting
XactStart *string `json:"xact_start,omitempty"` // Timestamp in ISO 8601 format, always in UTC
}
type RecoveryModeType ¶ added in v0.3.0
type RecoveryModeType string
const ( RecoveryModeTypeBasic RecoveryModeType = "basic" RecoveryModeTypePitr RecoveryModeType = "pitr" )
type RedisOut ¶ added in v0.3.0
type RedisOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
RedisOut Service type information
type ResultCodeOut ¶
type SchemaRegistryAclOut ¶
type SchemaRegistryAclOut struct {
Id *string `json:"id,omitempty"` // ID
Permission PermissionTypeAlt `json:"permission"` // ACL entry for Schema Registry
Resource string `json:"resource"` // Schema Registry ACL entry resource name pattern
Username string `json:"username"`
}
type ServiceBackupToAnotherRegionReportIn ¶
type ServiceBackupToAnotherRegionReportIn struct {
Period PeriodType `json:"period,omitempty"` // Metrics time period
}
ServiceBackupToAnotherRegionReportIn ServiceBackupToAnotherRegionReportRequestBody
type ServiceCancelQueryIn ¶
type ServiceCancelQueryIn struct {
Pid *int `json:"pid,omitempty"` // Database server connection ID
Terminate *bool `json:"terminate,omitempty"` // Request immediate termination instead of soft cancel
}
ServiceCancelQueryIn ServiceCancelQueryRequestBody
type ServiceCreateIn ¶
type ServiceCreateIn struct {
Cloud *string `json:"cloud,omitempty"` // Target cloud
CopyTags *bool `json:"copy_tags,omitempty"` // If this is a forked service, copy tags from the source service. If request contains additional tags, the tags copied from source are updated with them.
DiskSpaceMb *float64 `json:"disk_space_mb,omitempty"` // Megabytes of disk space for data storage
GroupName *string `json:"group_name,omitempty"` // Service group name (DEPRECATED: do not use)
Maintenance *MaintenanceIn `json:"maintenance,omitempty"` // Automatic maintenance settings
Plan string `json:"plan"` // Subscription plan
ProjectVpcId *string `json:"project_vpc_id,omitempty"` // Project VPC ID
ServiceIntegrations *[]ServiceIntegrationIn `json:"service_integrations,omitempty"` // Service integrations to enable for the service. Some integration types affect how a service is created and they must be provided as part of the creation call instead of being defined later.
ServiceName string `json:"service_name"` // Service name
ServiceType string `json:"service_type"` // Service type code
StaticIps *[]string `json:"static_ips,omitempty"` // Static IP addresses to associate with the service
Tags *map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails *[]TechEmailIn `json:"tech_emails,omitempty"` // List of service technical email addresses
TerminationProtection *bool `json:"termination_protection,omitempty"` // Service is protected against termination and powering off
UserConfig *map[string]any `json:"user_config,omitempty"` // Service type-specific settings
}
ServiceCreateIn ServiceCreateRequestBody
type ServiceCreateOut ¶
type ServiceCreateOut struct {
Acl []AclOut `json:"acl,omitempty"` // List of Kafka ACL entries
Backups []BackupOut `json:"backups,omitempty"` // List of backups for the service
CloudDescription *string `json:"cloud_description,omitempty"` // Cloud provider and location
CloudName string `json:"cloud_name"` // Target cloud
Components []ComponentOut `json:"components,omitempty"` // Service component information objects
ConnectionInfo map[string]any `json:"connection_info,omitempty"` // Service-specific connection information properties
ConnectionPools []ConnectionPoolOut `json:"connection_pools,omitempty"` // PostgreSQL PGBouncer connection pools
CreateTime time.Time `json:"create_time"` // Service creation timestamp (ISO 8601)
Databases []string `json:"databases,omitempty"` // List of service's user database names
DiskSpaceMb *float64 `json:"disk_space_mb,omitempty"` // Megabytes of disk space for data storage
Features map[string]any `json:"features,omitempty"` // Feature flags
GroupList []string `json:"group_list"` // List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'
Maintenance *MaintenanceOut `json:"maintenance,omitempty"` // Automatic maintenance settings
Metadata map[string]any `json:"metadata,omitempty"` // Service type specific metadata
NodeCount *int `json:"node_count,omitempty"` // Number of service nodes in the active plan
NodeCpuCount *int `json:"node_cpu_count,omitempty"` // Number of CPUs for each node
NodeMemoryMb *float64 `json:"node_memory_mb,omitempty"` // Megabytes of memory for each node
NodeStates []NodeStateOut `json:"node_states,omitempty"` // State of individual service nodes
Plan string `json:"plan"` // Subscription plan
ProjectVpcId string `json:"project_vpc_id"` // Project VPC ID
SchemaRegistryAcl []SchemaRegistryAclOut `json:"schema_registry_acl,omitempty"` // List of Schema Registry ACL entries
ServiceIntegrations []ServiceIntegrationOut `json:"service_integrations"` // Integrations with other services
ServiceName string `json:"service_name"` // Service name
ServiceNotifications []ServiceNotificationOut `json:"service_notifications,omitempty"` // Service notifications
ServiceType string `json:"service_type"` // Service type code
ServiceTypeDescription *string `json:"service_type_description,omitempty"` // Single line description of the service
ServiceUri string `json:"service_uri"` // URI for connecting to the service (may be null)
ServiceUriParams map[string]any `json:"service_uri_params,omitempty"` // service_uri parameterized into key-value pairs
State ServiceStateType `json:"state"` // State of the service
Tags map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of service technical email addresses
TerminationProtection bool `json:"termination_protection"` // Service is protected against termination and powering off
Topics []TopicOut `json:"topics,omitempty"` // Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead
UpdateTime time.Time `json:"update_time"` // Service last update timestamp (ISO 8601)
UserConfig map[string]any `json:"user_config"` // Service type-specific settings
Users []UserOut `json:"users,omitempty"` // List of service users
}
ServiceCreateOut Service information
type ServiceDatabaseCreateIn ¶
type ServiceDatabaseCreateIn struct {
Database string `json:"database"` // Service database name
LcCollate *string `json:"lc_collate,omitempty"` // Default string sort order (LC_COLLATE) for PostgreSQL database
LcCtype *string `json:"lc_ctype,omitempty"` // Default character classification (LC_CTYPE) for PostgreSQL database
}
ServiceDatabaseCreateIn ServiceDatabaseCreateRequestBody
type ServiceGetMigrationStatusOut ¶
type ServiceGetMigrationStatusOut struct {
Migration MigrationOut `json:"migration"` // Service migration info
MigrationDetail []MigrationDetailOut `json:"migration_detail,omitempty"` // Migration status per database
}
ServiceGetMigrationStatusOut ServiceGetMigrationStatusResponse
type ServiceGetOut ¶
type ServiceGetOut struct {
Acl []AclOut `json:"acl,omitempty"` // List of Kafka ACL entries
Backups []BackupOut `json:"backups,omitempty"` // List of backups for the service
CloudDescription *string `json:"cloud_description,omitempty"` // Cloud provider and location
CloudName string `json:"cloud_name"` // Target cloud
Components []ComponentOut `json:"components,omitempty"` // Service component information objects
ConnectionInfo map[string]any `json:"connection_info,omitempty"` // Service-specific connection information properties
ConnectionPools []ConnectionPoolOut `json:"connection_pools,omitempty"` // PostgreSQL PGBouncer connection pools
CreateTime time.Time `json:"create_time"` // Service creation timestamp (ISO 8601)
Databases []string `json:"databases,omitempty"` // List of service's user database names
DiskSpaceMb *float64 `json:"disk_space_mb,omitempty"` // Megabytes of disk space for data storage
Features map[string]any `json:"features,omitempty"` // Feature flags
GroupList []string `json:"group_list"` // List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'
Maintenance *MaintenanceOut `json:"maintenance,omitempty"` // Automatic maintenance settings
Metadata map[string]any `json:"metadata,omitempty"` // Service type specific metadata
NodeCount *int `json:"node_count,omitempty"` // Number of service nodes in the active plan
NodeCpuCount *int `json:"node_cpu_count,omitempty"` // Number of CPUs for each node
NodeMemoryMb *float64 `json:"node_memory_mb,omitempty"` // Megabytes of memory for each node
NodeStates []NodeStateOut `json:"node_states,omitempty"` // State of individual service nodes
Plan string `json:"plan"` // Subscription plan
ProjectVpcId string `json:"project_vpc_id"` // Project VPC ID
SchemaRegistryAcl []SchemaRegistryAclOut `json:"schema_registry_acl,omitempty"` // List of Schema Registry ACL entries
ServiceIntegrations []ServiceIntegrationOut `json:"service_integrations"` // Integrations with other services
ServiceName string `json:"service_name"` // Service name
ServiceNotifications []ServiceNotificationOut `json:"service_notifications,omitempty"` // Service notifications
ServiceType string `json:"service_type"` // Service type code
ServiceTypeDescription *string `json:"service_type_description,omitempty"` // Single line description of the service
ServiceUri string `json:"service_uri"` // URI for connecting to the service (may be null)
ServiceUriParams map[string]any `json:"service_uri_params,omitempty"` // service_uri parameterized into key-value pairs
State ServiceStateType `json:"state"` // State of the service
Tags map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of service technical email addresses
TerminationProtection bool `json:"termination_protection"` // Service is protected against termination and powering off
Topics []TopicOut `json:"topics,omitempty"` // Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead
UpdateTime time.Time `json:"update_time"` // Service last update timestamp (ISO 8601)
UserConfig map[string]any `json:"user_config"` // Service type-specific settings
Users []UserOut `json:"users,omitempty"` // List of service users
}
ServiceGetOut Service information
type ServiceHandler ¶
type ServiceHandler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(doer doer) ServiceHandler
func (*ServiceHandler) ListProjectServiceTypes ¶
func (h *ServiceHandler) ListProjectServiceTypes(ctx context.Context, project string) (*ListProjectServiceTypesOut, error)
func (*ServiceHandler) ListPublicServiceTypes ¶
func (h *ServiceHandler) ListPublicServiceTypes(ctx context.Context) (*ListPublicServiceTypesOut, error)
func (*ServiceHandler) ListServiceVersions ¶
func (h *ServiceHandler) ListServiceVersions(ctx context.Context) ([]ServiceVersionOut, error)
func (*ServiceHandler) ProjectGetServiceLogs ¶
func (h *ServiceHandler) ProjectGetServiceLogs(ctx context.Context, project string, serviceName string, in *ProjectGetServiceLogsIn) (*ProjectGetServiceLogsOut, error)
func (*ServiceHandler) ProjectServiceTagsList ¶
func (*ServiceHandler) ProjectServiceTagsReplace ¶
func (h *ServiceHandler) ProjectServiceTagsReplace(ctx context.Context, project string, serviceName string, in *ProjectServiceTagsReplaceIn) error
func (*ServiceHandler) ProjectServiceTagsUpdate ¶
func (h *ServiceHandler) ProjectServiceTagsUpdate(ctx context.Context, project string, serviceName string, in *ProjectServiceTagsUpdateIn) error
func (*ServiceHandler) ServiceAlertsList ¶
func (*ServiceHandler) ServiceBackupToAnotherRegionReport ¶
func (h *ServiceHandler) ServiceBackupToAnotherRegionReport(ctx context.Context, project string, serviceName string, in *ServiceBackupToAnotherRegionReportIn) (map[string]any, error)
func (*ServiceHandler) ServiceBackupsGet ¶
func (*ServiceHandler) ServiceCancelQuery ¶
func (h *ServiceHandler) ServiceCancelQuery(ctx context.Context, project string, serviceName string, in *ServiceCancelQueryIn) (bool, error)
func (*ServiceHandler) ServiceCreate ¶
func (h *ServiceHandler) ServiceCreate(ctx context.Context, project string, in *ServiceCreateIn) (*ServiceCreateOut, error)
func (*ServiceHandler) ServiceDatabaseCreate ¶
func (h *ServiceHandler) ServiceDatabaseCreate(ctx context.Context, project string, serviceName string, in *ServiceDatabaseCreateIn) error
func (*ServiceHandler) ServiceDatabaseDelete ¶
func (*ServiceHandler) ServiceDatabaseList ¶
func (h *ServiceHandler) ServiceDatabaseList(ctx context.Context, project string, serviceName string) ([]DatabaseOut, error)
func (*ServiceHandler) ServiceDelete ¶
func (*ServiceHandler) ServiceEnableWrites ¶
func (*ServiceHandler) ServiceGet ¶
func (h *ServiceHandler) ServiceGet(ctx context.Context, project string, serviceName string) (*ServiceGetOut, error)
func (*ServiceHandler) ServiceGetMigrationStatus ¶
func (h *ServiceHandler) ServiceGetMigrationStatus(ctx context.Context, project string, serviceName string) (*ServiceGetMigrationStatusOut, error)
func (*ServiceHandler) ServiceInfluxDBStats ¶
func (*ServiceHandler) ServiceKmsGetCA ¶
func (*ServiceHandler) ServiceKmsGetKeypair ¶
func (h *ServiceHandler) ServiceKmsGetKeypair(ctx context.Context, project string, serviceName string, keypairName string) (*ServiceKmsGetKeypairOut, error)
func (*ServiceHandler) ServiceList ¶
func (h *ServiceHandler) ServiceList(ctx context.Context, project string) ([]ServiceOut, error)
func (*ServiceHandler) ServiceMaintenanceStart ¶
func (*ServiceHandler) ServiceMetricsFetch ¶
func (h *ServiceHandler) ServiceMetricsFetch(ctx context.Context, project string, serviceName string, in *ServiceMetricsFetchIn) (map[string]any, error)
func (*ServiceHandler) ServiceQueryActivity ¶
func (h *ServiceHandler) ServiceQueryActivity(ctx context.Context, project string, serviceName string, in *ServiceQueryActivityIn) ([]QueryOut, error)
func (*ServiceHandler) ServiceQueryStatisticsReset ¶
func (*ServiceHandler) ServiceTaskCreate ¶
func (h *ServiceHandler) ServiceTaskCreate(ctx context.Context, project string, serviceName string, in *ServiceTaskCreateIn) (*ServiceTaskCreateOut, error)
func (*ServiceHandler) ServiceTaskGet ¶
func (h *ServiceHandler) ServiceTaskGet(ctx context.Context, project string, serviceName string, taskId string) (*ServiceTaskGetOut, error)
func (*ServiceHandler) ServiceUpdate ¶
func (h *ServiceHandler) ServiceUpdate(ctx context.Context, project string, serviceName string, in *ServiceUpdateIn) (*ServiceUpdateOut, error)
type ServiceIntegrationIn ¶
type ServiceIntegrationIn struct {
DestEndpointId *string `json:"dest_endpoint_id,omitempty"` // Integration destination endpoint ID
DestProject *string `json:"dest_project,omitempty"` // Destination project name
DestService *string `json:"dest_service,omitempty"` // Destination service name
IntegrationType IntegrationType `json:"integration_type"` // Service integration type
SourceEndpointId *string `json:"source_endpoint_id,omitempty"` // Integration source endpoint ID
SourceProject *string `json:"source_project,omitempty"` // Source project name
SourceService *string `json:"source_service,omitempty"` // Source service name
UserConfig *map[string]any `json:"user_config,omitempty"` // Service type-specific settings
}
type ServiceIntegrationOut ¶
type ServiceIntegrationOut struct {
Active bool `json:"active"` // True when integration is active
Description string `json:"description"` // Description of the integration
DestEndpoint *string `json:"dest_endpoint,omitempty"` // Destination endpoint name
DestEndpointId *string `json:"dest_endpoint_id,omitempty"` // Destination endpoint id
DestProject string `json:"dest_project"` // Project name
DestService *string `json:"dest_service,omitempty"` // Destination service name
DestServiceType string `json:"dest_service_type"` // Service type code
Enabled bool `json:"enabled"` // True when integration is enabled
IntegrationStatus *IntegrationStatusOut `json:"integration_status,omitempty"` // Integration status
IntegrationType string `json:"integration_type"` // Type of the integration
ServiceIntegrationId string `json:"service_integration_id"` // Integration ID
SourceEndpoint *string `json:"source_endpoint,omitempty"` // Source endpoint name
SourceEndpointId *string `json:"source_endpoint_id,omitempty"` // Source endpoint ID
SourceProject string `json:"source_project"` // Project name
SourceService string `json:"source_service"` // Source service name
SourceServiceType string `json:"source_service_type"` // Service type code
UserConfig map[string]any `json:"user_config,omitempty"` // Service integration settings
}
type ServiceKmsGetKeypairOut ¶
type ServiceKmsGetKeypairOut struct {
Certificate string `json:"certificate"` // PEM encoded certificate
Key string `json:"key"` // PEM encoded private key
}
ServiceKmsGetKeypairOut ServiceKmsGetKeypairResponse
type ServiceMetricsFetchIn ¶
type ServiceMetricsFetchIn struct {
Period PeriodType `json:"period,omitempty"` // Metrics time period
}
ServiceMetricsFetchIn ServiceMetricsFetchRequestBody
type ServiceNotificationOut ¶
type ServiceNotificationOut struct {
Level LevelType `json:"level"` // Notification level
Message string `json:"message"` // Human notification message
Metadata MetadataOut `json:"metadata"` // Notification metadata
Type ServiceNotificationType `json:"type"` // Notification type
}
type ServiceNotificationType ¶ added in v0.3.0
type ServiceNotificationType string
const ( ServiceNotificationTypeServiceEndOfLife ServiceNotificationType = "service_end_of_life" ServiceNotificationTypeServicePoweredOffRemoval ServiceNotificationType = "service_powered_off_removal" )
type ServiceOut ¶
type ServiceOut struct {
Acl []AclOut `json:"acl,omitempty"` // List of Kafka ACL entries
Backups []BackupOut `json:"backups,omitempty"` // List of backups for the service
CloudDescription *string `json:"cloud_description,omitempty"` // Cloud provider and location
CloudName string `json:"cloud_name"` // Target cloud
Components []ComponentOut `json:"components,omitempty"` // Service component information objects
ConnectionInfo map[string]any `json:"connection_info,omitempty"` // Service-specific connection information properties
ConnectionPools []ConnectionPoolOut `json:"connection_pools,omitempty"` // PostgreSQL PGBouncer connection pools
CreateTime time.Time `json:"create_time"` // Service creation timestamp (ISO 8601)
Databases []string `json:"databases,omitempty"` // List of service's user database names
DiskSpaceMb *float64 `json:"disk_space_mb,omitempty"` // Megabytes of disk space for data storage
Features map[string]any `json:"features,omitempty"` // Feature flags
GroupList []string `json:"group_list"` // List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'
Maintenance *MaintenanceOut `json:"maintenance,omitempty"` // Automatic maintenance settings
Metadata map[string]any `json:"metadata,omitempty"` // Service type specific metadata
NodeCount *int `json:"node_count,omitempty"` // Number of service nodes in the active plan
NodeCpuCount *int `json:"node_cpu_count,omitempty"` // Number of CPUs for each node
NodeMemoryMb *float64 `json:"node_memory_mb,omitempty"` // Megabytes of memory for each node
NodeStates []NodeStateOut `json:"node_states,omitempty"` // State of individual service nodes
Plan string `json:"plan"` // Subscription plan
ProjectVpcId string `json:"project_vpc_id"` // Project VPC ID
SchemaRegistryAcl []SchemaRegistryAclOut `json:"schema_registry_acl,omitempty"` // List of Schema Registry ACL entries
ServiceIntegrations []ServiceIntegrationOut `json:"service_integrations"` // Integrations with other services
ServiceName string `json:"service_name"` // Service name
ServiceNotifications []ServiceNotificationOut `json:"service_notifications,omitempty"` // Service notifications
ServiceType string `json:"service_type"` // Service type code
ServiceTypeDescription *string `json:"service_type_description,omitempty"` // Single line description of the service
ServiceUri string `json:"service_uri"` // URI for connecting to the service (may be null)
ServiceUriParams map[string]any `json:"service_uri_params,omitempty"` // service_uri parameterized into key-value pairs
State ServiceStateType `json:"state"` // State of the service
Tags map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of service technical email addresses
TerminationProtection bool `json:"termination_protection"` // Service is protected against termination and powering off
Topics []TopicOut `json:"topics,omitempty"` // Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead
UpdateTime time.Time `json:"update_time"` // Service last update timestamp (ISO 8601)
UserConfig map[string]any `json:"user_config"` // Service type-specific settings
Users []UserOut `json:"users,omitempty"` // List of service users
}
type ServicePlanOut ¶
type ServicePlanOut struct {
BackupConfig BackupConfigOut `json:"backup_config"` // Backup configuration for this service plan
MaxMemoryPercent *int `json:"max_memory_percent,omitempty"` // Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load.
NodeCount *int `json:"node_count,omitempty"` // Number of nodes in this service plan
Regions map[string]any `json:"regions,omitempty"` // Service plan hourly price per cloud region
ServicePlan string `json:"service_plan"` // Subscription plan
ServiceType string `json:"service_type"` // Service type code
ShardCount *int `json:"shard_count,omitempty"` // Number of shards in this service plan
}
type ServiceQueryActivityIn ¶
type ServiceQueryActivityIn struct {
Limit *int `json:"limit,omitempty"` // Limit for number of results
Offset *int `json:"offset,omitempty"` // Offset for retrieved results based on sort order
OrderBy *string `json:"order_by,omitempty"` // Order in which to sort retrieved results
}
ServiceQueryActivityIn ServiceQueryActivityRequestBody
type ServiceStateType ¶ added in v0.3.0
type ServiceStateType string
const ( ServiceStateTypePoweroff ServiceStateType = "POWEROFF" ServiceStateTypeRebalancing ServiceStateType = "REBALANCING" ServiceStateTypeRebuilding ServiceStateType = "REBUILDING" ServiceStateTypeRunning ServiceStateType = "RUNNING" )
type ServiceTaskCreateIn ¶
type ServiceTaskCreateIn struct {
DatasetImport *DatasetImportIn `json:"dataset_import,omitempty"` // Payload to be used with dataset_import
MigrationCheck *MigrationCheckIn `json:"migration_check,omitempty"` // Payload to be used with migration_check
TargetVersion TargetVersionType `json:"target_version,omitempty"` // Target version used with upgrade_check
TaskType TaskType `json:"task_type"` // Service task type
}
ServiceTaskCreateIn ServiceTaskCreateRequestBody
type ServiceTaskCreateOut ¶
type ServiceTaskCreateOut struct {
CreateTime time.Time `json:"create_time"` // Timestamp in ISO 8601 format, always in UTC
Result string `json:"result"` // Task result
ResultCodes []ResultCodeOut `json:"result_codes,omitempty"` // List of result codes
Success bool `json:"success"` // Task success
TaskId string `json:"task_id"` // Unique identifier for the task
TaskType string `json:"task_type"` // Task type
}
ServiceTaskCreateOut Task info
type ServiceTaskGetOut ¶
type ServiceTaskGetOut struct {
CreateTime time.Time `json:"create_time"` // Timestamp in ISO 8601 format, always in UTC
Result string `json:"result"` // Task result
ResultCodes []ResultCodeOut `json:"result_codes,omitempty"` // List of result codes
Success bool `json:"success"` // Task success
TaskId string `json:"task_id"` // Unique identifier for the task
TaskType string `json:"task_type"` // Task type
}
ServiceTaskGetOut Task info
type ServiceUpdateIn ¶
type ServiceUpdateIn struct {
Cloud *string `json:"cloud,omitempty"` // Target cloud
DiskSpaceMb *float64 `json:"disk_space_mb,omitempty"` // Megabytes of disk space for data storage
GroupName *string `json:"group_name,omitempty"` // Service group name (DEPRECATED: do not use)
Karapace *bool `json:"karapace,omitempty"` // Switch the service to use Karapace for schema registry and REST proxy
Maintenance *MaintenanceIn `json:"maintenance,omitempty"` // Automatic maintenance settings
Plan *string `json:"plan,omitempty"` // Subscription plan
Powered *bool `json:"powered,omitempty"` // Power-on the service (true) or power-off (false)
ProjectVpcId *string `json:"project_vpc_id,omitempty"` // Project VPC ID
SchemaRegistryAuthz *bool `json:"schema_registry_authz,omitempty"` // Enable or disable Schema Registry authorization
TechEmails *[]TechEmailIn `json:"tech_emails,omitempty"` // List of service technical email addresses
TerminationProtection *bool `json:"termination_protection,omitempty"` // Service is protected against termination and powering off
UserConfig *map[string]any `json:"user_config,omitempty"` // Service type-specific settings
}
ServiceUpdateIn ServiceUpdateRequestBody
type ServiceUpdateOut ¶
type ServiceUpdateOut struct {
Acl []AclOut `json:"acl,omitempty"` // List of Kafka ACL entries
Backups []BackupOut `json:"backups,omitempty"` // List of backups for the service
CloudDescription *string `json:"cloud_description,omitempty"` // Cloud provider and location
CloudName string `json:"cloud_name"` // Target cloud
Components []ComponentOut `json:"components,omitempty"` // Service component information objects
ConnectionInfo map[string]any `json:"connection_info,omitempty"` // Service-specific connection information properties
ConnectionPools []ConnectionPoolOut `json:"connection_pools,omitempty"` // PostgreSQL PGBouncer connection pools
CreateTime time.Time `json:"create_time"` // Service creation timestamp (ISO 8601)
Databases []string `json:"databases,omitempty"` // List of service's user database names
DiskSpaceMb *float64 `json:"disk_space_mb,omitempty"` // Megabytes of disk space for data storage
Features map[string]any `json:"features,omitempty"` // Feature flags
GroupList []string `json:"group_list"` // List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default'
Maintenance *MaintenanceOut `json:"maintenance,omitempty"` // Automatic maintenance settings
Metadata map[string]any `json:"metadata,omitempty"` // Service type specific metadata
NodeCount *int `json:"node_count,omitempty"` // Number of service nodes in the active plan
NodeCpuCount *int `json:"node_cpu_count,omitempty"` // Number of CPUs for each node
NodeMemoryMb *float64 `json:"node_memory_mb,omitempty"` // Megabytes of memory for each node
NodeStates []NodeStateOut `json:"node_states,omitempty"` // State of individual service nodes
Plan string `json:"plan"` // Subscription plan
ProjectVpcId string `json:"project_vpc_id"` // Project VPC ID
SchemaRegistryAcl []SchemaRegistryAclOut `json:"schema_registry_acl,omitempty"` // List of Schema Registry ACL entries
ServiceIntegrations []ServiceIntegrationOut `json:"service_integrations"` // Integrations with other services
ServiceName string `json:"service_name"` // Service name
ServiceNotifications []ServiceNotificationOut `json:"service_notifications,omitempty"` // Service notifications
ServiceType string `json:"service_type"` // Service type code
ServiceTypeDescription *string `json:"service_type_description,omitempty"` // Single line description of the service
ServiceUri string `json:"service_uri"` // URI for connecting to the service (may be null)
ServiceUriParams map[string]any `json:"service_uri_params,omitempty"` // service_uri parameterized into key-value pairs
State ServiceStateType `json:"state"` // State of the service
Tags map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of service technical email addresses
TerminationProtection bool `json:"termination_protection"` // Service is protected against termination and powering off
Topics []TopicOut `json:"topics,omitempty"` // Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead
UpdateTime time.Time `json:"update_time"` // Service last update timestamp (ISO 8601)
UserConfig map[string]any `json:"user_config"` // Service type-specific settings
Users []UserOut `json:"users,omitempty"` // List of service users
}
ServiceUpdateOut Service information
type ServiceVersionOut ¶
type ServiceVersionOut struct {
AivenEndOfLifeTime *time.Time `json:"aiven_end_of_life_time,omitempty"` // Aiven end-of-life timestamp (ISO 8601)
AvailabilityEndTime *time.Time `json:"availability_end_time,omitempty"` // Availability end timestamp (ISO 8601)
AvailabilityStartTime *time.Time `json:"availability_start_time,omitempty"` // Availability start timestamp (ISO 8601)
EndOfLifeHelpArticleUrl *string `json:"end_of_life_help_article_url,omitempty"` // Link to the help article
MajorVersion *string `json:"major_version,omitempty"` // Service version
ServiceType *string `json:"service_type,omitempty"` // Service type code
State ServiceVersionStateType `json:"state,omitempty"` // Service state
TerminationTime *time.Time `json:"termination_time,omitempty"` // Termination timestamp (ISO 8601)
UpgradeToServiceType *string `json:"upgrade_to_service_type,omitempty"` // If the customer takes no action, the service is updated to this service type when end of life is reached on the Aiven platform. If it is the same as the service type, the platform only upgrades the version.
UpgradeToVersion *string `json:"upgrade_to_version,omitempty"` // The version to which the service will be updated at the end of life on the Aiven platform if the user does not take any action
UpstreamEndOfLifeTime *time.Time `json:"upstream_end_of_life_time,omitempty"` // Upstream end-of-life timestamp (ISO 8601)
}
type ServiceVersionStateType ¶ added in v0.3.0
type ServiceVersionStateType string
const ( ServiceVersionStateTypeAvailable ServiceVersionStateType = "available" ServiceVersionStateTypeEol ServiceVersionStateType = "eol" ServiceVersionStateTypePreview ServiceVersionStateType = "preview" ServiceVersionStateTypeTerminated ServiceVersionStateType = "terminated" )
type ShardOut ¶
type ShardOut struct {
Name *string `json:"name,omitempty"` // Name of the shard.
Position *int `json:"position,omitempty"` // Position of this shard within the service
}
ShardOut Shard of this node. Only returned for a subset of service types
type SortOrderType ¶
type SortOrderType string
const ( SortOrderTypeDesc SortOrderType = "desc" SortOrderTypeAsc SortOrderType = "asc" )
type StateOut ¶
type StateOut struct {
Errors []string `json:"errors"`
LikelyErrorCause LikelyErrorCauseType `json:"likely_error_cause,omitempty"` // Most likely cause of the errors
Nodes map[string]any `json:"nodes"`
Status IntegrationStatusType `json:"status"` // Service integration status
}
StateOut Service integration state
type TargetVersionType ¶
type TargetVersionType string
const ( TargetVersionType13 TargetVersionType = "13" TargetVersionType14 TargetVersionType = "14" TargetVersionType15 TargetVersionType = "15" TargetVersionType16 TargetVersionType = "16" TargetVersionType17 TargetVersionType = "17" )
type TechEmailIn ¶
type TechEmailIn struct {
Email string `json:"email"` // User email address
}
type TechEmailOut ¶
type TechEmailOut struct {
Email string `json:"email"` // User email address
}
type TopicOut ¶
type TopicOut struct {
CleanupPolicy string `json:"cleanup_policy"` // cleanup.policy
MinInsyncReplicas int `json:"min_insync_replicas"` // min.insync.replicas
Partitions int `json:"partitions"` // Number of partitions
Replication int `json:"replication"` // Number of replicas
RetentionBytes int `json:"retention_bytes"` // retention.bytes
RetentionHours int `json:"retention_hours"` // Retention period (hours)
State TopicStateType `json:"state,omitempty"` // Topic state
TopicName string `json:"topic_name"` // Topic name
}
type TopicStateType ¶ added in v0.3.0
type TopicStateType string
const ( TopicStateTypeActive TopicStateType = "ACTIVE" TopicStateTypeConfiguring TopicStateType = "CONFIGURING" TopicStateTypeDeleting TopicStateType = "DELETING" )
type UpdateOut ¶
type UpdateOut struct {
Deadline *string `json:"deadline,omitempty"` // Deadline for installing the update
Description *string `json:"description,omitempty"` // Description of the update
StartAfter *string `json:"start_after,omitempty"` // The earliest time the update will be automatically applied
StartAt *time.Time `json:"start_at,omitempty"` // The time when the update will be automatically applied
}
type UserOut ¶
type UserOut struct {
AccessCert *string `json:"access_cert,omitempty"` // Access certificate for TLS client authentication
AccessCertNotValidAfterTime *time.Time `json:"access_cert_not_valid_after_time,omitempty"` // Validity end time (ISO8601) for the current access certificate
AccessControl *AccessControlOut `json:"access_control,omitempty"` // Service specific access controls for user. Service type specific access control rules for user. Currently only used for configuring user ACLs for Redis version 6 and above.
AccessKey *string `json:"access_key,omitempty"` // Access key for TLS client authentication
Authentication AuthenticationType `json:"authentication,omitempty"` // Authentication details
ExpiringCertNotValidAfterTime *time.Time `json:"expiring_cert_not_valid_after_time,omitempty"` // Validity end time (ISO8601) for the expiring access certificate
Password string `json:"password"` // Account password. A null value indicates a user overridden password.
Type string `json:"type"` // Account type
Username string `json:"username"` // Account username
}
type ValkeyOut ¶ added in v0.14.0
type ValkeyOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
ServicePlans []ServicePlanOut `json:"service_plans"` // List of plans available for this type of service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
ValkeyOut Service type information