service

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: May 7, 2024 License: Apache-2.0 Imports: 4 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 DowTypeAltChoices added in v0.3.0

func DowTypeAltChoices() []string

func DowTypeChoices

func DowTypeChoices() []string

func IntegrationStatusTypeChoices added in v0.3.0

func IntegrationStatusTypeChoices() []string

func IntegrationTypeChoices

func IntegrationTypeChoices() []string

func KafkaAuthenticationMethodTypeChoices added in v0.3.0

func KafkaAuthenticationMethodTypeChoices() []string

func LevelTypeChoices added in v0.3.0

func LevelTypeChoices() []string

func LikelyErrorCauseTypeChoices added in v0.3.0

func LikelyErrorCauseTypeChoices() []string

func MasterLinkStatusTypeChoices added in v0.3.0

func MasterLinkStatusTypeChoices() []string

func MethodTypeAltChoices added in v0.3.0

func MethodTypeAltChoices() []string

func MethodTypeChoices

func MethodTypeChoices() []string

func MigrationDetailStatusTypeChoices added in v0.3.0

func MigrationDetailStatusTypeChoices() []string

func MigrationStatusTypeChoices added in v0.3.0

func MigrationStatusTypeChoices() []string

func NodeStateTypeChoices added in v0.3.0

func NodeStateTypeChoices() []string

func PeriodTypeChoices

func PeriodTypeChoices() []string

func PermissionTypeAltChoices added in v0.3.0

func PermissionTypeAltChoices() []string

func PermissionTypeChoices added in v0.3.0

func PermissionTypeChoices() []string

func PhaseTypeChoices added in v0.3.0

func PhaseTypeChoices() []string

func PoolModeTypeChoices added in v0.3.0

func PoolModeTypeChoices() []string

func RecoveryModeTypeChoices added in v0.3.0

func RecoveryModeTypeChoices() []string

func RoleTypeChoices added in v0.3.0

func RoleTypeChoices() []string

func RouteTypeChoices added in v0.3.0

func RouteTypeChoices() []string

func ServiceNotificationTypeChoices added in v0.3.0

func ServiceNotificationTypeChoices() []string

func ServiceStateTypeChoices added in v0.3.0

func ServiceStateTypeChoices() []string

func ServiceVersionStateTypeChoices added in v0.3.0

func ServiceVersionStateTypeChoices() []string

func SortOrderTypeChoices

func SortOrderTypeChoices() []string

func TargetVersionTypeChoices

func TargetVersionTypeChoices() []string

func TaskTypeChoices

func TaskTypeChoices() []string

func TopicStateTypeChoices added in v0.3.0

func TopicStateTypeChoices() []string

func UnitTypeChoices added in v0.3.0

func UnitTypeChoices() []string

func UsageTypeChoices added in v0.3.0

func UsageTypeChoices() []string

Types

type AccessControlOut

type AccessControlOut struct {
	M3Group            string   `json:"m3_group,omitempty"`
	PgAllowReplication *bool    `json:"pg_allow_replication,omitempty"`
	RedisAclCategories []string `json:"redis_acl_categories,omitempty"`
	RedisAclChannels   []string `json:"redis_acl_channels,omitempty"`
	RedisAclCommands   []string `json:"redis_acl_commands,omitempty"`
	RedisAclKeys       []string `json:"redis_acl_keys,omitempty"`
}

type AclOut

type AclOut struct {
	Id         string         `json:"id,omitempty"`
	Permission PermissionType `json:"permission"`
	Topic      string         `json:"topic"`
	Username   string         `json:"username"`
}

type AdditionalRegionOut

type AdditionalRegionOut struct {
	Cloud       string `json:"cloud"`
	PauseReason string `json:"pause_reason,omitempty"`
	Paused      *bool  `json:"paused,omitempty"`
	Region      string `json:"region,omitempty"`
}

type AggregatorOut added in v0.3.0

type AggregatorOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type AlertOut

type AlertOut struct {
	CreateTime  time.Time `json:"create_time"`
	Event       string    `json:"event"`
	NodeName    string    `json:"node_name,omitempty"`
	ProjectName string    `json:"project_name"`
	ServiceName string    `json:"service_name,omitempty"`
	ServiceType string    `json:"service_type,omitempty"`
	Severity    string    `json:"severity"`
}

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"`
	FrequentOldestAgeMinutes   *int             `json:"frequent_oldest_age_minutes,omitempty"`
	InfrequentIntervalMinutes  *int             `json:"infrequent_interval_minutes,omitempty"`
	InfrequentOldestAgeMinutes *int             `json:"infrequent_oldest_age_minutes,omitempty"`
	Interval                   int              `json:"interval"`
	MaxCount                   int              `json:"max_count"`
	RecoveryMode               RecoveryModeType `json:"recovery_mode"`
}

type BackupOut

type BackupOut struct {
	AdditionalRegions []AdditionalRegionOut `json:"additional_regions,omitempty"`
	BackupName        string                `json:"backup_name"`
	BackupTime        time.Time             `json:"backup_time"`
	DataSize          int                   `json:"data_size"`
	StorageLocation   string                `json:"storage_location,omitempty"`
}

type CassandraOut added in v0.3.0

type CassandraOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type ClickhouseOut added in v0.3.0

type ClickhouseOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type ComponentOut

type ComponentOut struct {
	Component                 string                        `json:"component"`
	Host                      string                        `json:"host"`
	KafkaAuthenticationMethod KafkaAuthenticationMethodType `json:"kafka_authentication_method,omitempty"`
	Path                      string                        `json:"path,omitempty"`
	Port                      int                           `json:"port"`
	PrivatelinkConnectionId   string                        `json:"privatelink_connection_id,omitempty"`
	Route                     RouteType                     `json:"route"`
	Ssl                       *bool                         `json:"ssl,omitempty"`
	Usage                     UsageType                     `json:"usage"`
}

type ConnectionPoolOut

type ConnectionPoolOut struct {
	ConnectionUri string       `json:"connection_uri"`
	Database      string       `json:"database"`
	PoolMode      PoolModeType `json:"pool_mode"`
	PoolName      string       `json:"pool_name"`
	PoolSize      int          `json:"pool_size"`
	Username      string       `json:"username,omitempty"`
}

type DatabaseOut

type DatabaseOut struct {
	DatabaseName string `json:"database_name"`
}

type DatasetImportIn

type DatasetImportIn struct {
	DatasetName DatasetNameType `json:"dataset_name"`
}

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"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

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

