Skip to content

Instantly share code, notes, and snippets.

@bshaffer
Last active February 9, 2023 15:14
Show Gist options
  • Save bshaffer/3d2c6eb4f07d33f8d252989d8699e6e6 to your computer and use it in GitHub Desktop.
Save bshaffer/3d2c6eb4f07d33f8d252989d8699e6e6 to your computer and use it in GitHub Desktop.
bash script to loop through all the servivces and generate the preferred version
#!/bin/bash
# Make sure you clone the discovery-artifact-manager repo in the directory outside of this one:
# $ git clone https://github.com/googleapis/discovery-artifact-manager
SERVICES=("abusiveexperiencereport" "acceleratedmobilepageurl" "accessapproval" "accesscontextmanager" "adexchangebuyer2" "adexperiencereport" "admin" "admob" "adsense" "adsensehost" "alertcenter" "analytics" "analyticsadmin" "analyticsdata" "analyticshub" "analyticsreporting" "androiddeviceprovisioning" "androidenterprise" "androidmanagement" "androidpublisher" "apigateway" "apigee" "apigeeregistry" "apikeys" "appengine" "area120tables" "artifactregistry" "assuredworkloads" "authorizedbuyersmarketplace" "baremetalsolution" "batch" "beyondcorp" "bigquery" "bigqueryconnection" "bigquerydatatransfer" "bigqueryreservation" "bigtableadmin" "billingbudgets" "binaryauthorization" "blogger" "books" "businessprofileperformance" "calendar" "certificatemanager" "chat" "chromemanagement" "chromepolicy" "chromeuxreport" "civicinfo" "classroom" "cloudasset" "cloudbilling" "cloudbuild" "cloudchannel" "clouddebugger" "clouddeploy" "clouderrorreporting" "cloudfunctions" "cloudidentity" "cloudiot" "cloudkms" "cloudprofiler" "cloudresourcemanager" "cloudscheduler" "cloudsearch" "cloudshell" "cloudsupport" "cloudtasks" "cloudtrace" "composer" "compute" "connectors" "contactcenterinsights" "container" "containeranalysis" "content" "contentwarehouse" "customsearch" "datacatalog" "dataflow" "datafusion" "datalabeling" "datamigration" "datapipelines" "dataplex" "dataproc" "datastore" "datastream" "deploymentmanager" "dfareporting" "dialogflow" "digitalassetlinks" "discovery" "discoveryengine" "displayvideo" "dlp" "dns" "docs" "documentai" "domains" "domainsrdap" "doubleclickbidmanager" "doubleclicksearch" "drive" "driveactivity" "drivelabels" "essentialcontacts" "eventarc" "factchecktools" "fcm" "fcmdata" "file" "firebase" "firebaseappcheck" "firebasedatabase" "firebasedynamiclinks" "firebasehosting" "firebaseml" "firebaserules" "firebasestorage" "firestore" "fitness" "forms" "games" "gamesConfiguration" "gamesManagement" "gameservices" "genomics" "gkebackup" "gkehub" "gmail" "gmailpostmastertools" "groupsmigration" "groupssettings" "healthcare" "homegraph" "iam" "iamcredentials" "iap" "ideahub" "identitytoolkit" "ids" "index" "indexing" "integrations" "jobs" "keep" "kgsearch" "language" "libraryagent" "licensing" "lifesciences" "localservices" "logging" "managedidentities" "manufacturers" "memcache" "metastore" "ml" "monitoring" "mybusinessaccountmanagement" "mybusinessbusinesscalls" "mybusinessbusinessinformation" "mybusinesslodging" "mybusinessnotifications" "mybusinessplaceactions" "mybusinessqanda" "mybusinessverifications" "networkconnectivity" "networkmanagement" "networksecurity" "networkservices" "notebooks" "oauth2" "ondemandscanning" "orgpolicy" "osconfig" "oslogin" "pagespeedonline" "paymentsresellersubscription" "people" "playcustomapp" "playdeveloperreporting" "playintegrity" "policyanalyzer" "policysimulator" "policytroubleshooter" "poly" "privateca" "prod_tt_sasportal" "pubsub" "pubsublite" "realtimebidding" "recaptchaenterprise" "recommendationengine" "recommender" "redis" "reseller" "resourcesettings" "retail" "run" "runtimeconfig" "safebrowsing" "sasportal" "script" "searchconsole" "secretmanager" "securitycenter" "serviceconsumermanagement" "servicecontrol" "servicedirectory" "servicemanagement" "servicenetworking" "serviceusage" "sheets" "siteVerification" "slides" "smartdevicemanagement" "sourcerepo" "spanner" "speech" "sqladmin" "storage" "storagetransfer" "streetviewpublish" "sts" "tagmanager" "tasks" "testing" "texttospeech" "toolresults" "tpu" "trafficdirector" "transcoder" "translate" "travelimpactmodel" "vault" "verifiedaccess" "versionhistory" "videointelligence" "vision" "vmmigration" "webfonts" "webrisk" "websecurityscanner" "workflowexecutions" "workflows" "youtube" "youtubeAnalytics" "youtubereporting")
ALL_VERSIONS=$(curl -L https://raw.githubusercontent.com/googleapis/discovery-artifact-manager/master/discoveries/index.json)
for SERVICE in "${SERVICES[@]}"; do {
VERSIONS=$( echo $ALL_VERSIONS | jq -r "[.items[] | select(.name == \"$SERVICE\") | select(.name == \"admin\" or .preferred).version] | join(\",\")" )
bash .github/workflows/generate.sh $SERVICE $VERSIONS
}; done
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment