service

package
v0.72.0 Latest Latest
Warning

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

Go to latest
Published: Dec 18, 2024 License: Apache-2.0 Imports: 5 Imported by: 3

Documentation

Index

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 DowTypeChoices

func DowTypeChoices() []string

func EndpointTypeChoices added in v0.31.0

func EndpointTypeChoices() []string

func IntegrationStatusTypeChoices added in v0.3.0

func IntegrationStatusTypeChoices() []string

func IntegrationTypeChoices

func IntegrationTypeChoices() []string

func KafkaAclPermissionTypeChoices added in v0.63.0

func KafkaAclPermissionTypeChoices() []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 MaintenanceDowTypeChoices added in v0.36.0

func MaintenanceDowTypeChoices() []string

func MasterLinkStatusTypeChoices added in v0.3.0

func MasterLinkStatusTypeChoices() []string

func MethodTypeChoices

func MethodTypeChoices() []string

func MigrationCheckMethodTypeChoices added in v0.36.0

func MigrationCheckMethodTypeChoices() []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 OperationTypeChoices added in v0.38.0

func OperationTypeChoices() []string

func PatternTypeChoices added in v0.63.0

func PatternTypeChoices() []string

func PeriodTypeChoices

func PeriodTypeChoices() []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 ResourceTypeChoices added in v0.63.0

func ResourceTypeChoices() []string

func RoleTypeChoices added in v0.3.0

func RoleTypeChoices() []string

func RouteTypeChoices added in v0.3.0

func RouteTypeChoices() []string

func SchemaRegistryAclPermissionTypeChoices added in v0.36.0

func SchemaRegistryAclPermissionTypeChoices() []string

func ServiceGetIncludeSecrets added in v0.23.0

func ServiceGetIncludeSecrets(includeSecrets bool) [2]string

ServiceGetIncludeSecrets Explicitly indicates that the client wants to read secrets that might be returned by this endpoint.

func ServiceIntegrationEndpointGetIncludeSecrets added in v0.31.0

func ServiceIntegrationEndpointGetIncludeSecrets(includeSecrets bool) [2]string

ServiceIntegrationEndpointGetIncludeSecrets Explicitly indicates that the client wants to read secrets that might be returned by this endpoint.

func ServiceNotificationTypeChoices added in v0.3.0

func ServiceNotificationTypeChoices() []string

func ServiceStateTypeChoices added in v0.3.0

func ServiceStateTypeChoices() []string

func ServiceUpdateAllowUncleanPoweroff added in v0.21.0

func ServiceUpdateAllowUncleanPoweroff(allowUncleanPoweroff bool) [2]string

ServiceUpdateAllowUncleanPoweroff Allows or disallows powering off a service if some WAL segments are not available for a future restoration of the service, which might result in data loss when powering the service back on

func ServiceUserCredentialsModifyOperationTypeChoices added in v0.63.0

func ServiceUserCredentialsModifyOperationTypeChoices() []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 AccessControlIn added in v0.38.0

type AccessControlIn 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
}

AccessControlIn 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 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 AlloydbomniOut added in v0.40.0

type AlloydbomniOut 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
}

AlloydbomniOut Service type information

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 ConnectionInfoOut added in v0.26.0