type DowTypeAlt string
const (
	DowTypeAltMonday    DowTypeAlt = "monday"
	DowTypeAltTuesday   DowTypeAlt = "tuesday"
	DowTypeAltWednesday DowTypeAlt = "wednesday"
	DowTypeAltThursday  DowTypeAlt = "thursday"
	DowTypeAltFriday    DowTypeAlt = "friday"
	DowTypeAltSaturday  DowTypeAlt = "saturday"
	DowTypeAltSunday    DowTypeAlt = "sunday"
	DowTypeAltNever     DowTypeAlt = "never"
)

type DragonflyOut added in v0.6.0

type DragonflyOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type ElasticsearchOut added in v0.3.0

type ElasticsearchOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type FlinkOut added in v0.3.0

type FlinkOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type GrafanaOut added in v0.3.0

type GrafanaOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type Handler

type Handler interface {
	// ListProjectServiceTypes list service types for a project
	// GET /v1/project/{project}/service_types
	// https://api.aiven.io/doc/#tag/Service/operation/ListProjectServiceTypes
	ListProjectServiceTypes(ctx context.Context, project string) (*ListProjectServiceTypesOut, error)

	// ListPublicServiceTypes list publicly available service types
	// GET /v1/service_types
	// https://api.aiven.io/doc/#tag/Service/operation/ListPublicServiceTypes
	ListPublicServiceTypes(ctx context.Context) (*ListPublicServiceTypesOut, error)

	// ListServiceVersions list service versions
	// GET /v1/service_versions
	// https://api.aiven.io/doc/#tag/Service/operation/ListServiceVersions
	ListServiceVersions(ctx context.Context) ([]ServiceVersionOut, error)

	// ProjectGetServiceLogs get service log entries
	// POST /v1/project/{project}/service/{service_name}/logs
	// https://api.aiven.io/doc/#tag/Service/operation/ProjectGetServiceLogs
	ProjectGetServiceLogs(ctx context.Context, project string, serviceName string, in *ProjectGetServiceLogsIn) (*ProjectGetServiceLogsOut, error)

	// ProjectServiceTagsList list all tags attached to the service
	// GET /v1/project/{project}/service/{service_name}/tags
	// https://api.aiven.io/doc/#tag/Service/operation/ProjectServiceTagsList
	ProjectServiceTagsList(ctx context.Context, project string, serviceName string) (map[string]string, error)

	// ProjectServiceTagsReplace replace all project tags with a new set of tags, deleting old ones
	// PUT /v1/project/{project}/service/{service_name}/tags
	// https://api.aiven.io/doc/#tag/Service/operation/ProjectServiceTagsReplace
	ProjectServiceTagsReplace(ctx context.Context, project string, serviceName string, in *ProjectServiceTagsReplaceIn) error

	// ProjectServiceTagsUpdate update one or more tags, creating ones that don't exist, and deleting ones given NULL value
	// PATCH /v1/project/{project}/service/{service_name}/tags
	// https://api.aiven.io/doc/#tag/Service/operation/ProjectServiceTagsUpdate
	ProjectServiceTagsUpdate(ctx context.Context, project string, serviceName string, in *ProjectServiceTagsUpdateIn) error

	// ServiceAlertsList list active alerts for service
	// GET /v1/project/{project}/service/{service_name}/alerts
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceAlertsList
	ServiceAlertsList(ctx context.Context, project string, serviceName string) ([]AlertOut, error)

	// ServiceBackupToAnotherRegionReport get service's backup to another region information
	// POST /v1/project/{project}/service/{service_name}/backup_to_another_region/report
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceBackupToAnotherRegionReport
	ServiceBackupToAnotherRegionReport(ctx context.Context, project string, serviceName string, in *ServiceBackupToAnotherRegionReportIn) (map[string]any, error)

	// ServiceBackupsGet get service backup information
	// GET /v1/project/{project}/service/{service_name}/backups
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceBackupsGet
	ServiceBackupsGet(ctx context.Context, project string, serviceName string) ([]BackupOut, error)

	// ServiceCancelQuery cancel specified query from service
	// POST /v1/project/{project}/service/{service_name}/query/cancel
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceCancelQuery
	ServiceCancelQuery(ctx context.Context, project string, serviceName string, in *ServiceCancelQueryIn) (bool, error)

	// ServiceCreate create a service
	// POST /v1/project/{project}/service
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceCreate
	ServiceCreate(ctx context.Context, project string, in *ServiceCreateIn) (*ServiceCreateOut, error)

	// ServiceDatabaseCreate create a new logical database for service
	// POST /v1/project/{project}/service/{service_name}/db
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceDatabaseCreate
	ServiceDatabaseCreate(ctx context.Context, project string, serviceName string, in *ServiceDatabaseCreateIn) error

	// ServiceDatabaseDelete delete a logical database
	// DELETE /v1/project/{project}/service/{service_name}/db/{dbname}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceDatabaseDelete
	ServiceDatabaseDelete(ctx context.Context, project string, serviceName string, dbname string) error

	// ServiceDatabaseList list service databases
	// GET /v1/project/{project}/service/{service_name}/db
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceDatabaseList
	ServiceDatabaseList(ctx context.Context, project string, serviceName string) ([]DatabaseOut, error)

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

	// ServiceEnableWrites temporarily enable writes for a service in read-only mode. Will only work if disk usage is lower than 99.0%
	// POST /v1/project/{project}/service/{service_name}/enable-writes
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceEnableWrites
	ServiceEnableWrites(ctx context.Context, project string, serviceName string) (string, error)

	// ServiceGet get service information
	// GET /v1/project/{project}/service/{service_name}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceGet
	ServiceGet(ctx context.Context, project string, serviceName string) (*ServiceGetOut, error)

	// ServiceGetMigrationStatus get migration status
	// GET /v1/project/{project}/service/{service_name}/migration
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceGetMigrationStatus
	ServiceGetMigrationStatus(ctx context.Context, project string, serviceName string) (*ServiceGetMigrationStatusOut, error)

	// ServiceInfluxDBStats list stats for influxdb
	// GET /v1/project/{project}/service/{service_name}/influxdb/stats
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceInfluxDBStats
	ServiceInfluxDBStats(ctx context.Context, project string, serviceName string) (map[string]any, error)

	// ServiceKmsGetCA retrieve a service CA
	// GET /v1/project/{project}/service/{service_name}/kms/ca/{ca_name}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceKmsGetCA
	ServiceKmsGetCA(ctx context.Context, project string, serviceName string, caName string) (string, error)

	// ServiceKmsGetKeypair retrieve service keypair
	// GET /v1/project/{project}/service/{service_name}/kms/keypairs/{keypair_name}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceKmsGetKeypair
	ServiceKmsGetKeypair(ctx context.Context, project string, serviceName string, keypairName string) (*ServiceKmsGetKeypairOut, error)

	// ServiceList list services
	// GET /v1/project/{project}/service
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceList
	ServiceList(ctx context.Context, project string) ([]ServiceOut, error)

	// ServiceMaintenanceStart start maintenance updates
	// PUT /v1/project/{project}/service/{service_name}/maintenance/start
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceMaintenanceStart
	ServiceMaintenanceStart(ctx context.Context, project string, serviceName string) error

	// ServiceMetricsFetch fetch service metrics
	// POST /v1/project/{project}/service/{service_name}/metrics
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceMetricsFetch
	ServiceMetricsFetch(ctx context.Context, project string, serviceName string, in *ServiceMetricsFetchIn) (map[string]any, error)

	// ServiceQueryActivity fetch current queries for the service
	// POST /v1/project/{project}/service/{service_name}/query/activity
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceQueryActivity
	ServiceQueryActivity(ctx context.Context, project string, serviceName string, in *ServiceQueryActivityIn) ([]QueryOut, error)

	// ServiceQueryStatisticsReset reset service's query statistics
	// PUT /v1/project/{project}/service/{service_name}/query/stats/reset
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceQueryStatisticsReset
	ServiceQueryStatisticsReset(ctx context.Context, project string, serviceName string) ([]map[string]any, error)

	// ServiceTaskCreate create a new task for service
	// POST /v1/project/{project}/service/{service_name}/task
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceTaskCreate
	ServiceTaskCreate(ctx context.Context, project string, serviceName string, in *ServiceTaskCreateIn) (*ServiceTaskCreateOut, error)

	// ServiceTaskGet get task result
	// GET /v1/project/{project}/service/{service_name}/task/{task_id}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceTaskGet
	ServiceTaskGet(ctx context.Context, project string, serviceName string, taskId string) (*ServiceTaskGetOut, error)

	// ServiceUpdate update service configuration
	// PUT /v1/project/{project}/service/{service_name}
	// https://api.aiven.io/doc/#tag/Service/operation/ServiceUpdate
	ServiceUpdate(ctx context.Context, project string, serviceName string, in *ServiceUpdateIn) (*ServiceUpdateOut, error)
}

