Documentation
¶
Overview ¶
Package helpers collects generic functionality over the Gophercloud OpenStack Go SDK.
OpenStack Project Purge ¶
Set of method to purge resources associated to an OpenStack project. This is partially inspired on the following projects:
- https://docs.openstack.org/python-openstackclient/latest/cli/command-objects/project-purge.html
- https://docs.openstack.org/neutron/latest/admin/ops-resource-purge.html
- https://opendev.org/x/ospurge
Example to Purge all the resources and Delete a Project
purgeOpts := ProjectPurgeOpts {
StoragePurgeOpts: &StoragePurgeOpts{storageClient},
ComputePurgeOpts: &ComputePurgeOpts{computeClient},
NetworkPurgeOpts: &NetworkPurgeOpts{networkClient},
}
projectID := "966b3c7d36a24facaf20b7e458bf2192"
err := helpers.ProjectPurgeAll(projectID, opts)
if err != nil {
panic(err)
} else {
err = projects.Delete(identityClient, projectID).ExtractErr()
if err != nil {
panic(err)
}
}
Example to Purge storage and networking resources on a Project but keep the Project itself
purgeOpts := ProjectPurgeOpts {
StoragePurgeOpts: &StoragePurgeOpts{storageClient},
NetworkPurgeOpts: &NetworkPurgeOpts{networkClient},
}
projectID := "966b3c7d36a24facaf20b7e458bf2192"
err := helpers.ProjectPurgeAll(projectID, opts)
if err != nil {
panic(err)
}
Index ¶
- func ProjectPurgeAll(projectID string, purgeOpts ProjectPurgeOpts) (err error)
- func ProjectPurgeCompute(projectID string, purgeOpts ComputePurgeOpts) (err error)
- func ProjectPurgeNetwork(projectID string, purgeOpts NetworkPurgeOpts) (err error)
- func ProjectPurgeStorage(projectID string, purgeOpts StoragePurgeOpts) (err error)
- type ComputePurgeOpts
- type NetworkPurgeOpts
- type ProjectPurgeOpts
- type StoragePurgeOpts
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func ProjectPurgeAll ¶
func ProjectPurgeAll(projectID string, purgeOpts ProjectPurgeOpts) (err error)
ProjectPurgeAll purges all the resources associated with a project. This includes: servers, snapshosts, volumes, floating IPs, routers, networks, sub-networks and security groups
func ProjectPurgeCompute ¶
func ProjectPurgeCompute(projectID string, purgeOpts ComputePurgeOpts) (err error)
ProjectPurgeCompute purges the Compute v2 resources associated with a project. This includes: servers
func ProjectPurgeNetwork ¶
func ProjectPurgeNetwork(projectID string, purgeOpts NetworkPurgeOpts) (err error)
ProjectPurgeNetwork purges the Networking v2 resources associated with a project. This includes: floating IPs, routers, networks, sub-networks and security groups
func ProjectPurgeStorage ¶
func ProjectPurgeStorage(projectID string, purgeOpts StoragePurgeOpts) (err error)
ProjectPurgeStorage purges the Blockstorage v3 resources associated with a project. This includes: snapshosts and volumes
Types ¶
type ComputePurgeOpts ¶
type ComputePurgeOpts struct {
// Client is a reference to a specific compute service client.
Client *gophercloud.ServiceClient
}
type NetworkPurgeOpts ¶
type NetworkPurgeOpts struct {
// Client is a reference to a specific networking service client.
Client *gophercloud.ServiceClient
}
type ProjectPurgeOpts ¶
type ProjectPurgeOpts struct {
ComputePurgeOpts *ComputePurgeOpts
StoragePurgeOpts *StoragePurgeOpts
NetworkPurgeOpts *NetworkPurgeOpts
}
type StoragePurgeOpts ¶
type StoragePurgeOpts struct {
// Client is a reference to a specific storage service client.
Client *gophercloud.ServiceClient
}