project

package
v0.48.0 Latest Latest
Warning

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

Go to latest
Published: Oct 25, 2024 License: Apache-2.0 Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func AnyTypeChoices added in v0.3.0

func AnyTypeChoices() []string

func BillingCurrencyTypeChoices

func BillingCurrencyTypeChoices() []string

func MemberTypeChoices

func MemberTypeChoices() []string

func RecoveryModeTypeChoices added in v0.30.0

func RecoveryModeTypeChoices() []string

func VpcPeeringConnectionTypeChoices added in v0.3.0

func VpcPeeringConnectionTypeChoices() []string

Types

type AggregatorOut added in v0.30.0

type AggregatorOut struct {
	DefaultVersion         *string        `json:"default_version,omitempty"`          // Default version of the service if no explicit version is defined
	Description            string         `json:"description"`                        // Single line description of the service
	LatestAvailableVersion *string        `json:"latest_available_version,omitempty"` // Latest available version of the service
	UserConfigSchema       map[string]any `json:"user_config_schema"`                 // JSON-Schema for the 'user_config' properties
}

AggregatorOut Service type information

type AlertOut

type AlertOut struct {
	CreateTime  time.Time `json:"create_time"`            // Event creation timestamp (ISO 8601)
	Event       string    `json:"event"`                  // Name of the alerting event
	NodeName    *string   `json:"node_name,omitempty"`    // Name of the service node
	ProjectName string    `json:"project_name"`           // Project name
	ServiceName *string   `json:"service_name,omitempty"` // Service name
	ServiceType *string   `json:"service_type,omitempty"` // Service type code
	Severity    string    `json:"severity"`               // Severity of the event
}

type AlloydbomniOut added in v0.40.0

type AlloydbomniOut struct {
	DefaultVersion         *string        `json:"default_version,omitempty"`          // Default version of the service if no explicit version is defined
	Description            string         `json:"description"`                        // Single line description of the service
	LatestAvailableVersion *string        `json:"latest_available_version,omitempty"` // Latest available version of the service
	UserConfigSchema       map[string]any `json:"user_config_schema"`                 // JSON-Schema for the 'user_config' properties
}

AlloydbomniOut Service type information

type AnyType added in v0.3.0

type AnyType string
const (
	AnyTypeAdmin                     AnyType = "admin"
	AnyTypeDeveloper                 AnyType = "developer"
	AnyTypeOperator                  AnyType = "operator"
	AnyTypeProjectAuditLogsRead      AnyType = "project:audit_logs:read"
	AnyTypeProjectIntegrationsRead   AnyType = "project:integrations:read"
	AnyTypeProjectIntegrationsWrite  AnyType = "project:integrations:write"
	AnyTypeProjectNetworkingRead     AnyType = "project:networking:read"
	AnyTypeProjectNetworkingWrite    AnyType = "project:networking:write"
	AnyTypeProjectPermissionsRead    AnyType = "project:permissions:read"
	AnyTypeProjectServicesRead       AnyType = "project:services:read"
	AnyTypeReadOnly                  AnyType = "read_only"
	AnyTypeServiceConfigurationWrite AnyType = "service:configuration:write"
	AnyTypeServiceLogsRead           AnyType = "service:logs:read"
)

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 DbOut added in v0.30.0

type DbOut struct {
	DefaultVersion         *string        `json:"default_version,omitempty"`          // Default version of the service if no explicit version is defined
	Description            string         `json:"description"`                        // Single line description of the service
	LatestAvailableVersion *string        `json:"latest_available_version,omitempty"` // Latest available version of the service
	UserConfigSchema       map[string]any `json:"user_config_schema"`                 // JSON-Schema for the 'user_config' properties
}

DbOut 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 MemberType

type MemberType string
const (
	MemberTypeAdmin                     MemberType = "admin"
	MemberTypeDeveloper                 MemberType = "developer"
	MemberTypeOperator                  MemberType = "operator"
	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"
	MemberTypeReadOnly                  MemberType = "read_only"
	MemberTypeServiceConfigurationWrite MemberType = "service:configuration:write"
	MemberTypeServiceLogsRead           MemberType = "service:logs:read"
)

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 PrivatelinkAvailabilityOut

type PrivatelinkAvailabilityOut struct {
	CloudName string `json:"cloud_name"` // Target cloud
	PriceUsd  string `json:"price_usd"`  // Hourly privatelink price in this cloud region
}

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"`                        // Base value that new services in this project will use to derive their port numbers.
	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"` // Use the same billing group that is used in source project.
	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
	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
	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 (h *ProjectHandler) ProjectAlertsList(ctx context.Context, project string) ([]AlertOut, error)

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 (h *ProjectHandler) ProjectGenerateSbomDownloadUrl(ctx context.Context, project string, fileFormat string) (string, error)

func (*ProjectHandler) ProjectGet

func (h *ProjectHandler) ProjectGet(ctx context.Context, project string) (*ProjectGetOut, error)

func (*ProjectHandler) ProjectGetEventLogs

func (h *ProjectHandler) ProjectGetEventLogs(ctx context.Context, project string) ([]EventOut, error)

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 (h *ProjectHandler) ProjectInviteDelete(ctx context.Context, project string, invitedEmail string) error

func (*ProjectHandler) ProjectKmsGetCA

func (h *ProjectHandler) ProjectKmsGetCA(ctx context.Context, project string) (string, error)

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 (h *ProjectHandler) ProjectTagsList(ctx context.Context, project string) (map[string]string, error)

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 (h *ProjectHandler) ProjectUserRemove(ctx context.Context, project string, userEmail string) error

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  ProjectMembershipOut   `json:"project_membership"`            // Project membership and type of membership
	ProjectMemberships *ProjectMembershipsOut `json:"project_memberships,omitempty"` // List of project membership and type of membership
	Projects           []ProjectOut           `json:"projects"`                      // List of projects
}

ProjectListOut ProjectListResponse

type ProjectMembershipOut

type ProjectMembershipOut struct {
	Any AnyType `json:"ANY,omitempty"` // Project member type
}

ProjectMembershipOut Project membership and type of membership

type ProjectMembershipsOut

type ProjectMembershipsOut struct {
	Any []string `json:"ANY,omitempty"` // List of project member type
}

ProjectMembershipsOut List of project membership and type of membership

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
	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     *AggregatorOut                           `json:"m3aggregator,omitempty"`      // Service type information
	M3Db             *DbOut                                   `json:"m3db,omitempty"`              // Service type information
	Mysql            *MysqlOut                                `json:"mysql,omitempty"`             // Service type information
	Opensearch       *OpensearchOut                           `json:"opensearch,omitempty"`        // Service type information
	Pg               *PgOut                                   `json:"pg,omitempty"`                // Service type information
	Redis            *RedisOut                                `json:"redis,omitempty"`             // Service type information
	Thanos           *ThanosOut                               `json:"thanos,omitempty"`            // Service type information
	Valkey           *ValkeyOut                               `json:"valkey,omitempty"`            // Service type information
}

ProjectServiceTypesListOut ProjectServiceTypesListResponse

type ProjectTagsReplaceIn

type ProjectTagsReplaceIn struct {
	Tags map[string]string `json:"tags"` // Set of resource tags
}

ProjectTagsReplaceIn ProjectTagsReplaceRequestBody

type ProjectTagsUpdateIn

type ProjectTagsUpdateIn struct {
	Tags map[string]string `json:"tags"` // Set of resource tags
}

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
	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
	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"
	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
}

Jump to

Keyboard shortcuts

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