type InfluxdbOut added in v0.3.0

type InfluxdbOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type IntegrationStatusOut

type IntegrationStatusOut struct {
	State          StateOut `json:"state"`
	StatusUserDesc string   `json:"status_user_desc"`
}

type IntegrationStatusType added in v0.3.0

type IntegrationStatusType string
const (
	IntegrationStatusTypeFailed   IntegrationStatusType = "failed"
	IntegrationStatusTypeInactive IntegrationStatusType = "inactive"
	IntegrationStatusTypeRunning  IntegrationStatusType = "running"
	IntegrationStatusTypeStarting IntegrationStatusType = "starting"
	IntegrationStatusTypeUnknown  IntegrationStatusType = "unknown"
)

type IntegrationType

type IntegrationType string
const (
	IntegrationTypeAlertmanager                      IntegrationType = "alertmanager"
	IntegrationTypeAutoscaler                        IntegrationType = "autoscaler"
	IntegrationTypeCaching                           IntegrationType = "caching"
	IntegrationTypeCassandraCrossServiceCluster      IntegrationType = "cassandra_cross_service_cluster"
	IntegrationTypeClickhouseCredentials             IntegrationType = "clickhouse_credentials"
	IntegrationTypeClickhouseKafka                   IntegrationType = "clickhouse_kafka"
	IntegrationTypeClickhousePostgresql              IntegrationType = "clickhouse_postgresql"
	IntegrationTypeDashboard                         IntegrationType = "dashboard"
	IntegrationTypeDatadog                           IntegrationType = "datadog"
	IntegrationTypeDatasource                        IntegrationType = "datasource"
	IntegrationTypeExternalAwsCloudwatchLogs         IntegrationType = "external_aws_cloudwatch_logs"
	IntegrationTypeExternalAwsCloudwatchMetrics      IntegrationType = "external_aws_cloudwatch_metrics"
	IntegrationTypeExternalElasticsearchLogs         IntegrationType = "external_elasticsearch_logs"
	IntegrationTypeExternalGoogleCloudLogging        IntegrationType = "external_google_cloud_logging"
	IntegrationTypeExternalOpensearchLogs            IntegrationType = "external_opensearch_logs"
	IntegrationTypeFlink                             IntegrationType = "flink"
	IntegrationTypeFlinkExternalBigquery             IntegrationType = "flink_external_bigquery"
	IntegrationTypeFlinkExternalKafka                IntegrationType = "flink_external_kafka"
	IntegrationTypeFlinkExternalPostgresql           IntegrationType = "flink_external_postgresql"
	IntegrationTypeInternalConnectivity              IntegrationType = "internal_connectivity"
	IntegrationTypeJolokia                           IntegrationType = "jolokia"
	IntegrationTypeKafkaConnect                      IntegrationType = "kafka_connect"
	IntegrationTypeKafkaConnectPostgresql            IntegrationType = "kafka_connect_postgresql"
	IntegrationTypeKafkaLogs                         IntegrationType = "kafka_logs"
	IntegrationTypeKafkaMirrormaker                  IntegrationType = "kafka_mirrormaker"
	IntegrationTypeLogs                              IntegrationType = "logs"
	IntegrationTypeM3Aggregator                      IntegrationType = "m3aggregator"
	IntegrationTypeM3Coordinator                     IntegrationType = "m3coordinator"
	IntegrationTypeMetrics                           IntegrationType = "metrics"
	IntegrationTypeOpensearchCrossClusterReplication IntegrationType = "opensearch_cross_cluster_replication"
	IntegrationTypeOpensearchCrossClusterSearch      IntegrationType = "opensearch_cross_cluster_search"
	IntegrationTypePrometheus                        IntegrationType = "prometheus"
	IntegrationTypeReadReplica                       IntegrationType = "read_replica"
	IntegrationTypeRsyslog                           IntegrationType = "rsyslog"
	IntegrationTypeSchemaRegistryProxy               IntegrationType = "schema_registry_proxy"
	IntegrationTypeStresstester                      IntegrationType = "stresstester"
	IntegrationTypeThanoscompactor                   IntegrationType = "thanoscompactor"
	IntegrationTypeThanosquery                       IntegrationType = "thanosquery"
	IntegrationTypeThanosstore                       IntegrationType = "thanosstore"
	IntegrationTypeVector                            IntegrationType = "vector"
	IntegrationTypeVmalert                           IntegrationType = "vmalert"
)

