staticip

package
v0.151.0 Latest Latest
Warning

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

Go to latest
Published: Feb 13, 2026 License: Apache-2.0 Imports: 4 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func ProjectStaticIpAssociateStateTypeChoices added in v0.151.0

func ProjectStaticIpAssociateStateTypeChoices() []string

func ProjectStaticIpDissociateStateTypeChoices added in v0.151.0

func ProjectStaticIpDissociateStateTypeChoices() []string

func ProjectStaticIpPatchStateTypeChoices added in v0.151.0

func ProjectStaticIpPatchStateTypeChoices() []string

func StaticIpStateTypeChoices added in v0.3.0

func StaticIpStateTypeChoices() []string

Types

type Handler

type Handler interface {
	// ProjectStaticIPAssociate associate a static IP address with a service
	// POST /v1/project/{project}/static-ips/{static_ip_address_id}/association
	// https://api.aiven.io/doc/#tag/StaticIP/operation/ProjectStaticIPAssociate
	// Required roles or permissions: service:configuration:write
	ProjectStaticIPAssociate(ctx context.Context, project string, staticIpAddressId string, in *ProjectStaticIpAssociateIn) (*ProjectStaticIpAssociateOut, error)

	// ProjectStaticIPAvailabilityList list static IP address cloud availability and prices for a project
	// GET /v1/project/{project}/static-ip-availability
	// https://api.aiven.io/doc/#tag/StaticIP/operation/ProjectStaticIPAvailabilityList
	// Required roles or permissions: developer, operator, read_only
	ProjectStaticIPAvailabilityList(ctx context.Context, project string) ([]StaticIpAddressAvailabilityOut, error)

	// ProjectStaticIPDissociate dissociate a static IP address from a service
	// DELETE /v1/project/{project}/static-ips/{static_ip_address_id}/association
	// https://api.aiven.io/doc/#tag/StaticIP/operation/ProjectStaticIPDissociate
	// Required roles or permissions: service:configuration:write
	ProjectStaticIPDissociate(ctx context.Context, project string, staticIpAddressId string) (*ProjectStaticIpDissociateOut, error)

	// ProjectStaticIPPatch update a static IP address configuration
	// PATCH /v1/project/{project}/static-ips/{static_ip_address_id}
	// https://api.aiven.io/doc/#tag/StaticIP/operation/ProjectStaticIPPatch
	// Required roles or permissions: operator
	ProjectStaticIPPatch(ctx context.Context, project string, staticIpAddressId string, in *ProjectStaticIpPatchIn) (*ProjectStaticIpPatchOut, error)

	// PublicStaticIPAvailabilityList list static IP clouds and prices
	// GET /v1/tenants/{tenant}/static-ip-availability
	// https://api.aiven.io/doc/#tag/Cloud_platforms/operation/PublicStaticIPAvailabilityList
	PublicStaticIPAvailabilityList(ctx context.Context, tenant string) ([]StaticIpAddressAvailabilityOut, error)

	// StaticIPCreate create static IP address
	// POST /v1/project/{project}/static-ips
	// https://api.aiven.io/doc/#tag/StaticIP/operation/StaticIPCreate
	// Required roles or permissions: operator
	StaticIPCreate(ctx context.Context, project string, in *StaticIpCreateIn) (*StaticIpCreateOut, error)

	// StaticIPList list static IP addresses
	// GET /v1/project/{project}/static-ips
	// https://api.aiven.io/doc/#tag/StaticIP/operation/StaticIPList
	// Required roles or permissions: developer, operator, read_only
	StaticIPList(ctx context.Context, project string) ([]StaticIpOut, error)
}

type ProjectStaticIpAssociateIn added in v0.151.0

type ProjectStaticIpAssociateIn struct {
	ServiceName string `json:"service_name"` // Service name
}

ProjectStaticIpAssociateIn ProjectStaticIPAssociateRequestBody

type ProjectStaticIpAssociateOut added in v0.151.0

type ProjectStaticIpAssociateOut struct {
	CloudName             string                            `json:"cloud_name"`             // Target cloud
	IpAddress             string                            `json:"ip_address"`             // IPv4 address
	ServiceName           string                            `json:"service_name"`           // Service name
	State                 ProjectStaticIpAssociateStateType `json:"state"`                  // Static IP address state
	StaticIpAddressId     string                            `json:"static_ip_address_id"`   // Static IP address identifier
	TerminationProtection bool                              `json:"termination_protection"` // Static IP address is protected against deletion
}

