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
|
/*
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
|