type KafkaAuthenticationMethodType added in v0.3.0

type KafkaAuthenticationMethodType string
const (
	KafkaAuthenticationMethodTypeCertificate KafkaAuthenticationMethodType = "certificate"
	KafkaAuthenticationMethodTypeSasl        KafkaAuthenticationMethodType = "sasl"
)

type KafkaConnectOut added in v0.3.0

type KafkaConnectOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type KafkaMirrormakerOut added in v0.3.0

type KafkaMirrormakerOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type KafkaOut added in v0.3.0

type KafkaOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

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 {
	Cassandra        *CassandraOut        `json:"cassandra,omitempty"`
	Clickhouse       *ClickhouseOut       `json:"clickhouse,omitempty"`
	Dragonfly        *DragonflyOut        `json:"dragonfly,omitempty"`
	Elasticsearch    *ElasticsearchOut    `json:"elasticsearch,omitempty"`
	Flink            *FlinkOut            `json:"flink,omitempty"`
	Grafana          *GrafanaOut          `json:"grafana,omitempty"`
	Influxdb         *InfluxdbOut         `json:"influxdb,omitempty"`
	Kafka            *KafkaOut            `json:"kafka,omitempty"`
	KafkaConnect     *KafkaConnectOut     `json:"kafka_connect,omitempty"`
	KafkaMirrormaker *KafkaMirrormakerOut `json:"kafka_mirrormaker,omitempty"`
	M3Aggregator     *AggregatorOut       `json:"m3aggregator,omitempty"`
	M3Db             *DbOut               `json:"m3db,omitempty"`
	Mysql            *MysqlOut            `json:"mysql,omitempty"`
	Opensearch       *OpensearchOut       `json:"opensearch,omitempty"`
	Pg               *PgOut               `json:"pg,omitempty"`
	Redis            *RedisOut            `json:"redis,omitempty"`
}

type ListPublicServiceTypesOut

type ListPublicServiceTypesOut struct {
	Cassandra        *CassandraOut        `json:"cassandra,omitempty"`
	Clickhouse       *ClickhouseOut       `json:"clickhouse,omitempty"`
	Dragonfly        *DragonflyOut        `json:"dragonfly,omitempty"`
	Elasticsearch    *ElasticsearchOut    `json:"elasticsearch,omitempty"`
	Flink            *FlinkOut            `json:"flink,omitempty"`
	Grafana          *GrafanaOut          `json:"grafana,omitempty"`
	Influxdb         *InfluxdbOut         `json:"influxdb,omitempty"`
	Kafka            *KafkaOut            `json:"kafka,omitempty"`
	KafkaConnect     *KafkaConnectOut     `json:"kafka_connect,omitempty"`
	KafkaMirrormaker *KafkaMirrormakerOut `json:"kafka_mirrormaker,omitempty"`
	M3Aggregator     *AggregatorOut       `json:"m3aggregator,omitempty"`
	M3Db             *DbOut               `json:"m3db,omitempty"`
	Mysql            *MysqlOut            `json:"mysql,omitempty"`
	Opensearch       *OpensearchOut       `json:"opensearch,omitempty"`
	Pg               *PgOut               `json:"pg,omitempty"`
	Redis            *RedisOut            `json:"redis,omitempty"`
}

type LogOut

type LogOut struct {
	Msg  string `json:"msg"`
	Time string `json:"time,omitempty"`
	Unit string `json:"unit,omitempty"`
}

type MaintenanceIn

type MaintenanceIn struct {
	Dow  DowType `json:"dow,omitempty"`
	Time string  `json:"time,omitempty"`
}

type MaintenanceOut

type MaintenanceOut struct {
	Dow     DowTypeAlt  `json:"dow"`
	Time    string      `json:"time"`
	Updates []UpdateOut `json:"updates"`
}

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"`
	EndOfLifePolicyUrl      string     `json:"end_of_life_policy_url,omitempty"`
	ServiceEndOfLifeTime    *time.Time `json:"service_end_of_life_time,omitempty"`
	UpgradeToServiceType    string     `json:"upgrade_to_service_type,omitempty"`
	UpgradeToVersion        string     `json:"upgrade_to_version,omitempty"`
}

type MethodType

type MethodType string
const (
	MethodTypeDump        MethodType = "dump"
	MethodTypeMysqldump   MethodType = "mysqldump"
	MethodTypePgDump      MethodType = "pg_dump"
	MethodTypeReplication MethodType = "replication"
	MethodTypeScan        MethodType = "scan"
)

type MethodTypeAlt added in v0.3.0

type MethodTypeAlt string
const (
	MethodTypeAltDump        MethodTypeAlt = "dump"
	MethodTypeAltReplication MethodTypeAlt = "replication"
)

type MigrationCheckIn

type MigrationCheckIn struct {
	IgnoreDbs         string        `json:"ignore_dbs,omitempty"`
	Method            MethodTypeAlt `json:"method,omitempty"`
	SourceProjectName string        `json:"source_project_name,omitempty"`
	SourceServiceName string        `json:"source_service_name,omitempty"`
	SourceServiceUri  string        `json:"source_service_uri,omitempty"`
}

type MigrationDetailOut

type MigrationDetailOut struct {
	Dbname string                    `json:"dbname"`
	Error  string                    `json:"error,omitempty"`
	Method MethodType                `json:"method"`
	Status MigrationDetailStatusType `json:"status"`
}

type MigrationDetailStatusType added in v0.3.0

type MigrationDetailStatusType string
const (
	MigrationDetailStatusTypeDone    MigrationDetailStatusType = "done"
	MigrationDetailStatusTypeFailed  MigrationDetailStatusType = "failed"
	MigrationDetailStatusTypeRunning MigrationDetailStatusType = "running"
	MigrationDetailStatusTypeSyncing MigrationDetailStatusType = "syncing"
)

type MigrationOut

type MigrationOut struct {
	Error                  string               `json:"error,omitempty"`
	MasterLastIoSecondsAgo *int                 `json:"master_last_io_seconds_ago,omitempty"`
	MasterLinkStatus       MasterLinkStatusType `json:"master_link_status,omitempty"`
	Method                 MethodType           `json:"method"`
	Status                 MigrationStatusType  `json:"status"`
}

type MigrationStatusType added in v0.3.0

type MigrationStatusType string
const (
	MigrationStatusTypeDone    MigrationStatusType = "done"
	MigrationStatusTypeFailed  MigrationStatusType = "failed"
	MigrationStatusTypeRunning MigrationStatusType = "running"
	MigrationStatusTypeSyncing MigrationStatusType = "syncing"
)

type MysqlOut added in v0.3.0

type MysqlOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type NodeStateOut

type NodeStateOut struct {
	Name            string              `json:"name"`
	ProgressUpdates []ProgressUpdateOut `json:"progress_updates,omitempty"`
	Role            RoleType            `json:"role,omitempty"`
	Shard           *ShardOut           `json:"shard,omitempty"`
	State           NodeStateType       `json:"state"`
}

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"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type PeriodType

type PeriodType string
const (
	PeriodTypeHour  PeriodType = "hour"
	PeriodTypeDay   PeriodType = "day"
	PeriodTypeWeek  PeriodType = "week"
	PeriodTypeMonth PeriodType = "month"
	PeriodTypeYear  PeriodType = "year"
)

type PermissionType added in v0.3.0

type PermissionType string
const (
	PermissionTypeAdmin     PermissionType = "admin"
	PermissionTypeRead      PermissionType = "read"
	PermissionTypeReadwrite PermissionType = "readwrite"
	PermissionTypeWrite     PermissionType = "write"
)

type PermissionTypeAlt added in v0.3.0

type PermissionTypeAlt string
const (
	PermissionTypeAltSchemaRegistryRead  PermissionTypeAlt = "schema_registry_read"
	PermissionTypeAltSchemaRegistryWrite PermissionTypeAlt = "schema_registry_write"
)

type PgOut added in v0.3.0

type PgOut struct {
	DefaultVersion         string           `json:"default_version,omitempty"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

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"`
	Current   *int      `json:"current,omitempty"`
	Max       *int      `json:"max,omitempty"`
	Min       *int      `json:"min,omitempty"`
	Phase     PhaseType `json:"phase"`
	Unit      UnitType  `json:"unit,omitempty"`
}

type ProjectGetServiceLogsIn

type ProjectGetServiceLogsIn struct {
	Limit     *int          `json:"limit,omitempty"`
	Offset    string        `json:"offset,omitempty"`
	SortOrder SortOrderType `json:"sort_order,omitempty"`
}

type ProjectGetServiceLogsOut

type ProjectGetServiceLogsOut struct {
	FirstLogOffset string   `json:"first_log_offset"`
	Logs           []LogOut `json:"logs"`
	Offset         string   `json:"offset"`
}

type ProjectServiceTagsReplaceIn

type ProjectServiceTagsReplaceIn struct {
	Tags map[string]string `json:"tags"`
}

type ProjectServiceTagsUpdateIn

type ProjectServiceTagsUpdateIn struct {
	Tags map[string]string `json:"tags"`
}

type QueryOut

type QueryOut struct {
	ActiveChannelSubscriptions                *int     `json:"active_channel_subscriptions,omitempty"`
	ActiveDatabase                            string   `json:"active_database,omitempty"`
	ActivePatternMatchingChannelSubscriptions *int     `json:"active_pattern_matching_channel_subscriptions,omitempty"`
	ApplicationName                           string   `json:"application_name,omitempty"`
	BackendStart                              string   `json:"backend_start,omitempty"`
	BackendType                               string   `json:"backend_type,omitempty"`
	BackendXid                                *int     `json:"backend_xid,omitempty"`
	BackendXmin                               *int     `json:"backend_xmin,omitempty"`
	ClientAddr                                string   `json:"client_addr,omitempty"`
	ClientHostname                            string   `json:"client_hostname,omitempty"`
	ClientPort                                *int     `json:"client_port,omitempty"`
	ConnectionAgeSeconds                      *float64 `json:"connection_age_seconds,omitempty"`
	ConnectionIdleSeconds                     *float64 `json:"connection_idle_seconds,omitempty"`
	Datid                                     *int     `json:"datid,omitempty"`
	Datname                                   string   `json:"datname,omitempty"`
	Flags                                     []string `json:"flags,omitempty"`
	FlagsRaw                                  string   `json:"flags_raw,omitempty"`
	Id                                        string   `json:"id,omitempty"`
	LeaderPid                                 *int     `json:"leader_pid,omitempty"`
	MultiExecCommands                         *int     `json:"multi_exec_commands,omitempty"`
	Name                                      string   `json:"name,omitempty"`
	OutputBuffer                              *int     `json:"output_buffer,omitempty"`
	OutputBufferMemory                        *int     `json:"output_buffer_memory,omitempty"`
	OutputListLength                          *int     `json:"output_list_length,omitempty"`
	Pid                                       *int     `json:"pid,omitempty"`
	Query                                     string   `json:"query,omitempty"`
	QueryBuffer                               *int     `json:"query_buffer,omitempty"`
	QueryBufferFree                           *int     `json:"query_buffer_free,omitempty"`
	QueryDuration                             *float64 `json:"query_duration,omitempty"`
	QueryId                                   *int     `json:"query_id,omitempty"`
	QueryStart                                string   `json:"query_start,omitempty"`
	State                                     string   `json:"state,omitempty"`
	StateChange                               string   `json:"state_change,omitempty"`
	Usename                                   string   `json:"usename,omitempty"`
	Usesysid                                  *int     `json:"usesysid,omitempty"`
	WaitEvent                                 string   `json:"wait_event,omitempty"`
	WaitEventType                             string   `json:"wait_event_type,omitempty"`
	Waiting                                   *bool    `json:"waiting,omitempty"`
	XactStart                                 string   `json:"xact_start,omitempty"`
}

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"`
	Description            string           `json:"description"`
	LatestAvailableVersion string           `json:"latest_available_version,omitempty"`
	ServicePlans           []ServicePlanOut `json:"service_plans"`
	UserConfigSchema       map[string]any   `json:"user_config_schema"`
}

type ResultCodeOut

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

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"`
	Permission PermissionTypeAlt `json:"permission"`
	Resource   string            `json:"resource"`
	Username   string            `json:"username"`
}

type ServiceBackupToAnotherRegionReportIn

type ServiceBackupToAnotherRegionReportIn struct {
	Period PeriodType `json:"period,omitempty"`
}

type ServiceCancelQueryIn

type ServiceCancelQueryIn struct {
	Pid       *int  `json:"pid,omitempty"`
	Terminate *bool `json:"terminate,omitempty"`
}

type ServiceCreateIn