type ConnectionInfoOut struct {
	AggregatorHttpUri        *string         `json:"aggregator_http_uri,omitempty"`
	Cassandra                []string        `json:"cassandra,omitempty"`
	Clickhouse               []string        `json:"clickhouse,omitempty"`
	Flink                    []string        `json:"flink,omitempty"`
	Grafana                  []string        `json:"grafana,omitempty"`
	HttpClusterUri           *string         `json:"http_cluster_uri,omitempty"`
	HttpNodeUri              *string         `json:"http_node_uri,omitempty"`
	Influxdb                 []string        `json:"influxdb,omitempty"`
	InfluxdbDbname           *string         `json:"influxdb_dbname,omitempty"`
	InfluxdbPassword         *string         `json:"influxdb_password,omitempty"`
	InfluxdbUri              *string         `json:"influxdb_uri,omitempty"`
	InfluxdbUsername         *string         `json:"influxdb_username,omitempty"`
	Kafka                    []string        `json:"kafka,omitempty"`
	KafkaAccessCert          *string         `json:"kafka_access_cert,omitempty"`
	KafkaAccessKey           *string         `json:"kafka_access_key,omitempty"`
	KafkaConnect             []string        `json:"kafka_connect,omitempty"`
	KafkaConnectUri          *string         `json:"kafka_connect_uri,omitempty"`
	KafkaMirrormaker         []string        `json:"kafka_mirrormaker,omitempty"`
	KafkaRestUri             *string         `json:"kafka_rest_uri,omitempty"`
	M3Aggregator             []string        `json:"m3aggregator,omitempty"`
	M3Db                     []string        `json:"m3db,omitempty"`
	Mysql                    []string        `json:"mysql,omitempty"`
	MysqlParams              []MysqlParamOut `json:"mysql_params,omitempty"`
	MysqlReplicaUri          *string         `json:"mysql_replica_uri,omitempty"`
	MysqlStandby             []string        `json:"mysql_standby,omitempty"`
	Opensearch               []string        `json:"opensearch,omitempty"`
	OpensearchDashboardsUri  *string         `json:"opensearch_dashboards_uri,omitempty"`
	OpensearchPassword       *string         `json:"opensearch_password,omitempty"`
	OpensearchUsername       *string         `json:"opensearch_username,omitempty"`
	Pg                       []string        `json:"pg,omitempty"`
	PgParams                 []PgParamOut    `json:"pg_params,omitempty"`
	PgReplicaUri             *string         `json:"pg_replica_uri,omitempty"`
	PgStandby                []string        `json:"pg_standby,omitempty"`
	PgSyncing                []string        `json:"pg_syncing,omitempty"`
	PrometheusRemoteReadUri  *string         `json:"prometheus_remote_read_uri,omitempty"`
	PrometheusRemoteWriteUri *string         `json:"prometheus_remote_write_uri,omitempty"`
	QueryFrontendUri         *string         `json:"query_frontend_uri,omitempty"`
	QueryUri                 *string         `json:"query_uri,omitempty"`
	ReceiverRemoteWriteUri   *string         `json:"receiver_remote_write_uri,omitempty"`
	Redis                    []string        `json:"redis,omitempty"`
	RedisPassword            *string         `json:"redis_password,omitempty"`
	RedisReplicaUri          *string         `json:"redis_replica_uri,omitempty"`
	RedisSlave               []string        `json:"redis_slave,omitempty"`
	SchemaRegistryUri        *string         `json:"schema_registry_uri,omitempty"`
	Thanos                   []string        `json:"thanos,omitempty"`
	Valkey                   []string        `json:"valkey,omitempty"`
	ValkeyPassword           *string         `json:"valkey_password,omitempty"`
	ValkeyReplicaUri         *string         `json:"valkey_replica_uri,omitempty"`
	ValkeySlave              []string        `json:"valkey_slave,omitempty"`
}

ConnectionInfoOut Service-specific connection information properties

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 CreateUserBackupIn added in v0.52.0

type CreateUserBackupIn struct {
	BackupName string `json:"backup_name"` // The output file name.
}

CreateUserBackupIn Payload to be used with create_user_backup

type DatabaseOut

type DatabaseOut struct {
	DatabaseName string  `json:"database_name"` // Database name or ID
	LcCollate    *string `json:"lc_collate,omitempty"`
	LcCtype      *string `json:"lc_ctype,omitempty"`
}

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 DowType

type DowType string
const (
	DowTypeMonday    DowType = "monday"
	DowTypeTuesday   DowType = "tuesday"
	DowTypeWednesday DowType = "wednesday"
	DowTypeThursday  DowType = "thursday"
	DowTypeFriday    DowType = "friday"
	DowTypeSaturday  DowType = "saturday"
	DowTypeSunday    DowType = "sunday"
)

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 EndpointType added in v0.31.0

type EndpointType string
const (
	EndpointTypeAutoscaler                   EndpointType = "autoscaler"
	EndpointTypeDatadog                      EndpointType = "datadog"
	EndpointTypeExternalAwsCloudwatchLogs    EndpointType = "external_aws_cloudwatch_logs"
	EndpointTypeExternalAwsCloudwatchMetrics EndpointType = "external_aws_cloudwatch_metrics"
	EndpointTypeExternalAwsS3                EndpointType = "external_aws_s3"
	EndpointTypeExternalClickhouse           EndpointType = "external_clickhouse"
	EndpointTypeExternalElasticsearchLogs    EndpointType = "external_elasticsearch_logs"
	EndpointTypeExternalGoogleCloudBigquery  EndpointType = "external_google_cloud_bigquery"
	EndpointTypeExternalGoogleCloudLogging   EndpointType = "external_google_cloud_logging"
	EndpointTypeExternalKafka                EndpointType = "external_kafka"
	EndpointTypeExternalMysql                EndpointType = "external_mysql"
	EndpointTypeExternalOpensearchLogs       EndpointType = "external_opensearch_logs"
	EndpointTypeExternalPostgresql           EndpointType = "external_postgresql"
	EndpointTypeExternalPrometheus           EndpointType = "external_prometheus"
	EndpointTypeExternalRedis                EndpointType = "external_redis"
	EndpointTypeExternalSchemaRegistry       EndpointType = "external_schema_registry"
	EndpointTypeExternalSumologicLogs        EndpointType = "external_sumologic_logs"
	EndpointTypeJolokia                      EndpointType = "jolokia"
	EndpointTypePrometheus                   EndpointType = "prometheus"
	EndpointTypeRsyslog                      EndpointType = "rsyslog"
)

type EndpointTypeOut added in v0.31.0

