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
- func PropsFromStruct(v any) types.Properties
- type BaseResource
- type ComputeKeypair
- type ComputeKeypairLister
- type ComputeServer
- type ComputeServerLister
- type ComputeSnapshot
- type ComputeSnapshotLister
- type ComputeVolume
- type ComputeVolumeLister
- type DNSZone
- type DNSZoneLister
- type FloatingIP
- type FloatingIPLister
- type LoadBalancer
- type LoadBalancerLister
- type MongoDBFlexInstance
- type MongoDBFlexInstanceLister
- type Network
- type NetworkLister
- type ObjectStorageBucket
- type ObjectStorageBucketLister
- type ObjectStorageObject
- type ObjectStorageObjectLister
- type OpenSearchInstance
- type OpenSearchInstanceLister
- type PostgresFlexInstance
- type PostgresFlexInstanceLister
- type RabbitMQInstance
- type RabbitMQInstanceLister
- type RedisInstance
- type RedisInstanceLister
- type Router
- type RouterLister
- type SKECluster
- type SKEClusterLister
- type SecurityGroup
- type SecurityGroupLister
- type Subnet
- type SubnetLister
Constants ¶
const ComputeKeypairResource = "ComputeKeypair"
const ComputeServerResource = "ComputeServer"
const ComputeSnapshotResource = "ComputeSnapshot"
const ComputeVolumeResource = "ComputeVolume"
const DNSZoneResource = "DNSZone"
const FloatingIPResource = "FloatingIP"
const LoadBalancerResource = "LoadBalancer"
const MongoDBFlexInstanceResource = "MongoDBFlexInstance"
const NetworkResource = "Network"
const ObjectStorageBucketResource = "ObjectStorageBucket"
const ObjectStorageObjectResource = "ObjectStorageObject"
const OpenSearchInstanceResource = "OpenSearchInstance"
const PostgresFlexInstanceResource = "PostgresFlexInstance"
const RabbitMQInstanceResource = "RabbitMQInstance"
const RedisInstanceResource = "RedisInstance"
const RouterResource = "Router"
const SKEClusterResource = "SKECluster"
const SecurityGroupResource = "SecurityGroup"
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) String ¶
func (r *ComputeKeypair) String() string
type ComputeKeypairLister ¶
type ComputeKeypairLister struct{}
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) String ¶
func (r *ComputeServer) String() string
type ComputeServerLister ¶
type ComputeServerLister struct{}
type ComputeSnapshot ¶
type ComputeSnapshot struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*ComputeSnapshot) Properties ¶
func (r *ComputeSnapshot) Properties() types.Properties
func (*ComputeSnapshot) String ¶
func (r *ComputeSnapshot) String() string
type ComputeSnapshotLister ¶
type ComputeSnapshotLister struct{}
type ComputeVolume ¶
type ComputeVolume struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*ComputeVolume) Properties ¶
func (r *ComputeVolume) Properties() types.Properties
func (*ComputeVolume) String ¶
func (r *ComputeVolume) String() string
type ComputeVolumeLister ¶
type ComputeVolumeLister struct{}
type DNSZone ¶
type DNSZone struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*DNSZone) Properties ¶
func (r *DNSZone) Properties() types.Properties
type DNSZoneLister ¶
type DNSZoneLister struct{}
type FloatingIP ¶
type FloatingIP struct {
*BaseResource `property:",inline"`
ID string
IP string
}
func (*FloatingIP) Properties ¶
func (r *FloatingIP) Properties() types.Properties
func (*FloatingIP) String ¶
func (r *FloatingIP) String() string
type FloatingIPLister ¶
type FloatingIPLister struct{}
type LoadBalancer ¶
type LoadBalancer struct {
*BaseResource `property:",inline"`
Name string
}
func (*LoadBalancer) Properties ¶
func (r *LoadBalancer) Properties() types.Properties
func (*LoadBalancer) String ¶
func (r *LoadBalancer) String() string
type LoadBalancerLister ¶
type LoadBalancerLister struct{}
type MongoDBFlexInstance ¶
type MongoDBFlexInstance struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*MongoDBFlexInstance) Properties ¶
func (r *MongoDBFlexInstance) Properties() types.Properties
func (*MongoDBFlexInstance) String ¶
func (r *MongoDBFlexInstance) String() string
type MongoDBFlexInstanceLister ¶
type MongoDBFlexInstanceLister struct{}
type Network ¶
type Network struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*Network) Properties ¶
func (r *Network) Properties() types.Properties
type NetworkLister ¶
type NetworkLister struct{}
type ObjectStorageBucket ¶
type ObjectStorageBucket struct {
*BaseResource `property:",inline"`
Name string
}
func (*ObjectStorageBucket) Properties ¶
func (r *ObjectStorageBucket) Properties() types.Properties
func (*ObjectStorageBucket) String ¶
func (r *ObjectStorageBucket) String() string
type ObjectStorageBucketLister ¶
type ObjectStorageBucketLister struct{}
type ObjectStorageObject ¶
type ObjectStorageObject struct {
*BaseResource `property:",inline"`
Bucket string
Key string
}
func (*ObjectStorageObject) Properties ¶
func (r *ObjectStorageObject) Properties() types.Properties
func (*ObjectStorageObject) String ¶
func (r *ObjectStorageObject) String() string
type ObjectStorageObjectLister ¶
type ObjectStorageObjectLister struct{}
type OpenSearchInstance ¶
type OpenSearchInstance struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*OpenSearchInstance) Properties ¶
func (r *OpenSearchInstance) Properties() types.Properties
func (*OpenSearchInstance) String ¶
func (r *OpenSearchInstance) String() string
type OpenSearchInstanceLister ¶
type OpenSearchInstanceLister struct{}
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 (r *PostgresFlexInstance) Remove(_ context.Context) error
func (*PostgresFlexInstance) String ¶
func (r *PostgresFlexInstance) String() string
type PostgresFlexInstanceLister ¶
type PostgresFlexInstanceLister struct{}
type RabbitMQInstance ¶
type RabbitMQInstance struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*RabbitMQInstance) Properties ¶
func (r *RabbitMQInstance) Properties() types.Properties
func (*RabbitMQInstance) String ¶
func (r *RabbitMQInstance) String() string
type RabbitMQInstanceLister ¶
type RabbitMQInstanceLister struct{}
type RedisInstance ¶
type RedisInstance struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*RedisInstance) Properties ¶
func (r *RedisInstance) Properties() types.Properties
func (*RedisInstance) String ¶
func (r *RedisInstance) String() string
type RedisInstanceLister ¶
type RedisInstanceLister struct{}
type Router ¶
type Router struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*Router) Properties ¶
func (r *Router) Properties() types.Properties
type RouterLister ¶
type RouterLister struct{}
type SKECluster ¶
type SKECluster struct {
*BaseResource `property:",inline"`
Name string
}
func (*SKECluster) Properties ¶
func (r *SKECluster) Properties() types.Properties
func (*SKECluster) String ¶
func (r *SKECluster) String() string
type SKEClusterLister ¶
type SKEClusterLister struct{}
type SecurityGroup ¶
type SecurityGroup struct {
*BaseResource `property:",inline"`
ID string
Name string
}
func (*SecurityGroup) Properties ¶
func (r *SecurityGroup) Properties() types.Properties
func (*SecurityGroup) String ¶
func (r *SecurityGroup) String() string
type SecurityGroupLister ¶
type SecurityGroupLister struct{}
type Subnet ¶
type Subnet struct {
*BaseResource `property:",inline"`
ID string
Name string
NetworkID string
}
func (*Subnet) Properties ¶
func (r *Subnet) Properties() types.Properties
Source Files
¶
- base.go
- compute-keypair.go
- compute-server.go
- compute-snapshot.go
- compute-volume.go
- dns-zone.go
- loadbalancer.go
- mongodbflex-instance.go
- network-floatingip.go
- network-network.go
- network-router.go
- network-securitygroup.go
- network-subnet.go
- objectstorage-bucket.go
- objectstorage-object.go
- opensearch-instance.go
- postgresflex-instance.go
- rabbitmq-instance.go
- redis-instance.go
- sdk_helpers.go
- ske-cluster.go