type ServiceCreateIn struct {
	Cloud                 string                  `json:"cloud,omitempty"`
	CopyTags              *bool                   `json:"copy_tags,omitempty"`
	DiskSpaceMb           *float64                `json:"disk_space_mb,omitempty"`
	GroupName             string                  `json:"group_name,omitempty"`
	Maintenance           *MaintenanceIn          `json:"maintenance,omitempty"`
	Plan                  string                  `json:"plan"`
	ProjectVpcId          string                  `json:"project_vpc_id,omitempty"`
	ServiceIntegrations   *[]ServiceIntegrationIn `json:"service_integrations,omitempty"`
	ServiceName           string                  `json:"service_name"`
	ServiceType           string                  `json:"service_type"`
	StaticIps             *[]string               `json:"static_ips,omitempty"`
	Tags                  *map[string]string      `json:"tags,omitempty"`
	TechEmails            *[]TechEmailIn          `json:"tech_emails,omitempty"`
	TerminationProtection *bool                   `json:"termination_protection,omitempty"`
	UserConfig            *map[string]any         `json:"user_config,omitempty"`
}

type ServiceCreateOut

type ServiceCreateOut struct {
	Acl                    []AclOut                 `json:"acl,omitempty"`
	Backups                []BackupOut              `json:"backups,omitempty"`
	CloudDescription       string                   `json:"cloud_description,omitempty"`
	CloudName              string                   `json:"cloud_name"`
	Components             []ComponentOut           `json:"components,omitempty"`
	ConnectionInfo         map[string]any           `json:"connection_info,omitempty"`
	ConnectionPools        []ConnectionPoolOut      `json:"connection_pools,omitempty"`
	CreateTime             time.Time                `json:"create_time"`
	Databases              []string                 `json:"databases,omitempty"`
	DiskSpaceMb            *float64                 `json:"disk_space_mb,omitempty"`
	Features               map[string]any           `json:"features,omitempty"`
	GroupList              []string                 `json:"group_list"`
	Maintenance            *MaintenanceOut          `json:"maintenance,omitempty"`
	Metadata               map[string]any           `json:"metadata,omitempty"`
	NodeCount              *int                     `json:"node_count,omitempty"`
	NodeCpuCount           *int                     `json:"node_cpu_count,omitempty"`
	NodeMemoryMb           *float64                 `json:"node_memory_mb,omitempty"`
	NodeStates             []NodeStateOut           `json:"node_states,omitempty"`
	Plan                   string                   `json:"plan"`
	ProjectVpcId           string                   `json:"project_vpc_id"`
	SchemaRegistryAcl      []SchemaRegistryAclOut   `json:"schema_registry_acl,omitempty"`
	ServiceIntegrations    []ServiceIntegrationOut  `json:"service_integrations"`
	ServiceName            string                   `json:"service_name"`
	ServiceNotifications   []ServiceNotificationOut `json:"service_notifications,omitempty"`
	ServiceType            string                   `json:"service_type"`
	ServiceTypeDescription string                   `json:"service_type_description,omitempty"`
	ServiceUri             string                   `json:"service_uri"`
	ServiceUriParams       map[string]any           `json:"service_uri_params,omitempty"`
	State                  ServiceStateType         `json:"state"`
	Tags                   map[string]string        `json:"tags,omitempty"`
	TechEmails             []TechEmailOut           `json:"tech_emails,omitempty"`
	TerminationProtection  bool                     `json:"termination_protection"`
	Topics                 []TopicOut               `json:"topics,omitempty"`
	UpdateTime             time.Time                `json:"update_time"`
	UserConfig             map[string]any           `json:"user_config"`
	Users                  []UserOut                `json:"users,omitempty"`
}

type ServiceDatabaseCreateIn

type ServiceDatabaseCreateIn struct {
	Database  string `json:"database"`
	LcCollate string `json:"lc_collate,omitempty"`
	LcCtype   string `json:"lc_ctype,omitempty"`
}

type ServiceGetMigrationStatusOut

type ServiceGetMigrationStatusOut struct {
	Migration       MigrationOut         `json:"migration"`
	MigrationDetail []MigrationDetailOut `json:"migration_detail,omitempty"`
}

type ServiceGetOut

type ServiceGetOut struct {
	Acl                    []AclOut                 `json:"acl,omitempty"`
	Backups                []BackupOut              `json:"backups,omitempty"`
	CloudDescription       string                   `json:"cloud_description,omitempty"`
	CloudName              string                   `json:"cloud_name"`
	Components             []ComponentOut           `json:"components,omitempty"`
	ConnectionInfo         map[string]any           `json:"connection_info,omitempty"`
	ConnectionPools        []ConnectionPoolOut      `json:"connection_pools,omitempty"`
	CreateTime             time.Time                `json:"create_time"`
	Databases              []string                 `json:"databases,omitempty"`
	DiskSpaceMb            *float64                 `json:"disk_space_mb,omitempty"`
	Features               map[string]any           `json:"features,omitempty"`
	GroupList              []string                 `json:"group_list"`
	Maintenance            *MaintenanceOut          `json:"maintenance,omitempty"`
	Metadata               map[string]any           `json:"metadata,omitempty"`
	NodeCount              *int                     `json:"node_count,omitempty"`
	NodeCpuCount           *int                     `json:"node_cpu_count,omitempty"`
	NodeMemoryMb           *float64                 `json:"node_memory_mb,omitempty"`
	NodeStates             []NodeStateOut           `json:"node_states,omitempty"`
	Plan                   string                   `json:"plan"`
	ProjectVpcId           string                   `json:"project_vpc_id"`
	SchemaRegistryAcl      []SchemaRegistryAclOut   `json:"schema_registry_acl,omitempty"`
	ServiceIntegrations    []ServiceIntegrationOut  `json:"service_integrations"`
	ServiceName            string                   `json:"service_name"`
	ServiceNotifications   []ServiceNotificationOut `json:"service_notifications,omitempty"`
	ServiceType            string                   `json:"service_type"`
	ServiceTypeDescription string                   `json:"service_type_description,omitempty"`
	ServiceUri             string                   `json:"service_uri"`
	ServiceUriParams       map[string]any           `json:"service_uri_params,omitempty"`
	State                  ServiceStateType         `json:"state"`
	Tags                   map[string]string        `json:"tags,omitempty"`
	TechEmails             []TechEmailOut           `json:"tech_emails,omitempty"`
	TerminationProtection  bool                     `json:"termination_protection"`
	Topics                 []TopicOut               `json:"topics,omitempty"`
	UpdateTime             time.Time                `json:"update_time"`
	UserConfig             map[string]any           `json:"user_config"`
	Users                  []UserOut                `json:"users,omitempty"`
}

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) (*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) 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) (*ServiceUpdateOut, error)

type ServiceIntegrationIn

type ServiceIntegrationIn struct {
	DestEndpointId   string          `json:"dest_endpoint_id,omitempty"`
	DestProject      string          `json:"dest_project,omitempty"`
	DestService      string          `json:"dest_service,omitempty"`
	IntegrationType  IntegrationType `json:"integration_type"`
	SourceEndpointId string          `json:"source_endpoint_id,omitempty"`
	SourceProject    string          `json:"source_project,omitempty"`
	SourceService    string          `json:"source_service,omitempty"`
	UserConfig       *map[string]any `json:"user_config,omitempty"`
}

