inventory

package
v0.2.2 Latest Latest
Warning

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

Go to latest
Published: Jan 20, 2026 License: Apache-2.0 Imports: 17 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var InventorySpaceUUID = uuid.MustParse(`00000000-0000-0000-0000-000000000000`)

Functions

func NewImageService

func NewImageService(repo ImageRepo, clusterSvc ProvisioningClusterService, client ImageServerClient, opts ...ImageServiceOption) imageService

func NewInstanceService

func NewInstanceService(repo InstanceRepo, clusterSvc ProvisioningClusterService, client InstanceServerClient, opts ...InstanceServiceOption) instanceService

func NewInventoryAggregateService

func NewInventoryAggregateService(repo InventoryAggregateRepo) inventoryAggregateService

func NewNetworkACLService

func NewNetworkACLService(repo NetworkACLRepo, clusterSvc ProvisioningClusterService, client NetworkACLServerClient, opts ...NetworkACLServiceOption) networkACLService

func NewNetworkAddressSetService

func NewNetworkAddressSetService(repo NetworkAddressSetRepo, clusterSvc ProvisioningClusterService, client NetworkAddressSetServerClient, opts ...NetworkAddressSetServiceOption) networkAddressSetService

func NewNetworkForwardService

func NewNetworkForwardService(repo NetworkForwardRepo, clusterSvc ProvisioningClusterService, client NetworkForwardServerClient, parentClient NetworkServerClient, opts ...NetworkForwardServiceOption) networkForwardService

func NewNetworkIntegrationService

func NewNetworkIntegrationService(repo NetworkIntegrationRepo, clusterSvc ProvisioningClusterService, client NetworkIntegrationServerClient, opts ...NetworkIntegrationServiceOption) networkIntegrationService

func NewNetworkLoadBalancerService

func NewNetworkLoadBalancerService(repo NetworkLoadBalancerRepo, clusterSvc ProvisioningClusterService, client NetworkLoadBalancerServerClient, parentClient NetworkServerClient, opts ...NetworkLoadBalancerServiceOption) networkLoadBalancerService

func NewNetworkPeerService

func NewNetworkPeerService(repo NetworkPeerRepo, clusterSvc ProvisioningClusterService, client NetworkPeerServerClient, parentClient NetworkServerClient, opts ...NetworkPeerServiceOption) networkPeerService

func NewNetworkService

func NewNetworkService(repo NetworkRepo, clusterSvc ProvisioningClusterService, client NetworkServerClient, opts ...NetworkServiceOption) networkService

func NewNetworkZoneService

func NewNetworkZoneService(repo NetworkZoneRepo, clusterSvc ProvisioningClusterService, client NetworkZoneServerClient, opts ...NetworkZoneServiceOption) networkZoneService

func NewProfileService

func NewProfileService(repo ProfileRepo, clusterSvc ProvisioningClusterService, client ProfileServerClient, opts ...ProfileServiceOption) profileService

func NewProjectService

func NewProjectService(repo ProjectRepo, clusterSvc ProvisioningClusterService, client ProjectServerClient, opts ...ProjectServiceOption) projectService

func NewStorageBucketService

func NewStorageBucketService(repo StorageBucketRepo, clusterSvc ProvisioningClusterService, client StorageBucketServerClient, parentClient StoragePoolServerClient, opts ...StorageBucketServiceOption) storageBucketService

func NewStoragePoolService

func NewStoragePoolService(repo StoragePoolRepo, clusterSvc ProvisioningClusterService, client StoragePoolServerClient, opts ...StoragePoolServiceOption) storagePoolService

func NewStorageVolumeService

func NewStorageVolumeService(repo StorageVolumeRepo, clusterSvc ProvisioningClusterService, client StorageVolumeServerClient, parentClient StoragePoolServerClient, opts ...StorageVolumeServiceOption) storageVolumeService

Types

type ExprApiImage

type ExprApiImage struct {
	ExprApiImagePut `yaml:",inline"`
	Aliases         []ExprApiImageAlias `json:"aliases" yaml:"aliases" expr:"aliases"`
	Architecture    string              `json:"architecture" yaml:"architecture" expr:"architecture"`
	Cached          bool                `json:"cached" yaml:"cached" expr:"cached"`
	Filename        string              `json:"filename" yaml:"filename" expr:"filename"`
	Fingerprint     string              `json:"fingerprint" yaml:"fingerprint" expr:"fingerprint"`
	Size            int64               `json:"size" yaml:"size" expr:"size"`
	UpdateSource    *ExprApiImageSource `json:"update_source,omitempty" yaml:"update_source,omitempty" expr:"update_source"`
	Type            string              `json:"type" yaml:"type" expr:"type"`
	CreatedAt       time.Time           `json:"created_at" yaml:"created_at" expr:"created_at"`
	LastUsedAt      time.Time           `json:"last_used_at" yaml:"last_used_at" expr:"last_used_at"`
	UploadedAt      time.Time           `json:"uploaded_at" yaml:"uploaded_at" expr:"uploaded_at"`
	Project         string              `json:"project" yaml:"project" expr:"project"`
}

func ToExprApiImage

func ToExprApiImage(i api.Image) ExprApiImage

type ExprApiImageAlias

type ExprApiImageAlias struct {
	Name        string `json:"name" yaml:"name" expr:"name"`
	Description string `json:"description" yaml:"description" expr:"description"`
}

func ToExprApiImageAlias

func ToExprApiImageAlias(i api.ImageAlias) ExprApiImageAlias

type ExprApiImagePut

type ExprApiImagePut struct {
	AutoUpdate bool              `json:"auto_update" yaml:"auto_update" expr:"auto_update"`
	Properties map[string]string `json:"properties" yaml:"properties" expr:"properties"`
	Public     bool              `json:"public" yaml:"public" expr:"public"`
	ExpiresAt  time.Time         `json:"expires_at" yaml:"expires_at" expr:"expires_at"`
	Profiles   []string          `json:"profiles" yaml:"profiles" expr:"profiles"`
}

func ToExprApiImagePut

func ToExprApiImagePut(i api.ImagePut) ExprApiImagePut

type ExprApiImageSource

type ExprApiImageSource struct {
	Alias       string `json:"alias" yaml:"alias" expr:"alias"`
	Certificate string `json:"certificate" yaml:"certificate" expr:"certificate"`
	Protocol    string `json:"protocol" yaml:"protocol" expr:"protocol"`
	Server      string `json:"server" yaml:"server" expr:"server"`
	ImageType   string `json:"image_type" yaml:"image_type" expr:"image_type"`
}

func ToExprApiImageSource

func ToExprApiImageSource(i api.ImageSource) ExprApiImageSource

type ExprApiInstance

type ExprApiInstance struct {
	ExprApiInstancePut `yaml:",inline"`
	CreatedAt          time.Time      `json:"created_at" yaml:"created_at" expr:"created_at"`
	ExpandedConfig     api.ConfigMap  `json:"expanded_config,omitempty" yaml:"expanded_config,omitempty" expr:"expanded_config"`
	ExpandedDevices    api.DevicesMap `json:"expanded_devices,omitempty" yaml:"expanded_devices,omitempty" expr:"expanded_devices"`
	Name               string         `json:"name" yaml:"name" expr:"name"`
	Status             string         `json:"status" yaml:"status" expr:"status"`
	StatusCode         api.StatusCode `json:"status_code" yaml:"status_code" expr:"status_code"`
	LastUsedAt         time.Time      `json:"last_used_at" yaml:"last_used_at" expr:"last_used_at"`
	Location           string         `json:"location" yaml:"location" expr:"location"`
	Type               string         `json:"type" yaml:"type" expr:"type"`
	Project            string         `json:"project" yaml:"project" expr:"project"`
}

func ToExprApiInstance

func ToExprApiInstance(i api.Instance) ExprApiInstance

type ExprApiInstanceBackup

type ExprApiInstanceBackup struct {
	Name             string    `json:"name" yaml:"name" expr:"name"`
	CreatedAt        time.Time `json:"created_at" yaml:"created_at" expr:"created_at"`
	ExpiresAt        time.Time `json:"expires_at" yaml:"expires_at" expr:"expires_at"`
	InstanceOnly     bool      `json:"instance_only" yaml:"instance_only" expr:"instance_only"`
	OptimizedStorage bool      `json:"optimized_storage" yaml:"optimized_storage" expr:"optimized_storage"`
}

func ToExprApiInstanceBackup

func ToExprApiInstanceBackup(i api.InstanceBackup) ExprApiInstanceBackup

type ExprApiInstanceFull

type ExprApiInstanceFull struct {
	ExprApiInstance `yaml:",inline"`
	Backups         []ExprApiInstanceBackup   `json:"backups" yaml:"backups" expr:"backups"`
	State           *ExprApiInstanceState     `json:"state" yaml:"state" expr:"state"`
	Snapshots       []ExprApiInstanceSnapshot `json:"snapshots" yaml:"snapshots" expr:"snapshots"`
}

func ToExprApiInstanceFull

func ToExprApiInstanceFull(i api.InstanceFull) ExprApiInstanceFull

type ExprApiInstancePut

type ExprApiInstancePut struct {
	Architecture string         `json:"architecture" yaml:"architecture" expr:"architecture"`
	Config       api.ConfigMap  `json:"config" yaml:"config" expr:"config"`
	Devices      api.DevicesMap `json:"devices" yaml:"devices" expr:"devices"`
	Ephemeral    bool           `json:"ephemeral" yaml:"ephemeral" expr:"ephemeral"`
	Profiles     []string       `json:"profiles" yaml:"profiles" expr:"profiles"`
	Restore      string         `json:"restore,omitempty" yaml:"restore,omitempty" expr:"restore"`
	Stateful     bool           `json:"stateful" yaml:"stateful" expr:"stateful"`
	Description  string         `json:"description" yaml:"description" expr:"description"`
}

func ToExprApiInstancePut

func ToExprApiInstancePut(i api.InstancePut) ExprApiInstancePut

type ExprApiInstanceSnapshot

type ExprApiInstanceSnapshot struct {
	ExprApiInstanceSnapshotPut `yaml:",inline"`
	Architecture               string         `json:"architecture" yaml:"architecture" expr:"architecture"`
	Config                     api.ConfigMap  `json:"config" yaml:"config" expr:"config"`
	CreatedAt                  time.Time      `json:"created_at" yaml:"created_at" expr:"created_at"`
	Description                string         `json:"description" yaml:"description" expr:"description"`
	Devices                    api.DevicesMap `json:"devices" yaml:"devices" expr:"devices"`
	Ephemeral                  bool           `json:"ephemeral" yaml:"ephemeral" expr:"ephemeral"`
	ExpandedConfig             api.ConfigMap  `json:"expanded_config,omitempty" yaml:"expanded_config,omitempty" expr:"expanded_config"`
	ExpandedDevices            api.DevicesMap `json:"expanded_devices,omitempty" yaml:"expanded_devices,omitempty" expr:"expanded_devices"`
	LastUsedAt                 time.Time      `json:"last_used_at" yaml:"last_used_at" expr:"last_used_at"`
	Name                       string         `json:"name" yaml:"name" expr:"name"`
	Profiles                   []string       `json:"profiles" yaml:"profiles" expr:"profiles"`
	Stateful                   bool           `json:"stateful" yaml:"stateful" expr:"stateful"`
	Size                       int64          `json:"size" yaml:"size" expr:"size"`
}

