Documentation
¶
Index ¶
- func BillingCurrencyTypeChoices() []string
- func MemberTypeChoices() []string
- func ProjectMembershipTypeChoices() []string
- func RecoveryModeTypeChoices() []string
- func VpcPeeringConnectionTypeChoices() []string
- type AlertOut
- type AlloydbomniOut
- type BackupConfigOut
- type BillingCurrencyType
- type BillingEmailIn
- type BillingEmailOut
- type CardInfoOut
- type CassandraOut
- type ClickhouseOut
- type DragonflyOut
- type ElasticsearchOut
- type EndOfLifeExtensionOut
- type EventOut
- type FlinkOut
- type GrafanaOut
- type GroupUserOut
- type Handler
- type InfluxdbOut
- type InvitationOut
- type KafkaConnectOut
- type KafkaMirrormakerOut
- type KafkaOut
- type M3AggregatorOut
- type M3DbOut
- type MemberType
- type MysqlOut
- type OpensearchOut
- type PgOut
- type PrivatelinkAvailabilityOut
- type ProjectCreateIn
- type ProjectCreateOut
- type ProjectGetOut
- type ProjectHandler
- func (h *ProjectHandler) ListProjectVpcPeeringConnectionTypes(ctx context.Context, project string) ([]VpcPeeringConnectionTypeOut, error)
- func (h *ProjectHandler) ProjectAlertsList(ctx context.Context, project string) ([]AlertOut, error)
- func (h *ProjectHandler) ProjectCreate(ctx context.Context, in *ProjectCreateIn) (*ProjectCreateOut, error)
- func (h *ProjectHandler) ProjectDelete(ctx context.Context, project string) error
- func (h *ProjectHandler) ProjectGenerateSbomDownloadUrl(ctx context.Context, project string, fileFormat string) (string, error)
- func (h *ProjectHandler) ProjectGet(ctx context.Context, project string) (*ProjectGetOut, error)
- func (h *ProjectHandler) ProjectGetEventLogs(ctx context.Context, project string) ([]EventOut, error)
- func (h *ProjectHandler) ProjectInvite(ctx context.Context, project string, in *ProjectInviteIn) error
- func (h *ProjectHandler) ProjectInviteAccept(ctx context.Context, project string, inviteVerificationCode string) (*ProjectInviteAcceptOut, error)
- func (h *ProjectHandler) ProjectInviteDelete(ctx context.Context, project string, invitedEmail string) error
- func (h *ProjectHandler) ProjectKmsGetCA(ctx context.Context, project string) (string, error)
- func (h *ProjectHandler) ProjectList(ctx context.Context) (*ProjectListOut, error)
- func (h *ProjectHandler) ProjectPrivatelinkAvailabilityList(ctx context.Context, project string) ([]PrivatelinkAvailabilityOut, error)
- func (h *ProjectHandler) ProjectServicePlanList(ctx context.Context, project string, serviceType string) ([]ServicePlanOut, error)
- func (h *ProjectHandler) ProjectServicePlanPriceGet(ctx context.Context, project string, serviceType string, servicePlan string, ...) (*ProjectServicePlanPriceGetOut, error)
- func (h *ProjectHandler) ProjectServicePlanSpecsGet(ctx context.Context, project string, serviceType string, servicePlan string) (*ProjectServicePlanSpecsGetOut, error)
- func (h *ProjectHandler) ProjectServiceTypesGet(ctx context.Context, project string, serviceType string) (*ProjectServiceTypesGetOut, error)
- func (h *ProjectHandler) ProjectServiceTypesList(ctx context.Context, project string) (*ProjectServiceTypesListOut, error)
- func (h *ProjectHandler) ProjectTagsList(ctx context.Context, project string) (map[string]string, error)
- func (h *ProjectHandler) ProjectTagsReplace(ctx context.Context, project string, in *ProjectTagsReplaceIn) error
- func (h *ProjectHandler) ProjectTagsUpdate(ctx context.Context, project string, in *ProjectTagsUpdateIn) error
- func (h *ProjectHandler) ProjectUpdate(ctx context.Context, project string, in *ProjectUpdateIn) (*ProjectUpdateOut, error)
- func (h *ProjectHandler) ProjectUserList(ctx context.Context, project string) (*ProjectUserListOut, error)
- func (h *ProjectHandler) ProjectUserRemove(ctx context.Context, project string, userEmail string) error
- func (h *ProjectHandler) ProjectUserUpdate(ctx context.Context, project string, userEmail string, in *ProjectUserUpdateIn) error
- type ProjectInviteAcceptOut
- type ProjectInviteIn
- type ProjectListOut
- type ProjectMembershipType
- type ProjectOut
- type ProjectServicePlanPriceGetOut
- type ProjectServicePlanSpecsGetOut
- type ProjectServiceTypesGetOut
- type ProjectServiceTypesListElasticsearchOut
- type ProjectServiceTypesListOut
- type ProjectTagsReplaceIn
- type ProjectTagsUpdateIn
- type ProjectUpdateIn
- type ProjectUpdateOut
- type ProjectUserListOut
- type ProjectUserUpdateIn
- type RecoveryModeType
- type RedisOut
- type ServicePlanOut
- type TechEmailIn
- type TechEmailOut
- type ThanosOut
- type UserOut
- type ValkeyOut
- type VpcPeeringConnectionType
- type VpcPeeringConnectionTypeOut
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func BillingCurrencyTypeChoices ¶
func BillingCurrencyTypeChoices() []string
func MemberTypeChoices ¶
func MemberTypeChoices() []string
func ProjectMembershipTypeChoices ¶ added in v0.84.0
func ProjectMembershipTypeChoices() []string
func RecoveryModeTypeChoices ¶ added in v0.30.0
func RecoveryModeTypeChoices() []string
func VpcPeeringConnectionTypeChoices ¶ added in v0.3.0
func VpcPeeringConnectionTypeChoices() []string
Types ¶
type AlertOut ¶
type AlertOut struct {
CreateTime time.Time `json:"create_time"` // Event creation timestamp (ISO 8601)
Event string `json:"event"` // Name of the alerting event
NodeName *string `json:"node_name,omitempty"` // Name of the service node
ProjectName string `json:"project_name"` // Project name
ServiceName *string `json:"service_name,omitempty"` // Service name
ServiceType *string `json:"service_type,omitempty"` // Service type code
Severity string `json:"severity"` // Severity of the event
}
type AlloydbomniOut ¶ added in v0.40.0
type AlloydbomniOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
AlloydbomniOut Service type information
type BackupConfigOut ¶ added in v0.30.0
type BackupConfigOut struct {
FrequentIntervalMinutes *int `json:"frequent_interval_minutes,omitempty"` // Interval of taking a frequent backup in service types supporting different backup schedules
FrequentOldestAgeMinutes *int `json:"frequent_oldest_age_minutes,omitempty"` // Maximum age of the oldest frequent backup in service types supporting different backup schedules
InfrequentIntervalMinutes *int `json:"infrequent_interval_minutes,omitempty"` // Interval of taking an infrequent backup in service types supporting different backup schedules
InfrequentOldestAgeMinutes *int `json:"infrequent_oldest_age_minutes,omitempty"` // Maximum age of the oldest infrequent backup in service types supporting different backup schedules
Interval int `json:"interval"` // The interval, in hours, at which backups are generated. For some services, like PostgreSQL, this is the interval at which full snapshots are taken and continuous incremental backup stream is maintained in addition to that.
MaxCount int `json:"max_count"` // Maximum number of backups to keep. Zero when no backups are created.
RecoveryMode RecoveryModeType `json:"recovery_mode"` // Mechanism how backups can be restored. 'basic' means a backup is restored as is so that the system is restored to the state it was when the backup was generated. 'pitr' means point-in-time-recovery, which allows restoring the system to any state since the first available full snapshot.
}
BackupConfigOut Backup configuration for this service plan
type BillingCurrencyType ¶
type BillingCurrencyType string
const ( BillingCurrencyTypeAud BillingCurrencyType = "AUD" BillingCurrencyTypeCad BillingCurrencyType = "CAD" BillingCurrencyTypeChf BillingCurrencyType = "CHF" BillingCurrencyTypeDkk BillingCurrencyType = "DKK" BillingCurrencyTypeEur BillingCurrencyType = "EUR" BillingCurrencyTypeGbp BillingCurrencyType = "GBP" BillingCurrencyTypeJpy BillingCurrencyType = "JPY" BillingCurrencyTypeNok BillingCurrencyType = "NOK" BillingCurrencyTypeNzd BillingCurrencyType = "NZD" BillingCurrencyTypeSek BillingCurrencyType = "SEK" BillingCurrencyTypeSgd BillingCurrencyType = "SGD" BillingCurrencyTypeUsd BillingCurrencyType = "USD" )
type BillingEmailIn ¶
type BillingEmailIn struct {
Email string `json:"email"` // User email address
}
type BillingEmailOut ¶
type BillingEmailOut struct {
Email string `json:"email"` // User email address
}
type CardInfoOut ¶
type CardInfoOut struct {
Brand string `json:"brand"`
CardId string `json:"card_id"` // Credit card ID
Country string `json:"country"`
CountryCode string `json:"country_code"` // Two letter ISO country code
ExpMonth int `json:"exp_month"` // Expiration month
ExpYear int `json:"exp_year"` // Expiration year
Last4 string `json:"last4"` // Credit card last four digits
Name string `json:"name"` // Name on the credit card
UserEmail string `json:"user_email"` // User email address
}
CardInfoOut Credit card assigned to the project
type CassandraOut ¶ added in v0.30.0
type CassandraOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
CassandraOut Service type information
type ClickhouseOut ¶ added in v0.30.0
type ClickhouseOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
ClickhouseOut Service type information
type DragonflyOut ¶ added in v0.30.0
type DragonflyOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
DragonflyOut Service type information
type ElasticsearchOut ¶
type ElasticsearchOut struct {
EolDate string `json:"eol_date"` // Extended EOL date
Version string `json:"version"` // Service version
}
ElasticsearchOut Service EOL extension
type EndOfLifeExtensionOut ¶
type EndOfLifeExtensionOut struct {
Elasticsearch *ElasticsearchOut `json:"elasticsearch,omitempty"` // Service EOL extension
}
EndOfLifeExtensionOut End of life extension information
type EventOut ¶
type EventOut struct {
Actor string `json:"actor"` // Initiator of the event
EventDesc string `json:"event_desc"` // Event description
EventType string `json:"event_type"` // Event type identifier
Id string `json:"id"` // Event identifier (unique across all projects)
ServiceName string `json:"service_name"` // Service name
Time string `json:"time"` // Timestamp in ISO 8601 format, always in UTC
}
type FlinkOut ¶ added in v0.30.0
type FlinkOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
FlinkOut Service type information
type GrafanaOut ¶ added in v0.30.0
type GrafanaOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
GrafanaOut Service type information
type GroupUserOut ¶
type GroupUserOut struct {
MemberType MemberType `json:"member_type"` // Project member type
RealName string `json:"real_name"` // User real name
UserEmail string `json:"user_email"` // User email address
UserGroupId string `json:"user_group_id"` // User group ID
}
type Handler ¶
type Handler interface {
// ListProjectVpcPeeringConnectionTypes list VPC peering connection types for a project
// GET /v1/project/{project}/vpc-peering-connection-types
// https://api.aiven.io/doc/#tag/Project/operation/ListProjectVpcPeeringConnectionTypes
ListProjectVpcPeeringConnectionTypes(ctx context.Context, project string) ([]VpcPeeringConnectionTypeOut, error)
// ProjectAlertsList list active alerts for a project
// GET /v1/project/{project}/alerts
// https://api.aiven.io/doc/#tag/Project/operation/ProjectAlertsList
ProjectAlertsList(ctx context.Context, project string) ([]AlertOut, error)
// ProjectCreate create a project
// POST /v1/project
// https://api.aiven.io/doc/#tag/Project/operation/ProjectCreate
ProjectCreate(ctx context.Context, in *ProjectCreateIn) (*ProjectCreateOut, error)
// ProjectDelete delete project
// DELETE /v1/project/{project}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectDelete
ProjectDelete(ctx context.Context, project string) error
// ProjectGenerateSbomDownloadUrl generate SBOM for project
// GET /v1/project/{project}/generate-sbom-download-url/{file_format}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectGenerateSbomDownloadUrl
ProjectGenerateSbomDownloadUrl(ctx context.Context, project string, fileFormat string) (string, error)
// ProjectGet get project details
// GET /v1/project/{project}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectGet
ProjectGet(ctx context.Context, project string) (*ProjectGetOut, error)
// ProjectGetEventLogs get project event log entries
// GET /v1/project/{project}/events
// https://api.aiven.io/doc/#tag/Project/operation/ProjectGetEventLogs
ProjectGetEventLogs(ctx context.Context, project string) ([]EventOut, error)
// ProjectInvite send project membership invitation
// POST /v1/project/{project}/invite
// https://api.aiven.io/doc/#tag/Project/operation/ProjectInvite
ProjectInvite(ctx context.Context, project string, in *ProjectInviteIn) error
// ProjectInviteAccept confirm project invite
// POST /v1/project/{project}/invite/{invite_verification_code}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectInviteAccept
ProjectInviteAccept(ctx context.Context, project string, inviteVerificationCode string) (*ProjectInviteAcceptOut, error)
// ProjectInviteDelete delete an invitation to a project
// DELETE /v1/project/{project}/invite/{invited_email}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectInviteDelete
ProjectInviteDelete(ctx context.Context, project string, invitedEmail string) error
// ProjectKmsGetCA retrieve project CA certificate
// GET /v1/project/{project}/kms/ca
// https://api.aiven.io/doc/#tag/Project_Key_Management/operation/ProjectKmsGetCA
ProjectKmsGetCA(ctx context.Context, project string) (string, error)
// ProjectList list projects
// GET /v1/project
// https://api.aiven.io/doc/#tag/Project/operation/ProjectList
ProjectList(ctx context.Context) (*ProjectListOut, error)
// ProjectPrivatelinkAvailabilityList list Privatelink cloud availability and prices for a project
// GET /v1/project/{project}/privatelink-availability
// https://api.aiven.io/doc/#tag/Project/operation/ProjectPrivatelinkAvailabilityList
ProjectPrivatelinkAvailabilityList(ctx context.Context, project string) ([]PrivatelinkAvailabilityOut, error)
// ProjectServicePlanList list service plans
// GET /v1/project/{project}/service-types/{service_type}/plans
// https://api.aiven.io/doc/#tag/Project/operation/ProjectServicePlanList
ProjectServicePlanList(ctx context.Context, project string, serviceType string) ([]ServicePlanOut, error)
// ProjectServicePlanPriceGet get plan pricing
// GET /v1/project/{project}/pricing/service-types/{service_type}/plans/{service_plan}/clouds/{cloud}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectServicePlanPriceGet
ProjectServicePlanPriceGet(ctx context.Context, project string, serviceType string, servicePlan string, cloud string) (*ProjectServicePlanPriceGetOut, error)
// ProjectServicePlanSpecsGet get service plan details
// GET /v1/project/{project}/service-types/{service_type}/plans/{service_plan}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectServicePlanSpecsGet
ProjectServicePlanSpecsGet(ctx context.Context, project string, serviceType string, servicePlan string) (*ProjectServicePlanSpecsGetOut, error)
// ProjectServiceTypesGet get service type details
// GET /v1/project/{project}/service-types/{service_type}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectServiceTypesGet
ProjectServiceTypesGet(ctx context.Context, project string, serviceType string) (*ProjectServiceTypesGetOut, error)
// ProjectServiceTypesList list service types
// GET /v1/project/{project}/service-types
// https://api.aiven.io/doc/#tag/Project/operation/ProjectServiceTypesList
ProjectServiceTypesList(ctx context.Context, project string) (*ProjectServiceTypesListOut, error)
// ProjectTagsList list all tags attached to this project
// GET /v1/project/{project}/tags
// https://api.aiven.io/doc/#tag/Project/operation/ProjectTagsList
ProjectTagsList(ctx context.Context, project string) (map[string]string, error)
// ProjectTagsReplace replace all project tags with a new set of tags, deleting old ones
// PUT /v1/project/{project}/tags
// https://api.aiven.io/doc/#tag/Project/operation/ProjectTagsReplace
ProjectTagsReplace(ctx context.Context, project string, in *ProjectTagsReplaceIn) error
// ProjectTagsUpdate update one or more tags, creating ones that don't exist, and deleting ones given NULL value
// PATCH /v1/project/{project}/tags
// https://api.aiven.io/doc/#tag/Project/operation/ProjectTagsUpdate
ProjectTagsUpdate(ctx context.Context, project string, in *ProjectTagsUpdateIn) error
// ProjectUpdate update project
// PUT /v1/project/{project}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectUpdate
ProjectUpdate(ctx context.Context, project string, in *ProjectUpdateIn) (*ProjectUpdateOut, error)
// ProjectUserList list users with access to the project. May contain same user multiple times if they belong to multiple teams associated to the project
// GET /v1/project/{project}/users
// https://api.aiven.io/doc/#tag/Project/operation/ProjectUserList
ProjectUserList(ctx context.Context, project string) (*ProjectUserListOut, error)
// ProjectUserRemove remove user from the project
// DELETE /v1/project/{project}/user/{user_email}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectUserRemove
ProjectUserRemove(ctx context.Context, project string, userEmail string) error
// ProjectUserUpdate update a project user
// PUT /v1/project/{project}/user/{user_email}
// https://api.aiven.io/doc/#tag/Project/operation/ProjectUserUpdate
ProjectUserUpdate(ctx context.Context, project string, userEmail string, in *ProjectUserUpdateIn) error
}
type InfluxdbOut ¶ added in v0.30.0
type InfluxdbOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
InfluxdbOut Service type information
type InvitationOut ¶
type InvitationOut struct {
InviteTime time.Time `json:"invite_time"` // Timestamp in ISO 8601 format, always in UTC
InvitedUserEmail string `json:"invited_user_email"` // User email address
InvitingUserEmail string `json:"inviting_user_email"` // User email address
MemberType MemberType `json:"member_type"` // Project member type
}
type KafkaConnectOut ¶ added in v0.30.0
type KafkaConnectOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
KafkaConnectOut Service type information
type KafkaMirrormakerOut ¶ added in v0.30.0
type KafkaMirrormakerOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
KafkaMirrormakerOut Service type information
type KafkaOut ¶ added in v0.30.0
type KafkaOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
KafkaOut Service type information
type M3AggregatorOut ¶ added in v0.122.0
type M3AggregatorOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
M3AggregatorOut Service type information
type M3DbOut ¶ added in v0.122.0
type M3DbOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
M3DbOut Service type information
type MemberType ¶
type MemberType string
const ( MemberTypeAdmin MemberType = "admin" MemberTypeDeveloper MemberType = "developer" MemberTypeOperator MemberType = "operator" MemberTypeOrganizationAppUsersWrite MemberType = "organization:app_users:write" MemberTypeOrganizationAuditLogsRead MemberType = "organization:audit_logs:read" MemberTypeOrganizationBillingRead MemberType = "organization:billing:read" MemberTypeOrganizationBillingWrite MemberType = "organization:billing:write" MemberTypeOrganizationDomainsWrite MemberType = "organization:domains:write" MemberTypeOrganizationGroupsWrite MemberType = "organization:groups:write" MemberTypeOrganizationNetworkingRead MemberType = "organization:networking:read" MemberTypeOrganizationNetworkingWrite MemberType = "organization:networking:write" MemberTypeOrganizationProjectsWrite MemberType = "organization:projects:write" MemberTypeOrganizationUsersWrite MemberType = "organization:users:write" MemberTypeProjectAuditLogsRead MemberType = "project:audit_logs:read" MemberTypeProjectIntegrationsRead MemberType = "project:integrations:read" MemberTypeProjectIntegrationsWrite MemberType = "project:integrations:write" MemberTypeProjectNetworkingRead MemberType = "project:networking:read" MemberTypeProjectNetworkingWrite MemberType = "project:networking:write" MemberTypeProjectPermissionsRead MemberType = "project:permissions:read" MemberTypeProjectServicesRead MemberType = "project:services:read" MemberTypeProjectServicesWrite MemberType = "project:services:write" MemberTypeReadOnly MemberType = "read_only" MemberTypeRoleOrganizationAdmin MemberType = "role:organization:admin" MemberTypeRoleServicesMaintenance MemberType = "role:services:maintenance" MemberTypeRoleServicesRecover MemberType = "role:services:recover" MemberTypeServiceConfigurationWrite MemberType = "service:configuration:write" MemberTypeServiceDataWrite MemberType = "service:data:write" MemberTypeServiceLogsRead MemberType = "service:logs:read" MemberTypeServiceSecretsRead MemberType = "service:secrets:read" MemberTypeServiceUsersWrite MemberType = "service:users:write" )
type MysqlOut ¶ added in v0.30.0
type MysqlOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
MysqlOut Service type information
type OpensearchOut ¶ added in v0.30.0
type OpensearchOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
OpensearchOut Service type information
type PgOut ¶ added in v0.30.0
type PgOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
PgOut Service type information
type ProjectCreateIn ¶
type ProjectCreateIn struct {
AccountId *string `json:"account_id,omitempty"` // Account ID
AddAccountOwnersAdminAccess *bool `json:"add_account_owners_admin_access,omitempty"` // Deprecated: If account_id is set, grant account owner team admin access to the new project. This flag is ignored, and assumed true.
AddressLines *[]string `json:"address_lines,omitempty"` // Deprecated: Address lines
BasePort *int `json:"base_port,omitempty"` // New services in this project will use this value as a base when deriving their service port numbers. This allows new services to allocate predictable and specific service ports. If not provided during project creation a random base port is used.
BillingAddress *string `json:"billing_address,omitempty"` // DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead
BillingCurrency BillingCurrencyType `json:"billing_currency,omitempty"` // Deprecated: Billing currency
BillingEmails *[]BillingEmailIn `json:"billing_emails,omitempty"` // Deprecated: Billing emails
BillingExtraText *string `json:"billing_extra_text,omitempty"` // Deprecated: Extra text to be included in all project invoices
BillingGroupId *string `json:"billing_group_id,omitempty"` // Billing group ID
CardId *string `json:"card_id,omitempty"` // Deprecated: Credit card ID
City *string `json:"city,omitempty"` // Deprecated: Address city
Cloud *string `json:"cloud,omitempty"` // Target cloud
Company *string `json:"company,omitempty"` // Name of a company
CopyFromProject *string `json:"copy_from_project,omitempty"` // Project name from which to copy settings to the new project
CopyTags *bool `json:"copy_tags,omitempty"` // Copy tags from the source project. If request contains additional tags, the tags copied from source are updated with them.
CountryCode *string `json:"country_code,omitempty"` // Deprecated: Two letter country code for billing country
Project string `json:"project"` // Project name
State *string `json:"state,omitempty"` // Deprecated: Address state
Tags *map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails *[]TechEmailIn `json:"tech_emails,omitempty"` // List of project tech email addresses
UseSourceProjectBillingGroup *bool `json:"use_source_project_billing_group,omitempty"` // If set to true, use the same billing group that is used in source project. If set to false, create a copy of the billing group used in the source project with the same information. If new project is not being copied from existing one this option has no effect
VatId *string `json:"vat_id,omitempty"` // Deprecated: EU VAT identification
ZipCode *string `json:"zip_code,omitempty"` // Deprecated: Address zip code
}
ProjectCreateIn ProjectCreateRequestBody
type ProjectCreateOut ¶
type ProjectCreateOut struct {
AccountId string `json:"account_id"` // Account ID
AccountName *string `json:"account_name,omitempty"` // Account name
AddressLines []string `json:"address_lines,omitempty"` // Address lines
AvailableCredits *string `json:"available_credits,omitempty"` // Available credits, in USD
BillingAddress string `json:"billing_address"` // DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead
BillingCurrency BillingCurrencyType `json:"billing_currency,omitempty"` // Billing currency
BillingEmails []BillingEmailOut `json:"billing_emails"` // List of project billing email addresses
BillingExtraText *string `json:"billing_extra_text,omitempty"` // Extra text to be included in all project invoices, e.g. purchase order or cost center number
BillingGroupId string `json:"billing_group_id"` // Billing group ID
BillingGroupName string `json:"billing_group_name"` // Billing group name
CardInfo *CardInfoOut `json:"card_info,omitempty"` // Credit card assigned to the project
City *string `json:"city,omitempty"` // Address city
Company *string `json:"company,omitempty"` // Name of a company
Country string `json:"country"` // Billing country
CountryCode string `json:"country_code"` // Two letter ISO country code
DefaultCloud string `json:"default_cloud"` // Default cloud to use when launching services
EndOfLifeExtension *EndOfLifeExtensionOut `json:"end_of_life_extension,omitempty"` // End of life extension information
EstimatedBalance string `json:"estimated_balance"` // Estimated balance, in USD
EstimatedBalanceLocal *string `json:"estimated_balance_local,omitempty"` // Estimated balance, in billing currency
Features map[string]any `json:"features,omitempty"` // Feature flags
OrganizationId string `json:"organization_id"` // Organization ID
PaymentMethod string `json:"payment_method"` // Payment method
ProjectName string `json:"project_name"` // Project name
State *string `json:"state,omitempty"` // Address state or province
Tags map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of project tech email addresses
TenantId *string `json:"tenant_id,omitempty"` // Tenant ID
TrialExpirationTime *time.Time `json:"trial_expiration_time,omitempty"` // Trial expiration time (ISO 8601)
VatId string `json:"vat_id"` // EU VAT Identification Number
ZipCode *string `json:"zip_code,omitempty"` // Address zip code
}
ProjectCreateOut Project information
type ProjectGetOut ¶
type ProjectGetOut struct {
AccountId string `json:"account_id"` // Account ID
AccountName *string `json:"account_name,omitempty"` // Account name
AddressLines []string `json:"address_lines,omitempty"` // Address lines
AvailableCredits *string `json:"available_credits,omitempty"` // Available credits, in USD
BillingAddress string `json:"billing_address"` // DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead
BillingCurrency BillingCurrencyType `json:"billing_currency,omitempty"` // Billing currency
BillingEmails []BillingEmailOut `json:"billing_emails"` // List of project billing email addresses
BillingExtraText *string `json:"billing_extra_text,omitempty"` // Extra text to be included in all project invoices, e.g. purchase order or cost center number
BillingGroupId string `json:"billing_group_id"` // Billing group ID
BillingGroupName string `json:"billing_group_name"` // Billing group name
CardInfo *CardInfoOut `json:"card_info,omitempty"` // Credit card assigned to the project
City *string `json:"city,omitempty"` // Address city
Company *string `json:"company,omitempty"` // Name of a company
Country string `json:"country"` // Billing country
CountryCode string `json:"country_code"` // Two letter ISO country code
DefaultCloud string `json:"default_cloud"` // Default cloud to use when launching services
EndOfLifeExtension *EndOfLifeExtensionOut `json:"end_of_life_extension,omitempty"` // End of life extension information
EstimatedBalance string `json:"estimated_balance"` // Estimated balance, in USD
EstimatedBalanceLocal *string `json:"estimated_balance_local,omitempty"` // Estimated balance, in billing currency
Features map[string]any `json:"features,omitempty"` // Feature flags
OrganizationId string `json:"organization_id"` // Organization ID
PaymentMethod string `json:"payment_method"` // Payment method
ProjectName string `json:"project_name"` // Project name
State *string `json:"state,omitempty"` // Address state or province
Tags map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of project tech email addresses
TenantId *string `json:"tenant_id,omitempty"` // Tenant ID
TrialExpirationTime *time.Time `json:"trial_expiration_time,omitempty"` // Trial expiration time (ISO 8601)
VatId string `json:"vat_id"` // EU VAT Identification Number
ZipCode *string `json:"zip_code,omitempty"` // Address zip code
}
ProjectGetOut Project information
type ProjectHandler ¶
type ProjectHandler struct {
// contains filtered or unexported fields
}
func NewHandler ¶
func NewHandler(doer doer) ProjectHandler
func (*ProjectHandler) ListProjectVpcPeeringConnectionTypes ¶
func (h *ProjectHandler) ListProjectVpcPeeringConnectionTypes(ctx context.Context, project string) ([]VpcPeeringConnectionTypeOut, error)
func (*ProjectHandler) ProjectAlertsList ¶
func (*ProjectHandler) ProjectCreate ¶
func (h *ProjectHandler) ProjectCreate(ctx context.Context, in *ProjectCreateIn) (*ProjectCreateOut, error)
func (*ProjectHandler) ProjectDelete ¶
func (h *ProjectHandler) ProjectDelete(ctx context.Context, project string) error
func (*ProjectHandler) ProjectGenerateSbomDownloadUrl ¶
func (*ProjectHandler) ProjectGet ¶
func (h *ProjectHandler) ProjectGet(ctx context.Context, project string) (*ProjectGetOut, error)
func (*ProjectHandler) ProjectGetEventLogs ¶
func (*ProjectHandler) ProjectInvite ¶
func (h *ProjectHandler) ProjectInvite(ctx context.Context, project string, in *ProjectInviteIn) error
func (*ProjectHandler) ProjectInviteAccept ¶
func (h *ProjectHandler) ProjectInviteAccept(ctx context.Context, project string, inviteVerificationCode string) (*ProjectInviteAcceptOut, error)
func (*ProjectHandler) ProjectInviteDelete ¶
func (*ProjectHandler) ProjectKmsGetCA ¶
func (*ProjectHandler) ProjectList ¶
func (h *ProjectHandler) ProjectList(ctx context.Context) (*ProjectListOut, error)
func (*ProjectHandler) ProjectPrivatelinkAvailabilityList ¶
func (h *ProjectHandler) ProjectPrivatelinkAvailabilityList(ctx context.Context, project string) ([]PrivatelinkAvailabilityOut, error)
func (*ProjectHandler) ProjectServicePlanList ¶ added in v0.30.0
func (h *ProjectHandler) ProjectServicePlanList(ctx context.Context, project string, serviceType string) ([]ServicePlanOut, error)
func (*ProjectHandler) ProjectServicePlanPriceGet ¶ added in v0.30.0
func (h *ProjectHandler) ProjectServicePlanPriceGet(ctx context.Context, project string, serviceType string, servicePlan string, cloud string) (*ProjectServicePlanPriceGetOut, error)
func (*ProjectHandler) ProjectServicePlanSpecsGet ¶ added in v0.30.0
func (h *ProjectHandler) ProjectServicePlanSpecsGet(ctx context.Context, project string, serviceType string, servicePlan string) (*ProjectServicePlanSpecsGetOut, error)
func (*ProjectHandler) ProjectServiceTypesGet ¶ added in v0.30.0
func (h *ProjectHandler) ProjectServiceTypesGet(ctx context.Context, project string, serviceType string) (*ProjectServiceTypesGetOut, error)
func (*ProjectHandler) ProjectServiceTypesList ¶ added in v0.30.0
func (h *ProjectHandler) ProjectServiceTypesList(ctx context.Context, project string) (*ProjectServiceTypesListOut, error)
func (*ProjectHandler) ProjectTagsList ¶
func (*ProjectHandler) ProjectTagsReplace ¶
func (h *ProjectHandler) ProjectTagsReplace(ctx context.Context, project string, in *ProjectTagsReplaceIn) error
func (*ProjectHandler) ProjectTagsUpdate ¶
func (h *ProjectHandler) ProjectTagsUpdate(ctx context.Context, project string, in *ProjectTagsUpdateIn) error
func (*ProjectHandler) ProjectUpdate ¶
func (h *ProjectHandler) ProjectUpdate(ctx context.Context, project string, in *ProjectUpdateIn) (*ProjectUpdateOut, error)
func (*ProjectHandler) ProjectUserList ¶
func (h *ProjectHandler) ProjectUserList(ctx context.Context, project string) (*ProjectUserListOut, error)
func (*ProjectHandler) ProjectUserRemove ¶
func (*ProjectHandler) ProjectUserUpdate ¶
func (h *ProjectHandler) ProjectUserUpdate(ctx context.Context, project string, userEmail string, in *ProjectUserUpdateIn) error
type ProjectInviteAcceptOut ¶
type ProjectInviteAcceptOut struct {
UserEmail string `json:"user_email"` // User email address
}
ProjectInviteAcceptOut Details of verified invite
type ProjectInviteIn ¶
type ProjectInviteIn struct {
MemberType MemberType `json:"member_type,omitempty"` // Project member type
UserEmail string `json:"user_email"` // User email address
}
ProjectInviteIn ProjectInviteRequestBody
type ProjectListOut ¶
type ProjectListOut struct {
ProjectMembership map[string]ProjectMembershipType `json:"project_membership"` // Project membership and type of membership
ProjectMemberships map[string][]string `json:"project_memberships"` // List of project membership and type of membership
Projects []ProjectOut `json:"projects"` // List of projects
}
ProjectListOut ProjectListResponse
type ProjectMembershipType ¶ added in v0.84.0
type ProjectMembershipType string
const ( ProjectMembershipTypeAdmin ProjectMembershipType = "admin" ProjectMembershipTypeDeveloper ProjectMembershipType = "developer" ProjectMembershipTypeOperator ProjectMembershipType = "operator" ProjectMembershipTypeOrganizationAppUsersWrite ProjectMembershipType = "organization:app_users:write" ProjectMembershipTypeOrganizationAuditLogsRead ProjectMembershipType = "organization:audit_logs:read" ProjectMembershipTypeOrganizationBillingRead ProjectMembershipType = "organization:billing:read" ProjectMembershipTypeOrganizationBillingWrite ProjectMembershipType = "organization:billing:write" ProjectMembershipTypeOrganizationDomainsWrite ProjectMembershipType = "organization:domains:write" ProjectMembershipTypeOrganizationGroupsWrite ProjectMembershipType = "organization:groups:write" ProjectMembershipTypeOrganizationNetworkingRead ProjectMembershipType = "organization:networking:read" ProjectMembershipTypeOrganizationNetworkingWrite ProjectMembershipType = "organization:networking:write" ProjectMembershipTypeOrganizationProjectsWrite ProjectMembershipType = "organization:projects:write" ProjectMembershipTypeOrganizationUsersWrite ProjectMembershipType = "organization:users:write" ProjectMembershipTypeProjectAuditLogsRead ProjectMembershipType = "project:audit_logs:read" ProjectMembershipTypeProjectIntegrationsRead ProjectMembershipType = "project:integrations:read" ProjectMembershipTypeProjectIntegrationsWrite ProjectMembershipType = "project:integrations:write" ProjectMembershipTypeProjectNetworkingRead ProjectMembershipType = "project:networking:read" ProjectMembershipTypeProjectNetworkingWrite ProjectMembershipType = "project:networking:write" ProjectMembershipTypeProjectPermissionsRead ProjectMembershipType = "project:permissions:read" ProjectMembershipTypeProjectServicesRead ProjectMembershipType = "project:services:read" ProjectMembershipTypeProjectServicesWrite ProjectMembershipType = "project:services:write" ProjectMembershipTypeReadOnly ProjectMembershipType = "read_only" ProjectMembershipTypeRoleOrganizationAdmin ProjectMembershipType = "role:organization:admin" ProjectMembershipTypeRoleServicesMaintenance ProjectMembershipType = "role:services:maintenance" ProjectMembershipTypeRoleServicesRecover ProjectMembershipType = "role:services:recover" ProjectMembershipTypeServiceConfigurationWrite ProjectMembershipType = "service:configuration:write" ProjectMembershipTypeServiceDataWrite ProjectMembershipType = "service:data:write" ProjectMembershipTypeServiceLogsRead ProjectMembershipType = "service:logs:read" ProjectMembershipTypeServiceSecretsRead ProjectMembershipType = "service:secrets:read" ProjectMembershipTypeServiceUsersWrite ProjectMembershipType = "service:users:write" )
type ProjectOut ¶
type ProjectOut struct {
AccountId string `json:"account_id"` // Account ID
AccountName *string `json:"account_name,omitempty"` // Account name
AddressLines []string `json:"address_lines,omitempty"` // Address lines
AvailableCredits *string `json:"available_credits,omitempty"` // Available credits, in USD
BillingAddress string `json:"billing_address"` // DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead
BillingCurrency BillingCurrencyType `json:"billing_currency,omitempty"` // Billing currency
BillingEmails []BillingEmailOut `json:"billing_emails"` // List of project billing email addresses
BillingExtraText *string `json:"billing_extra_text,omitempty"` // Extra text to be included in all project invoices, e.g. purchase order or cost center number
BillingGroupId string `json:"billing_group_id"` // Billing group ID
BillingGroupName string `json:"billing_group_name"` // Billing group name
CardInfo *CardInfoOut `json:"card_info,omitempty"` // Credit card assigned to the project
City *string `json:"city,omitempty"` // Address city
Company *string `json:"company,omitempty"` // Name of a company
Country string `json:"country"` // Billing country
CountryCode string `json:"country_code"` // Two letter ISO country code
DefaultCloud string `json:"default_cloud"` // Default cloud to use when launching services
EndOfLifeExtension *EndOfLifeExtensionOut `json:"end_of_life_extension,omitempty"` // End of life extension information
EstimatedBalance string `json:"estimated_balance"` // Estimated balance, in USD
EstimatedBalanceLocal *string `json:"estimated_balance_local,omitempty"` // Estimated balance, in billing currency
Features map[string]any `json:"features,omitempty"` // Feature flags
OrganizationId string `json:"organization_id"` // Organization ID
PaymentMethod string `json:"payment_method"` // Payment method
ProjectName string `json:"project_name"` // Project name
State *string `json:"state,omitempty"` // Address state or province
Tags map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of project tech email addresses
TenantId *string `json:"tenant_id,omitempty"` // Tenant ID
TrialExpirationTime *time.Time `json:"trial_expiration_time,omitempty"` // Trial expiration time (ISO 8601)
VatId string `json:"vat_id"` // EU VAT Identification Number
ZipCode *string `json:"zip_code,omitempty"` // Address zip code
}
type ProjectServicePlanPriceGetOut ¶ added in v0.30.0
type ProjectServicePlanPriceGetOut struct {
BasePriceUsd string `json:"base_price_usd"` // Hourly service price in this region
CloudName string `json:"cloud_name"` // Target cloud
ExtraDiskPricePerGbUsd *string `json:"extra_disk_price_per_gb_usd,omitempty"` // Hourly additional disk space price per GiB in this region
ObjectStorageGbPriceUsd *string `json:"object_storage_gb_price_usd,omitempty"` // Hourly additional disk space price per GiB in this region
ServicePlan string `json:"service_plan"` // Subscription plan
ServiceType string `json:"service_type"` // Service type code
}
ProjectServicePlanPriceGetOut ProjectServicePlanPriceGetResponse
type ProjectServicePlanSpecsGetOut ¶ added in v0.30.0
type ProjectServicePlanSpecsGetOut struct {
BackupConfig BackupConfigOut `json:"backup_config"` // Backup configuration for this service plan
DiskSpaceCapMb *int `json:"disk_space_cap_mb,omitempty"` // Maximum amount of disk space possible for the plan in the given region
DiskSpaceMb int `json:"disk_space_mb"` // Combined amount of service disk space of all service nodes in megabytes
DiskSpaceStepMb *int `json:"disk_space_step_mb,omitempty"` // Disk space change step size
MaxMemoryPercent *int `json:"max_memory_percent,omitempty"` // Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load.
NodeCount int `json:"node_count"` // Number of nodes in this service plan
ServicePlan string `json:"service_plan"` // Subscription plan
ServiceType string `json:"service_type"` // Service type code
ShardCount *int `json:"shard_count,omitempty"` // Number of shards in this service plan
}
ProjectServicePlanSpecsGetOut ProjectServicePlanSpecsGetResponse
type ProjectServiceTypesGetOut ¶ added in v0.30.0
type ProjectServiceTypesGetOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
ProjectServiceTypesGetOut ProjectServiceTypesGetResponse
type ProjectServiceTypesListElasticsearchOut ¶ added in v0.36.0
type ProjectServiceTypesListElasticsearchOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
ProjectServiceTypesListElasticsearchOut Service type information
type ProjectServiceTypesListOut ¶ added in v0.30.0
type ProjectServiceTypesListOut struct {
Alloydbomni *AlloydbomniOut `json:"alloydbomni,omitempty"` // Service type information
Cassandra *CassandraOut `json:"cassandra,omitempty"` // Service type information
Clickhouse *ClickhouseOut `json:"clickhouse,omitempty"` // Service type information
Dragonfly *DragonflyOut `json:"dragonfly,omitempty"` // Service type information
Elasticsearch *ProjectServiceTypesListElasticsearchOut `json:"elasticsearch,omitempty"` // Service type information
Flink *FlinkOut `json:"flink,omitempty"` // Service type information
Grafana *GrafanaOut `json:"grafana,omitempty"` // Service type information
Influxdb *InfluxdbOut `json:"influxdb,omitempty"` // Service type information
Kafka *KafkaOut `json:"kafka,omitempty"` // Service type information
KafkaConnect *KafkaConnectOut `json:"kafka_connect,omitempty"` // Service type information
KafkaMirrormaker *KafkaMirrormakerOut `json:"kafka_mirrormaker,omitempty"` // Service type information
M3Aggregator *M3AggregatorOut `json:"m3aggregator,omitempty"` // Service type information
M3Db *M3DbOut `json:"m3db,omitempty"` // Service type information
Mysql *MysqlOut `json:"mysql,omitempty"` // Service type information
Opensearch *OpensearchOut `json:"opensearch,omitempty"` // Service type information
Pg *PgOut `json:"pg,omitempty"` // Service type information
Redis *RedisOut `json:"redis,omitempty"` // Service type information
Thanos *ThanosOut `json:"thanos,omitempty"` // Service type information
Valkey *ValkeyOut `json:"valkey,omitempty"` // Service type information
}
ProjectServiceTypesListOut ProjectServiceTypesListResponse
type ProjectTagsReplaceIn ¶
ProjectTagsReplaceIn ProjectTagsReplaceRequestBody
type ProjectTagsUpdateIn ¶
ProjectTagsUpdateIn ProjectTagsUpdateRequestBody
type ProjectUpdateIn ¶
type ProjectUpdateIn struct {
AccountId *string `json:"account_id,omitempty"` // Account ID
AddAccountOwnersAdminAccess *bool `json:"add_account_owners_admin_access,omitempty"` // Deprecated: If account_id is set, grant account owner team admin access to this project. This flag is ignored and assumed true.
AddressLines *[]string `json:"address_lines,omitempty"` // Deprecated: Address lines
BillingAddress *string `json:"billing_address,omitempty"` // DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead
BillingCurrency BillingCurrencyType `json:"billing_currency,omitempty"` // Deprecated: Billing currency
BillingEmails *[]BillingEmailIn `json:"billing_emails,omitempty"` // Deprecated: List of project billing email addresses
BillingExtraText *string `json:"billing_extra_text,omitempty"` // Deprecated: Extra text to be included in all project invoices, e.g. purchase order or cost center number
BillingGroupId *string `json:"billing_group_id,omitempty"` // Billing group ID
CardId *string `json:"card_id,omitempty"` // Deprecated: Credit card ID
City *string `json:"city,omitempty"` // Deprecated: Address city
Cloud *string `json:"cloud,omitempty"` // Target cloud
Company *string `json:"company,omitempty"` // Name of a company
CountryCode *string `json:"country_code,omitempty"` // Deprecated: Two letter country code for billing country
ProjectName *string `json:"project_name,omitempty"` // Project name
State *string `json:"state,omitempty"` // Deprecated: Address state
Tags *map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails *[]TechEmailIn `json:"tech_emails,omitempty"` // List of project tech email addresses
VatId *string `json:"vat_id,omitempty"` // Deprecated: EU VAT Identification Number
ZipCode *string `json:"zip_code,omitempty"` // Deprecated: Address zip code
}
ProjectUpdateIn ProjectUpdateRequestBody
type ProjectUpdateOut ¶
type ProjectUpdateOut struct {
AccountId string `json:"account_id"` // Account ID
AccountName *string `json:"account_name,omitempty"` // Account name
AddressLines []string `json:"address_lines,omitempty"` // Address lines
AvailableCredits *string `json:"available_credits,omitempty"` // Available credits, in USD
BillingAddress string `json:"billing_address"` // DEPRECATED: use split address fields like company, address_lines, zip_code, city and state instead
BillingCurrency BillingCurrencyType `json:"billing_currency,omitempty"` // Billing currency
BillingEmails []BillingEmailOut `json:"billing_emails"` // List of project billing email addresses
BillingExtraText *string `json:"billing_extra_text,omitempty"` // Extra text to be included in all project invoices, e.g. purchase order or cost center number
BillingGroupId string `json:"billing_group_id"` // Billing group ID
BillingGroupName string `json:"billing_group_name"` // Billing group name
CardInfo *CardInfoOut `json:"card_info,omitempty"` // Credit card assigned to the project
City *string `json:"city,omitempty"` // Address city
Company *string `json:"company,omitempty"` // Name of a company
Country string `json:"country"` // Billing country
CountryCode string `json:"country_code"` // Two letter ISO country code
DefaultCloud string `json:"default_cloud"` // Default cloud to use when launching services
EndOfLifeExtension *EndOfLifeExtensionOut `json:"end_of_life_extension,omitempty"` // End of life extension information
EstimatedBalance string `json:"estimated_balance"` // Estimated balance, in USD
EstimatedBalanceLocal *string `json:"estimated_balance_local,omitempty"` // Estimated balance, in billing currency
Features map[string]any `json:"features,omitempty"` // Feature flags
OrganizationId string `json:"organization_id"` // Organization ID
PaymentMethod string `json:"payment_method"` // Payment method
ProjectName string `json:"project_name"` // Project name
State *string `json:"state,omitempty"` // Address state or province
Tags map[string]string `json:"tags,omitempty"` // Set of resource tags
TechEmails []TechEmailOut `json:"tech_emails,omitempty"` // List of project tech email addresses
TenantId *string `json:"tenant_id,omitempty"` // Tenant ID
TrialExpirationTime *time.Time `json:"trial_expiration_time,omitempty"` // Trial expiration time (ISO 8601)
VatId string `json:"vat_id"` // EU VAT Identification Number
ZipCode *string `json:"zip_code,omitempty"` // Address zip code
}
ProjectUpdateOut Project information
type ProjectUserListOut ¶
type ProjectUserListOut struct {
GroupUsers []GroupUserOut `json:"group_users"` // List of users in groups that have access to the project
Invitations []InvitationOut `json:"invitations"` // List of pending invitations
Users []UserOut `json:"users"` // List of project's users
}
ProjectUserListOut ProjectUserListResponse
type ProjectUserUpdateIn ¶
type ProjectUserUpdateIn struct {
MemberType MemberType `json:"member_type"` // Project member type
}
ProjectUserUpdateIn ProjectUserUpdateRequestBody
type RecoveryModeType ¶ added in v0.30.0
type RecoveryModeType string
const ( RecoveryModeTypeBasic RecoveryModeType = "basic" RecoveryModeTypePitr RecoveryModeType = "pitr" )
type RedisOut ¶ added in v0.30.0
type RedisOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
RedisOut Service type information
type ServicePlanOut ¶ added in v0.30.0
type ServicePlanOut struct {
BackupConfig BackupConfigOut `json:"backup_config"` // Backup configuration for this service plan
MaxMemoryPercent *int `json:"max_memory_percent,omitempty"` // Maximum amount of system memory as a percentage (0-100) the service can actually use after taking into account management overhead. This is relevant for memory bound services for which some service management operations require allocating proportional amount of memory on top the basic load.
NodeCount *int `json:"node_count,omitempty"` // Number of nodes in this service plan
NodeCountStep *int `json:"node_count_step,omitempty"` // Node count change step size. Zero if node count is fixed.
Regions map[string]any `json:"regions,omitempty"` // Service plan hourly price per cloud region
ServicePlan string `json:"service_plan"` // Subscription plan
ServiceType string `json:"service_type"` // Service type code
ShardCount *int `json:"shard_count,omitempty"` // Number of shards in this service plan
}
type TechEmailIn ¶
type TechEmailIn struct {
Email string `json:"email"` // User email address
}
type TechEmailOut ¶
type TechEmailOut struct {
Email string `json:"email"` // User email address
}
type ThanosOut ¶ added in v0.44.0
type ThanosOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
ThanosOut Service type information
type UserOut ¶
type UserOut struct {
Auth []string `json:"auth"` // List of user's required authentication methods
BillingContact bool `json:"billing_contact"` // Set for project's billing contacts
CreateTime time.Time `json:"create_time"` // Timestamp in ISO 8601 format, always in UTC
MemberType MemberType `json:"member_type"` // Project member type
RealName *string `json:"real_name,omitempty"` // User real name
TeamId string `json:"team_id"` // Team ID
TeamName string `json:"team_name"` // Team name
UserEmail string `json:"user_email"` // User email address
UserId string `json:"user_id"` // User ID
}
type ValkeyOut ¶ added in v0.30.0
type ValkeyOut struct {
DefaultVersion *string `json:"default_version,omitempty"` // Default version of the service if no explicit version is defined
Description string `json:"description"` // Single line description of the service
LatestAvailableVersion *string `json:"latest_available_version,omitempty"` // Latest available version of the service
UserConfigSchema map[string]any `json:"user_config_schema"` // JSON-Schema for the 'user_config' properties
}
ValkeyOut Service type information
type VpcPeeringConnectionType ¶ added in v0.3.0
type VpcPeeringConnectionType string
const ( VpcPeeringConnectionTypeAwsTgwVpcAttachment VpcPeeringConnectionType = "aws-tgw-vpc-attachment" VpcPeeringConnectionTypeAwsVpcPeeringConnection VpcPeeringConnectionType = "aws-vpc-peering-connection" VpcPeeringConnectionTypeAzureVnetPeering VpcPeeringConnectionType = "azure-vnet-peering" VpcPeeringConnectionTypeDoVpcPeering VpcPeeringConnectionType = "do-vpc-peering" VpcPeeringConnectionTypeGoogleVpcPeering VpcPeeringConnectionType = "google-vpc-peering" VpcPeeringConnectionTypeUpcloudVpcPeering VpcPeeringConnectionType = "upcloud-vpc-peering" )
type VpcPeeringConnectionTypeOut ¶
type VpcPeeringConnectionTypeOut struct {
CloudName string `json:"cloud_name"` // Target cloud
PriceUsd string `json:"price_usd"` // Hourly peering connection price in this cloud region
VpcPeeringConnectionType VpcPeeringConnectionType `json:"vpc_peering_connection_type"` // Type of network connection from the VPC
}