type ServiceIntegrationOut

type ServiceIntegrationOut struct {
	Active               bool                  `json:"active"`
	Description          string                `json:"description"`
	DestEndpoint         string                `json:"dest_endpoint,omitempty"`
	DestEndpointId       string                `json:"dest_endpoint_id,omitempty"`
	DestProject          string                `json:"dest_project"`
	DestService          string                `json:"dest_service,omitempty"`
	DestServiceType      string                `json:"dest_service_type"`
	Enabled              bool                  `json:"enabled"`
	IntegrationStatus    *IntegrationStatusOut `json:"integration_status,omitempty"`
	IntegrationType      string                `json:"integration_type"`
	ServiceIntegrationId string                `json:"service_integration_id"`
	SourceEndpoint       string                `json:"source_endpoint,omitempty"`
	SourceEndpointId     string                `json:"source_endpoint_id,omitempty"`
	SourceProject        string                `json:"source_project"`
	SourceService        string                `json:"source_service"`
	SourceServiceType    string                `json:"source_service_type"`
	UserConfig           map[string]any        `json:"user_config,omitempty"`
}

type ServiceKmsGetKeypairOut

type ServiceKmsGetKeypairOut struct {
	Certificate string `json:"certificate"`
	Key         string `json:"key"`
}

type ServiceMetricsFetchIn

type ServiceMetricsFetchIn struct {
	Period PeriodType `json:"period,omitempty"`
}

type ServiceNotificationOut

type ServiceNotificationOut struct {
	Level    LevelType               `json:"level"`
	Message  string                  `json:"message"`
	Metadata MetadataOut             `json:"metadata"`
	Type     ServiceNotificationType `json:"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"`
	Backups                []BackupOut              `json:"backups,omitempty"`
	CloudDescription       string                   `json:"cloud_description,omitempty"`
	CloudName              string                   `json:"cloud_name"`
	Components             []ComponentOut           `json:"components,omitempty"`
	ConnectionInfo         map[string]any           `json:"connection_info,omitempty"`
	ConnectionPools        []ConnectionPoolOut      `json:"connection_pools,omitempty"`
	CreateTime             time.Time                `json:"create_time"`
	Databases              []string                 `json:"databases,omitempty"`
	DiskSpaceMb            *float64                 `json:"disk_space_mb,omitempty"`
	Features               map[string]any           `json:"features,omitempty"`
	GroupList              []string                 `json:"group_list"`
	Maintenance            *MaintenanceOut          `json:"maintenance,omitempty"`
	Metadata               map[string]any           `json:"metadata,omitempty"`
	NodeCount              *int                     `json:"node_count,omitempty"`
	NodeCpuCount           *int                     `json:"node_cpu_count,omitempty"`
	NodeMemoryMb           *float64                 `json:"node_memory_mb,omitempty"`
	NodeStates             []NodeStateOut           `json:"node_states,omitempty"`
	Plan                   string                   `json:"plan"`
	ProjectVpcId           string                   `json:"project_vpc_id"`
	SchemaRegistryAcl      []SchemaRegistryAclOut   `json:"schema_registry_acl,omitempty"`
	ServiceIntegrations    []ServiceIntegrationOut  `json:"service_integrations"`
	ServiceName            string                   `json:"service_name"`
	ServiceNotifications   []ServiceNotificationOut `json:"service_notifications,omitempty"`
	ServiceType            string                   `json:"service_type"`
	ServiceTypeDescription string                   `json:"service_type_description,omitempty"`
	ServiceUri             string                   `json:"service_uri"`
	ServiceUriParams       map[string]any           `json:"service_uri_params,omitempty"`
	State                  ServiceStateType         `json:"state"`
	Tags                   map[string]string        `json:"tags,omitempty"`
	TechEmails             []TechEmailOut           `json:"tech_emails,omitempty"`
	TerminationProtection  bool                     `json:"termination_protection"`
	Topics                 []TopicOut               `json:"topics,omitempty"`
	UpdateTime             time.Time                `json:"update_time"`
	UserConfig             map[string]any           `json:"user_config"`
	Users                  []UserOut                `json:"users,omitempty"`
}

type ServicePlanOut

type ServicePlanOut struct {
	BackupConfig     BackupConfigOut `json:"backup_config"`
	MaxMemoryPercent *int            `json:"max_memory_percent,omitempty"`
	NodeCount        *int            `json:"node_count,omitempty"`
	Regions          map[string]any  `json:"regions,omitempty"`
	ServicePlan      string          `json:"service_plan"`
	ServiceType      string          `json:"service_type"`
	ShardCount       *int            `json:"shard_count,omitempty"`
}

type ServiceQueryActivityIn

type ServiceQueryActivityIn struct {
	Limit   *int   `json:"limit,omitempty"`
	Offset  *int   `json:"offset,omitempty"`
	OrderBy string `json:"order_by,omitempty"`
}

type ServiceStateType added in v0.3.0

type ServiceStateType string
const (
	ServiceStateTypePoweroff    ServiceStateType = "POWEROFF"
	ServiceStateTypeRebalancing ServiceStateType = "REBALANCING"
	ServiceStateTypeRebuilding  ServiceStateType = "REBUILDING"
	ServiceStateTypeRunning     ServiceStateType = "RUNNING"
)

type ServiceTaskCreateIn

type ServiceTaskCreateIn struct {
	DatasetImport  *DatasetImportIn  `json:"dataset_import,omitempty"`
	MigrationCheck *MigrationCheckIn `json:"migration_check,omitempty"`
	TargetVersion  TargetVersionType `json:"target_version,omitempty"`
	TaskType       TaskType          `json:"task_type"`
}

type ServiceTaskCreateOut

type ServiceTaskCreateOut struct {
	CreateTime  time.Time       `json:"create_time"`
	Result      string          `json:"result"`
	ResultCodes []ResultCodeOut `json:"result_codes,omitempty"`
	Success     bool            `json:"success"`
	TaskId      string          `json:"task_id"`
	TaskType    string          `json:"task_type"`
}

type ServiceTaskGetOut

type ServiceTaskGetOut struct {
	CreateTime  time.Time       `json:"create_time"`
	Result      string          `json:"result"`
	ResultCodes []ResultCodeOut `json:"result_codes,omitempty"`
	Success     bool            `json:"success"`
	TaskId      string          `json:"task_id"`
	TaskType    string          `json:"task_type"`
}