type EndpointTypeOut struct {
	EndpointType     string         `json:"endpoint_type"`      // Endpoint type name
	ServiceTypes     []string       `json:"service_types"`      // Supported service types
	Title            string         `json:"title"`              // Endpoint type description
	UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}

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, query ...[2]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)

	// ServiceIntegrationCreate create a new service integration
	// POST /v1/project/{project}/integration
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationCreate
	ServiceIntegrationCreate(ctx context.Context, project string, in *ServiceIntegrationCreateIn) (*ServiceIntegrationCreateOut, error)

	// ServiceIntegrationDelete delete a service integration
	// DELETE /v1/project/{project}/integration/{integration_id}
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationDelete
	ServiceIntegrationDelete(ctx context.Context, project string, integrationId string) error

	// ServiceIntegrationEndpointCreate create a new service integration endpoint
	// POST /v1/project/{project}/integration_endpoint
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationEndpointCreate
	ServiceIntegrationEndpointCreate(ctx context.Context, project string, in *ServiceIntegrationEndpointCreateIn) (*ServiceIntegrationEndpointCreateOut, error)

	// ServiceIntegrationEndpointDelete delete a service integration endpoint
	// DELETE /v1/project/{project}/integration_endpoint/{integration_endpoint_id}
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationEndpointDelete
	ServiceIntegrationEndpointDelete(ctx context.Context, project string, integrationEndpointId string) error

	// ServiceIntegrationEndpointGet get service integration endpoint
	// GET /v1/project/{project}/integration_endpoint/{integration_endpoint_id}
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationEndpointGet
	ServiceIntegrationEndpointGet(ctx context.Context, project string, integrationEndpointId string, query ...[2]string) (*ServiceIntegrationEndpointGetOut, error)

	// ServiceIntegrationEndpointList list available integration endpoints for project
	// GET /v1/project/{project}/integration_endpoint
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationEndpointList
	ServiceIntegrationEndpointList(ctx context.Context, project string) ([]ServiceIntegrationEndpointOut, error)

	// ServiceIntegrationEndpointTypes list available service integration endpoint types
	// GET /v1/project/{project}/integration_endpoint_types
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationEndpointTypes
	ServiceIntegrationEndpointTypes(ctx context.Context, project string) ([]EndpointTypeOut, error)

	// ServiceIntegrationEndpointUpdate update service integration endpoint
	// PUT /v1/project/{project}/integration_endpoint/{integration_endpoint_id}
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationEndpointUpdate
	ServiceIntegrationEndpointUpdate(ctx context.Context, project string, integrationEndpointId string, in *ServiceIntegrationEndpointUpdateIn) (*ServiceIntegrationEndpointUpdateOut, error)

	// ServiceIntegrationGet get service integration
	// GET /v1/project/{project}/integration/{integration_id}
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationGet
	ServiceIntegrationGet(ctx context.Context, project string, integrationId string) (*ServiceIntegrationGetOut, error)

	// ServiceIntegrationList list available integrations for a service
	// GET /v1/project/{project}/service/{service_name}/integration
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationList
	ServiceIntegrationList(ctx context.Context, project string, serviceName string) ([]ServiceIntegrationOut, error)

	// ServiceIntegrationTypes list available service integration types
	// GET /v1/project/{project}/integration_types
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationTypes
	ServiceIntegrationTypes(ctx context.Context, project string) ([]IntegrationTypeOut, error)

	// ServiceIntegrationUpdate update a service integration
	// PUT /v1/project/{project}/integration/{integration_id}
	// https://api.aiven.io/doc/#tag/Service_Integrations/operation/ServiceIntegrationUpdate
	ServiceIntegrationUpdate(ctx context.Context, project string, integrationId string, in *ServiceIntegrationUpdateIn) (*ServiceIntegrationUpdateOut, 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, query ...[2]string) (*ServiceUpdateOut, error)

	// ServiceUserCreate create a new (sub) user for service
	// POST /v1/project/{project}/service/{service_name}/user
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceUserCreate
	ServiceUserCreate(ctx context.Context, project string, serviceName string, in *ServiceUserCreateIn) (*ServiceUserCreateOut, error)

	// ServiceUserCredentialsModify modify service user credentials
	// PUT /v1/project/{project}/service/{service_name}/user/{service_username}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceUserCredentialsModify
	ServiceUserCredentialsModify(ctx context.Context, project string, serviceName string, serviceUsername string, in *ServiceUserCredentialsModifyIn) (*ServiceUserCredentialsModifyOut, error)

	// ServiceUserCredentialsReset reset service user credentials
	// PUT /v1/project/{project}/service/{service_name}/user/{service_username}/credentials/reset
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceUserCredentialsReset
	ServiceUserCredentialsReset(ctx context.Context, project string, serviceName string, serviceUsername string) (*ServiceUserCredentialsResetOut, error)

	// ServiceUserDelete delete a service user
	// DELETE /v1/project/{project}/service/{service_name}/user/{service_username}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceUserDelete
	ServiceUserDelete(ctx context.Context, project string, serviceName string, serviceUsername string) error

	// ServiceUserGet get details for a single user
	// GET /v1/project/{project}/service/{service_name}/user/{service_username}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceUserGet
	ServiceUserGet(ctx context.Context, project string, serviceName string, serviceUsername string) (*ServiceUserGetOut, 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"
	IntegrationTypeApplicationServiceCredential      IntegrationType = "application_service_credential"
	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"
	IntegrationTypeDisasterRecovery                  IntegrationType = "disaster_recovery"
	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"
	IntegrationTypeThanosruler                       IntegrationType = "thanosruler"
	IntegrationTypeThanosstore                       IntegrationType = "thanosstore"
	IntegrationTypeVector                            IntegrationType = "vector"
	IntegrationTypeVmalert                           IntegrationType = "vmalert"
)

