Skip to content
This repository was archived by the owner on Dec 12, 2025. It is now read-only.

Commit

Permalink
Enumerate resources after cleanup.
Browse files Browse the repository at this point in the history
  • Loading branch information
tmiddelkoop committed Dec 13, 2021
1 parent 5b1c5e3 commit ab1d5f0
Showing 1 changed file with 228 additions and 0 deletions.
228 changes: 228 additions & 0 deletions content/GCP/08_cleaning_up_resources.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,234 @@
"source": [
"gsutil rb \"gs://$BUCKET/\""
]
},
{
"cell_type": "markdown",
"id": "710e1e23-1d97-4151-8342-e2f1dae7ebae",
"metadata": {},
"source": [
"## Enumerate Allocated Resources\n",
"\n",
"Once we are finished cleaning up we should always make sure that only the resources that we are expecting exist. We can do this by listing (and sorting) the name of all resources. For more information on how to filter this information see `gcloud asset search-all-resources --help`"
]
},
{
"cell_type": "code",
"execution_count": 42,
"id": "4d3c8009-13f4-46f4-8e70-f56e07f23022",
"metadata": {
"scrolled": true,
"tags": []
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"//appengine.googleapis.com/apps/just-armor-301114\n",
"//bigquery.googleapis.com/projects/just-armor-301114/datasets/SAFE_Billing\n",
"//bigquery.googleapis.com/projects/just-armor-301114/datasets/SAFE_Billing/tables/cloud_pricing_export\n",
"//bigquery.googleapis.com/projects/just-armor-301114/datasets/SAFE_Billing/tables/gcp_billing_export_v1_01FBF6_A0C37F_BD97C8\n",
"//cloudresourcemanager.googleapis.com/projects/just-armor-301114\n",
"//compute.googleapis.com/projects/just-armor-301114\n",
"//compute.googleapis.com/projects/just-armor-301114/global/firewalls/default-allow-external\n",
"//compute.googleapis.com/projects/just-armor-301114/global/firewalls/default-allow-internal\n",
"//compute.googleapis.com/projects/just-armor-301114/global/networks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-0000b6ff60f03d39\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-04527aad1dc68ba3\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-0a9c3511d5fde3a0\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-152e083cc3d9866c\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-18c5ea15fd1e1c77\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-1ea09ef1b4249b95\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-248907bb31d5f332\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-2ca49decdf294654\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-2d7f0c3c43f9986b\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-36330af3625f2f9b\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-418210f83a5f5129\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-44b26b93f87c2aa1\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-65ae37e2fa124af4\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-6a36f032fa39b0d1\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-754acaac4e9ceebf\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-89050952e3f15ab6\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-8da07c13a493105b\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-92b7aad194016d2e\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-937859cd4a63de11\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-aa97a17d047c7d7c\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-b56032d1d4293846\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-bb110bcf9c50a4b8\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-bf2c27e140403594\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-d4179c98b861ac6a\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-e15ed35dfe589f3b\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-f2b2bf4b3f8e911d\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-f63a6424d9132751\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-fc50dca396d481db\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-fe01d8fe27c6002f\n",
"//compute.googleapis.com/projects/just-armor-301114/global/routes/default-route-fe35693f70ad8f98\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-east1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-east2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-northeast1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-northeast2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-northeast3/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-south1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-south2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-southeast1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/asia-southeast2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/australia-southeast1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/australia-southeast2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/europe-central2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/europe-north1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/europe-west1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/europe-west2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/europe-west3/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/europe-west4/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/europe-west6/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/northamerica-northeast1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/northamerica-northeast2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/southamerica-east1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/southamerica-west1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/us-central1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/us-east1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/us-east4/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/us-west1/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/us-west2/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/us-west3/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/regions/us-west4/subnetworks/default\n",
"//compute.googleapis.com/projects/just-armor-301114/zones/us-west2-c/disks/essentials\n",
"//compute.googleapis.com/projects/just-armor-301114/zones/us-west2-c/instances/essentials\n",
"//dns.googleapis.com/projects/just-armor-301114/managedZones/5691889021211349439\n",
"//iam.googleapis.com/projects/just-armor-301114/serviceAccounts/1002111293252-compute@developer.gserviceaccount.com\n",
"//iam.googleapis.com/projects/just-armor-301114/serviceAccounts/103590716426375679369/keys/70c1222df340394e7b9abf2563d5bd3aeba39036\n",
"//iam.googleapis.com/projects/just-armor-301114/serviceAccounts/103590716426375679369/keys/8fb390e7e246d8927e66d82cc0e449e8d516136d\n",
"//iam.googleapis.com/projects/just-armor-301114/serviceAccounts/107653990538909188092/keys/5985a239b00c93d821f39f7ed9576edeb306ee95\n",
"//iam.googleapis.com/projects/just-armor-301114/serviceAccounts/113723756436176252801/keys/187b16664e3595707c46c131e29edadb1046589a\n",
"//iam.googleapis.com/projects/just-armor-301114/serviceAccounts/just-armor-301114@appspot.gserviceaccount.com\n",
"//iam.googleapis.com/projects/just-armor-301114/serviceAccounts/zero-home-terraform-mac@just-armor-301114.iam.gserviceaccount.com\n",
"//pubsub.googleapis.com/projects/just-armor-301114/topics/Bucket\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/artifactregistry.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/bigquery.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/bigquerydatatransfer.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/bigquerystorage.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/billingbudgets.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudapis.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudasset.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudbilling.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudbuild.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/clouddebugger.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudfunctions.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudprofiler.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudresourcemanager.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudshell.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/cloudtrace.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/composer.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/compute.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/container.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/containerregistry.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/datastore.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/deploymentmanager.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/dns.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/eventarc.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/file.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/iam.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/iamcredentials.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/iap.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/lifesciences.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/logging.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/monitoring.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/oslogin.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/privateca.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/pubsub.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/run.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/runtimeconfig.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/secretmanager.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/servicemanagement.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/serviceusage.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/source.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/sourcerepo.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/sql-component.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/sqladmin.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/stackdriver.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/storage-api.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/storage-component.googleapis.com\n",
"//serviceusage.googleapis.com/projects/1002111293252/services/storage.googleapis.com\n",
"//storage.googleapis.com/essentials-learner-2021-12-13\n"
]
}
],
"source": [
"gcloud asset search-all-resources --format='value(name)' | sort"
]
},
{
"cell_type": "markdown",
"id": "3fd12c02-0314-4bec-bd93-2dda99758427",
"metadata": {},
"source": [
"This is a lot information and most of it (services, networks, routes etc.) is at no or minimal charge. We can also list by resource \"Type\". Just remember, as you use a new service to add the corresponding resource type and verify that it is listed here."
]
},
{
"cell_type": "code",
"execution_count": 43,
"id": "5d09ed2a-152f-4040-9253-196a22301584",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"//storage.googleapis.com/essentials-learner-2021-12-13\n",
"//compute.googleapis.com/projects/just-armor-301114/zones/us-west2-c/instances/essentials\n",
"//compute.googleapis.com/projects/just-armor-301114/zones/us-west2-c/disks/essentials\n"
]
}
],
"source": [
"gcloud asset search-all-resources --asset-types='compute.googleapis.com/Disk,compute.googleapis.com/Instance,storage.googleapis.com/Bucket' --format='value(name)'"
]
},
{
"cell_type": "markdown",
"id": "c22bc303-cadd-4f12-9cbf-eee7f38466a2",
"metadata": {},
"source": [
"We can also remove common resources that have little or no cost."
]
},
{
"cell_type": "code",
"execution_count": 51,
"id": "d55d5643-26d5-4820-b166-75e619b46ab1",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"//appengine.googleapis.com/apps/just-armor-301114\n",
"//bigquery.googleapis.com/projects/just-armor-301114/datasets/SAFE_Billing\n",
"//bigquery.googleapis.com/projects/just-armor-301114/datasets/SAFE_Billing/tables/cloud_pricing_export\n",
"//bigquery.googleapis.com/projects/just-armor-301114/datasets/SAFE_Billing/tables/gcp_billing_export_v1_01FBF6_A0C37F_BD97C8\n",
"//cloudresourcemanager.googleapis.com/projects/just-armor-301114\n",
"//compute.googleapis.com/projects/just-armor-301114\n",
"//compute.googleapis.com/projects/just-armor-301114/zones/us-west2-c/disks/essentials\n",
"//compute.googleapis.com/projects/just-armor-301114/zones/us-west2-c/instances/essentials\n",
"//dns.googleapis.com/projects/just-armor-301114/managedZones/5691889021211349439\n",
"//pubsub.googleapis.com/projects/just-armor-301114/topics/Bucket\n",
"//storage.googleapis.com/essentials-learner-2021-12-13\n"
]
}
],
"source": [
"gcloud asset search-all-resources --format='value(name)' |grep -vE '/(services|networks|routes|subnetworks|firewalls|serviceAccounts)/' | sort"
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "4257fd1f-d713-45d5-8121-9a666e055274",
"metadata": {},
"outputs": [],
"source": []
}
],
"metadata": {
Expand Down

0 comments on commit ab1d5f0

Please sign in to comment.