Documentation ¶
Index ¶
- func AuthenticationTypeChoices() []string
- func DowTypeChoices() []string
- func IntegrationStatusTypeChoices() []string
- func KafkaAuthenticationMethodTypeChoices() []string
- func KafkaSslCaTypeChoices() []string
- func LevelTypeChoices() []string
- func LikelyErrorCauseTypeChoices() []string
- func NodeStateTypeChoices() []string
- func OperationTypeChoices() []string
- func PermissionTypeAltChoices() []string
- func PermissionTypeChoices() []string
- func PhaseTypeChoices() []string
- func PoolModeTypeChoices() []string
- func RoleTypeChoices() []string
- func RouteTypeChoices() []string
- func ServiceNotificationTypeChoices() []string
- func ServiceStateTypeChoices() []string
- func TopicStateTypeChoices() []string
- func UnitTypeChoices() []string
- func UsageTypeChoices() []string
- type AccessControlIn
- type AccessControlOut
- type AclOut
- type AdditionalRegionOut
- type AuthenticationType
- type BackupOut
- type ComponentOut
- type ConnectionPoolOut
- type DowType
- type Handler
- type IntegrationStatusOut
- type IntegrationStatusType
- type KafkaAuthenticationMethodType
- type KafkaSslCaType
- type LevelType
- type LikelyErrorCauseType
- type MaintenanceOut
- type MetadataOut
- type NodeStateOut
- type NodeStateType
- type OperationType
- type PermissionType
- type PermissionTypeAlt
- type PhaseType
- type PoolModeType
- type ProgressUpdateOut
- type RoleType
- type RouteType
- type SchemaRegistryAclOut
- type ServiceIntegrationOut
- type ServiceNotificationOut
- type ServiceNotificationType
- type ServiceStateType
- type ServiceUserCreateIn
- type ServiceUserCreateOut
- type ServiceUserCredentialsModifyIn
- type ServiceUserCredentialsModifyOut
- type ServiceUserCredentialsResetOut
- type ServiceUserGetOut
- type ServiceUserHandler
- func (h *ServiceUserHandler) ServiceUserCreate(ctx context.Context, project string, serviceName string, ...) (*ServiceUserCreateOut, error)
- func (h *ServiceUserHandler) ServiceUserCredentialsModify(ctx context.Context, project string, serviceName string, ...) (*ServiceUserCredentialsModifyOut, error)
- func (h *ServiceUserHandler) ServiceUserCredentialsReset(ctx context.Context, project string, serviceName string, ...) (*ServiceUserCredentialsResetOut, error)
- func (h *ServiceUserHandler) ServiceUserDelete(ctx context.Context, project string, serviceName string, ...) error
- func (h *ServiceUserHandler) ServiceUserGet(ctx context.Context, project string, serviceName string, ...) (*ServiceUserGetOut, error)
- type ShardOut
- type StateOut
- type TechEmailOut
- type TopicOut
- type TopicStateType
- type UnitType
- type UpdateOut
- type UsageType
- type UserOut
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func AuthenticationTypeChoices ¶
func AuthenticationTypeChoices() []string
func DowTypeChoices ¶ added in v0.3.0
func DowTypeChoices() []string
func IntegrationStatusTypeChoices ¶ added in v0.3.0
func IntegrationStatusTypeChoices() []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 NodeStateTypeChoices ¶ added in v0.3.0
func NodeStateTypeChoices() []string
func OperationTypeChoices ¶
func OperationTypeChoices() []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 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 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 ¶
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 AuthenticationType ¶
type AuthenticationType string
const ( AuthenticationTypeNull AuthenticationType = "null" AuthenticationTypeCachingSha2Password AuthenticationType = "caching_sha2_password" AuthenticationTypeMysqlNativePassword AuthenticationType = "mysql_native_password" )
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 ComponentOut ¶
type ComponentOut struct { Component string `json:"component"` // Service component name Host string `json:"host"` // DNS name for connecting to the service component KafkaAuthenticationMethod KafkaAuthenticationMethodType `json:"kafka_authentication_method,omitempty"` // Kafka authentication method. This is a value specific to the 'kafka' service component KafkaSslCa KafkaSslCaType `json:"kafka_ssl_ca,omitempty"` // Specifies if this port uses Project CA or Letsencrypt. If not specified, the default is using Project CA.This is a value specific to the 'kafka' service component. Path *string `json:"path,omitempty"` // Path component of the service URL (useful only if service component is HTTP or HTTPS endpoint) Port int `json:"port"` // Port number for connecting to the service component PrivatelinkConnectionId *string `json:"privatelink_connection_id,omitempty"` // Privatelink connection ID Route RouteType `json:"route"` // Network access route Ssl *bool `json:"ssl,omitempty"` // Whether the endpoint is encrypted or accepts plaintext. By default endpoints are always encrypted andthis property is only included for service components that may disable encryption. Usage UsageType `json:"usage"` // DNS usage name }
type ConnectionPoolOut ¶
type ConnectionPoolOut struct { ConnectionUri string `json:"connection_uri"` // Connection URI for the DB pool Database string `json:"database"` // Database name PoolMode PoolModeType `json:"pool_mode"` // PGBouncer pool mode PoolName string `json:"pool_name"` // Connection pool name PoolSize int `json:"pool_size"` // Size of PGBouncer's PostgreSQL side connection pool Username *string `json:"username,omitempty"` // Pool username }
type Handler ¶
type Handler interface { // 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 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 KafkaAuthenticationMethodType ¶ added in v0.3.0
type KafkaAuthenticationMethodType string
const ( KafkaAuthenticationMethodTypeCertificate KafkaAuthenticationMethodType = "certificate" KafkaAuthenticationMethodTypeSasl KafkaAuthenticationMethodType = "sasl" )
type KafkaSslCaType ¶ added in v0.11.0
type KafkaSslCaType string
const ( KafkaSslCaTypeProjectCa KafkaSslCaType = "project_ca" KafkaSslCaTypeLetsencrypt KafkaSslCaType = "letsencrypt" )
type LikelyErrorCauseType ¶ added in v0.3.0
type LikelyErrorCauseType string
const ( LikelyErrorCauseTypeNull LikelyErrorCauseType = "null" LikelyErrorCauseTypeDestination LikelyErrorCauseType = "destination" LikelyErrorCauseTypeIntegration LikelyErrorCauseType = "integration" LikelyErrorCauseTypeSource LikelyErrorCauseType = "source" LikelyErrorCauseTypeUnknown LikelyErrorCauseType = "unknown" )
type MaintenanceOut ¶
type MaintenanceOut struct { Dow DowType `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 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 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 OperationType ¶
type OperationType string
const ( OperationTypeAcknowledgeRenewal OperationType = "acknowledge-renewal" OperationTypeResetCredentials OperationType = "reset-credentials" OperationTypeSetAccessControl OperationType = "set-access-control" )
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 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 SchemaRegistryAclOut ¶
type SchemaRegistryAclOut struct { Id *string `json:"id,omitempty"` // ID Permission PermissionTypeAlt `json:"permission"` // ACL entry for Schema Registry Resource string `json:"resource"` // Schema Registry ACL entry resource name pattern Username string `json:"username"` }
type ServiceIntegrationOut ¶
type ServiceIntegrationOut struct { Active bool `json:"active"` // True when integration is active Description string `json:"description"` // Description of the integration DestEndpoint *string `json:"dest_endpoint,omitempty"` // Destination endpoint name DestEndpointId *string `json:"dest_endpoint_id,omitempty"` // Destination endpoint id DestProject string `json:"dest_project"` // Project name DestService *string `json:"dest_service,omitempty"` // Destination service name DestServiceType string `json:"dest_service_type"` // Service type code Enabled bool `json:"enabled"` // True when integration is enabled IntegrationStatus *IntegrationStatusOut `json:"integration_status,omitempty"` // Integration status IntegrationType string `json:"integration_type"` // Type of the integration ServiceIntegrationId string `json:"service_integration_id"` // Integration ID SourceEndpoint *string `json:"source_endpoint,omitempty"` // Source endpoint name SourceEndpointId *string `json:"source_endpoint_id,omitempty"` // Source endpoint ID SourceProject string `json:"source_project"` // Project name SourceService string `json:"source_service"` // Source service name SourceServiceType string `json:"source_service_type"` // Service type code UserConfig map[string]any `json:"user_config,omitempty"` // Service integration settings }
type 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 ServiceStateType ¶ added in v0.3.0
type ServiceStateType string
const ( ServiceStateTypePoweroff ServiceStateType = "POWEROFF" ServiceStateTypeRebalancing ServiceStateType = "REBALANCING" ServiceStateTypeRebuilding ServiceStateType = "REBUILDING" ServiceStateTypeRunning ServiceStateType = "RUNNING" )
type ServiceUserCreateIn ¶
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 ¶
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 ¶
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 OperationType `json:"operation"` // Operation type }
ServiceUserCredentialsModifyIn ServiceUserCredentialsModifyRequestBody
type ServiceUserCredentialsModifyOut ¶
type ServiceUserCredentialsModifyOut struct { Acl []AclOut `json:"acl,omitempty"` // List of Kafka ACL entries Backups []BackupOut `json:"backups,omitempty"` // List of backups for the service CloudDescription *string `json:"cloud_description,omitempty"` // Cloud provider and location CloudName string `json:"cloud_name"` // Target cloud Components []ComponentOut `json:"components,omitempty"` // Service component information objects ConnectionInfo map[string]any `json:"connection_info,omitempty"` // Service-specific connection information properties ConnectionPools []ConnectionPoolOut `json:"connection_pools,omitempty"` // PostgreSQL PGBouncer connection pools CreateTime time.Time `json:"create_time"` // Service creation timestamp (ISO 8601) Databases []string `json:"databases,omitempty"` // List of service's user database names DiskSpaceMb *float64 `json:"disk_space_mb,omitempty"` // Megabytes of disk space for data storage Features map[string]any `json:"features,omitempty"` // Feature flags GroupList []string `json:"group_list"` // List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default' Maintenance *MaintenanceOut `json:"maintenance,omitempty"` // Automatic maintenance settings Metadata map[string]any `json:"metadata,omitempty"` // Service type specific metadata NodeCount *int `json:"node_count,omitempty"` // Number of service nodes in the active plan NodeCpuCount *int `json:"node_cpu_count,omitempty"` // Number of CPUs for each node NodeMemoryMb *float64 `json:"node_memory_mb,omitempty"` // Megabytes of memory for each node NodeStates []NodeStateOut `json:"node_states,omitempty"` // State of individual service nodes Plan string `json:"plan"` // Subscription plan ProjectVpcId string `json:"project_vpc_id"` // Project VPC ID SchemaRegistryAcl []SchemaRegistryAclOut `json:"schema_registry_acl,omitempty"` // List of Schema Registry ACL entries ServiceIntegrations []ServiceIntegrationOut `json:"service_integrations"` // Integrations with other services ServiceName string `json:"service_name"` // Service name ServiceNotifications []ServiceNotificationOut `json:"service_notifications,omitempty"` // Service notifications ServiceType string `json:"service_type"` // Service type code ServiceTypeDescription *string `json:"service_type_description,omitempty"` // Single line description of the service ServiceUri string `json:"service_uri"` // URI for connecting to the service (may be null) ServiceUriParams map[string]any `json:"service_uri_params,omitempty"` // service_uri parameterized into key-value pairs State ServiceStateType `json:"state"` // State of the service Tags map[string]string `json:"tags,omitempty"` // Set of resource tags TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of service technical email addresses TerminationProtection bool `json:"termination_protection"` // Service is protected against termination and powering off Topics []TopicOut `json:"topics,omitempty"` // Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead UpdateTime time.Time `json:"update_time"` // Service last update timestamp (ISO 8601) UserConfig map[string]any `json:"user_config"` // Service type-specific settings Users []UserOut `json:"users,omitempty"` // List of service users }
ServiceUserCredentialsModifyOut Service information
type ServiceUserCredentialsResetOut ¶
type ServiceUserCredentialsResetOut struct { Acl []AclOut `json:"acl,omitempty"` // List of Kafka ACL entries Backups []BackupOut `json:"backups,omitempty"` // List of backups for the service CloudDescription *string `json:"cloud_description,omitempty"` // Cloud provider and location CloudName string `json:"cloud_name"` // Target cloud Components []ComponentOut `json:"components,omitempty"` // Service component information objects ConnectionInfo map[string]any `json:"connection_info,omitempty"` // Service-specific connection information properties ConnectionPools []ConnectionPoolOut `json:"connection_pools,omitempty"` // PostgreSQL PGBouncer connection pools CreateTime time.Time `json:"create_time"` // Service creation timestamp (ISO 8601) Databases []string `json:"databases,omitempty"` // List of service's user database names DiskSpaceMb *float64 `json:"disk_space_mb,omitempty"` // Megabytes of disk space for data storage Features map[string]any `json:"features,omitempty"` // Feature flags GroupList []string `json:"group_list"` // List of service groups the service belongs to. This field is deprecated. It is always set to single element with value 'default' Maintenance *MaintenanceOut `json:"maintenance,omitempty"` // Automatic maintenance settings Metadata map[string]any `json:"metadata,omitempty"` // Service type specific metadata NodeCount *int `json:"node_count,omitempty"` // Number of service nodes in the active plan NodeCpuCount *int `json:"node_cpu_count,omitempty"` // Number of CPUs for each node NodeMemoryMb *float64 `json:"node_memory_mb,omitempty"` // Megabytes of memory for each node NodeStates []NodeStateOut `json:"node_states,omitempty"` // State of individual service nodes Plan string `json:"plan"` // Subscription plan ProjectVpcId string `json:"project_vpc_id"` // Project VPC ID SchemaRegistryAcl []SchemaRegistryAclOut `json:"schema_registry_acl,omitempty"` // List of Schema Registry ACL entries ServiceIntegrations []ServiceIntegrationOut `json:"service_integrations"` // Integrations with other services ServiceName string `json:"service_name"` // Service name ServiceNotifications []ServiceNotificationOut `json:"service_notifications,omitempty"` // Service notifications ServiceType string `json:"service_type"` // Service type code ServiceTypeDescription *string `json:"service_type_description,omitempty"` // Single line description of the service ServiceUri string `json:"service_uri"` // URI for connecting to the service (may be null) ServiceUriParams map[string]any `json:"service_uri_params,omitempty"` // service_uri parameterized into key-value pairs State ServiceStateType `json:"state"` // State of the service Tags map[string]string `json:"tags,omitempty"` // Set of resource tags TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of service technical email addresses TerminationProtection bool `json:"termination_protection"` // Service is protected against termination and powering off Topics []TopicOut `json:"topics,omitempty"` // Kafka topics. DEPRECATED: Use /project/$project/service/$service/topic instead UpdateTime time.Time `json:"update_time"` // Service last update timestamp (ISO 8601) UserConfig map[string]any `json:"user_config"` // Service type-specific settings Users []UserOut `json:"users,omitempty"` // List of service users }
ServiceUserCredentialsResetOut Service information
type ServiceUserGetOut ¶
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 ServiceUserHandler ¶
type ServiceUserHandler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(doer doer) ServiceUserHandler
func (*ServiceUserHandler) ServiceUserCreate ¶
func (h *ServiceUserHandler) ServiceUserCreate(ctx context.Context, project string, serviceName string, in *ServiceUserCreateIn) (*ServiceUserCreateOut, error)
func (*ServiceUserHandler) ServiceUserCredentialsModify ¶
func (h *ServiceUserHandler) ServiceUserCredentialsModify(ctx context.Context, project string, serviceName string, serviceUsername string, in *ServiceUserCredentialsModifyIn) (*ServiceUserCredentialsModifyOut, error)
func (*ServiceUserHandler) ServiceUserCredentialsReset ¶
func (h *ServiceUserHandler) ServiceUserCredentialsReset(ctx context.Context, project string, serviceName string, serviceUsername string) (*ServiceUserCredentialsResetOut, error)
func (*ServiceUserHandler) ServiceUserDelete ¶
func (*ServiceUserHandler) ServiceUserGet ¶
func (h *ServiceUserHandler) ServiceUserGet(ctx context.Context, project string, serviceName string, serviceUsername string) (*ServiceUserGetOut, error)
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 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 TechEmailOut ¶
type TechEmailOut struct {
Email string `json:"email"` // User email address
}
type TopicOut ¶
type TopicOut struct { CleanupPolicy string `json:"cleanup_policy"` // cleanup.policy MinInsyncReplicas int `json:"min_insync_replicas"` // min.insync.replicas Partitions int `json:"partitions"` // Number of partitions Replication int `json:"replication"` // Number of replicas RetentionBytes int `json:"retention_bytes"` // retention.bytes RetentionHours int `json:"retention_hours"` // Retention period (hours) State TopicStateType `json:"state,omitempty"` // Topic state TopicName string `json:"topic_name"` // Topic name }
type TopicStateType ¶ added in v0.3.0
type TopicStateType string
const ( TopicStateTypeActive TopicStateType = "ACTIVE" TopicStateTypeConfiguring TopicStateType = "CONFIGURING" TopicStateTypeDeleting TopicStateType = "DELETING" )
type UpdateOut ¶
type UpdateOut struct { Deadline *string `json:"deadline,omitempty"` // Deadline for installing the update Description *string `json:"description,omitempty"` // Description of the update 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 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 }