type IntegrationTypeOut added in v0.31.0

type IntegrationTypeOut struct {
	DestDescription    string         `json:"dest_description"`     // Description of the destination service
	DestServiceType    string         `json:"dest_service_type"`    // Service type. DEPRECATED: Use dest_service_types instead
	DestServiceTypes   []string       `json:"dest_service_types"`   // Supported destination service types
	IntegrationType    string         `json:"integration_type"`     // Integration type name
	SourceDescription  string         `json:"source_description"`   // Description of the source service
	SourceServiceTypes []string       `json:"source_service_types"` // Supported source service types
	UserConfigSchema   map[string]any `json:"user_config_schema"`   // JSON-Schema for the 'user_config' properties
}

type KafkaAclOut added in v0.63.0

type KafkaAclOut struct {
	Host           string                 `json:"host"`            // the host or * for all hosts
	Id             string                 `json:"id"`              // ID
	Operation      OperationType          `json:"operation"`       // Kafka ACL operation represents an operation which an ACL grants or denies permission to perform
	PatternType    PatternType            `json:"pattern_type"`    // Kafka ACL pattern type of resource name
	PermissionType KafkaAclPermissionType `json:"permission_type"` // Kafka ACL permission type
	Principal      string                 `json:"principal"`       // principal is in 'principalType:name' format
	ResourceName   string                 `json:"resource_name"`   // Resource pattern used to match specified resources
	ResourceType   ResourceType           `json:"resource_type"`   // Kafka ACL resource type represents a type of resource which an ACL can be applied to
}

type KafkaAclPermissionType added in v0.63.0

type KafkaAclPermissionType string
const (
	KafkaAclPermissionTypeAllow KafkaAclPermissionType = "ALLOW"
	KafkaAclPermissionTypeDeny  KafkaAclPermissionType = "DENY"
)

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 LevelType added in v0.3.0

type LevelType string
const (
	LevelTypeNotice  LevelType = "notice"
	LevelTypeWarning LevelType = "warning"
)

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 {
	Alloydbomni      *AlloydbomniOut      `json:"alloydbomni,omitempty"`       // Service type information
	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
	Thanos           *ThanosOut           `json:"thanos,omitempty"`            // Service type information
	Valkey           *ValkeyOut           `json:"valkey,omitempty"`            // Service type information
}

ListProjectServiceTypesOut Service plans by service type

type ListPublicServiceTypesOut

type ListPublicServiceTypesOut struct {
	Alloydbomni      *AlloydbomniOut      `json:"alloydbomni,omitempty"`       // Service type information
	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
	Thanos           *ThanosOut           `json:"thanos,omitempty"`            // Service type information
	Valkey           *ValkeyOut           `json:"valkey,omitempty"`            // Service type information
}

ListPublicServiceTypesOut Service plans by service type

type LogOut

type LogOut struct {
	Msg  string  `json:"msg"`            // Log message
	Time *string `json:"time,omitempty"` // Timestamp in ISO 8601 format, always in UTC
	Unit *string `json:"unit,omitempty"` // SystemD unit name
}

type MaintenanceDowType added in v0.36.0

type MaintenanceDowType string
const (
	MaintenanceDowTypeMonday    MaintenanceDowType = "monday"
	MaintenanceDowTypeTuesday   MaintenanceDowType = "tuesday"
	MaintenanceDowTypeWednesday MaintenanceDowType = "wednesday"
	MaintenanceDowTypeThursday  MaintenanceDowType = "thursday"
	MaintenanceDowTypeFriday    MaintenanceDowType = "friday"
	MaintenanceDowTypeSaturday  MaintenanceDowType = "saturday"
	MaintenanceDowTypeSunday    MaintenanceDowType = "sunday"
	MaintenanceDowTypeNever     MaintenanceDowType = "never"
)

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     MaintenanceDowType `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 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            MigrationCheckMethodType `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 MigrationCheckMethodType added in v0.36.0

type MigrationCheckMethodType string
const (
	MigrationCheckMethodTypeDump        MigrationCheckMethodType = "dump"
	MigrationCheckMethodTypeReplication MigrationCheckMethodType = "replication"
)

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"
	MigrationDetailStatusTypeWaiting MigrationDetailStatusType = "waiting"
)

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"
	MigrationStatusTypeWaiting MigrationStatusType = "waiting"
)

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 MysqlParamOut added in v0.26.0

type MysqlParamOut struct {
	Dbname   string `json:"dbname"`
	Host     string `json:"host"`
	Password string `json:"password"`
	Port     string `json:"port"`
	SslMode  string `json:"ssl-mode"`
	User     string `json:"user"`
}

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 OperationType added in v0.38.0