ProjectStaticIpAssociateOut ProjectStaticIPAssociateResponse

type ProjectStaticIpAssociateStateType added in v0.151.0

type ProjectStaticIpAssociateStateType string
const (
	ProjectStaticIpAssociateStateTypeAssigned  ProjectStaticIpAssociateStateType = "assigned"
	ProjectStaticIpAssociateStateTypeAvailable ProjectStaticIpAssociateStateType = "available"
	ProjectStaticIpAssociateStateTypeCreated   ProjectStaticIpAssociateStateType = "created"
	ProjectStaticIpAssociateStateTypeCreating  ProjectStaticIpAssociateStateType = "creating"
	ProjectStaticIpAssociateStateTypeDeleted   ProjectStaticIpAssociateStateType = "deleted"
	ProjectStaticIpAssociateStateTypeDeleting  ProjectStaticIpAssociateStateType = "deleting"
)

type ProjectStaticIpDissociateOut added in v0.151.0

type ProjectStaticIpDissociateOut struct {
	CloudName             string                             `json:"cloud_name"`             // Target cloud
	IpAddress             string                             `json:"ip_address"`             // IPv4 address
	ServiceName           string                             `json:"service_name"`           // Service name
	State                 ProjectStaticIpDissociateStateType `json:"state"`                  // Static IP address state
	StaticIpAddressId     string                             `json:"static_ip_address_id"`   // Static IP address identifier
	TerminationProtection bool                               `json:"termination_protection"` // Static IP address is protected against deletion
}

ProjectStaticIpDissociateOut ProjectStaticIPDissociateResponse

type ProjectStaticIpDissociateStateType added in v0.151.0

type ProjectStaticIpDissociateStateType string
const (
	ProjectStaticIpDissociateStateTypeAssigned  ProjectStaticIpDissociateStateType = "assigned"
	ProjectStaticIpDissociateStateTypeAvailable ProjectStaticIpDissociateStateType = "available"
	ProjectStaticIpDissociateStateTypeCreated   ProjectStaticIpDissociateStateType = "created"
	ProjectStaticIpDissociateStateTypeCreating  ProjectStaticIpDissociateStateType = "creating"
	ProjectStaticIpDissociateStateTypeDeleted   ProjectStaticIpDissociateStateType = "deleted"
	ProjectStaticIpDissociateStateTypeDeleting  ProjectStaticIpDissociateStateType = "deleting"
)

type ProjectStaticIpPatchIn added in v0.151.0

type ProjectStaticIpPatchIn struct {
	TerminationProtection *bool `json:"termination_protection,omitempty"` // Static IP address is protected against deletion
}

ProjectStaticIpPatchIn ProjectStaticIPPatchRequestBody

type ProjectStaticIpPatchOut added in v0.151.0

type ProjectStaticIpPatchOut struct {
	CloudName             string                        `json:"cloud_name"`             // Target cloud
	IpAddress             string                        `json:"ip_address"`             // IPv4 address
	ServiceName           string                        `json:"service_name"`           // Service name
	State                 ProjectStaticIpPatchStateType `json:"state"`                  // Static IP address state
	StaticIpAddressId     string                        `json:"static_ip_address_id"`   // Static IP address identifier
	TerminationProtection bool                          `json:"termination_protection"` // Static IP address is protected against deletion
}

ProjectStaticIpPatchOut ProjectStaticIPPatchResponse

type ProjectStaticIpPatchStateType added in v0.151.0

type ProjectStaticIpPatchStateType string
const (
	ProjectStaticIpPatchStateTypeAssigned  ProjectStaticIpPatchStateType = "assigned"
	ProjectStaticIpPatchStateTypeAvailable ProjectStaticIpPatchStateType = "available"
	ProjectStaticIpPatchStateTypeCreated   ProjectStaticIpPatchStateType = "created"
	ProjectStaticIpPatchStateTypeCreating  ProjectStaticIpPatchStateType = "creating"
	ProjectStaticIpPatchStateTypeDeleted   ProjectStaticIpPatchStateType = "deleted"
	ProjectStaticIpPatchStateTypeDeleting  ProjectStaticIpPatchStateType = "deleting"
)