type ExprApiInstanceSnapshotPut

type ExprApiInstanceSnapshotPut struct {
	ExpiresAt time.Time `json:"expires_at" yaml:"expires_at" expr:"expires_at"`
}

type ExprApiInstanceState

type ExprApiInstanceState struct {
	Status     string                                 `json:"status" yaml:"status" expr:"status"`
	StatusCode api.StatusCode                         `json:"status_code" yaml:"status_code" expr:"status_code"`
	Disk       map[string]ExprApiInstanceStateDisk    `json:"disk" yaml:"disk" expr:"disk"`
	Memory     ExprApiInstanceStateMemory             `json:"memory" yaml:"memory" expr:"memory"`
	Network    map[string]ExprApiInstanceStateNetwork `json:"network" yaml:"network" expr:"network"`
	Pid        int64                                  `json:"pid" yaml:"pid" expr:"pid"`
	Processes  int64                                  `json:"processes" yaml:"processes" expr:"processes"`
	CPU        ExprApiInstanceStateCPU                `json:"cpu" yaml:"cpu" expr:"cpu"`
	StartedAt  time.Time                              `json:"started_at" yaml:"started_at" expr:"started_at"`
	OSInfo     *ExprApiInstanceStateOSInfo            `json:"os_info" yaml:"os_info" expr:"os_info"`
}

func ToExprApiInstanceState

func ToExprApiInstanceState(i api.InstanceState) ExprApiInstanceState

type ExprApiInstanceStateCPU

type ExprApiInstanceStateCPU struct {
	Usage         int64 `json:"usage" yaml:"usage" expr:"usage"`
	AllocatedTime int64 `json:"allocated_time" yaml:"allocated_time" expr:"allocated_time"`
}

type ExprApiInstanceStateDisk

type ExprApiInstanceStateDisk struct {
	Usage int64 `json:"usage" yaml:"usage" expr:"usage"`
	Total int64 `json:"total" yaml:"total" expr:"total"`
}

type ExprApiInstanceStateMemory

type ExprApiInstanceStateMemory struct {
	Usage         int64 `json:"usage" yaml:"usage" expr:"usage"`
	UsagePeak     int64 `json:"usage_peak" yaml:"usage_peak" expr:"usage_peak"`
	Total         int64 `json:"total" yaml:"total" expr:"total"`
	SwapUsage     int64 `json:"swap_usage" yaml:"swap_usage" expr:"swap_usage"`
	SwapUsagePeak int64 `json:"swap_usage_peak" yaml:"swap_usage_peak" expr:"swap_usage_peak"`
}

type ExprApiInstanceStateNetwork

type ExprApiInstanceStateNetwork struct {
	Addresses []ExprApiInstanceStateNetworkAddress `json:"addresses" yaml:"addresses" expr:"addresses"`
	Counters  ExprApiInstanceStateNetworkCounters  `json:"counters" yaml:"counters" expr:"counters"`
	Hwaddr    string                               `json:"hwaddr" yaml:"hwaddr" expr:"hwaddr"`
	HostName  string                               `json:"host_name" yaml:"host_name" expr:"host_name"`
	Mtu       int                                  `json:"mtu" yaml:"mtu" expr:"mtu"`
	State     string                               `json:"state" yaml:"state" expr:"state"`
	Type      string                               `json:"type" yaml:"type" expr:"type"`
}

type ExprApiInstanceStateNetworkAddress

type ExprApiInstanceStateNetworkAddress struct {
	Family  string `json:"family" yaml:"family" expr:"family"`
	Address string `json:"address" yaml:"address" expr:"address"`
	Netmask string `json:"netmask" yaml:"netmask" expr:"netmask"`
	Scope   string `json:"scope" yaml:"scope" expr:"scope"`
}

type ExprApiInstanceStateNetworkCounters

type ExprApiInstanceStateNetworkCounters struct {
	BytesReceived          int64 `json:"bytes_received" yaml:"bytes_received" expr:"bytes_received"`
	BytesSent              int64 `json:"bytes_sent" yaml:"bytes_sent" expr:"bytes_sent"`
	PacketsReceived        int64 `json:"packets_received" yaml:"packets_received" expr:"packets_received"`
	PacketsSent            int64 `json:"packets_sent" yaml:"packets_sent" expr:"packets_sent"`
	ErrorsReceived         int64 `json:"errors_received" yaml:"errors_received" expr:"errors_received"`
	ErrorsSent             int64 `json:"errors_sent" yaml:"errors_sent" expr:"errors_sent"`
	PacketsDroppedOutbound int64 `json:"packets_dropped_outbound" yaml:"packets_dropped_outbound" expr:"packets_dropped_outbound"`
	PacketsDroppedInbound  int64 `json:"packets_dropped_inbound" yaml:"packets_dropped_inbound" expr:"packets_dropped_inbound"`
}

type ExprApiInstanceStateOSInfo

type ExprApiInstanceStateOSInfo struct {
	OS            string `json:"os" yaml:"os" expr:"os"`
	OSVersion     string `json:"os_version" yaml:"os_version" expr:"os_version"`
	KernelVersion string `json:"kernel_version" yaml:"kernel_version" expr:"kernel_version"`
	Hostname      string `json:"hostname" yaml:"hostname" expr:"hostname"`
	FQDN          string `json:"fqdn" yaml:"fqdn" expr:"fqdn"`
}

type ExprApiNetwork

type ExprApiNetwork struct {
	ExprApiNetworkPut `yaml:",inline"`
	Name              string   `json:"name" yaml:"name" expr:"name"`
	Type              string   `json:"type" yaml:"type" expr:"type"`
	UsedBy            []string `json:"used_by" yaml:"used_by" expr:"used_by"`
	Managed           bool     `json:"managed" yaml:"managed" expr:"managed"`
	Status            string   `json:"status" yaml:"status" expr:"status"`
	Locations         []string `json:"locations" yaml:"locations" expr:"locations"`
	Project           string   `json:"project" yaml:"project" expr:"project"`
}

func ToExprApiNetwork

func ToExprApiNetwork(n api.Network) ExprApiNetwork

type ExprApiNetworkACL

type ExprApiNetworkACL struct {
	ExprApiNetworkACLPost `yaml:",inline"`
	ExprApiNetworkACLPut  `yaml:",inline"`
	UsedBy                []string `json:"used_by" yaml:"used_by" expr:"used_by"`
	Project               string   `json:"project" yaml:"project" expr:"project"`
}

func ToExprApiNetworkACL

func ToExprApiNetworkACL(n api.NetworkACL) ExprApiNetworkACL

type ExprApiNetworkACLPost

type ExprApiNetworkACLPost struct {
	Name string `json:"name" yaml:"name" expr:"name"`
}

func ToExprApiNetworkACLPost

func ToExprApiNetworkACLPost(n api.NetworkACLPost) ExprApiNetworkACLPost

type ExprApiNetworkACLPut

type ExprApiNetworkACLPut struct {
	Description string                  `json:"description" yaml:"description" expr:"description"`
	Egress      []ExprApiNetworkACLRule `json:"egress" yaml:"egress" expr:"egress"`
	Ingress     []ExprApiNetworkACLRule `json:"ingress" yaml:"ingress" expr:"ingress"`
	Config      api.ConfigMap           `json:"config" yaml:"config" expr:"config"`
}

func ToExprApiNetworkACLPut

func ToExprApiNetworkACLPut(n api.NetworkACLPut) ExprApiNetworkACLPut

type ExprApiNetworkACLRule

type ExprApiNetworkACLRule struct {
	Action          string `json:"action" yaml:"action" expr:"action"`
	Source          string `json:"source,omitempty" yaml:"source,omitempty" expr:"source"`
	Destination     string `json:"destination,omitempty" yaml:"destination,omitempty" expr:"destination"`
	Protocol        string `json:"protocol,omitempty" yaml:"protocol,omitempty" expr:"protocol"`
	SourcePort      string `json:"source_port,omitempty" yaml:"source_port,omitempty" expr:"source_port"`
	DestinationPort string `json:"destination_port,omitempty" yaml:"destination_port,omitempty" expr:"destination_port"`
	ICMPType        string `json:"icmp_type,omitempty" yaml:"icmp_type,omitempty" expr:"icmp_type"`
	ICMPCode        string `json:"icmp_code,omitempty" yaml:"icmp_code,omitempty" expr:"icmp_code"`
	Description     string `json:"description,omitempty" yaml:"description,omitempty" expr:"description"`
	State           string `json:"state" yaml:"state" expr:"state"`
}

func ToExprApiNetworkACLRule

func ToExprApiNetworkACLRule(n api.NetworkACLRule) ExprApiNetworkACLRule

type ExprApiNetworkAddressSet

type ExprApiNetworkAddressSet struct {
	ExprApiNetworkAddressSetPut  `yaml:",inline"`
	ExprApiNetworkAddressSetPost `yaml:",inline"`
	UsedBy                       []string `json:"used_by" yaml:"used_by" expr:"used_by"`
	Project                      string   `json:"project" yaml:"project" expr:"project"`
}

type ExprApiNetworkAddressSetPost

type ExprApiNetworkAddressSetPost struct {
	Name string `json:"name" yaml:"name" expr:"name"`
}

type ExprApiNetworkAddressSetPut

type ExprApiNetworkAddressSetPut struct {
	Addresses   []string      `json:"addresses" yaml:"addresses" expr:"addresses"`
	Config      api.ConfigMap `json:"config,omitempty" yaml:"config,omitempty" expr:"config"`
	Description string        `json:"description" yaml:"description" expr:"description"`
}

type ExprApiNetworkForward

type ExprApiNetworkForward struct {
	ExprApiNetworkForwardPut `yaml:",inline"`
	ListenAddress            string `json:"listen_address" yaml:"listen_address" expr:"listen_address"`
	Location                 string `json:"location" yaml:"location" expr:"location"`
}

func ToExprApiNetworkForward

func ToExprApiNetworkForward(n api.NetworkForward) ExprApiNetworkForward

type ExprApiNetworkForwardPort

type ExprApiNetworkForwardPort struct {
	Description   string `json:"description" yaml:"description" expr:"description"`
	Protocol      string `json:"protocol" yaml:"protocol" expr:"protocol"`
	ListenPort    string `json:"listen_port" yaml:"listen_port" expr:"listen_port"`
	TargetPort    string `json:"target_port" yaml:"target_port" expr:"target_port"`
	TargetAddress string `json:"target_address" yaml:"target_address" expr:"target_address"`
	SNAT          bool   `json:"snat" yaml:"snat" expr:"snat"`
}

type ExprApiNetworkForwardPut

type ExprApiNetworkForwardPut struct {
	Description string                      `json:"description" yaml:"description" expr:"description"`
	Config      api.ConfigMap               `json:"config" yaml:"config" expr:"config"`
	Ports       []ExprApiNetworkForwardPort `json:"ports" yaml:"ports" expr:"ports"`
}

type ExprApiNetworkIntegration

type ExprApiNetworkIntegration struct {
	ExprApiNetworkIntegrationPut `yaml:",inline"`
	Name                         string   `json:"name" yaml:"name" expr:"name"`
	Type                         string   `json:"type" yaml:"type" expr:"type"`
	UsedBy                       []string `json:"used_by" yaml:"used_by" expr:"used_by"`
}

type ExprApiNetworkIntegrationPut

type ExprApiNetworkIntegrationPut struct {
	Description string        `json:"description" yaml:"description" expr:"description"`
	Config      api.ConfigMap `json:"config" yaml:"config" expr:"config"`
}