type OperationType string
const (
	OperationTypeAll             OperationType = "All"
	OperationTypeAlter           OperationType = "Alter"
	OperationTypeAlterConfigs    OperationType = "AlterConfigs"
	OperationTypeClusterAction   OperationType = "ClusterAction"
	OperationTypeCreate          OperationType = "Create"
	OperationTypeCreateTokens    OperationType = "CreateTokens"
	OperationTypeDelete          OperationType = "Delete"
	OperationTypeDescribe        OperationType = "Describe"
	OperationTypeDescribeConfigs OperationType = "DescribeConfigs"
	OperationTypeDescribeTokens  OperationType = "DescribeTokens"
	OperationTypeIdempotentWrite OperationType = "IdempotentWrite"
	OperationTypeRead            OperationType = "Read"
	OperationTypeWrite           OperationType = "Write"
)

type PatternType added in v0.63.0

type PatternType string
const (
	PatternTypeLiteral  PatternType = "LITERAL"
	PatternTypePrefixed PatternType = "PREFIXED"
)

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 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 PgParamOut added in v0.26.0

type PgParamOut struct {
	Dbname   string `json:"dbname"`
	Host     string `json:"host"`
	Password string `json:"password"`
	Port     string `json:"port"`
	Sslmode  string `json:"sslmode"`
	User     string `json:"user"`
}

type PhaseType added in v0.3.0

type PhaseType string
const (
	PhaseTypePrepare    PhaseType = "prepare"
	PhaseTypeBasebackup PhaseType = "basebackup"
	PhaseTypeStream     PhaseType = "stream"
	PhaseTypeFinalize   PhaseType = "finalize"
)

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 ResourceType added in v0.63.0

type ResourceType string
const (
	ResourceTypeTopic           ResourceType = "Topic"
	ResourceTypeGroup           ResourceType = "Group"
	ResourceTypeCluster         ResourceType = "Cluster"
	ResourceTypeTransactionalId ResourceType = "TransactionalId"
	ResourceTypeDelegationToken ResourceType = "DelegationToken"
	ResourceTypeUser            ResourceType = "User"
)

type ResultCodeOut

type ResultCodeOut struct {
	Code   string  `json:"code"`             // Machine-readable key code, which represents the result of the task
	Dbname *string `json:"dbname,omitempty"` // Database which related to the result code
}

type RoleType added in v0.3.0

type RoleType string
const (
	RoleTypeMaster      RoleType = "master"
	RoleTypeStandby     RoleType = "standby"
	RoleTypeReadReplica RoleType = "read-replica"
)

type RouteType added in v0.3.0

type RouteType string
const (
	RouteTypeDynamic     RouteType = "dynamic"
	RouteTypePublic      RouteType = "public"
	RouteTypePrivate     RouteType = "private"
	RouteTypePrivatelink RouteType = "privatelink"
)

type SchemaRegistryAclOut

type SchemaRegistryAclOut struct {
	Id         *string                         `json:"id,omitempty"` // ID
	Permission SchemaRegistryAclPermissionType `json:"permission"`   // ACL entry for Schema Registry
	Resource   string                          `json:"resource"`     // Schema Registry ACL entry resource name pattern
	Username   string                          `json:"username"`
}

type SchemaRegistryAclPermissionType added in v0.36.0

type SchemaRegistryAclPermissionType string
const (
	SchemaRegistryAclPermissionTypeSchemaRegistryRead  SchemaRegistryAclPermissionType = "schema_registry_read"
	SchemaRegistryAclPermissionTypeSchemaRegistryWrite SchemaRegistryAclPermissionType = "schema_registry_write"
)

type ServerGroupOut added in v0.51.0

type ServerGroupOut struct {
	Enabled *bool   `json:"enabled,omitempty"` // Flag set if server group is in use for the service
	Type    *string `json:"type,omitempty"`    // IaaS server group type
}

