Skip to content

Instantly share code, notes, and snippets.

@MisinformedDNA
Created May 21, 2019 16:09
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save MisinformedDNA/2d15bd97660f0e26a5b0feaf34e57f6d to your computer and use it in GitHub Desktop.
Save MisinformedDNA/2d15bd97660f0e26a5b0feaf34e57f6d to your computer and use it in GitHub Desktop.
Delete resource without needing API version
var query = new ODataQuery<GenericResourceFilter>(r => r.Tagname == "Environment" && r.Tagvalue == environment);
var resources = await client.Resources.ListByResourceGroupAsync(resourceGroupName, query).ConfigureAwait(false);
var providers = await client.Providers.ListAsync().ConfigureAwait(false);
foreach (var resource in resources)
{
var resourceParts = resource.Type.Split('/');
var namespaceProperty = resourceParts[0];
var resourceType = resourceParts[1];
var apiVersion = providers
.First(p => p.NamespaceProperty == namespaceProperty)
.ResourceTypes
.First(r => r.ResourceType == resourceType)
.ApiVersions
.First();
await client.Resources.DeleteByIdAsync(resource.Id, apiVersion).ConfigureAwait(false);
}
var query = new ODataQuery<GenericResourceFilter>(r => r.Tagname == "Environment" && r.Tagvalue == environment);
var resources = await client.Resources.ListByResourceGroupAsync(resourceGroupName, query).ConfigureAwait(false);
var providers = await client.Providers.ListAsync().ConfigureAwait(false);
foreach (var resource in resources)
{
await client.Resources.DeleteByIdAsync(resource.Id, "latest").ConfigureAwait(false);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment