1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
|
/*
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)
}
*/
package helpers
|