type ExprApiNetworkLoadBalancer

type ExprApiNetworkLoadBalancer struct {
	ExprApiNetworkLoadBalancerPut `yaml:",inline"`
	ListenAddress                 string `json:"listen_address" yaml:"listen_address" expr:"listen_address"`
	Location                      string `json:"location" yaml:"location" expr:"location"`
}

type ExprApiNetworkLoadBalancerBackend

type ExprApiNetworkLoadBalancerBackend struct {
	Name          string `json:"name" yaml:"name" expr:"name"`
	Description   string `json:"description" yaml:"description" expr:"description"`
	TargetPort    string `json:"target_port" yaml:"target_port" expr:"target_port"`
	TargetAddress string `json:"target_address" yaml:"target_address" expr:"target_address"`
}

type ExprApiNetworkLoadBalancerPort

type ExprApiNetworkLoadBalancerPort struct {
	Description   string   `json:"description" yaml:"description" expr:"description"`
	Protocol      string   `json:"protocol" yaml:"protocol" expr:"protocol"`
	ListenPort    string   `json:"listen_port" yaml:"listen_port" expr:"listen_port"`
	TargetBackend []string `json:"target_backend" yaml:"target_backend" expr:"target_backend"`
}

type ExprApiNetworkLoadBalancerPut

type ExprApiNetworkLoadBalancerPut struct {
	Description string                              `json:"description" yaml:"description" expr:"description"`
	Config      api.ConfigMap                       `json:"config" yaml:"config" expr:"config"`
	Backends    []ExprApiNetworkLoadBalancerBackend `json:"backends" yaml:"backends" expr:"backends"`
	Ports       []ExprApiNetworkLoadBalancerPort    `json:"ports" yaml:"ports" expr:"ports"`
}

type ExprApiNetworkPeer

type ExprApiNetworkPeer struct {
	ExprApiNetworkPeerPut `yaml:",inline"`
	Name                  string   `json:"name" yaml:"name" expr:"name"`
	TargetProject         string   `json:"target_project,omitempty" yaml:"target_project,omitempty" expr:"target_project"`
	TargetNetwork         string   `json:"target_network,omitempty" yaml:"target_network,omitempty" expr:"target_network"`
	Status                string   `json:"status" yaml:"status" expr:"status"`
	UsedBy                []string `json:"used_by" yaml:"used_by" expr:"used_by"`
	Type                  string   `json:"type" yaml:"type" expr:"type"`
	TargetIntegration     string   `json:"target_integration,omitempty" yaml:"target_integration,omitempty" expr:"target_integration"`
}

func ToExprApiNetworkPeer

func ToExprApiNetworkPeer(n api.NetworkPeer) ExprApiNetworkPeer

type ExprApiNetworkPeerPut

type ExprApiNetworkPeerPut struct {
	Description string        `json:"description" yaml:"description" expr:"description"`
	Config      api.ConfigMap `json:"config" yaml:"config" expr:"config"`
}

func ToExprApiNetworkPeerPut

func ToExprApiNetworkPeerPut(n api.NetworkPeerPut) ExprApiNetworkPeerPut

type ExprApiNetworkPut

type ExprApiNetworkPut struct {
	Config      api.ConfigMap `json:"config" yaml:"config" expr:"config"`
	Description string        `json:"description" yaml:"description" expr:"description"`
}

func ToExprApiNetworkPut

func ToExprApiNetworkPut(n api.NetworkPut) ExprApiNetworkPut

type ExprApiNetworkZone

type ExprApiNetworkZone struct {
	ExprApiNetworkZonePut `yaml:",inline"`
	Name                  string   `json:"name" yaml:"name" expr:"name"`
	UsedBy                []string `json:"used_by" yaml:"used_by" expr:"used_by"`
	Project               string   `json:"project" yaml:"project" expr:"project"`
}

func ToExprApiNetworkZone

func ToExprApiNetworkZone(n api.NetworkZone) ExprApiNetworkZone

type ExprApiNetworkZonePut

type ExprApiNetworkZonePut struct {
	Description string        `json:"description" yaml:"description" expr:"description"`
	Config      api.ConfigMap `json:"config" yaml:"config" expr:"config"`
}

func ToExprApiNetworkZonePut

func ToExprApiNetworkZonePut(n api.NetworkZonePut) ExprApiNetworkZonePut

type ExprApiProfile

type ExprApiProfile struct {
	ExprApiProfilePut `yaml:",inline"`
	Name              string   `json:"name" yaml:"name" db:"primary=yes" expr:"name"`
	UsedBy            []string `json:"used_by" yaml:"used_by" expr:"used_by"`
	Project           string   `json:"project" yaml:"project" expr:"project"`
}

func ToExprApiProfile

func ToExprApiProfile(p api.Profile) ExprApiProfile

type ExprApiProfilePut

type ExprApiProfilePut struct {
	Config      api.ConfigMap  `json:"config" yaml:"config" expr:"config"`
	Description string         `json:"description" yaml:"description" expr:"description"`
	Devices     api.DevicesMap `json:"devices" yaml:"devices" expr:"devices"`
}

func ToExprApiProfilePut

func ToExprApiProfilePut(p api.ProfilePut) ExprApiProfilePut

type ExprApiProject

type ExprApiProject struct {
	ExprApiProjectPut `yaml:",inline"`
	Name              string   `json:"name" yaml:"name" expr:"name"`
	UsedBy            []string `json:"used_by" yaml:"used_by" expr:"used_by"`
}

func ToExprApiProject

func ToExprApiProject(p api.Project) ExprApiProject

type ExprApiProjectPut

type ExprApiProjectPut struct {
	Config      api.ConfigMap `json:"config" yaml:"config" expr:"config"`
	Description string        `json:"description" yaml:"description" expr:"description"`
}

func ToExprApiProjectPut

func ToExprApiProjectPut(p api.ProjectPut) ExprApiProjectPut

type ExprApiStorageBucket

type ExprApiStorageBucket struct {
	ExprApiStorageBucketPut `yaml:",inline"`
	Name                    string `json:"name" yaml:"name" expr:"name"`
	S3URL                   string `json:"s3_url" yaml:"s3_url" expr:"s3_url"`
	Location                string `json:"location" yaml:"location" expr:"location"`
	Project                 string `json:"project" yaml:"project" expr:"project"`
}

func ToExprApiStorageBucket

func ToExprApiStorageBucket(s api.StorageBucket) ExprApiStorageBucket

type ExprApiStorageBucketBackup

type ExprApiStorageBucketBackup struct {
	Name      string    `json:"name" yaml:"name" expr:"name"`
	CreatedAt time.Time `json:"created_at" yaml:"created_at" expr:"created_at"`
	ExpiresAt time.Time `json:"expires_at" yaml:"expires_at" expr:"expires_at"`
}

type ExprApiStorageBucketFull

type ExprApiStorageBucketFull struct {
	ExprApiStorageBucket `yaml:",inline"`
	Backups              []ExprApiStorageBucketBackup `json:"backups" yaml:"backups" expr:"backups"`
	Keys                 []ExprApiStorageBucketKey    `json:"keys" yaml:"keys" expr:"keys"`
}

type ExprApiStorageBucketKey

type ExprApiStorageBucketKey struct {
	ExprApiStorageBucketKeyPut `yaml:",inline"`
	Name                       string `json:"name" yaml:"name" expr:"name"`
}

type ExprApiStorageBucketKeyPut

type ExprApiStorageBucketKeyPut struct {
	Description string `json:"description" yaml:"description" expr:"description"`
	Role        string `json:"role" yaml:"role" expr:"role"`
	AccessKey   string `json:"access-key" yaml:"access-key" expr:"access-key"`
	SecretKey   string `json:"secret-key" yaml:"secret-key" expr:"secret-key"`
}

type ExprApiStorageBucketPut

type ExprApiStorageBucketPut struct {
	Config      api.ConfigMap `json:"config" yaml:"config" expr:"config"`
	Description string        `json:"description" yaml:"description" expr:"description"`
}

type ExprApiStoragePool

type ExprApiStoragePool struct {
	ExprApiStoragePoolPut `yaml:",inline"`
	Name                  string   `json:"name" yaml:"name" expr:"name"`
	Driver                string   `json:"driver" yaml:"driver" expr:"driver"`
	UsedBy                []string `json:"used_by" yaml:"used_by" expr:"used_by"`
	Status                string   `json:"status" yaml:"status" expr:"status"`
	Locations             []string `json:"locations" yaml:"locations" expr:"locations"`
}

func ToExprApiStoragePool

func ToExprApiStoragePool(s api.StoragePool) ExprApiStoragePool

type ExprApiStoragePoolPut

type ExprApiStoragePoolPut struct {
	Config      api.ConfigMap `json:"config" yaml:"config" expr:"config"`
	Description string        `json:"description" yaml:"description" expr:"description"`
}

func ToExprApiStoragePoolPut

func ToExprApiStoragePoolPut(s api.StoragePoolPut) ExprApiStoragePoolPut

type ExprApiStorageVolume

type ExprApiStorageVolume struct {
	ExprApiStorageVolumePut `yaml:",inline"`
	Name                    string    `json:"name" yaml:"name" expr:"name"`
	Type                    string    `json:"type" yaml:"type" expr:"type"`
	UsedBy                  []string  `json:"used_by" yaml:"used_by" expr:"used_by"`
	Location                string    `json:"location" yaml:"location" expr:"location"`
	ContentType             string    `json:"content_type" yaml:"content_type" expr:"content_type"`
	Project                 string    `json:"project" yaml:"project" expr:"project"`
	CreatedAt               time.Time `json:"created_at" yaml:"created_at" expr:"created_at"`
}

func ToExprApiStorageVolume

func ToExprApiStorageVolume(s api.StorageVolume) ExprApiStorageVolume

type ExprApiStorageVolumeBackup

type ExprApiStorageVolumeBackup struct {
	Name             string    `json:"name" yaml:"name" expr:"name"`
	CreatedAt        time.Time `json:"created_at" yaml:"created_at" expr:"created_at"`
	ExpiresAt        time.Time `json:"expires_at" yaml:"expires_at" expr:"expires_at"`
	VolumeOnly       bool      `json:"volume_only" yaml:"volume_only" expr:"volume_only"`
	OptimizedStorage bool      `json:"optimized_storage" yaml:"optimized_storage" expr:"optimized_storage"`
}

type ExprApiStorageVolumeFull

type ExprApiStorageVolumeFull struct {
	ExprApiStorageVolume `yaml:",inline"`
	Backups              []ExprApiStorageVolumeBackup   `json:"backups" yaml:"backups" expr:"backups"`
	Snapshots            []ExprApiStorageVolumeSnapshot `json:"snapshots" yaml:"snapshots" expr:"snapshots"`
	State                *ExprApiStorageVolumeState     `json:"state" yaml:"state" expr:"state"`
}

type ExprApiStorageVolumePut

type ExprApiStorageVolumePut struct {
	Config      api.ConfigMap `json:"config" yaml:"config" expr:"config"`
	Description string        `json:"description" yaml:"description" expr:"description"`
	Restore     string        `json:"restore,omitempty" yaml:"restore,omitempty" expr:"restore"`
}

type ExprApiStorageVolumeSnapshot

type ExprApiStorageVolumeSnapshot struct {
	ExprApiStorageVolumeSnapshotPut `yaml:",inline"`
	Name                            string        `json:"name" yaml:"name" expr:"name"`
	Config                          api.ConfigMap `json:"config" yaml:"config" expr:"config"`
	ContentType                     string        `json:"content_type" yaml:"content_type" expr:"content_type"`
	CreatedAt                       time.Time     `json:"created_at" yaml:"created_at" expr:"created_at"`
}

type ExprApiStorageVolumeSnapshotPut

type ExprApiStorageVolumeSnapshotPut struct {
	Description string     `json:"description" yaml:"description" expr:"description"`
	ExpiresAt   *time.Time `json:"expires_at" yaml:"expires_at" expr:"expires_at"`
}

type ExprApiStorageVolumeState

type ExprApiStorageVolumeState struct {
	Usage *ExprApiStorageVolumeStateUsage `json:"usage" yaml:"usage" expr:"usage"`
}

type ExprApiStorageVolumeStateUsage

type ExprApiStorageVolumeStateUsage struct {
	Used  uint64 `json:"used,omitempty" yaml:"used,omitempty" expr:"used"`
	Total int64  `json:"total" yaml:"total" expr:"total"`
}

type ExprImage

type ExprImage struct {
	ID          int                   `json:"-" expr:"-"`
	UUID        uuid.UUID             `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                `json:"project" expr:"project"`
	Name        string                `json:"name" expr:"name"`
	Object      ExprIncusImageWrapper `json:"object" expr:"object"`
	LastUpdated time.Time             `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprImage

func ToExprImage(i Image) ExprImage

type ExprIncusImageWrapper added in v0.1.1

type ExprIncusImageWrapper struct {
	ExprApiImage `json:"-" expr:"-"`
}

func ToExprIncusImageWrapper added in v0.1.1

func ToExprIncusImageWrapper(i IncusImageWrapper) ExprIncusImageWrapper

type ExprIncusInstanceFullWrapper added in v0.1.1

type ExprIncusInstanceFullWrapper struct {
	ExprApiInstanceFull `json:"-" expr:"-"`
}

func ToExprIncusInstanceFullWrapper added in v0.1.1

func ToExprIncusInstanceFullWrapper(i IncusInstanceFullWrapper) ExprIncusInstanceFullWrapper

type ExprIncusNetworkACLWrapper added in v0.1.1

type ExprIncusNetworkACLWrapper struct {
	ExprApiNetworkACL `json:"-" expr:"-"`
}

func ToExprIncusNetworkACLWrapper added in v0.1.1

func ToExprIncusNetworkACLWrapper(i IncusNetworkACLWrapper) ExprIncusNetworkACLWrapper

type ExprIncusNetworkAddressSetWrapper added in v0.1.1

type ExprIncusNetworkAddressSetWrapper struct {
	ExprApiNetworkAddressSet `json:"-" expr:"-"`
}

func ToExprIncusNetworkAddressSetWrapper added in v0.1.1

func ToExprIncusNetworkAddressSetWrapper(i IncusNetworkAddressSetWrapper) ExprIncusNetworkAddressSetWrapper

type ExprIncusNetworkForwardWrapper added in v0.1.1

type ExprIncusNetworkForwardWrapper struct {
	ExprApiNetworkForward `json:"-" expr:"-"`
}

func ToExprIncusNetworkForwardWrapper added in v0.1.1

func ToExprIncusNetworkForwardWrapper(i IncusNetworkForwardWrapper) ExprIncusNetworkForwardWrapper

type ExprIncusNetworkIntegrationWrapper added in v0.1.1

type ExprIncusNetworkIntegrationWrapper struct {
	ExprApiNetworkIntegration `json:"-" expr:"-"`
}

func ToExprIncusNetworkIntegrationWrapper added in v0.1.1

func ToExprIncusNetworkIntegrationWrapper(i IncusNetworkIntegrationWrapper) ExprIncusNetworkIntegrationWrapper

type ExprIncusNetworkLoadBalancerWrapper added in v0.1.1

type ExprIncusNetworkLoadBalancerWrapper struct {
	ExprApiNetworkLoadBalancer `json:"-" expr:"-"`
}

func ToExprIncusNetworkLoadBalancerWrapper added in v0.1.1

func ToExprIncusNetworkLoadBalancerWrapper(i IncusNetworkLoadBalancerWrapper) ExprIncusNetworkLoadBalancerWrapper

type ExprIncusNetworkPeerWrapper added in v0.1.1

type ExprIncusNetworkPeerWrapper struct {
	ExprApiNetworkPeer `json:"-" expr:"-"`
}

func ToExprIncusNetworkPeerWrapper added in v0.1.1

func ToExprIncusNetworkPeerWrapper(i IncusNetworkPeerWrapper) ExprIncusNetworkPeerWrapper

type ExprIncusNetworkWrapper added in v0.1.1

type ExprIncusNetworkWrapper struct {
	ExprApiNetwork `json:"-" expr:"-"`
}

func ToExprIncusNetworkWrapper added in v0.1.1

func ToExprIncusNetworkWrapper(i IncusNetworkWrapper) ExprIncusNetworkWrapper

type ExprIncusNetworkZoneWrapper added in v0.1.1

type ExprIncusNetworkZoneWrapper struct {
	ExprApiNetworkZone `json:"-" expr:"-"`
}

func ToExprIncusNetworkZoneWrapper added in v0.1.1

func ToExprIncusNetworkZoneWrapper(i IncusNetworkZoneWrapper) ExprIncusNetworkZoneWrapper

type ExprIncusProfileWrapper added in v0.1.1

type ExprIncusProfileWrapper struct {
	ExprApiProfile `json:"-" expr:"-"`
}

func ToExprIncusProfileWrapper added in v0.1.1

func ToExprIncusProfileWrapper(i IncusProfileWrapper) ExprIncusProfileWrapper

type ExprIncusProjectWrapper added in v0.1.1

type ExprIncusProjectWrapper struct {
	ExprApiProject `json:"-" expr:"-"`
}

func ToExprIncusProjectWrapper added in v0.1.1

func ToExprIncusProjectWrapper(i IncusProjectWrapper) ExprIncusProjectWrapper

type ExprIncusStorageBucketFullWrapper added in v0.1.1

type ExprIncusStorageBucketFullWrapper struct {
	ExprApiStorageBucketFull `json:"-" expr:"-"`
}

func ToExprIncusStorageBucketFullWrapper added in v0.1.1

func ToExprIncusStorageBucketFullWrapper(i IncusStorageBucketFullWrapper) ExprIncusStorageBucketFullWrapper

type ExprIncusStoragePoolWrapper added in v0.1.1

type ExprIncusStoragePoolWrapper struct {
	ExprApiStoragePool `json:"-" expr:"-"`
}

func ToExprIncusStoragePoolWrapper added in v0.1.1

func ToExprIncusStoragePoolWrapper(i IncusStoragePoolWrapper) ExprIncusStoragePoolWrapper

type ExprIncusStorageVolumeFullWrapper added in v0.1.1

type ExprIncusStorageVolumeFullWrapper struct {
	ExprApiStorageVolumeFull `json:"-" expr:"-"`
}

func ToExprIncusStorageVolumeFullWrapper added in v0.1.1

func ToExprIncusStorageVolumeFullWrapper(i IncusStorageVolumeFullWrapper) ExprIncusStorageVolumeFullWrapper

type ExprInstance

type ExprInstance struct {
	ID          int                          `json:"-" expr:"-"`
	UUID        uuid.UUID                    `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                       `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	Server      string                       `json:"server"        db:"leftjoin=servers.name" expr:"server"`
	ProjectName string                       `json:"project" expr:"project"`
	Name        string                       `json:"name" expr:"name"`
	Object      ExprIncusInstanceFullWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                    `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprInstance

func ToExprInstance(i Instance) ExprInstance

type ExprNetwork

type ExprNetwork struct {
	ID          int                     `json:"-" expr:"-"`
	UUID        uuid.UUID               `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                  `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                  `json:"project" expr:"project"`
	Name        string                  `json:"name" expr:"name"`
	Object      ExprIncusNetworkWrapper `json:"object" expr:"object"`
	LastUpdated time.Time               `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprNetwork

func ToExprNetwork(n Network) ExprNetwork

type ExprNetworkACL

type ExprNetworkACL struct {
	ID          int                        `json:"-" expr:"-"`
	UUID        uuid.UUID                  `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                     `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                     `json:"project" expr:"project"`
	Name        string                     `json:"name" expr:"name"`
	Object      ExprIncusNetworkACLWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                  `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprNetworkACL

func ToExprNetworkACL(n NetworkACL) ExprNetworkACL

type ExprNetworkAddressSet

type ExprNetworkAddressSet struct {
	ID          int                               `json:"-" expr:"-"`
	UUID        uuid.UUID                         `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                            `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                            `json:"project" expr:"project"`
	Name        string                            `json:"name" expr:"name"`
	Object      ExprIncusNetworkAddressSetWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                         `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprNetworkAddressSet

func ToExprNetworkAddressSet(n NetworkAddressSet) ExprNetworkAddressSet

type ExprNetworkForward

type ExprNetworkForward struct {
	ID          int                            `json:"-" expr:"-"`
	UUID        uuid.UUID                      `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                         `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                         `` /* 139-byte string literal not displayed */
	NetworkName string                         `json:"network_name" db:"joinon=networks.name" expr:"network_name"`
	Name        string                         `json:"name" expr:"name"`
	Object      ExprIncusNetworkForwardWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                      `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprNetworkForward

func ToExprNetworkForward(n NetworkForward) ExprNetworkForward

type ExprNetworkIntegration

type ExprNetworkIntegration struct {
	ID          int                                `json:"-" expr:"-"`
	UUID        uuid.UUID                          `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                             `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	Name        string                             `json:"name" expr:"name"`
	Object      ExprIncusNetworkIntegrationWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                          `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

type ExprNetworkLoadBalancer

type ExprNetworkLoadBalancer struct {
	ID          int                                 `json:"-" expr:"-"`
	UUID        uuid.UUID                           `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                              `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                              `` /* 145-byte string literal not displayed */
	NetworkName string                              `json:"network_name" db:"joinon=networks.name" expr:"network_name"`
	Name        string                              `json:"name" expr:"name"`
	Object      ExprIncusNetworkLoadBalancerWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                           `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

type ExprNetworkPeer

type ExprNetworkPeer struct {
	ID          int                         `json:"-" expr:"-"`
	UUID        uuid.UUID                   `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                      `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                      `` /* 136-byte string literal not displayed */
	NetworkName string                      `json:"network_name" db:"joinon=networks.name" expr:"network_name"`
	Name        string                      `json:"name" expr:"name"`
	Object      ExprIncusNetworkPeerWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                   `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprNetworkPeer

func ToExprNetworkPeer(n NetworkPeer) ExprNetworkPeer

type ExprNetworkZone

type ExprNetworkZone struct {
	ID          int                         `json:"-" expr:"-"`
	UUID        uuid.UUID                   `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                      `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                      `json:"project" expr:"project"`
	Name        string                      `json:"name" expr:"name"`
	Object      ExprIncusNetworkZoneWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                   `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprNetworkZone

func ToExprNetworkZone(n NetworkZone) ExprNetworkZone

type ExprProfile

type ExprProfile struct {
	ID          int                     `json:"-" expr:"-"`
	UUID        uuid.UUID               `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                  `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	ProjectName string                  `json:"project" expr:"project"`
	Name        string                  `json:"name" expr:"name"`
	Object      ExprIncusProfileWrapper `json:"object" expr:"object"`
	LastUpdated time.Time               `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprProfile

func ToExprProfile(p Profile) ExprProfile

type ExprProject

type ExprProject struct {
	ID          int                     `json:"-" expr:"-"`
	UUID        uuid.UUID               `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                  `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	Name        string                  `json:"name" expr:"name"`
	Object      ExprIncusProjectWrapper `json:"object" expr:"object"`
	LastUpdated time.Time               `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprProject

func ToExprProject(p Project) ExprProject

type ExprStorageBucket

type ExprStorageBucket struct {
	ID              int                               `json:"-" expr:"-"`
	UUID            uuid.UUID                         `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster         string                            `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	Server          *string                           `json:"server"        db:"leftjoin=servers.name" expr:"server"`
	ProjectName     string                            `json:"project" expr:"project"`
	StoragePoolName string                            `json:"storage_pool_name" db:"joinon=networks.name" expr:"storage_pool_name"`
	Name            string                            `json:"name" expr:"name"`
	Object          ExprIncusStorageBucketFullWrapper `json:"object" expr:"object"`
	LastUpdated     time.Time                         `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprStorageBucket

func ToExprStorageBucket(s StorageBucket) ExprStorageBucket

type ExprStoragePool

type ExprStoragePool struct {
	ID          int                         `json:"-" expr:"-"`
	UUID        uuid.UUID                   `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster     string                      `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	Name        string                      `json:"name" expr:"name"`
	Object      ExprIncusStoragePoolWrapper `json:"object" expr:"object"`
	LastUpdated time.Time                   `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprStoragePool

func ToExprStoragePool(s StoragePool) ExprStoragePool

type ExprStorageVolume

type ExprStorageVolume struct {
	ID              int                               `json:"-" expr:"-"`
	UUID            uuid.UUID                         `json:"uuid"          db:"primary=yes" expr:"uuid"`
	Cluster         string                            `json:"cluster"       db:"leftjoin=clusters.name" expr:"cluster"`
	Server          *string                           `json:"server"        db:"leftjoin=servers.name" expr:"server"`
	ProjectName     string                            `json:"project" expr:"project"`
	StoragePoolName string                            `json:"storage_pool_name" db:"joinon=networks.name" expr:"storage_pool_name"`
	Name            string                            `json:"name" expr:"name"`
	Type            string                            `json:"type" expr:"type"`
	Object          ExprIncusStorageVolumeFullWrapper `json:"object" expr:"object"`
	LastUpdated     time.Time                         `json:"last_updated"  db:"update_timestamp" expr:"last_updated"`
}

func ToExprStorageVolume

func ToExprStorageVolume(s StorageVolume) ExprStorageVolume

type Image

type Image struct {
	ID          int               `json:"-"`
	UUID        uuid.UUID         `json:"uuid"          db:"primary=yes"`
	Cluster     string            `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string            `json:"project"`
	Name        string            `json:"name"`
	Object      IncusImageWrapper `json:"object"`
	LastUpdated time.Time         `json:"last_updated"  db:"update_timestamp"`
}

func (*Image) DeriveUUID

func (m *Image) DeriveUUID() *Image

func (Image) Validate

func (m Image) Validate() error

type ImageFilter

type ImageFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (ImageFilter) AppendToURLValues

func (f ImageFilter) AppendToURLValues(query url.Values) url.Values

func (ImageFilter) String

func (f ImageFilter) String() string

type ImageRepo

type ImageRepo interface {
	GetAllWithFilter(ctx context.Context, filter ImageFilter) (Images, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter ImageFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Image, error)
	Create(ctx context.Context, image Image) (Image, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter ImageFilter) error
	UpdateByUUID(ctx context.Context, image Image) (Image, error)
}

type ImageServerClient

type ImageServerClient interface {
	GetImages(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.Image, error)
	GetImageByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, imageName string) (incusapi.Image, error)
}

type ImageService

type ImageService interface {
	GetAllWithFilter(ctx context.Context, filter ImageFilter) (Images, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter ImageFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Image, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type ImageServiceOption

type ImageServiceOption func(s *imageService)

func ImageWithSyncFilter

func ImageWithSyncFilter(clusterSyncFilterFunc func(image Image) bool) ImageServiceOption

type Images

type Images []Image

type IncusImageWrapper added in v0.1.1

type IncusImageWrapper struct {
	incusapi.Image `json:"-"`
}

func (*IncusImageWrapper) Scan added in v0.1.1

func (w *IncusImageWrapper) Scan(value interface{}) error

func (IncusImageWrapper) Value added in v0.1.1

func (w IncusImageWrapper) Value() (driver.Value, error)

type IncusInstanceFullWrapper added in v0.1.1

type IncusInstanceFullWrapper struct {
	incusapi.InstanceFull `json:"-"`
}

func (*IncusInstanceFullWrapper) Scan added in v0.1.1

func (w *IncusInstanceFullWrapper) Scan(value interface{}) error

func (IncusInstanceFullWrapper) Value added in v0.1.1

type IncusNetworkACLWrapper added in v0.1.1

type IncusNetworkACLWrapper struct {
	incusapi.NetworkACL `json:"-"`
}

func (*IncusNetworkACLWrapper) Scan added in v0.1.1

func (w *IncusNetworkACLWrapper) Scan(value interface{}) error

func (IncusNetworkACLWrapper) Value added in v0.1.1

type IncusNetworkAddressSetWrapper added in v0.1.1

type IncusNetworkAddressSetWrapper struct {
	incusapi.NetworkAddressSet `json:"-"`
}

func (*IncusNetworkAddressSetWrapper) Scan added in v0.1.1

func (w *IncusNetworkAddressSetWrapper) Scan(value interface{}) error

func (IncusNetworkAddressSetWrapper) Value added in v0.1.1

type IncusNetworkForwardWrapper added in v0.1.1

type IncusNetworkForwardWrapper struct {
	incusapi.NetworkForward `json:"-"`
}

func (*IncusNetworkForwardWrapper) Scan added in v0.1.1

func (w *IncusNetworkForwardWrapper) Scan(value interface{}) error

func (IncusNetworkForwardWrapper) Value added in v0.1.1

type IncusNetworkIntegrationWrapper added in v0.1.1

type IncusNetworkIntegrationWrapper struct {
	incusapi.NetworkIntegration `json:"-"`
}

func (*IncusNetworkIntegrationWrapper) Scan added in v0.1.1

func (w *IncusNetworkIntegrationWrapper) Scan(value interface{}) error

func (IncusNetworkIntegrationWrapper) Value added in v0.1.1

type IncusNetworkLoadBalancerWrapper added in v0.1.1

type IncusNetworkLoadBalancerWrapper struct {
	incusapi.NetworkLoadBalancer `json:"-"`
}

func (*IncusNetworkLoadBalancerWrapper) Scan added in v0.1.1

func (w *IncusNetworkLoadBalancerWrapper) Scan(value interface{}) error

func (IncusNetworkLoadBalancerWrapper) Value added in v0.1.1

type IncusNetworkPeerWrapper added in v0.1.1

type IncusNetworkPeerWrapper struct {
	incusapi.NetworkPeer `json:"-"`
}

func (*IncusNetworkPeerWrapper) Scan added in v0.1.1

func (w *IncusNetworkPeerWrapper) Scan(value interface{}) error

func (IncusNetworkPeerWrapper) Value added in v0.1.1

type IncusNetworkWrapper added in v0.1.1

type IncusNetworkWrapper struct {
	incusapi.Network `json:"-"`
}

func (*IncusNetworkWrapper) Scan added in v0.1.1

func (w *IncusNetworkWrapper) Scan(value interface{}) error

func (IncusNetworkWrapper) Value added in v0.1.1

func (w IncusNetworkWrapper) Value() (driver.Value, error)

type IncusNetworkZoneWrapper added in v0.1.1

type IncusNetworkZoneWrapper struct {
	incusapi.NetworkZone `json:"-"`
}

func (*IncusNetworkZoneWrapper) Scan added in v0.1.1

func (w *IncusNetworkZoneWrapper) Scan(value interface{}) error

func (IncusNetworkZoneWrapper) Value added in v0.1.1

type IncusProfileWrapper added in v0.1.1

type IncusProfileWrapper struct {
	incusapi.Profile `json:"-"`
}

func (*IncusProfileWrapper) Scan added in v0.1.1

func (w *IncusProfileWrapper) Scan(value interface{}) error

func (IncusProfileWrapper) Value added in v0.1.1

func (w IncusProfileWrapper) Value() (driver.Value, error)

type IncusProjectWrapper added in v0.1.1

type IncusProjectWrapper struct {
	incusapi.Project `json:"-"`
}

func (*IncusProjectWrapper) Scan added in v0.1.1

func (w *IncusProjectWrapper) Scan(value interface{}) error

func (IncusProjectWrapper) Value added in v0.1.1

func (w IncusProjectWrapper) Value() (driver.Value, error)

type IncusStorageBucketFullWrapper added in v0.1.1

type IncusStorageBucketFullWrapper struct {
	incusapi.StorageBucketFull `json:"-"`
}

func (*IncusStorageBucketFullWrapper) Scan added in v0.1.1

func (w *IncusStorageBucketFullWrapper) Scan(value interface{}) error

func (IncusStorageBucketFullWrapper) Value added in v0.1.1

type IncusStoragePoolWrapper added in v0.1.1

type IncusStoragePoolWrapper struct {
	incusapi.StoragePool `json:"-"`
}

func (*IncusStoragePoolWrapper) Scan added in v0.1.1

func (w *IncusStoragePoolWrapper) Scan(value interface{}) error

func (IncusStoragePoolWrapper) Value added in v0.1.1

type IncusStorageVolumeFullWrapper added in v0.1.1

type IncusStorageVolumeFullWrapper struct {
	incusapi.StorageVolumeFull `json:"-"`
}

func (*IncusStorageVolumeFullWrapper) Scan added in v0.1.1

func (w *IncusStorageVolumeFullWrapper) Scan(value interface{}) error

func (IncusStorageVolumeFullWrapper) Value added in v0.1.1

type Instance

type Instance struct {
	ID          int                      `json:"-"`
	UUID        uuid.UUID                `json:"uuid"          db:"primary=yes"`
	Cluster     string                   `json:"cluster"       db:"leftjoin=clusters.name"`
	Server      string                   `json:"server"        db:"leftjoin=servers.name"`
	ProjectName string                   `json:"project"`
	Name        string                   `json:"name"`
	Object      IncusInstanceFullWrapper `json:"object"`
	LastUpdated time.Time                `json:"last_updated"  db:"update_timestamp"`
}

func (*Instance) DeriveUUID

func (m *Instance) DeriveUUID() *Instance

func (Instance) Validate

func (m Instance) Validate() error

type InstanceFilter

type InstanceFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	Server      *string
	ProjectName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (InstanceFilter) AppendToURLValues

func (f InstanceFilter) AppendToURLValues(query url.Values) url.Values

func (InstanceFilter) String

func (f InstanceFilter) String() string

type InstanceRepo

type InstanceRepo interface {
	GetAllWithFilter(ctx context.Context, filter InstanceFilter) (Instances, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter InstanceFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Instance, error)
	Create(ctx context.Context, instance Instance) (Instance, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter InstanceFilter) error
	UpdateByUUID(ctx context.Context, instance Instance) (Instance, error)
}

type InstanceServerClient

type InstanceServerClient interface {
	GetInstances(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.InstanceFull, error)
	GetInstanceByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, instanceName string) (incusapi.InstanceFull, error)
}

type InstanceService

type InstanceService interface {
	GetAllWithFilter(ctx context.Context, filter InstanceFilter) (Instances, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter InstanceFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Instance, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type InstanceServiceOption

type InstanceServiceOption func(s *instanceService)

func InstanceWithSyncFilter

func InstanceWithSyncFilter(clusterSyncFilterFunc func(instance Instance) bool) InstanceServiceOption

type Instances

type Instances []Instance

type InventoryAggregate

type InventoryAggregate struct {
	Cluster              string
	Servers              []string
	Images               Images
	Instances            Instances
	Networks             Networks
	NetworkACLs          NetworkACLs
	NetworkAddressSets   NetworkAddressSets
	NetworkForwards      NetworkForwards
	NetworkIntegrations  NetworkIntegrations
	NetworkLoadBalancers NetworkLoadBalancers
	NetworkPeers         NetworkPeers
	NetworkZones         NetworkZones
	Profiles             Profiles
	Projects             Projects
	StorageBuckets       StorageBuckets
	StoragePools         StoragePools
	StorageVolumes       StorageVolumes
}

type InventoryAggregateFilter

type InventoryAggregateFilter struct {
	Kinds              []string
	Clusters           []string
	Servers            []string
	ServerIncludeNull  bool
	Projects           []string
	ProjectIncludeNull bool
	Parents            []string
	ParentIncludeNull  bool
	Expression         *string
}

func (InventoryAggregateFilter) AppendToURLValues

func (f InventoryAggregateFilter) AppendToURLValues(query url.Values) url.Values

func (InventoryAggregateFilter) String

func (f InventoryAggregateFilter) String() string

type InventoryAggregateRepo

type InventoryAggregateRepo interface {
	GetAllWithFilter(ctx context.Context, filter InventoryAggregateFilter) (InventoryAggregates, error)
}

type InventoryAggregateService

type InventoryAggregateService interface {
	GetAllWithFilter(ctx context.Context, filter InventoryAggregateFilter) (InventoryAggregates, error)
}

type InventoryAggregates

type InventoryAggregates []InventoryAggregate

type Network

type Network struct {
	ID          int                 `json:"-"`
	UUID        uuid.UUID           `json:"uuid"          db:"primary=yes"`
	Cluster     string              `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string              `json:"project"`
	Name        string              `json:"name"`
	Object      IncusNetworkWrapper `json:"object"`
	LastUpdated time.Time           `json:"last_updated"  db:"update_timestamp"`
}

func (*Network) DeriveUUID

func (m *Network) DeriveUUID() *Network

func (Network) Validate

func (m Network) Validate() error

type NetworkACL

type NetworkACL struct {
	ID          int                    `json:"-"`
	UUID        uuid.UUID              `json:"uuid"          db:"primary=yes"`
	Cluster     string                 `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string                 `json:"project"`
	Name        string                 `json:"name"`
	Object      IncusNetworkACLWrapper `json:"object"`
	LastUpdated time.Time              `json:"last_updated"  db:"update_timestamp"`
}

func (*NetworkACL) DeriveUUID

func (m *NetworkACL) DeriveUUID() *NetworkACL

func (NetworkACL) Validate

func (m NetworkACL) Validate() error

type NetworkACLFilter

type NetworkACLFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (NetworkACLFilter) AppendToURLValues

func (f NetworkACLFilter) AppendToURLValues(query url.Values) url.Values

func (NetworkACLFilter) String

func (f NetworkACLFilter) String() string

type NetworkACLRepo

type NetworkACLRepo interface {
	GetAllWithFilter(ctx context.Context, filter NetworkACLFilter) (NetworkACLs, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkACLFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkACL, error)
	Create(ctx context.Context, networkACL NetworkACL) (NetworkACL, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter NetworkACLFilter) error
	UpdateByUUID(ctx context.Context, networkACL NetworkACL) (NetworkACL, error)
}

type NetworkACLServerClient

type NetworkACLServerClient interface {
	GetNetworkACLs(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.NetworkACL, error)
	GetNetworkACLByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, networkACLName string) (incusapi.NetworkACL, error)
}

type NetworkACLService

type NetworkACLService interface {
	GetAllWithFilter(ctx context.Context, filter NetworkACLFilter) (NetworkACLs, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkACLFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkACL, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type NetworkACLServiceOption

type NetworkACLServiceOption func(s *networkACLService)

func NetworkACLWithSyncFilter

func NetworkACLWithSyncFilter(clusterSyncFilterFunc func(networkACL NetworkACL) bool) NetworkACLServiceOption

type NetworkACLs

type NetworkACLs []NetworkACL

type NetworkAcl added in v0.1.1

type NetworkAcl = NetworkACL

generate-database does not handle acronyms for pascalcase variant. Add the type aliases for compatibility.

type NetworkAclFilter added in v0.1.1

type NetworkAclFilter = NetworkACLFilter

generate-database does not handle acronyms for pascalcase variant. Add the type aliases for compatibility.

type NetworkAddressSet

type NetworkAddressSet struct {
	ID          int                           `json:"-"`
	UUID        uuid.UUID                     `json:"uuid"          db:"primary=yes"`
	Cluster     string                        `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string                        `json:"project"`
	Name        string                        `json:"name"`
	Object      IncusNetworkAddressSetWrapper `json:"object"`
	LastUpdated time.Time                     `json:"last_updated"  db:"update_timestamp"`
}

func (*NetworkAddressSet) DeriveUUID

func (m *NetworkAddressSet) DeriveUUID() *NetworkAddressSet

func (NetworkAddressSet) Validate

func (m NetworkAddressSet) Validate() error

type NetworkAddressSetFilter

type NetworkAddressSetFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (NetworkAddressSetFilter) AppendToURLValues

func (f NetworkAddressSetFilter) AppendToURLValues(query url.Values) url.Values

func (NetworkAddressSetFilter) String

func (f NetworkAddressSetFilter) String() string

type NetworkAddressSetRepo

type NetworkAddressSetRepo interface {
	GetAllWithFilter(ctx context.Context, filter NetworkAddressSetFilter) (NetworkAddressSets, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkAddressSetFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkAddressSet, error)
	Create(ctx context.Context, networkAddressSet NetworkAddressSet) (NetworkAddressSet, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter NetworkAddressSetFilter) error
	UpdateByUUID(ctx context.Context, networkAddressSet NetworkAddressSet) (NetworkAddressSet, error)
}

type NetworkAddressSetServerClient

type NetworkAddressSetServerClient interface {
	HasExtension(ctx context.Context, endpoint provisioning.Endpoint, extension string) (exists bool)
	GetNetworkAddressSets(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.NetworkAddressSet, error)
	GetNetworkAddressSetByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, networkAddressSetName string) (incusapi.NetworkAddressSet, error)
}

type NetworkAddressSetService

type NetworkAddressSetService interface {
	GetAllWithFilter(ctx context.Context, filter NetworkAddressSetFilter) (NetworkAddressSets, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkAddressSetFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkAddressSet, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type NetworkAddressSetServiceOption

type NetworkAddressSetServiceOption func(s *networkAddressSetService)

func NetworkAddressSetWithSyncFilter

func NetworkAddressSetWithSyncFilter(clusterSyncFilterFunc func(networkAddressSet NetworkAddressSet) bool) NetworkAddressSetServiceOption

type NetworkAddressSets

type NetworkAddressSets []NetworkAddressSet

type NetworkFilter

type NetworkFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (NetworkFilter) AppendToURLValues

func (f NetworkFilter) AppendToURLValues(query url.Values) url.Values

func (NetworkFilter) String

func (f NetworkFilter) String() string

type NetworkForward

type NetworkForward struct {
	ID          int                        `json:"-"`
	UUID        uuid.UUID                  `json:"uuid"          db:"primary=yes"`
	Cluster     string                     `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string                     `json:"project"       db:"leftjoin=networks.project_name&joinon=network_forwards.network_name&jointo=name&omit=create,update"`
	NetworkName string                     `json:"network_name" db:"joinon=networks.name"`
	Name        string                     `json:"name"`
	Object      IncusNetworkForwardWrapper `json:"object"`
	LastUpdated time.Time                  `json:"last_updated"  db:"update_timestamp"`
}

func (*NetworkForward) DeriveUUID

func (m *NetworkForward) DeriveUUID() *NetworkForward

func (NetworkForward) Validate

func (m NetworkForward) Validate() error

type NetworkForwardFilter

type NetworkForwardFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string `db:"ignore"`
	NetworkName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (NetworkForwardFilter) AppendToURLValues

func (f NetworkForwardFilter) AppendToURLValues(query url.Values) url.Values

func (NetworkForwardFilter) String

func (f NetworkForwardFilter) String() string

type NetworkForwardRepo

type NetworkForwardRepo interface {
	GetAllWithFilter(ctx context.Context, filter NetworkForwardFilter) (NetworkForwards, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkForwardFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkForward, error)
	Create(ctx context.Context, networkForward NetworkForward) (NetworkForward, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter NetworkForwardFilter) error
	UpdateByUUID(ctx context.Context, networkForward NetworkForward) (NetworkForward, error)
}

type NetworkForwardServerClient

type NetworkForwardServerClient interface {
	GetNetworkForwards(ctx context.Context, endpoint provisioning.Endpoint, networkName string) ([]incusapi.NetworkForward, error)
	GetNetworkForwardByName(ctx context.Context, endpoint provisioning.Endpoint, networkName string, networkForwardName string) (incusapi.NetworkForward, error)
}

type NetworkForwardService

type NetworkForwardService interface {
	GetAllWithFilter(ctx context.Context, filter NetworkForwardFilter) (NetworkForwards, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkForwardFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkForward, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type NetworkForwardServiceOption

type NetworkForwardServiceOption func(s *networkForwardService)

func NetworkForwardWithParentFilter

func NetworkForwardWithParentFilter(f func(incusapi.Network) bool) NetworkForwardServiceOption

func NetworkForwardWithSyncFilter

func NetworkForwardWithSyncFilter(clusterSyncFilterFunc func(networkForward NetworkForward) bool) NetworkForwardServiceOption

type NetworkForwards

type NetworkForwards []NetworkForward

type NetworkIntegration

type NetworkIntegration struct {
	ID          int                            `json:"-"`
	UUID        uuid.UUID                      `json:"uuid"          db:"primary=yes"`
	Cluster     string                         `json:"cluster"       db:"leftjoin=clusters.name"`
	Name        string                         `json:"name"`
	Object      IncusNetworkIntegrationWrapper `json:"object"`
	LastUpdated time.Time                      `json:"last_updated"  db:"update_timestamp"`
}

func (*NetworkIntegration) DeriveUUID

func (m *NetworkIntegration) DeriveUUID() *NetworkIntegration

func (NetworkIntegration) Validate

func (m NetworkIntegration) Validate() error

type NetworkIntegrationFilter

type NetworkIntegrationFilter struct {
	UUID       *uuid.UUID
	Cluster    *string
	Name       *string
	Expression *string `db:"ignore"`
}

func (NetworkIntegrationFilter) AppendToURLValues

func (f NetworkIntegrationFilter) AppendToURLValues(query url.Values) url.Values

func (NetworkIntegrationFilter) String

func (f NetworkIntegrationFilter) String() string

type NetworkIntegrationRepo

type NetworkIntegrationRepo interface {
	GetAllWithFilter(ctx context.Context, filter NetworkIntegrationFilter) (NetworkIntegrations, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkIntegrationFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkIntegration, error)
	Create(ctx context.Context, networkIntegration NetworkIntegration) (NetworkIntegration, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter NetworkIntegrationFilter) error
	UpdateByUUID(ctx context.Context, networkIntegration NetworkIntegration) (NetworkIntegration, error)
}

type NetworkIntegrationServerClient

type NetworkIntegrationServerClient interface {
	GetNetworkIntegrations(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.NetworkIntegration, error)
	GetNetworkIntegrationByName(ctx context.Context, endpoint provisioning.Endpoint, networkIntegrationName string) (incusapi.NetworkIntegration, error)
}

type NetworkIntegrationService

type NetworkIntegrationService interface {
	GetAllWithFilter(ctx context.Context, filter NetworkIntegrationFilter) (NetworkIntegrations, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkIntegrationFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkIntegration, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type NetworkIntegrationServiceOption

type NetworkIntegrationServiceOption func(s *networkIntegrationService)

func NetworkIntegrationWithSyncFilter

func NetworkIntegrationWithSyncFilter(clusterSyncFilterFunc func(networkIntegration NetworkIntegration) bool) NetworkIntegrationServiceOption

type NetworkIntegrations

type NetworkIntegrations []NetworkIntegration

type NetworkLoadBalancer

type NetworkLoadBalancer struct {
	ID          int                             `json:"-"`
	UUID        uuid.UUID                       `json:"uuid"          db:"primary=yes"`
	Cluster     string                          `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string                          `` /* 130-byte string literal not displayed */
	NetworkName string                          `json:"network_name" db:"joinon=networks.name"`
	Name        string                          `json:"name"`
	Object      IncusNetworkLoadBalancerWrapper `json:"object"`
	LastUpdated time.Time                       `json:"last_updated"  db:"update_timestamp"`
}

func (*NetworkLoadBalancer) DeriveUUID

func (m *NetworkLoadBalancer) DeriveUUID() *NetworkLoadBalancer

func (NetworkLoadBalancer) Validate

func (m NetworkLoadBalancer) Validate() error

type NetworkLoadBalancerFilter

type NetworkLoadBalancerFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string `db:"ignore"`
	NetworkName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (NetworkLoadBalancerFilter) AppendToURLValues

func (f NetworkLoadBalancerFilter) AppendToURLValues(query url.Values) url.Values

func (NetworkLoadBalancerFilter) String

func (f NetworkLoadBalancerFilter) String() string

type NetworkLoadBalancerRepo

type NetworkLoadBalancerRepo interface {
	GetAllWithFilter(ctx context.Context, filter NetworkLoadBalancerFilter) (NetworkLoadBalancers, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkLoadBalancerFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkLoadBalancer, error)
	Create(ctx context.Context, networkLoadBalancer NetworkLoadBalancer) (NetworkLoadBalancer, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter NetworkLoadBalancerFilter) error
	UpdateByUUID(ctx context.Context, networkLoadBalancer NetworkLoadBalancer) (NetworkLoadBalancer, error)
}

type NetworkLoadBalancerServerClient

type NetworkLoadBalancerServerClient interface {
	GetNetworkLoadBalancers(ctx context.Context, endpoint provisioning.Endpoint, networkName string) ([]incusapi.NetworkLoadBalancer, error)
	GetNetworkLoadBalancerByName(ctx context.Context, endpoint provisioning.Endpoint, networkName string, networkLoadBalancerName string) (incusapi.NetworkLoadBalancer, error)
}

type NetworkLoadBalancerService

type NetworkLoadBalancerService interface {
	GetAllWithFilter(ctx context.Context, filter NetworkLoadBalancerFilter) (NetworkLoadBalancers, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkLoadBalancerFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkLoadBalancer, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type NetworkLoadBalancerServiceOption

type NetworkLoadBalancerServiceOption func(s *networkLoadBalancerService)

func NetworkLoadBalancerWithParentFilter

func NetworkLoadBalancerWithParentFilter(f func(incusapi.Network) bool) NetworkLoadBalancerServiceOption

func NetworkLoadBalancerWithSyncFilter

func NetworkLoadBalancerWithSyncFilter(clusterSyncFilterFunc func(networkLoadBalancer NetworkLoadBalancer) bool) NetworkLoadBalancerServiceOption

type NetworkLoadBalancers

type NetworkLoadBalancers []NetworkLoadBalancer

type NetworkPeer

type NetworkPeer struct {
	ID          int                     `json:"-"`
	UUID        uuid.UUID               `json:"uuid"          db:"primary=yes"`
	Cluster     string                  `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string                  `json:"project"       db:"leftjoin=networks.project_name&joinon=network_peers.network_name&jointo=name&omit=create,update"`
	NetworkName string                  `json:"network_name" db:"joinon=networks.name"`
	Name        string                  `json:"name"`
	Object      IncusNetworkPeerWrapper `json:"object"`
	LastUpdated time.Time               `json:"last_updated"  db:"update_timestamp"`
}

func (*NetworkPeer) DeriveUUID

func (m *NetworkPeer) DeriveUUID() *NetworkPeer

func (NetworkPeer) Validate

func (m NetworkPeer) Validate() error

type NetworkPeerFilter

type NetworkPeerFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string `db:"ignore"`
	NetworkName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (NetworkPeerFilter) AppendToURLValues

func (f NetworkPeerFilter) AppendToURLValues(query url.Values) url.Values

func (NetworkPeerFilter) String

func (f NetworkPeerFilter) String() string

type NetworkPeerRepo

type NetworkPeerRepo interface {
	GetAllWithFilter(ctx context.Context, filter NetworkPeerFilter) (NetworkPeers, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkPeerFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkPeer, error)
	Create(ctx context.Context, networkPeer NetworkPeer) (NetworkPeer, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter NetworkPeerFilter) error
	UpdateByUUID(ctx context.Context, networkPeer NetworkPeer) (NetworkPeer, error)
}

type NetworkPeerServerClient

type NetworkPeerServerClient interface {
	GetNetworkPeers(ctx context.Context, endpoint provisioning.Endpoint, networkName string) ([]incusapi.NetworkPeer, error)
	GetNetworkPeerByName(ctx context.Context, endpoint provisioning.Endpoint, networkName string, networkPeerName string) (incusapi.NetworkPeer, error)
}

type NetworkPeerService

type NetworkPeerService interface {
	GetAllWithFilter(ctx context.Context, filter NetworkPeerFilter) (NetworkPeers, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkPeerFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkPeer, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type NetworkPeerServiceOption

type NetworkPeerServiceOption func(s *networkPeerService)

func NetworkPeerWithParentFilter

func NetworkPeerWithParentFilter(f func(incusapi.Network) bool) NetworkPeerServiceOption

func NetworkPeerWithSyncFilter

func NetworkPeerWithSyncFilter(clusterSyncFilterFunc func(networkPeer NetworkPeer) bool) NetworkPeerServiceOption

type NetworkPeers

type NetworkPeers []NetworkPeer

type NetworkRepo

type NetworkRepo interface {
	GetAllWithFilter(ctx context.Context, filter NetworkFilter) (Networks, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Network, error)
	Create(ctx context.Context, network Network) (Network, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter NetworkFilter) error
	UpdateByUUID(ctx context.Context, network Network) (Network, error)
}

type NetworkServerClient

type NetworkServerClient interface {
	GetNetworks(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.Network, error)
	GetNetworkByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, networkName string) (incusapi.Network, error)
}

type NetworkService

type NetworkService interface {
	GetAllWithFilter(ctx context.Context, filter NetworkFilter) (Networks, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Network, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type NetworkServiceOption

type NetworkServiceOption func(s *networkService)

func NetworkWithSyncFilter

func NetworkWithSyncFilter(clusterSyncFilterFunc func(network Network) bool) NetworkServiceOption

type NetworkZone

type NetworkZone struct {
	ID          int                     `json:"-"`
	UUID        uuid.UUID               `json:"uuid"          db:"primary=yes"`
	Cluster     string                  `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string                  `json:"project"`
	Name        string                  `json:"name"`
	Object      IncusNetworkZoneWrapper `json:"object"`
	LastUpdated time.Time               `json:"last_updated"  db:"update_timestamp"`
}

func (*NetworkZone) DeriveUUID

func (m *NetworkZone) DeriveUUID() *NetworkZone

func (NetworkZone) Validate

func (m NetworkZone) Validate() error

type NetworkZoneFilter

type NetworkZoneFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (NetworkZoneFilter) AppendToURLValues

func (f NetworkZoneFilter) AppendToURLValues(query url.Values) url.Values

func (NetworkZoneFilter) String

func (f NetworkZoneFilter) String() string

type NetworkZoneRepo

type NetworkZoneRepo interface {
	GetAllWithFilter(ctx context.Context, filter NetworkZoneFilter) (NetworkZones, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkZoneFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkZone, error)
	Create(ctx context.Context, networkZone NetworkZone) (NetworkZone, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter NetworkZoneFilter) error
	UpdateByUUID(ctx context.Context, networkZone NetworkZone) (NetworkZone, error)
}

type NetworkZoneServerClient

type NetworkZoneServerClient interface {
	GetNetworkZones(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.NetworkZone, error)
	GetNetworkZoneByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, networkZoneName string) (incusapi.NetworkZone, error)
}

type NetworkZoneService

type NetworkZoneService interface {
	GetAllWithFilter(ctx context.Context, filter NetworkZoneFilter) (NetworkZones, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter NetworkZoneFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (NetworkZone, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type NetworkZoneServiceOption

type NetworkZoneServiceOption func(s *networkZoneService)

func NetworkZoneWithSyncFilter

func NetworkZoneWithSyncFilter(clusterSyncFilterFunc func(networkZone NetworkZone) bool) NetworkZoneServiceOption

type NetworkZones

type NetworkZones []NetworkZone

type Networks

type Networks []Network

type Profile

type Profile struct {
	ID          int                 `json:"-"`
	UUID        uuid.UUID           `json:"uuid"          db:"primary=yes"`
	Cluster     string              `json:"cluster"       db:"leftjoin=clusters.name"`
	ProjectName string              `json:"project"`
	Name        string              `json:"name"`
	Object      IncusProfileWrapper `json:"object"`
	LastUpdated time.Time           `json:"last_updated"  db:"update_timestamp"`
}

func (*Profile) DeriveUUID

func (m *Profile) DeriveUUID() *Profile

func (Profile) Validate

func (m Profile) Validate() error

type ProfileFilter

type ProfileFilter struct {
	UUID        *uuid.UUID
	Cluster     *string
	ProjectName *string
	Name        *string
	Expression  *string `db:"ignore"`
}

func (ProfileFilter) AppendToURLValues

func (f ProfileFilter) AppendToURLValues(query url.Values) url.Values

func (ProfileFilter) String

func (f ProfileFilter) String() string

type ProfileRepo

type ProfileRepo interface {
	GetAllWithFilter(ctx context.Context, filter ProfileFilter) (Profiles, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter ProfileFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Profile, error)
	Create(ctx context.Context, profile Profile) (Profile, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter ProfileFilter) error
	UpdateByUUID(ctx context.Context, profile Profile) (Profile, error)
}

type ProfileServerClient

type ProfileServerClient interface {
	GetProfiles(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.Profile, error)
	GetProfileByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, profileName string) (incusapi.Profile, error)
}

type ProfileService

type ProfileService interface {
	GetAllWithFilter(ctx context.Context, filter ProfileFilter) (Profiles, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter ProfileFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Profile, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type ProfileServiceOption

type ProfileServiceOption func(s *profileService)

func ProfileWithSyncFilter

func ProfileWithSyncFilter(clusterSyncFilterFunc func(profile Profile) bool) ProfileServiceOption

type Profiles

type Profiles []Profile

type Project

type Project struct {
	ID          int                 `json:"-"`
	UUID        uuid.UUID           `json:"uuid"          db:"primary=yes"`
	Cluster     string              `json:"cluster"       db:"leftjoin=clusters.name"`
	Name        string              `json:"name"`
	Object      IncusProjectWrapper `json:"object"`
	LastUpdated time.Time           `json:"last_updated"  db:"update_timestamp"`
}

func (*Project) DeriveUUID

func (m *Project) DeriveUUID() *Project

func (Project) Validate

func (m Project) Validate() error

type ProjectFilter

type ProjectFilter struct {
	UUID       *uuid.UUID
	Cluster    *string
	Name       *string
	Expression *string `db:"ignore"`
}

func (ProjectFilter) AppendToURLValues

func (f ProjectFilter) AppendToURLValues(query url.Values) url.Values

func (ProjectFilter) String

func (f ProjectFilter) String() string

type ProjectRepo

type ProjectRepo interface {
	GetAllWithFilter(ctx context.Context, filter ProjectFilter) (Projects, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter ProjectFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Project, error)
	Create(ctx context.Context, project Project) (Project, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter ProjectFilter) error
	UpdateByUUID(ctx context.Context, project Project) (Project, error)
}

type ProjectServerClient

type ProjectServerClient interface {
	GetProjects(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.Project, error)
	GetProjectByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string) (incusapi.Project, error)
}

type ProjectService

type ProjectService interface {
	GetAllWithFilter(ctx context.Context, filter ProjectFilter) (Projects, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter ProjectFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (Project, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type ProjectServiceOption

type ProjectServiceOption func(s *projectService)

func ProjectWithSyncFilter

func ProjectWithSyncFilter(clusterSyncFilterFunc func(project Project) bool) ProjectServiceOption

type Projects

type Projects []Project

type ProvisioningClusterService

type ProvisioningClusterService interface {
	GetAll(ctx context.Context) (provisioning.Clusters, error)
	GetEndpoint(ctx context.Context, name string) (provisioning.Endpoint, error)
}

type ProvisioningServerService

type ProvisioningServerService interface {
	GetAllByClusterName(ctx context.Context, name string) (provisioning.Servers, error)
}

type StorageBucket

type StorageBucket struct {
	ID              int                           `json:"-"`
	UUID            uuid.UUID                     `json:"uuid"          db:"primary=yes"`
	Cluster         string                        `json:"cluster"       db:"leftjoin=clusters.name"`
	Server          *string                       `json:"server"        db:"leftjoin=servers.name"`
	ProjectName     string                        `json:"project"`
	StoragePoolName string                        `json:"storage_pool_name" db:"joinon=networks.name"`
	Name            string                        `json:"name"`
	Object          IncusStorageBucketFullWrapper `json:"object"`
	LastUpdated     time.Time                     `json:"last_updated"  db:"update_timestamp"`
}

func (*StorageBucket) DeriveUUID

func (m *StorageBucket) DeriveUUID() *StorageBucket

func (StorageBucket) Validate

func (m StorageBucket) Validate() error

type StorageBucketFilter

type StorageBucketFilter struct {
	UUID            *uuid.UUID
	Cluster         *string
	Server          *string
	ProjectName     *string
	StoragePoolName *string
	Name            *string
	Expression      *string `db:"ignore"`
}

func (StorageBucketFilter) AppendToURLValues

func (f StorageBucketFilter) AppendToURLValues(query url.Values) url.Values

func (StorageBucketFilter) String

func (f StorageBucketFilter) String() string

type StorageBucketRepo

type StorageBucketRepo interface {
	GetAllWithFilter(ctx context.Context, filter StorageBucketFilter) (StorageBuckets, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter StorageBucketFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (StorageBucket, error)
	Create(ctx context.Context, storageBucket StorageBucket) (StorageBucket, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter StorageBucketFilter) error
	UpdateByUUID(ctx context.Context, storageBucket StorageBucket) (StorageBucket, error)
}

type StorageBucketServerClient

type StorageBucketServerClient interface {
	GetStorageBuckets(ctx context.Context, endpoint provisioning.Endpoint, storagePoolName string) ([]incusapi.StorageBucketFull, error)
	GetStorageBucketByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, storagePoolName string, storageBucketName string) (incusapi.StorageBucketFull, error)
}

type StorageBucketService

type StorageBucketService interface {
	GetAllWithFilter(ctx context.Context, filter StorageBucketFilter) (StorageBuckets, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter StorageBucketFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (StorageBucket, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type StorageBucketServiceOption

type StorageBucketServiceOption func(s *storageBucketService)

func StorageBucketWithParentFilter

func StorageBucketWithParentFilter(f func(incusapi.StoragePool) bool) StorageBucketServiceOption

func StorageBucketWithSyncFilter

func StorageBucketWithSyncFilter(clusterSyncFilterFunc func(storageBucket StorageBucket) bool) StorageBucketServiceOption

type StorageBuckets

type StorageBuckets []StorageBucket

type StoragePool

type StoragePool struct {
	ID          int                     `json:"-"`
	UUID        uuid.UUID               `json:"uuid"          db:"primary=yes"`
	Cluster     string                  `json:"cluster"       db:"leftjoin=clusters.name"`
	Name        string                  `json:"name"`
	Object      IncusStoragePoolWrapper `json:"object"`
	LastUpdated time.Time               `json:"last_updated"  db:"update_timestamp"`
}

func (*StoragePool) DeriveUUID

func (m *StoragePool) DeriveUUID() *StoragePool

func (StoragePool) Validate

func (m StoragePool) Validate() error

type StoragePoolFilter

type StoragePoolFilter struct {
	UUID       *uuid.UUID
	Cluster    *string
	Name       *string
	Expression *string `db:"ignore"`
}

func (StoragePoolFilter) AppendToURLValues

func (f StoragePoolFilter) AppendToURLValues(query url.Values) url.Values

func (StoragePoolFilter) String

func (f StoragePoolFilter) String() string

type StoragePoolRepo

type StoragePoolRepo interface {
	GetAllWithFilter(ctx context.Context, filter StoragePoolFilter) (StoragePools, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter StoragePoolFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (StoragePool, error)
	Create(ctx context.Context, storagePool StoragePool) (StoragePool, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter StoragePoolFilter) error
	UpdateByUUID(ctx context.Context, storagePool StoragePool) (StoragePool, error)
}

type StoragePoolServerClient

type StoragePoolServerClient interface {
	GetStoragePools(ctx context.Context, endpoint provisioning.Endpoint) ([]incusapi.StoragePool, error)
	GetStoragePoolByName(ctx context.Context, endpoint provisioning.Endpoint, storagePoolName string) (incusapi.StoragePool, error)
}

type StoragePoolService

type StoragePoolService interface {
	GetAllWithFilter(ctx context.Context, filter StoragePoolFilter) (StoragePools, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter StoragePoolFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (StoragePool, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type StoragePoolServiceOption

type StoragePoolServiceOption func(s *storagePoolService)

func StoragePoolWithSyncFilter

func StoragePoolWithSyncFilter(clusterSyncFilterFunc func(storagePool StoragePool) bool) StoragePoolServiceOption

type StoragePools

type StoragePools []StoragePool

type StorageVolume

type StorageVolume struct {
	ID              int                           `json:"-"`
	UUID            uuid.UUID                     `json:"uuid"          db:"primary=yes"`
	Cluster         string                        `json:"cluster"       db:"leftjoin=clusters.name"`
	Server          *string                       `json:"server"        db:"leftjoin=servers.name"`
	ProjectName     string                        `json:"project"`
	StoragePoolName string                        `json:"storage_pool_name" db:"joinon=networks.name"`
	Name            string                        `json:"name"`
	Type            string                        `json:"type"`
	Object          IncusStorageVolumeFullWrapper `json:"object"`
	LastUpdated     time.Time                     `json:"last_updated"  db:"update_timestamp"`
}

func (*StorageVolume) DeriveUUID

func (m *StorageVolume) DeriveUUID() *StorageVolume

func (StorageVolume) Validate

func (m StorageVolume) Validate() error

type StorageVolumeFilter

type StorageVolumeFilter struct {
	UUID            *uuid.UUID
	Cluster         *string
	Server          *string
	ProjectName     *string
	StoragePoolName *string
	Name            *string
	Expression      *string `db:"ignore"`
}

func (StorageVolumeFilter) AppendToURLValues

func (f StorageVolumeFilter) AppendToURLValues(query url.Values) url.Values

func (StorageVolumeFilter) String

func (f StorageVolumeFilter) String() string

type StorageVolumeRepo

type StorageVolumeRepo interface {
	GetAllWithFilter(ctx context.Context, filter StorageVolumeFilter) (StorageVolumes, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter StorageVolumeFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (StorageVolume, error)
	Create(ctx context.Context, storageVolume StorageVolume) (StorageVolume, error)
	DeleteByUUID(ctx context.Context, id uuid.UUID) error
	DeleteWithFilter(ctx context.Context, filter StorageVolumeFilter) error
	UpdateByUUID(ctx context.Context, storageVolume StorageVolume) (StorageVolume, error)
}

type StorageVolumeServerClient

type StorageVolumeServerClient interface {
	GetStorageVolumes(ctx context.Context, endpoint provisioning.Endpoint, storagePoolName string) ([]incusapi.StorageVolumeFull, error)
	GetStorageVolumeByName(ctx context.Context, endpoint provisioning.Endpoint, projectName string, storagePoolName string, storageVolumeName string, storageVolumeType string) (incusapi.StorageVolumeFull, error)
}

type StorageVolumeService

type StorageVolumeService interface {
	GetAllWithFilter(ctx context.Context, filter StorageVolumeFilter) (StorageVolumes, error)
	GetAllUUIDsWithFilter(ctx context.Context, filter StorageVolumeFilter) ([]uuid.UUID, error)
	GetByUUID(ctx context.Context, id uuid.UUID) (StorageVolume, error)
	ResyncByUUID(ctx context.Context, id uuid.UUID) error
	ResyncByName(ctx context.Context, clusterName string, event domain.LifecycleEvent) error
	SyncCluster(ctx context.Context, cluster string) error
}

type StorageVolumeServiceOption

type StorageVolumeServiceOption func(s *storageVolumeService)

func StorageVolumeWithParentFilter

func StorageVolumeWithParentFilter(f func(incusapi.StoragePool) bool) StorageVolumeServiceOption

func StorageVolumeWithSyncFilter

func StorageVolumeWithSyncFilter(clusterSyncFilterFunc func(storageVolume StorageVolume) bool) StorageVolumeServiceOption

type StorageVolumes

type StorageVolumes []StorageVolume

Source Files

Directories

Path Synopsis
repo
server

Jump to

Keyboard shortcuts

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