resources

package
v0.0.1 Latest Latest
Warning

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

Go to latest
Published: May 11, 2026 License: MIT Imports: 10 Imported by: 0

Documentation

Overview

Package resources contains one file per STACKIT resource type that stackit-nuke knows how to discover and delete. Each file registers a libnuke registration during init() and exposes a Lister that returns resources observed in the supplied project + region.

The Lister bodies are placeholders — they return an empty slice so the framework wires up correctly end-to-end. Filling them in with real STACKIT SDK calls is the per-resource implementation work.

Index

Constants

View Source
const ComputeKeypairResource = "ComputeKeypair"
View Source
const ComputeServerResource = "ComputeServer"
View Source
const ComputeSnapshotResource = "ComputeSnapshot"
View Source
const ComputeVolumeResource = "ComputeVolume"
View Source
const DNSZoneResource = "DNSZone"
View Source
const FloatingIPResource = "FloatingIP"
View Source
const LoadBalancerResource = "LoadBalancer"
View Source
const MongoDBFlexInstanceResource = "MongoDBFlexInstance"
View Source
const NetworkResource = "Network"
View Source
const ObjectStorageBucketResource = "ObjectStorageBucket"
View Source
const ObjectStorageObjectResource = "ObjectStorageObject"
View Source
const OpenSearchInstanceResource = "OpenSearchInstance"
View Source
const PostgresFlexInstanceResource = "PostgresFlexInstance"
View Source
const RabbitMQInstanceResource = "RabbitMQInstance"
View Source
const RedisInstanceResource = "RedisInstance"
View Source
const RouterResource = "Router"
View Source
const SKEClusterResource = "SKECluster"
View Source
const SecurityGroupResource = "SecurityGroup"
View Source
const SubnetResource = "Subnet"

Variables

This section is empty.

Functions

func PropsFromStruct

func PropsFromStruct(v any) types.Properties

PropsFromStruct is a small helper so resource Properties() bodies stay one-liners.

Types

type BaseResource

type BaseResource struct {
	OrganizationID string `property:"OrganizationID"`
	ProjectID      string `property:"ProjectID"`
	Region         string `property:"Region"`
}

BaseResource embeds the project + region context every STACKIT resource shares. Use struct embedding with `property:",inline"` so the fields participate in libnuke's filter/property system.

type ComputeKeypair

type ComputeKeypair struct {
	*BaseResource `property:",inline"`
	Name          string
}

func (*ComputeKeypair) Properties

func (r *ComputeKeypair) Properties() types.Properties

func (*ComputeKeypair) Remove

func (r *ComputeKeypair) Remove(_ context.Context) error

func (*ComputeKeypair) String

func (r *ComputeKeypair) String() string

type ComputeKeypairLister

type ComputeKeypairLister struct{}

func (*ComputeKeypairLister) List

type ComputeServer

type ComputeServer struct {
	*BaseResource `property:",inline"`

	ID               string
	Name             string
	AvailabilityZone string
	CreatedAt        *time.Time
	Labels           map[string]string
	// contains filtered or unexported fields
}

ComputeServer is a STACKIT IaaS server (a.k.a. virtual machine).

API: github.com/stackitcloud/stackit-sdk-go/services/iaas/v2api

Endpoints used:

  • GET /v2/projects/{projectId}/regions/{region}/servers
  • DELETE /v2/projects/{projectId}/regions/{region}/servers/{serverId}

func (*ComputeServer) Properties

func (r *ComputeServer) Properties() types.Properties

func (*ComputeServer) Remove

func (r *ComputeServer) Remove(ctx context.Context) error

func (*ComputeServer) String

func (r *ComputeServer) String() string

type ComputeServerLister

type ComputeServerLister struct{}

func (*ComputeServerLister) List

type ComputeSnapshot

type ComputeSnapshot struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*ComputeSnapshot) Properties

func (r *ComputeSnapshot) Properties() types.Properties

func (*ComputeSnapshot) Remove

func (r *ComputeSnapshot) Remove(_ context.Context) error

func (*ComputeSnapshot) String

func (r *ComputeSnapshot) String() string

type ComputeSnapshotLister

type ComputeSnapshotLister struct{}

func (*ComputeSnapshotLister) List

type ComputeVolume

type ComputeVolume struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*ComputeVolume) Properties

func (r *ComputeVolume) Properties() types.Properties

func (*ComputeVolume) Remove

func (r *ComputeVolume) Remove(_ context.Context) error

func (*ComputeVolume) String

func (r *ComputeVolume) String() string

type ComputeVolumeLister

type ComputeVolumeLister struct{}

func (*ComputeVolumeLister) List

type DNSZone

type DNSZone struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*DNSZone) Properties

func (r *DNSZone) Properties() types.Properties

func (*DNSZone) Remove

func (r *DNSZone) Remove(_ context.Context) error

func (*DNSZone) String

func (r *DNSZone) String() string

type DNSZoneLister

type DNSZoneLister struct{}

func (*DNSZoneLister) List

func (l *DNSZoneLister) List(_ context.Context, _ any) ([]resource.Resource, error)

type FloatingIP

type FloatingIP struct {
	*BaseResource `property:",inline"`
	ID            string
	IP            string
}

func (*FloatingIP) Properties

func (r *FloatingIP) Properties() types.Properties

func (*FloatingIP) Remove

func (r *FloatingIP) Remove(_ context.Context) error

func (*FloatingIP) String

func (r *FloatingIP) String() string

type FloatingIPLister

type FloatingIPLister struct{}

func (*FloatingIPLister) List

type LoadBalancer

type LoadBalancer struct {
	*BaseResource `property:",inline"`
	Name          string
}

func (*LoadBalancer) Properties

func (r *LoadBalancer) Properties() types.Properties

func (*LoadBalancer) Remove

func (r *LoadBalancer) Remove(_ context.Context) error

func (*LoadBalancer) String

func (r *LoadBalancer) String() string

type LoadBalancerLister

type LoadBalancerLister struct{}

func (*LoadBalancerLister) List

type MongoDBFlexInstance

type MongoDBFlexInstance struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*MongoDBFlexInstance) Properties

func (r *MongoDBFlexInstance) Properties() types.Properties

func (*MongoDBFlexInstance) Remove

func (*MongoDBFlexInstance) String

func (r *MongoDBFlexInstance) String() string

type MongoDBFlexInstanceLister

type MongoDBFlexInstanceLister struct{}

func (*MongoDBFlexInstanceLister) List

type Network

type Network struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*Network) Properties

func (r *Network) Properties() types.Properties

func (*Network) Remove

func (r *Network) Remove(_ context.Context) error

func (*Network) String

func (r *Network) String() string

type NetworkLister

type NetworkLister struct{}

func (*NetworkLister) List

func (l *NetworkLister) List(_ context.Context, _ any) ([]resource.Resource, error)

type ObjectStorageBucket

type ObjectStorageBucket struct {
	*BaseResource `property:",inline"`
	Name          string
}

func (*ObjectStorageBucket) Properties

func (r *ObjectStorageBucket) Properties() types.Properties

func (*ObjectStorageBucket) Remove

func (*ObjectStorageBucket) String

func (r *ObjectStorageBucket) String() string

type ObjectStorageBucketLister

type ObjectStorageBucketLister struct{}

func (*ObjectStorageBucketLister) List

type ObjectStorageObject

type ObjectStorageObject struct {
	*BaseResource `property:",inline"`
	Bucket        string
	Key           string
}

func (*ObjectStorageObject) Properties

func (r *ObjectStorageObject) Properties() types.Properties

func (*ObjectStorageObject) Remove

func (*ObjectStorageObject) String

func (r *ObjectStorageObject) String() string

type ObjectStorageObjectLister

type ObjectStorageObjectLister struct{}

func (*ObjectStorageObjectLister) List

type OpenSearchInstance

type OpenSearchInstance struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*OpenSearchInstance) Properties

func (r *OpenSearchInstance) Properties() types.Properties

func (*OpenSearchInstance) Remove

func (r *OpenSearchInstance) Remove(_ context.Context) error

func (*OpenSearchInstance) String

func (r *OpenSearchInstance) String() string

type OpenSearchInstanceLister

type OpenSearchInstanceLister struct{}

func (*OpenSearchInstanceLister) List

type PostgresFlexInstance

type PostgresFlexInstance struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*PostgresFlexInstance) Properties

func (r *PostgresFlexInstance) Properties() types.Properties

func (*PostgresFlexInstance) Remove

func (*PostgresFlexInstance) String

func (r *PostgresFlexInstance) String() string

type PostgresFlexInstanceLister

type PostgresFlexInstanceLister struct{}

func (*PostgresFlexInstanceLister) List

type RabbitMQInstance

type RabbitMQInstance struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*RabbitMQInstance) Properties

func (r *RabbitMQInstance) Properties() types.Properties

func (*RabbitMQInstance) Remove

func (r *RabbitMQInstance) Remove(_ context.Context) error

func (*RabbitMQInstance) String

func (r *RabbitMQInstance) String() string

type RabbitMQInstanceLister

type RabbitMQInstanceLister struct{}

func (*RabbitMQInstanceLister) List

type RedisInstance

type RedisInstance struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*RedisInstance) Properties

func (r *RedisInstance) Properties() types.Properties

func (*RedisInstance) Remove

func (r *RedisInstance) Remove(_ context.Context) error

func (*RedisInstance) String

func (r *RedisInstance) String() string

type RedisInstanceLister

type RedisInstanceLister struct{}

func (*RedisInstanceLister) List

type Router

type Router struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*Router) Properties

func (r *Router) Properties() types.Properties

func (*Router) Remove

func (r *Router) Remove(_ context.Context) error

func (*Router) String

func (r *Router) String() string

type RouterLister

type RouterLister struct{}

func (*RouterLister) List

func (l *RouterLister) List(_ context.Context, _ any) ([]resource.Resource, error)

type SKECluster

type SKECluster struct {
	*BaseResource `property:",inline"`
	Name          string
}

func (*SKECluster) Properties

func (r *SKECluster) Properties() types.Properties

func (*SKECluster) Remove

func (r *SKECluster) Remove(_ context.Context) error

func (*SKECluster) String

func (r *SKECluster) String() string

type SKEClusterLister

type SKEClusterLister struct{}

func (*SKEClusterLister) List

type SecurityGroup

type SecurityGroup struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
}

func (*SecurityGroup) Properties

func (r *SecurityGroup) Properties() types.Properties

func (*SecurityGroup) Remove

func (r *SecurityGroup) Remove(_ context.Context) error

func (*SecurityGroup) String

func (r *SecurityGroup) String() string

type SecurityGroupLister

type SecurityGroupLister struct{}

func (*SecurityGroupLister) List

type Subnet

type Subnet struct {
	*BaseResource `property:",inline"`
	ID            string
	Name          string
	NetworkID     string
}

func (*Subnet) Properties

func (r *Subnet) Properties() types.Properties

func (*Subnet) Remove

func (r *Subnet) Remove(_ context.Context) error

func (*Subnet) String

func (r *Subnet) String() string

type SubnetLister

type SubnetLister struct{}

func (*SubnetLister) List

func (l *SubnetLister) List(_ context.Context, _ any) ([]resource.Resource, error)

Jump to

Keyboard shortcuts

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