ServerGroupOut Service IaaS server group

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           *int                    `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 Aiven ACL entries for Kafka service
	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            *int                     `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'
	KafkaAcl               []KafkaAclOut            `json:"kafka_acl,omitempty"`                // List of Kafka-native ACL entries
	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
	ServerGroup            *ServerGroupOut          `json:"server_group,omitempty"`             // Service IaaS server group
	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 Aiven ACL entries for Kafka service
	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         *ConnectionInfoOut       `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            *int                     `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'
	KafkaAcl               []KafkaAclOut            `json:"kafka_acl,omitempty"`                // List of Kafka-native ACL entries
	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
	ServerGroup            *ServerGroupOut          `json:"server_group,omitempty"`             // Service IaaS server group
	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]string        `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 (h *ServiceHandler) ProjectServiceTagsList(ctx context.Context, project string, serviceName string) (map[string]string, error)

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 (h *ServiceHandler) ServiceAlertsList(ctx context.Context, project string, serviceName string) ([]AlertOut, error)

func (*ServiceHandler) ServiceBackupToAnotherRegionReport

func (h *ServiceHandler) ServiceBackupToAnotherRegionReport(ctx context.Context, project string, serviceName string, in *ServiceBackupToAnotherRegionReportIn) (map[string]any, error)

func (*ServiceHandler) ServiceBackupsGet

func (h *ServiceHandler) ServiceBackupsGet(ctx context.Context, project string, serviceName string) ([]BackupOut, error)

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 (h *ServiceHandler) ServiceDatabaseDelete(ctx context.Context, project string, serviceName string, dbname string) error

func (*ServiceHandler) ServiceDatabaseList

func (h *ServiceHandler) ServiceDatabaseList(ctx context.Context, project string, serviceName string) ([]DatabaseOut, error)

func (*ServiceHandler) ServiceDelete

func (h *ServiceHandler) ServiceDelete(ctx context.Context, project string, serviceName string) error

func (*ServiceHandler) ServiceEnableWrites

func (h *ServiceHandler) ServiceEnableWrites(ctx context.Context, project string, serviceName string) (*string, error)

func (*ServiceHandler) ServiceGet

func (h *ServiceHandler) ServiceGet(ctx context.Context, project string, serviceName string, query ...[2]string) (*ServiceGetOut, error)

func (*ServiceHandler) ServiceGetMigrationStatus

func (h *ServiceHandler) ServiceGetMigrationStatus(ctx context.Context, project string, serviceName string) (*ServiceGetMigrationStatusOut, error)

func (*ServiceHandler) ServiceInfluxDBStats

func (h *ServiceHandler) ServiceInfluxDBStats(ctx context.Context, project string, serviceName string) (map[string]any, error)

func (*ServiceHandler) ServiceIntegrationCreate added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationCreate(ctx context.Context, project string, in *ServiceIntegrationCreateIn) (*ServiceIntegrationCreateOut, error)

func (*ServiceHandler) ServiceIntegrationDelete added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationDelete(ctx context.Context, project string, integrationId string) error

func (*ServiceHandler) ServiceIntegrationEndpointCreate added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationEndpointCreate(ctx context.Context, project string, in *ServiceIntegrationEndpointCreateIn) (*ServiceIntegrationEndpointCreateOut, error)

func (*ServiceHandler) ServiceIntegrationEndpointDelete added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationEndpointDelete(ctx context.Context, project string, integrationEndpointId string) error

func (*ServiceHandler) ServiceIntegrationEndpointGet added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationEndpointGet(ctx context.Context, project string, integrationEndpointId string, query ...[2]string) (*ServiceIntegrationEndpointGetOut, error)

func (*ServiceHandler) ServiceIntegrationEndpointList added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationEndpointList(ctx context.Context, project string) ([]ServiceIntegrationEndpointOut, error)

func (*ServiceHandler) ServiceIntegrationEndpointTypes added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationEndpointTypes(ctx context.Context, project string) ([]EndpointTypeOut, error)

func (*ServiceHandler) ServiceIntegrationEndpointUpdate added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationEndpointUpdate(ctx context.Context, project string, integrationEndpointId string, in *ServiceIntegrationEndpointUpdateIn) (*ServiceIntegrationEndpointUpdateOut, error)

func (*ServiceHandler) ServiceIntegrationGet added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationGet(ctx context.Context, project string, integrationId string) (*ServiceIntegrationGetOut, error)

func (*ServiceHandler) ServiceIntegrationList added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationList(ctx context.Context, project string, serviceName string) ([]ServiceIntegrationOut, error)

func (*ServiceHandler) ServiceIntegrationTypes added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationTypes(ctx context.Context, project string) ([]IntegrationTypeOut, error)

func (*ServiceHandler) ServiceIntegrationUpdate added in v0.31.0

func (h *ServiceHandler) ServiceIntegrationUpdate(ctx context.Context, project string, integrationId string, in *ServiceIntegrationUpdateIn) (*ServiceIntegrationUpdateOut, error)

func (*ServiceHandler) ServiceKmsGetCA

func (h *ServiceHandler) ServiceKmsGetCA(ctx context.Context, project string, serviceName string, caName string) (string, error)

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 (h *ServiceHandler) ServiceMaintenanceStart(ctx context.Context, project string, serviceName string) error

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 (h *ServiceHandler) ServiceQueryStatisticsReset(ctx context.Context, project string, serviceName string) ([]map[string]any, error)

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, query ...[2]string) (*ServiceUpdateOut, error)

func (*ServiceHandler) ServiceUserCreate added in v0.38.0

func (h *ServiceHandler) ServiceUserCreate(ctx context.Context, project string, serviceName string, in *ServiceUserCreateIn) (*ServiceUserCreateOut, error)

func (*ServiceHandler) ServiceUserCredentialsModify added in v0.38.0

func (h *ServiceHandler) ServiceUserCredentialsModify(ctx context.Context, project string, serviceName string, serviceUsername string, in *ServiceUserCredentialsModifyIn) (*ServiceUserCredentialsModifyOut, error)

func (*ServiceHandler) ServiceUserCredentialsReset added in v0.38.0

func (h *ServiceHandler) ServiceUserCredentialsReset(ctx context.Context, project string, serviceName string, serviceUsername string) (*ServiceUserCredentialsResetOut, error)

func (*ServiceHandler) ServiceUserDelete added in v0.38.0

func (h *ServiceHandler) ServiceUserDelete(ctx context.Context, project string, serviceName string, serviceUsername string) error

func (*ServiceHandler) ServiceUserGet added in v0.38.0

func (h *ServiceHandler) ServiceUserGet(ctx context.Context, project string, serviceName string, serviceUsername string) (*ServiceUserGetOut, error)

type ServiceIntegrationCreateIn added in v0.31.0

type ServiceIntegrationCreateIn 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
}

ServiceIntegrationCreateIn ServiceIntegrationCreateRequestBody

type ServiceIntegrationCreateOut added in v0.31.0

type ServiceIntegrationCreateOut 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      IntegrationType       `json:"integration_type"`             // Service integration type
	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
}

ServiceIntegrationCreateOut Service integration

type ServiceIntegrationEndpointCreateIn added in v0.31.0

type ServiceIntegrationEndpointCreateIn struct {
	EndpointName string         `json:"endpoint_name"` // Integration endpoint name
	EndpointType EndpointType   `json:"endpoint_type"` // Service integration endpoint type
	UserConfig   map[string]any `json:"user_config"`   // Service integration endpoint settings
}

ServiceIntegrationEndpointCreateIn ServiceIntegrationEndpointCreateRequestBody

type ServiceIntegrationEndpointCreateOut added in v0.31.0

type ServiceIntegrationEndpointCreateOut struct {
	EndpointConfig map[string]any `json:"endpoint_config"` // Service integration endpoint backend settings
	EndpointId     string         `json:"endpoint_id"`     // Integration endpoint ID
	EndpointName   string         `json:"endpoint_name"`   // Integration endpoint name
	EndpointType   EndpointType   `json:"endpoint_type"`   // Integration endpoint type
	UserConfig     map[string]any `json:"user_config"`     // Service integration endpoint settings
}

ServiceIntegrationEndpointCreateOut Service integration endpoint

type ServiceIntegrationEndpointGetOut added in v0.31.0

type ServiceIntegrationEndpointGetOut struct {
	EndpointConfig map[string]any `json:"endpoint_config"` // Service integration endpoint backend settings
	EndpointId     string         `json:"endpoint_id"`     // Integration endpoint ID
	EndpointName   string         `json:"endpoint_name"`   // Integration endpoint name
	EndpointType   EndpointType   `json:"endpoint_type"`   // Integration endpoint type
	UserConfig     map[string]any `json:"user_config"`     // Service integration endpoint settings
}

ServiceIntegrationEndpointGetOut Service integration endpoint

type ServiceIntegrationEndpointOut added in v0.31.0

type ServiceIntegrationEndpointOut struct {
	EndpointConfig map[string]any `json:"endpoint_config"` // Service integration endpoint backend settings
	EndpointId     string         `json:"endpoint_id"`     // Integration endpoint ID
	EndpointName   string         `json:"endpoint_name"`   // Integration endpoint name
	EndpointType   EndpointType   `json:"endpoint_type"`   // Integration endpoint type
	UserConfig     map[string]any `json:"user_config"`     // Service integration endpoint settings
}

type ServiceIntegrationEndpointUpdateIn added in v0.31.0

type ServiceIntegrationEndpointUpdateIn struct {
	UserConfig map[string]any `json:"user_config"` // Service integration endpoint settings
}

ServiceIntegrationEndpointUpdateIn ServiceIntegrationEndpointUpdateRequestBody

type ServiceIntegrationEndpointUpdateOut added in v0.31.0

type ServiceIntegrationEndpointUpdateOut struct {
	EndpointConfig map[string]any `json:"endpoint_config"` // Service integration endpoint backend settings
	EndpointId     string         `json:"endpoint_id"`     // Integration endpoint ID
	EndpointName   string         `json:"endpoint_name"`   // Integration endpoint name
	EndpointType   EndpointType   `json:"endpoint_type"`   // Integration endpoint type
	UserConfig     map[string]any `json:"user_config"`     // Service integration endpoint settings
}

ServiceIntegrationEndpointUpdateOut Service integration endpoint

type ServiceIntegrationGetOut added in v0.31.0

type ServiceIntegrationGetOut 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      IntegrationType       `json:"integration_type"`             // Service integration type
	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
}

ServiceIntegrationGetOut Service integration

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      IntegrationType       `json:"integration_type"`             // Service integration type
	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 ServiceIntegrationUpdateIn added in v0.31.0

type ServiceIntegrationUpdateIn struct {
	UserConfig map[string]any `json:"user_config"` // Service integration settings
}

ServiceIntegrationUpdateIn ServiceIntegrationUpdateRequestBody

type ServiceIntegrationUpdateOut added in v0.31.0

type ServiceIntegrationUpdateOut 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
}

ServiceIntegrationUpdateOut Service integration

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 Aiven ACL entries for Kafka service
	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            *int                     `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'
	KafkaAcl               []KafkaAclOut            `json:"kafka_acl,omitempty"`                // List of Kafka-native ACL entries
	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
	ServerGroup            *ServerGroupOut          `json:"server_group,omitempty"`             // Service IaaS server group
	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 {
	CreateUserBackup *CreateUserBackupIn `json:"create_user_backup,omitempty"` // Payload to be used with create_user_backup
	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           *int            `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 Aiven ACL entries for Kafka service
	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            *int                     `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'
	KafkaAcl               []KafkaAclOut            `json:"kafka_acl,omitempty"`                // List of Kafka-native ACL entries
	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
	ServerGroup            *ServerGroupOut          `json:"server_group,omitempty"`             // Service IaaS server group
	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 ServiceUserCreateIn added in v0.38.0

type ServiceUserCreateIn struct {
	AccessControl  *AccessControlIn   `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.
	Authentication AuthenticationType `json:"authentication,omitempty"` // Authentication details
	Username       string             `json:"username"`                 // Service username
}

ServiceUserCreateIn ServiceUserCreateRequestBody

type ServiceUserCreateOut added in v0.38.0

type ServiceUserCreateOut 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
}

ServiceUserCreateOut Service user account

type ServiceUserCredentialsModifyIn added in v0.38.0

type ServiceUserCredentialsModifyIn struct {
	AccessControl  *AccessControlIn                          `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.
	Authentication AuthenticationType                        `json:"authentication,omitempty"` // Authentication details
	NewPassword    *string                                   `json:"new_password,omitempty"`   // New password
	Operation      ServiceUserCredentialsModifyOperationType `json:"operation"`                // Operation type
}

ServiceUserCredentialsModifyIn ServiceUserCredentialsModifyRequestBody

type ServiceUserCredentialsModifyOperationType added in v0.63.0

type ServiceUserCredentialsModifyOperationType string
const (
	ServiceUserCredentialsModifyOperationTypeAcknowledgeRenewal ServiceUserCredentialsModifyOperationType = "acknowledge-renewal"
	ServiceUserCredentialsModifyOperationTypeResetCredentials   ServiceUserCredentialsModifyOperationType = "reset-credentials"
	ServiceUserCredentialsModifyOperationTypeSetAccessControl   ServiceUserCredentialsModifyOperationType = "set-access-control"
)

type ServiceUserCredentialsModifyOut added in v0.38.0

type ServiceUserCredentialsModifyOut struct {
	Acl                    []AclOut                 `json:"acl,omitempty"`                      // List of Aiven ACL entries for Kafka service
	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            *int                     `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'
	KafkaAcl               []KafkaAclOut            `json:"kafka_acl,omitempty"`                // List of Kafka-native ACL entries
	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
	ServerGroup            *ServerGroupOut          `json:"server_group,omitempty"`             // Service IaaS server group
	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
}

ServiceUserCredentialsModifyOut Service information

type ServiceUserCredentialsResetOut added in v0.38.0

type ServiceUserCredentialsResetOut struct {
	Acl                    []AclOut                 `json:"acl,omitempty"`                      // List of Aiven ACL entries for Kafka service
	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            *int                     `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'
	KafkaAcl               []KafkaAclOut            `json:"kafka_acl,omitempty"`                // List of Kafka-native ACL entries
	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
	ServerGroup            *ServerGroupOut          `json:"server_group,omitempty"`             // Service IaaS server group
	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
}

ServiceUserCredentialsResetOut Service information

type ServiceUserGetOut added in v0.38.0

type ServiceUserGetOut 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
}