type StaticIPHandler

type StaticIPHandler struct {
	// contains filtered or unexported fields
}

func NewHandler

func NewHandler(doer doer) StaticIPHandler

func (*StaticIPHandler) ProjectStaticIPAssociate

func (h *StaticIPHandler) ProjectStaticIPAssociate(ctx context.Context, project string, staticIpAddressId string, in *ProjectStaticIpAssociateIn) (*ProjectStaticIpAssociateOut, error)

func (*StaticIPHandler) ProjectStaticIPAvailabilityList

func (h *StaticIPHandler) ProjectStaticIPAvailabilityList(ctx context.Context, project string) ([]StaticIpAddressAvailabilityOut, error)

func (*StaticIPHandler) ProjectStaticIPDissociate

func (h *StaticIPHandler) ProjectStaticIPDissociate(ctx context.Context, project string, staticIpAddressId string) (*ProjectStaticIpDissociateOut, error)

func (*StaticIPHandler) ProjectStaticIPPatch

func (h *StaticIPHandler) ProjectStaticIPPatch(ctx context.Context, project string, staticIpAddressId string, in *ProjectStaticIpPatchIn) (*ProjectStaticIpPatchOut, error)

func (*StaticIPHandler) PublicStaticIPAvailabilityList

func (h *StaticIPHandler) PublicStaticIPAvailabilityList(ctx context.Context, tenant string) ([]StaticIpAddressAvailabilityOut, error)

func (*StaticIPHandler) StaticIPCreate

func (h *StaticIPHandler) StaticIPCreate(ctx context.Context, project string, in *StaticIpCreateIn) (*StaticIpCreateOut, error)

func (*StaticIPHandler) StaticIPList

func (h *StaticIPHandler) StaticIPList(ctx context.Context, project string) ([]StaticIpOut, error)

type StaticIpAddressAvailabilityOut

type StaticIpAddressAvailabilityOut struct {
	CloudName string `json:"cloud_name"` // Target cloud
	PriceUsd  string `json:"price_usd"`  // Hourly static IP address price in this cloud region
}

type StaticIpCreateIn added in v0.151.0

type StaticIpCreateIn struct {
	CloudName             string `json:"cloud_name"`                       // Target cloud
	TerminationProtection *bool  `json:"termination_protection,omitempty"` // Static IP address is protected against deletion
}

StaticIpCreateIn StaticIPCreateRequestBody

type StaticIpCreateOut added in v0.151.0

type StaticIpCreateOut struct {
	CloudName             string            `json:"cloud_name"`             // Target cloud
	IpAddress             string            `json:"ip_address"`             // IPv4 address
	ServiceName           string            `json:"service_name"`           // Service name
	State                 StaticIpStateType `json:"state"`                  // Static IP address state
	StaticIpAddressId     string            `json:"static_ip_address_id"`   // Static IP address identifier
	TerminationProtection bool              `json:"termination_protection"` // Static IP address is protected against deletion
}

StaticIpCreateOut StaticIPCreateResponse

type StaticIpOut

type StaticIpOut struct {
	CloudName             string            `json:"cloud_name"`             // Target cloud
	IpAddress             string            `json:"ip_address"`             // IPv4 address
	ServiceName           string            `json:"service_name"`           // Service name
	State                 StaticIpStateType `json:"state"`                  // Static IP address state
	StaticIpAddressId     string            `json:"static_ip_address_id"`   // Static IP address identifier
	TerminationProtection bool              `json:"termination_protection"` // Static IP address is protected against deletion
}

type StaticIpStateType added in v0.3.0

type StaticIpStateType string
const (
	StaticIpStateTypeAssigned  StaticIpStateType = "assigned"
	StaticIpStateTypeAvailable StaticIpStateType = "available"
	StaticIpStateTypeCreated   StaticIpStateType = "created"
	StaticIpStateTypeCreating  StaticIpStateType = "creating"
	StaticIpStateTypeDeleted   StaticIpStateType = "deleted"
	StaticIpStateTypeDeleting  StaticIpStateType = "deleting"
)

Jump to

Keyboard shortcuts

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