type ServiceUpdateIn

type ServiceUpdateIn struct {
	Cloud                 string          `json:"cloud,omitempty"`
	DiskSpaceMb           *float64        `json:"disk_space_mb,omitempty"`
	GroupName             string          `json:"group_name,omitempty"`
	Karapace              *bool           `json:"karapace,omitempty"`
	Maintenance           *MaintenanceIn  `json:"maintenance,omitempty"`
	Plan                  string          `json:"plan,omitempty"`
	Powered               *bool           `json:"powered,omitempty"`
	ProjectVpcId          string          `json:"project_vpc_id,omitempty"`
	SchemaRegistryAuthz   *bool           `json:"schema_registry_authz,omitempty"`
	TechEmails            *[]TechEmailIn  `json:"tech_emails,omitempty"`
	TerminationProtection *bool           `json:"termination_protection,omitempty"`
	UserConfig            *map[string]any `json:"user_config,omitempty"`
}

type ServiceUpdateOut

type ServiceUpdateOut struct {
	Acl                    []AclOut                 `json:"acl,omitempty"`
	Backups                []BackupOut              `json:"backups,omitempty"`
	CloudDescription       string                   `json:"cloud_description,omitempty"`
	CloudName              string                   `json:"cloud_name"`
	Components             []ComponentOut           `json:"components,omitempty"`
	ConnectionInfo         map[string]any           `json:"connection_info,omitempty"`
	ConnectionPools        []ConnectionPoolOut      `json:"connection_pools,omitempty"`
	CreateTime             time.Time                `json:"create_time"`
	Databases              []string                 `json:"databases,omitempty"`
	DiskSpaceMb            *float64                 `json:"disk_space_mb,omitempty"`
	Features               map[string]any           `json:"features,omitempty"`
	GroupList              []string                 `json:"group_list"`
	Maintenance            *MaintenanceOut          `json:"maintenance,omitempty"`
	Metadata               map[string]any           `json:"metadata,omitempty"`
	NodeCount              *int                     `json:"node_count,omitempty"`
	NodeCpuCount           *int                     `json:"node_cpu_count,omitempty"`
	NodeMemoryMb           *float64                 `json:"node_memory_mb,omitempty"`
	NodeStates             []NodeStateOut           `json:"node_states,omitempty"`
	Plan                   string                   `json:"plan"`
	ProjectVpcId           string                   `json:"project_vpc_id"`
	SchemaRegistryAcl      []SchemaRegistryAclOut   `json:"schema_registry_acl,omitempty"`
	ServiceIntegrations    []ServiceIntegrationOut  `json:"service_integrations"`
	ServiceName            string                   `json:"service_name"`
	ServiceNotifications   []ServiceNotificationOut `json:"service_notifications,omitempty"`
	ServiceType            string                   `json:"service_type"`
	ServiceTypeDescription string                   `json:"service_type_description,omitempty"`
	ServiceUri             string                   `json:"service_uri"`
	ServiceUriParams       map[string]any           `json:"service_uri_params,omitempty"`
	State                  ServiceStateType         `json:"state"`
	Tags                   map[string]string        `json:"tags,omitempty"`
	TechEmails             []TechEmailOut           `json:"tech_emails,omitempty"`
	TerminationProtection  bool                     `json:"termination_protection"`
	Topics                 []TopicOut               `json:"topics,omitempty"`
	UpdateTime             time.Time                `json:"update_time"`
	UserConfig             map[string]any           `json:"user_config"`
	Users                  []UserOut                `json:"users,omitempty"`
}

type ServiceVersionOut

type ServiceVersionOut struct {
	AivenEndOfLifeTime      *time.Time              `json:"aiven_end_of_life_time,omitempty"`
	AvailabilityEndTime     *time.Time              `json:"availability_end_time,omitempty"`
	AvailabilityStartTime   *time.Time              `json:"availability_start_time,omitempty"`
	EndOfLifeHelpArticleUrl string                  `json:"end_of_life_help_article_url,omitempty"`
	MajorVersion            string                  `json:"major_version,omitempty"`
	ServiceType             string                  `json:"service_type,omitempty"`
	State                   ServiceVersionStateType `json:"state,omitempty"`
	TerminationTime         *time.Time              `json:"termination_time,omitempty"`
	UpgradeToServiceType    string                  `json:"upgrade_to_service_type,omitempty"`
	UpgradeToVersion        string                  `json:"upgrade_to_version,omitempty"`
	UpstreamEndOfLifeTime   *time.Time              `json:"upstream_end_of_life_time,omitempty"`
}

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"`
	Position *int   `json:"position,omitempty"`
}

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"`
	Nodes            map[string]any        `json:"nodes"`
	Status           IntegrationStatusType `json:"status"`
}

type TargetVersionType

type TargetVersionType string
const (
	TargetVersionType13 TargetVersionType = "13"
	TargetVersionType14 TargetVersionType = "14"
	TargetVersionType15 TargetVersionType = "15"
	TargetVersionType16 TargetVersionType = "16"
)

type TaskType

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

type TechEmailIn

type TechEmailIn struct {
	Email string `json:"email"`
}

type TechEmailOut

type TechEmailOut struct {
	Email string `json:"email"`
}

type TopicOut

type TopicOut struct {
	CleanupPolicy     string         `json:"cleanup_policy"`
	MinInsyncReplicas int            `json:"min_insync_replicas"`
	Partitions        int            `json:"partitions"`
	Replication       int            `json:"replication"`
	RetentionBytes    int            `json:"retention_bytes"`
	RetentionHours    int            `json:"retention_hours"`
	State             TopicStateType `json:"state,omitempty"`
	TopicName         string         `json:"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"`
	Description string     `json:"description,omitempty"`
	StartAfter  string     `json:"start_after,omitempty"`
	StartAt     *time.Time `json:"start_at,omitempty"`
}

type UsageType added in v0.3.0

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

type UserOut

type UserOut struct {
	AccessCert                    string             `json:"access_cert,omitempty"`
	AccessCertNotValidAfterTime   *time.Time         `json:"access_cert_not_valid_after_time,omitempty"`
	AccessControl                 *AccessControlOut  `json:"access_control,omitempty"`
	AccessKey                     string             `json:"access_key,omitempty"`
	Authentication                AuthenticationType `json:"authentication,omitempty"`
	ExpiringCertNotValidAfterTime *time.Time         `json:"expiring_cert_not_valid_after_time,omitempty"`
	Password                      string             `json:"password"`
	Type                          string             `json:"type"`
	Username                      string             `json:"username"`
}

Jump to

Keyboard shortcuts

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