Documentation
¶
Index ¶
- func AnyTypeChoices() []string
- func BillingCurrencyTypeChoices() []string
- func MemberTypeChoices() []string
- func VpcPeeringConnectionTypeChoices() []string
- type AlertOut
- type AnyType
- type BillingCurrencyType
- type BillingEmailIn
- type BillingEmailOut
- type CardInfoOut
- type ElasticsearchOut
- type EndOfLifeExtensionOut
- type EventOut
- type Handler
- type MemberType
- 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) 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)
- type ProjectInviteAcceptOut
- type ProjectInviteIn
- type ProjectListOut
- type ProjectMembershipOut
- type ProjectMembershipsOut
- type ProjectOut
- type ProjectTagsReplaceIn
- type ProjectTagsUpdateIn
- type ProjectUpdateIn
- type ProjectUpdateOut
- type TechEmailIn
- type TechEmailOut
- type VpcPeeringConnectionType
- type VpcPeeringConnectionTypeOut
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 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 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 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 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)
// 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)
}
type MemberType ¶
type MemberType string
const ( MemberTypeAdmin MemberType = "admin" MemberTypeDeveloper MemberType = "developer" MemberTypeOperator MemberType = "operator" MemberTypeReadOnly MemberType = "read_only" )
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 (*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) 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)
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 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
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 TechEmailIn ¶
type TechEmailIn struct {
Email string `json:"email"` // User email address
}
type TechEmailOut ¶
type TechEmailOut struct {
Email string `json:"email"` // User email address
}
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
}