ServiceUserGetOut Service user account

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"
	ServiceVersionStateTypeUnavailable ServiceVersionStateType = "unavailable"
)

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 TaskType

type TaskType string
const (
	TaskTypeUpgradeCheck     TaskType = "upgrade_check"
	TaskTypeMigrationCheck   TaskType = "migration_check"
	TaskTypeDatasetImport    TaskType = "dataset_import"
	TaskTypeCreateUserBackup TaskType = "create_user_backup"
)

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 ThanosOut added in v0.44.0

type ThanosOut 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
}

ThanosOut Service type information

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 UnitType added in v0.3.0

type UnitType string
const (
	UnitTypeBinlogs           UnitType = "binlogs"
	UnitTypeBytesCompressed   UnitType = "bytes_compressed"
	UnitTypeBytesUncompressed UnitType = "bytes_uncompressed"
	UnitTypeWalLsn            UnitType = "wal_lsn"
)

type UpdateOut

type UpdateOut struct {
	Deadline           *string    `json:"deadline,omitempty"`             // Deadline for installing the update
	Description        *string    `json:"description,omitempty"`          // Description of the update
	DocumentationLink  *string    `json:"documentation_link,omitempty"`   // Optional link
	Impact             *string    `json:"impact,omitempty"`               // Impact statement of the update
	ImpactPortableText *string    `json:"impact_portable_text,omitempty"` // Impact statement in portable text format
	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 UsageType added in v0.3.0

type UsageType string
const (
	UsageTypeDisasterRecovery UsageType = "disaster_recovery"
	UsageTypePrimary          UsageType = "primary"
	UsageTypeReplica          UsageType = "replica"
)

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

Jump to

Keyboard shortcuts

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