From 69fb05c4e1d47365f87fc4c0f34b7af3b7ca79ab Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Fri, 10 Jul 2020 09:11:32 +0800 Subject: [PATCH] update API descriptions --- .../v1/abusiveexperiencereport-api.json | 2 +- .../v1/acceleratedmobilepageurl-api.json | 2 +- .../accessapproval/v1/accessapproval-api.json | 8 +- .../v1beta1/accessapproval-api.json | 8 +- .../v1/accesscontextmanager-api.json | 2 +- .../v1beta/accesscontextmanager-api.json | 2 +- .../v1.2/adexchangebuyer-api.json | 2 +- .../v1.3/adexchangebuyer-api.json | 2 +- .../v1.4/adexchangebuyer-api.json | 2 +- .../v2beta1/adexchangebuyer2-api.json | 24 +- .../v1/adexperiencereport-api.json | 2 +- etc/api/admin/datatransfer_v1/admin-api.json | 411 - etc/api/admin/directory_v1/admin-api.json | 6921 --------- etc/api/admin/reports_v1/admin-api.json | 1012 -- etc/api/admob/v1/admob-api.json | 8 +- etc/api/adsense/v1.4/adsense-api.json | 2 +- etc/api/adsensehost/v4.1/adsensehost-api.json | 2 +- .../alertcenter/v1beta1/alertcenter-api.json | 2 +- .../v4/analyticsreporting-api.json | 2 +- .../v1/androiddeviceprovisioning-api.json | 38 +- .../v1/androidenterprise-api.json | 1463 +- .../v1/androidmanagement-api.json | 131 +- .../v3/androidpublisher-api.json | 1479 +- etc/api/api-list.yaml | 77 + etc/api/apigee/v1/apigee-api.json | 7568 ++++++++++ etc/api/appengine/v1/appengine-api.json | 18 +- etc/api/appengine/v1alpha/appengine-api.json | 2 +- etc/api/appengine/v1beta/appengine-api.json | 18 +- etc/api/appsactivity/v1/appsactivity-api.json | 4 +- .../v1beta1/artifactregistry-api.json | 1565 ++ etc/api/bigquery/v2/bigquery-api.json | 404 +- .../v1beta1/bigqueryconnection-api.json | 22 +- .../v1/bigquerydatatransfer-api.json | 2 +- .../v1/bigqueryreservation-api.json | 171 +- .../v1alpha2/bigqueryreservation-api.json | 4 +- .../v1beta1/bigqueryreservation-api.json | 118 +- .../bigtableadmin/v1/bigtableadmin-api.json | 16 +- .../bigtableadmin/v2/bigtableadmin-api.json | 66 +- .../v1beta1/billingbudgets-api.json | 19 +- .../v1/binaryauthorization-api.json | 20 +- .../v1beta1/binaryauthorization-api.json | 20 +- etc/api/blogger/v2/blogger-api.json | 495 +- etc/api/blogger/v3/blogger-api.json | Bin 6847 -> 95451 bytes etc/api/books/v1/books-api.json | 1087 +- etc/api/calendar/v3/calendar-api.json | 13 +- etc/api/chat/v1/chat-api.json | 16 +- .../chromeuxreport/v1/chromeuxreport-api.json | 293 + etc/api/civicinfo/v2/civicinfo-api.json | 795 +- etc/api/classroom/v1/classroom-api.json | 8 +- etc/api/cloudasset/v1/cloudasset-api.json | 78 +- .../cloudasset/v1beta1/cloudasset-api.json | 501 +- .../cloudasset/v1p1beta1/cloudasset-api.json | 481 + .../cloudasset/v1p4beta1/cloudasset-api.json | 723 + etc/api/cloudbilling/v1/cloudbilling-api.json | 50 +- etc/api/cloudbuild/v1/cloudbuild-api.json | 293 +- .../cloudbuild/v1alpha1/cloudbuild-api.json | 320 +- .../cloudbuild/v1alpha2/cloudbuild-api.json | 320 +- .../clouddebugger/v2/clouddebugger-api.json | 64 +- .../v1beta1/clouderrorreporting-api.json | 6 +- .../cloudfunctions/v1/cloudfunctions-api.json | 30 +- .../v1beta2/cloudfunctions-api.json | 6 +- .../cloudidentity/v1/cloudidentity-api.json | 2 +- .../v1beta1/cloudidentity-api.json | 282 +- etc/api/cloudiot/v1/cloudiot-api.json | 12 +- etc/api/cloudkms/v1/cloudkms-api.json | 115 +- .../cloudprofiler/v2/cloudprofiler-api.json | 2 +- .../v1/cloudresourcemanager-api.json | 44 +- .../v1beta1/cloudresourcemanager-api.json | 26 +- .../v2/cloudresourcemanager-api.json | 18 +- .../v2beta1/cloudresourcemanager-api.json | 18 +- .../cloudscheduler/v1/cloudscheduler-api.json | 6 +- .../v1beta1/cloudscheduler-api.json | 6 +- etc/api/cloudsearch/v1/cloudsearch-api.json | 20 +- etc/api/cloudshell/v1/cloudshell-api.json | 10 +- .../cloudshell/v1alpha1/cloudshell-api.json | 17 +- etc/api/cloudtasks/v2/cloudtasks-api.json | 22 +- .../cloudtasks/v2beta2/cloudtasks-api.json | 18 +- .../cloudtasks/v2beta3/cloudtasks-api.json | 34 +- etc/api/cloudtrace/v1/cloudtrace-api.json | 2 +- etc/api/cloudtrace/v2/cloudtrace-api.json | 4 +- .../cloudtrace/v2beta1/cloudtrace-api.json | 2 +- etc/api/composer/v1/composer-api.json | 2 +- etc/api/composer/v1beta1/composer-api.json | 34 +- etc/api/compute/alpha/compute-api.json | 2270 ++- etc/api/compute/beta/compute-api.json | 739 +- etc/api/compute/v1/compute-api.json | 1350 +- etc/api/container/v1/container-api.json | 405 +- etc/api/container/v1beta1/container-api.json | 469 +- .../v1alpha1/containeranalysis-api.json | 12 +- .../v1beta1/containeranalysis-api.json | 232 +- etc/api/content/v2.1/content-api.json | 1668 ++- etc/api/content/v2/content-api.json | 673 +- etc/api/customsearch/v1/customsearch-api.json | 1243 +- .../datacatalog/v1beta1/datacatalog-api.json | 86 +- etc/api/dataflow/v1b3/dataflow-api.json | 444 +- .../datafusion/v1beta1/datafusion-api.json | 99 +- etc/api/dataproc/v1/dataproc-api.json | 124 +- etc/api/dataproc/v1beta2/dataproc-api.json | 166 +- etc/api/datastore/v1/datastore-api.json | 4 +- etc/api/datastore/v1beta1/datastore-api.json | 2 +- etc/api/datastore/v1beta3/datastore-api.json | 4 +- .../alpha/deploymentmanager-api.json | 395 +- .../v2/deploymentmanager-api.json | 154 +- .../v2beta/deploymentmanager-api.json | 201 +- .../dfareporting/v3.3/dfareporting-api.json | 33 +- .../dfareporting/v3.4/dfareporting-api.json | 37 +- etc/api/dialogflow/v2/dialogflow-api.json | 630 +- .../dialogflow/v2beta1/dialogflow-api.json | 840 +- .../v1/digitalassetlinks-api.json | 2 +- etc/api/discovery/v1/discovery-api.json | 4 +- etc/api/displayvideo/v1/displayvideo-api.json | 11825 ++++++++++++++++ etc/api/dlp/v2/dlp-api.json | 475 +- etc/api/dns/v1/dns-api.json | 295 +- etc/api/dns/v1beta2/dns-api.json | 452 +- etc/api/dns/v2beta1/dns-api.json | 295 +- .../documentai/v1beta2/documentai-api.json | 2190 +++ etc/api/domainsrdap/v1/domainsrdap-api.json | 2 +- .../v1.1/doubleclickbidmanager-api.json | 10 +- .../v1/doubleclickbidmanager-api.json | 4 +- etc/api/drive/v2/drive-api.json | 94 +- etc/api/drive/v3/drive-api.json | 60 +- .../driveactivity/v2/driveactivity-api.json | 10 +- .../v1alpha1/factchecktools-api.json | 2 +- etc/api/fcm/v1/fcm-api.json | 4 +- etc/api/file/v1/file-api.json | 33 +- etc/api/file/v1beta1/file-api.json | 106 +- etc/api/firebase/v1beta1/firebase-api.json | 64 +- .../v1/firebasedynamiclinks-api.json | 2 +- .../v1/firebasehosting-api.json | 289 + .../v1beta1/firebasehosting-api.json | 567 +- etc/api/firebaseml/v1/firebaseml-api.json | 331 + .../firebaseml/v1beta2/firebaseml-api.json | 502 + .../firebaserules/v1/firebaserules-api.json | 2 +- etc/api/firestore/v1/firestore-api.json | 2 +- etc/api/firestore/v1beta1/firestore-api.json | 2 +- etc/api/firestore/v1beta2/firestore-api.json | 2 +- etc/api/fitness/v1/fitness-api.json | 415 +- etc/api/games/v1/games-api.json | 2790 +--- .../gamesconfiguration-api.json | 26 +- etc/api/gameservices/v1/gameservices-api.json | 2749 ++++ .../gameservices/v1beta/gameservices-api.json | 2749 ++++ .../v1management/gamesmanagement-api.json | 336 +- etc/api/genomics/v1/genomics-api.json | 2 +- etc/api/genomics/v1alpha2/genomics-api.json | 2 +- etc/api/genomics/v2alpha1/genomics-api.json | 116 +- etc/api/gmail/v1/gmail-api.json | 38 +- .../v1beta1/gmailpostmastertools-api.json | 512 + .../v1/groupsmigration-api.json | 74 +- .../groupssettings/v1/groupssettings-api.json | 5 +- etc/api/healthcare/v1/healthcare-api.json | 3999 ++++++ .../healthcare/v1beta1/healthcare-api.json | 1219 +- etc/api/homegraph/v1/homegraph-api.json | 10 +- etc/api/iam/v1/iam-api.json | 128 +- .../iamcredentials/v1/iamcredentials-api.json | 14 +- etc/api/iap/v1/iap-api.json | 22 +- etc/api/iap/v1beta1/iap-api.json | 12 +- etc/api/indexing/v3/indexing-api.json | 2 +- etc/api/jobs/v2/jobs-api.json | 2 +- etc/api/jobs/v3/jobs-api.json | 4 +- etc/api/jobs/v3p1beta1/jobs-api.json | 4 +- etc/api/kgsearch/v1/kgsearch-api.json | 2 +- etc/api/language/v1/language-api.json | 2 +- etc/api/language/v1beta1/language-api.json | 2 +- etc/api/language/v1beta2/language-api.json | 2 +- etc/api/libraryagent/v1/libraryagent-api.json | 2 +- etc/api/licensing/v1/licensing-api.json | 465 - .../lifesciences/v2beta/lifesciences-api.json | 9 +- etc/api/logging/v2/logging-api.json | 56 +- .../v1/managedidentities-api.json | 1630 +++ .../v1alpha1/managedidentities-api.json | 1615 +++ .../v1beta1/managedidentities-api.json | 1630 +++ .../manufacturers/v1/manufacturers-api.json | 2 +- etc/api/memcache/v1beta2/memcache-api.json | 1507 ++ etc/api/ml/v1/ml-api.json | 143 +- etc/api/monitoring/v1/monitoring-api.json | 38 +- etc/api/monitoring/v3/monitoring-api.json | 98 +- etc/api/mybusiness/v4/mybusiness-api.json | 102 +- .../v1/networkmanagement-api.json | 1870 +++ .../v1beta1/networkmanagement-api.json | 1870 +++ etc/api/osconfig/v1/osconfig-api.json | 1334 ++ etc/api/osconfig/v1beta/osconfig-api.json | 26 +- etc/api/oslogin/v1/oslogin-api.json | 2 +- etc/api/oslogin/v1alpha/oslogin-api.json | 2 +- etc/api/oslogin/v1beta/oslogin-api.json | 2 +- .../v5/pagespeedonline-api.json | 6 +- etc/api/people/v1/people-api.json | 461 +- .../photoslibrary/v1/photoslibrary-api.json | 80 +- .../v3/playablelocations-api.json | 528 + .../playcustomapp/v1/playcustomapp-api.json | 82 +- .../v1/policytroubleshooter-api.json | 12 +- .../v1beta/policytroubleshooter-api.json | 12 +- etc/api/poly/v1/poly-api.json | 2 +- .../v1alpha1/prod_tt_sasportal-api.json | 568 +- etc/api/pubsub/v1/pubsub-api.json | 26 +- etc/api/pubsub/v1beta1a/pubsub-api.json | 2 +- etc/api/pubsub/v1beta2/pubsub-api.json | 20 +- .../v1/realtimebidding-api.json | 1782 +++ etc/api/recommender/v1/recommender-api.json | 868 ++ .../recommender/v1beta1/recommender-api.json | 2 +- etc/api/redis/v1/redis-api.json | 16 +- etc/api/redis/v1beta1/redis-api.json | 16 +- .../v1/remotebuildexecution-api.json | 51 +- .../v1alpha/remotebuildexecution-api.json | 51 +- .../v2/remotebuildexecution-api.json | 51 +- etc/api/reseller/v1/reseller-api.json | 2 +- etc/api/run/v1/run-api.json | 47 +- etc/api/run/v1alpha1/run-api.json | 34 +- etc/api/run/v1beta1/run-api.json | 2 +- .../runtimeconfig/v1/runtimeconfig-api.json | 2 +- .../v1beta1/runtimeconfig-api.json | 20 +- etc/api/safebrowsing/v4/safebrowsing-api.json | 2 +- etc/api/sasportal/v1alpha1/sasportal-api.json | 568 +- etc/api/script/v1/script-api.json | 14 +- .../searchconsole/v1/searchconsole-api.json | 2 +- .../secretmanager/v1/secretmanager-api.json | 1077 ++ .../v1beta1/secretmanager-api.json | 16 +- .../securitycenter/v1/securitycenter-api.json | 98 +- .../v1beta1/securitycenter-api.json | 82 +- .../v1p1alpha1/securitycenter-api.json | 66 +- .../v1p1beta1/securitycenter-api.json | 98 +- .../v1/serviceconsumermanagement-api.json | 88 +- .../serviceconsumermanagement-api.json | 2561 ++++ .../servicecontrol/v1/servicecontrol-api.json | 23 +- .../v1beta1/servicedirectory-api.json | 1233 ++ .../v1/servicemanagement-api.json | 61 +- .../v1/servicenetworking-api.json | 390 +- .../v1beta/servicenetworking-api.json | 136 +- etc/api/serviceusage/v1/serviceusage-api.json | 104 +- .../v1beta1/serviceusage-api.json | 176 +- etc/api/sheets/v4/sheets-api.json | 8 +- .../v1/siteverification-api.json | 2 +- etc/api/slides/v1/slides-api.json | 12 +- etc/api/sourcerepo/v1/sourcerepo-api.json | 27 +- etc/api/spanner/v1/spanner-api.json | 28 +- etc/api/speech/v1/speech-api.json | 4 +- etc/api/speech/v1p1beta1/speech-api.json | 103 +- etc/api/speech/v2beta1/speech-api.json | 2 +- etc/api/storage/v1/storage-api.json | 31 +- etc/api/storage/v1beta2/storage-api.json | 4 +- .../v1/storagetransfer-api.json | 4 +- .../v1/streetviewpublish-api.json | 2 +- etc/api/tagmanager/v1/tagmanager-api.json | 4 +- etc/api/tagmanager/v2/tagmanager-api.json | 4 +- etc/api/tasks/v1/tasks-api.json | 179 +- etc/api/testing/v1/testing-api.json | 32 +- etc/api/texttospeech/v1/texttospeech-api.json | 8 +- .../v1beta1/texttospeech-api.json | 8 +- etc/api/tpu/v1/tpu-api.json | 4 +- etc/api/tpu/v1alpha1/tpu-api.json | 4 +- etc/api/translate/v3/translate-api.json | 4 +- etc/api/translate/v3beta1/translate-api.json | 2 +- etc/api/vault/v1/vault-api.json | 30 +- etc/api/vectortile/v1/vectortile-api.json | 847 ++ .../verifiedaccess/v1/verifiedaccess-api.json | 7 +- .../v1/videointelligence-api.json | 237 +- .../v1beta2/videointelligence-api.json | 204 +- .../v1p1beta1/videointelligence-api.json | 669 +- .../v1p2beta1/videointelligence-api.json | 669 +- .../v1p3beta1/videointelligence-api.json | 214 +- etc/api/vision/v1/vision-api.json | 6 +- etc/api/vision/v1p1beta1/vision-api.json | 6 +- etc/api/vision/v1p2beta1/vision-api.json | 6 +- etc/api/webfonts/v1/webfonts-api.json | 101 +- etc/api/webmasters/v3/webmasters-api.json | 2 +- .../v1/websecurityscanner-api.json | 18 +- .../v1alpha/websecurityscanner-api.json | 8 +- .../v1beta/websecurityscanner-api.json | 20 +- etc/api/youtube/v3/youtube-api.json | 5228 +++---- .../v1/youtubeanalytics-api.json | 2 +- .../v2/youtubeanalytics-api.json | 2 +- .../v1/youtubereporting-api.json | 2 +- 271 files changed, 82506 insertions(+), 23249 deletions(-) delete mode 100644 etc/api/admin/datatransfer_v1/admin-api.json delete mode 100644 etc/api/admin/directory_v1/admin-api.json delete mode 100644 etc/api/admin/reports_v1/admin-api.json create mode 100644 etc/api/apigee/v1/apigee-api.json create mode 100644 etc/api/artifactregistry/v1beta1/artifactregistry-api.json create mode 100644 etc/api/chromeuxreport/v1/chromeuxreport-api.json create mode 100644 etc/api/cloudasset/v1p1beta1/cloudasset-api.json create mode 100644 etc/api/cloudasset/v1p4beta1/cloudasset-api.json create mode 100644 etc/api/displayvideo/v1/displayvideo-api.json create mode 100644 etc/api/documentai/v1beta2/documentai-api.json create mode 100644 etc/api/firebasehosting/v1/firebasehosting-api.json create mode 100644 etc/api/firebaseml/v1/firebaseml-api.json create mode 100644 etc/api/firebaseml/v1beta2/firebaseml-api.json create mode 100644 etc/api/gameservices/v1/gameservices-api.json create mode 100644 etc/api/gameservices/v1beta/gameservices-api.json create mode 100644 etc/api/gmailpostmastertools/v1beta1/gmailpostmastertools-api.json create mode 100644 etc/api/healthcare/v1/healthcare-api.json delete mode 100644 etc/api/licensing/v1/licensing-api.json create mode 100644 etc/api/managedidentities/v1/managedidentities-api.json create mode 100644 etc/api/managedidentities/v1alpha1/managedidentities-api.json create mode 100644 etc/api/managedidentities/v1beta1/managedidentities-api.json create mode 100644 etc/api/memcache/v1beta2/memcache-api.json create mode 100644 etc/api/networkmanagement/v1/networkmanagement-api.json create mode 100644 etc/api/networkmanagement/v1beta1/networkmanagement-api.json create mode 100644 etc/api/osconfig/v1/osconfig-api.json create mode 100644 etc/api/playablelocations/v3/playablelocations-api.json create mode 100644 etc/api/realtimebidding/v1/realtimebidding-api.json create mode 100644 etc/api/recommender/v1/recommender-api.json create mode 100644 etc/api/secretmanager/v1/secretmanager-api.json create mode 100644 etc/api/serviceconsumermanagement/v1beta1/serviceconsumermanagement-api.json create mode 100644 etc/api/servicedirectory/v1beta1/servicedirectory-api.json create mode 100644 etc/api/vectortile/v1/vectortile-api.json diff --git a/etc/api/abusiveexperiencereport/v1/abusiveexperiencereport-api.json b/etc/api/abusiveexperiencereport/v1/abusiveexperiencereport-api.json index d05c80a1db..e3e3ad25fc 100644 --- a/etc/api/abusiveexperiencereport/v1/abusiveexperiencereport-api.json +++ b/etc/api/abusiveexperiencereport/v1/abusiveexperiencereport-api.json @@ -139,7 +139,7 @@ } } }, - "revision": "20200405", + "revision": "20200706", "rootUrl": "https://abusiveexperiencereport.googleapis.com/", "schemas": { "SiteSummaryResponse": { diff --git a/etc/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json b/etc/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json index 9fff0a22b7..8c467c8263 100644 --- a/etc/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json +++ b/etc/api/acceleratedmobilepageurl/v1/acceleratedmobilepageurl-api.json @@ -115,7 +115,7 @@ } } }, - "revision": "20200409", + "revision": "20200708", "rootUrl": "https://acceleratedmobilepageurl.googleapis.com/", "schemas": { "AmpUrl": { diff --git a/etc/api/accessapproval/v1/accessapproval-api.json b/etc/api/accessapproval/v1/accessapproval-api.json index d2605dcac1..d041492d1e 100644 --- a/etc/api/accessapproval/v1/accessapproval-api.json +++ b/etc/api/accessapproval/v1/accessapproval-api.json @@ -286,7 +286,7 @@ ], "parameters": { "filter": { - "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
", + "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
  11. HISTORY: Active and dismissed (including expired) requests.
  12. \n
", "location": "query", "type": "string" }, @@ -502,7 +502,7 @@ ], "parameters": { "filter": { - "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
", + "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
  11. HISTORY: Active and dismissed (including expired) requests.
  12. \n
", "location": "query", "type": "string" }, @@ -718,7 +718,7 @@ ], "parameters": { "filter": { - "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
", + "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
  11. HISTORY: Active and dismissed (including expired) requests.
  12. \n
", "location": "query", "type": "string" }, @@ -754,7 +754,7 @@ } } }, - "revision": "20200409", + "revision": "20200708", "rootUrl": "https://accessapproval.googleapis.com/", "schemas": { "AccessApprovalSettings": { diff --git a/etc/api/accessapproval/v1beta1/accessapproval-api.json b/etc/api/accessapproval/v1beta1/accessapproval-api.json index 6387295f96..140f85119a 100644 --- a/etc/api/accessapproval/v1beta1/accessapproval-api.json +++ b/etc/api/accessapproval/v1beta1/accessapproval-api.json @@ -286,7 +286,7 @@ ], "parameters": { "filter": { - "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
", + "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
  11. HISTORY: Active and dismissed (including expired) requests.
  12. \n
", "location": "query", "type": "string" }, @@ -502,7 +502,7 @@ ], "parameters": { "filter": { - "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
", + "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
  11. HISTORY: Active and dismissed (including expired) requests.
  12. \n
", "location": "query", "type": "string" }, @@ -718,7 +718,7 @@ ], "parameters": { "filter": { - "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
", + "description": "A filter on the type of approval requests to retrieve. Must be one of the\nfollowing values:\n
    \n
  1. [not set]: Requests that are pending or have active approvals.
  2. \n
  3. ALL: All requests.
  4. \n
  5. PENDING: Only pending requests.
  6. \n
  7. ACTIVE: Only active (i.e. currently approved) requests.
  8. \n
  9. DISMISSED: Only dismissed (including expired) requests.
  10. \n
  11. HISTORY: Active and dismissed (including expired) requests.
  12. \n
", "location": "query", "type": "string" }, @@ -754,7 +754,7 @@ } } }, - "revision": "20200409", + "revision": "20200708", "rootUrl": "https://accessapproval.googleapis.com/", "schemas": { "AccessApprovalSettings": { diff --git a/etc/api/accesscontextmanager/v1/accesscontextmanager-api.json b/etc/api/accesscontextmanager/v1/accesscontextmanager-api.json index bfbb7b967d..31bc264e2a 100644 --- a/etc/api/accesscontextmanager/v1/accesscontextmanager-api.json +++ b/etc/api/accesscontextmanager/v1/accesscontextmanager-api.json @@ -777,7 +777,7 @@ } } }, - "revision": "20200405", + "revision": "20200619", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { "AccessLevel": { diff --git a/etc/api/accesscontextmanager/v1beta/accesscontextmanager-api.json b/etc/api/accesscontextmanager/v1beta/accesscontextmanager-api.json index b2286b24da..6b166227de 100644 --- a/etc/api/accesscontextmanager/v1beta/accesscontextmanager-api.json +++ b/etc/api/accesscontextmanager/v1beta/accesscontextmanager-api.json @@ -599,7 +599,7 @@ } } }, - "revision": "20200405", + "revision": "20200619", "rootUrl": "https://accesscontextmanager.googleapis.com/", "schemas": { "AccessLevel": { diff --git a/etc/api/adexchangebuyer/v1.2/adexchangebuyer-api.json b/etc/api/adexchangebuyer/v1.2/adexchangebuyer-api.json index dff86593ab..fbe2fdf8c2 100644 --- a/etc/api/adexchangebuyer/v1.2/adexchangebuyer-api.json +++ b/etc/api/adexchangebuyer/v1.2/adexchangebuyer-api.json @@ -15,7 +15,7 @@ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/NqH-dIwRC63Jam7EMg3FwCUSX_o\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/NqH-dIwRC63Jam7EMg3FwCUSX_o\"", "icons": { "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" diff --git a/etc/api/adexchangebuyer/v1.3/adexchangebuyer-api.json b/etc/api/adexchangebuyer/v1.3/adexchangebuyer-api.json index 85962790f0..4d35ce94e3 100644 --- a/etc/api/adexchangebuyer/v1.3/adexchangebuyer-api.json +++ b/etc/api/adexchangebuyer/v1.3/adexchangebuyer-api.json @@ -15,7 +15,7 @@ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/q3PXuYjke5DLC1iS16IMMN2X5Kc\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/q3PXuYjke5DLC1iS16IMMN2X5Kc\"", "icons": { "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" diff --git a/etc/api/adexchangebuyer/v1.4/adexchangebuyer-api.json b/etc/api/adexchangebuyer/v1.4/adexchangebuyer-api.json index 52983c9be4..7abedb6071 100644 --- a/etc/api/adexchangebuyer/v1.4/adexchangebuyer-api.json +++ b/etc/api/adexchangebuyer/v1.4/adexchangebuyer-api.json @@ -15,7 +15,7 @@ "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/jeeKbeKt3C57J6G4NBTg4KfprYo\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/jeeKbeKt3C57J6G4NBTg4KfprYo\"", "icons": { "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" diff --git a/etc/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json b/etc/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json index cca867cd94..e76f0d7bf7 100644 --- a/etc/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json +++ b/etc/api/adexchangebuyer2/v2beta1/adexchangebuyer2-api.json @@ -2486,7 +2486,7 @@ } } }, - "revision": "20200409", + "revision": "20200709", "rootUrl": "https://adexchangebuyer.googleapis.com/", "schemas": { "AbsoluteDateRange": { @@ -2660,6 +2660,10 @@ "$ref": "MetricValue", "description": "The number of bids for which the corresponding impression was measurable\nfor viewability (as defined by Active View)." }, + "reachedQueries": { + "$ref": "MetricValue", + "description": "The number of bids that won the auction and also won the mediation\nwaterfall (if any)." + }, "rowDimensions": { "$ref": "RowDimensions", "description": "The values of all dimensions associated with metric values in this row." @@ -2753,7 +2757,7 @@ "type": "string" }, "entityId": { - "description": "Numerical identifier of the client entity.\nThe entity can be an advertiser, a brand, or an agency.\nThis identifier is unique among all the entities with the same type.\n\nA list of all known advertisers with their identifiers is available in the\n[advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)\nfile.\n\nA list of all known brands with their identifiers is available in the\n[brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)\nfile.\n\nA list of all known agencies with their identifiers is available in the\n[agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)\nfile.", + "description": "Numerical identifier of the client entity.\nThe entity can be an advertiser, a brand, or an agency.\nThis identifier is unique among all the entities with the same type.\nThe value of this field is ignored if the entity type is not provided.\n\nA list of all known advertisers with their identifiers is available in the\n[advertisers.txt](https://storage.googleapis.com/adx-rtb-dictionaries/advertisers.txt)\nfile.\n\nA list of all known brands with their identifiers is available in the\n[brands.txt](https://storage.googleapis.com/adx-rtb-dictionaries/brands.txt)\nfile.\n\nA list of all known agencies with their identifiers is available in the\n[agencies.txt](https://storage.googleapis.com/adx-rtb-dictionaries/agencies.txt)\nfile.", "format": "int64", "type": "string" }, @@ -2762,7 +2766,7 @@ "type": "string" }, "entityType": { - "description": "The type of the client entity: `ADVERTISER`, `BRAND`, or `AGENCY`.", + "description": "An optional field for specifying the type of the client entity:\n`ADVERTISER`, `BRAND`, or `AGENCY`.", "enum": [ "ENTITY_TYPE_UNSPECIFIED", "ADVERTISER", @@ -4963,12 +4967,16 @@ "enum": [ "STATUS_UNSPECIFIED", "AD_NOT_RENDERED", - "INVALID_IMPRESSION" + "INVALID_IMPRESSION", + "FATAL_VAST_ERROR", + "LOST_IN_MEDIATION" ], "enumDescriptions": [ "A placeholder for an undefined status.\nThis value will never be returned in responses.", "The buyer was not billed because the ad was not rendered by the\npublisher.", - "The buyer was not billed because the impression won by the bid was\ndetermined to be invalid." + "The buyer was not billed because the impression won by the bid was\ndetermined to be invalid.", + "A video impression was served but a fatal error was reported from the\nclient during playback.", + "The buyer was not billed because the ad was outplaced in the mediation\nwaterfall." ], "type": "string" } @@ -5391,7 +5399,7 @@ "type": "object" }, "PublisherProfile": { - "description": "Note: this resource requires whitelisting for access. Please contact your\naccount manager for access to Marketplace resources.\n\nRepresents a publisher profile in Marketplace.\n\nAll fields are read only. All string fields are free-form text entered by the\npublisher unless noted otherwise.", + "description": "Note: this resource requires whitelisting for access. Please contact your\naccount manager for access to Marketplace resources.\n\nRepresents a publisher profile\n(https://support.google.com/admanager/answer/6035806?hl=en) in Marketplace.\n\nAll fields are read only. All string fields are free-form text entered by the\npublisher unless noted otherwise.", "id": "PublisherProfile", "properties": { "audienceDescription": { @@ -5421,6 +5429,10 @@ "description": "URL to publisher's Google+ page.", "type": "string" }, + "isParent": { + "description": "Indicates if this profile is the parent profile of the seller. A parent\nprofile represents all the inventory from the seller, as opposed to child\nprofile that is created to brand a portion of inventory. One seller should\nhave only one parent publisher profile, and can have multiple child\nprofiles. Publisher profiles for the same seller will have same value of\nfield google.ads.adexchange.buyer.v2beta1.PublisherProfile.seller.\nSee https://support.google.com/admanager/answer/6035806?hl=en for details.", + "type": "boolean" + }, "logoUrl": { "description": "A Google public URL to the logo for this publisher profile. The logo is\nstored as a PNG, JPG, or GIF image.", "type": "string" diff --git a/etc/api/adexperiencereport/v1/adexperiencereport-api.json b/etc/api/adexperiencereport/v1/adexperiencereport-api.json index 030095dd71..39edf867d1 100644 --- a/etc/api/adexperiencereport/v1/adexperiencereport-api.json +++ b/etc/api/adexperiencereport/v1/adexperiencereport-api.json @@ -138,7 +138,7 @@ } } }, - "revision": "20200405", + "revision": "20200704", "rootUrl": "https://adexperiencereport.googleapis.com/", "schemas": { "PlatformSummary": { diff --git a/etc/api/admin/datatransfer_v1/admin-api.json b/etc/api/admin/datatransfer_v1/admin-api.json deleted file mode 100644 index 82572213f4..0000000000 --- a/etc/api/admin/datatransfer_v1/admin-api.json +++ /dev/null @@ -1,411 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/admin.datatransfer": { - "description": "View and manage data transfers between users in your organization" - }, - "https://www.googleapis.com/auth/admin.datatransfer.readonly": { - "description": "View data transfers between users in your organization" - } - } - } - }, - "basePath": "/admin/datatransfer/v1/", - "baseUrl": "https://www.googleapis.com/admin/datatransfer/v1/", - "batchPath": "batch/admin/datatransfer_v1", - "canonicalName": "DataTransfer", - "description": "Transfers user data from one user to another.", - "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/admin-sdk/data-transfer/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/o-H78Id0Lcq1iHheSzpqURY4CLE\"", - "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" - }, - "id": "admin:datatransfer_v1", - "kind": "discovery#restDescription", - "name": "admin", - "ownerDomain": "google.com", - "ownerName": "Google", - "packagePath": "admin", - "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", - "enum": [ - "json" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json" - ], - "location": "query", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "location": "query", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", - "location": "query", - "type": "string" - } - }, - "protocol": "rest", - "resources": { - "applications": { - "methods": { - "get": { - "description": "Retrieves information about an application for the given application ID.", - "httpMethod": "GET", - "id": "datatransfer.applications.get", - "parameterOrder": [ - "applicationId" - ], - "parameters": { - "applicationId": { - "description": "ID of the application resource to be retrieved.", - "format": "int64", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "applications/{applicationId}", - "response": { - "$ref": "Application" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.datatransfer", - "https://www.googleapis.com/auth/admin.datatransfer.readonly" - ] - }, - "list": { - "description": "Lists the applications available for data transfer for a customer.", - "httpMethod": "GET", - "id": "datatransfer.applications.list", - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account.", - "location": "query", - "type": "string" - }, - "maxResults": { - "description": "Maximum number of results to return. Default is 100.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "Token to specify next page in the list.", - "location": "query", - "type": "string" - } - }, - "path": "applications", - "response": { - "$ref": "ApplicationsListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.datatransfer", - "https://www.googleapis.com/auth/admin.datatransfer.readonly" - ] - } - } - }, - "transfers": { - "methods": { - "get": { - "description": "Retrieves a data transfer request by its resource ID.", - "httpMethod": "GET", - "id": "datatransfer.transfers.get", - "parameterOrder": [ - "dataTransferId" - ], - "parameters": { - "dataTransferId": { - "description": "ID of the resource to be retrieved. This is returned in the response from the insert method.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "transfers/{dataTransferId}", - "response": { - "$ref": "DataTransfer" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.datatransfer", - "https://www.googleapis.com/auth/admin.datatransfer.readonly" - ] - }, - "insert": { - "description": "Inserts a data transfer request.", - "httpMethod": "POST", - "id": "datatransfer.transfers.insert", - "path": "transfers", - "request": { - "$ref": "DataTransfer" - }, - "response": { - "$ref": "DataTransfer" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.datatransfer" - ] - }, - "list": { - "description": "Lists the transfers for a customer by source user, destination user, or status.", - "httpMethod": "GET", - "id": "datatransfer.transfers.list", - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account.", - "location": "query", - "type": "string" - }, - "maxResults": { - "description": "Maximum number of results to return. Default is 100.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "newOwnerUserId": { - "description": "Destination user's profile ID.", - "location": "query", - "type": "string" - }, - "oldOwnerUserId": { - "description": "Source user's profile ID.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Token to specify the next page in the list.", - "location": "query", - "type": "string" - }, - "status": { - "description": "Status of the transfer.", - "location": "query", - "type": "string" - } - }, - "path": "transfers", - "response": { - "$ref": "DataTransfersListResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.datatransfer", - "https://www.googleapis.com/auth/admin.datatransfer.readonly" - ] - } - } - } - }, - "revision": "20191105", - "rootUrl": "https://www.googleapis.com/", - "schemas": { - "Application": { - "description": "The JSON template for an Application resource.", - "id": "Application", - "properties": { - "etag": { - "description": "Etag of the resource.", - "type": "string" - }, - "id": { - "description": "The application's ID.", - "format": "int64", - "type": "string" - }, - "kind": { - "default": "admin#datatransfer#ApplicationResource", - "description": "Identifies the resource as a DataTransfer Application Resource.", - "type": "string" - }, - "name": { - "description": "The application's name.", - "type": "string" - }, - "transferParams": { - "description": "The list of all possible transfer parameters for this application. These parameters can be used to select the data of the user in this application to be transferred.", - "items": { - "$ref": "ApplicationTransferParam" - }, - "type": "array" - } - }, - "type": "object" - }, - "ApplicationDataTransfer": { - "description": "Template to map fields of ApplicationDataTransfer resource.", - "id": "ApplicationDataTransfer", - "properties": { - "applicationId": { - "description": "The application's ID.", - "format": "int64", - "type": "string" - }, - "applicationTransferParams": { - "description": "The transfer parameters for the application. These parameters are used to select the data which will get transferred in context of this application.", - "items": { - "$ref": "ApplicationTransferParam" - }, - "type": "array" - }, - "applicationTransferStatus": { - "description": "Current status of transfer for this application. (Read-only)", - "type": "string" - } - }, - "type": "object" - }, - "ApplicationTransferParam": { - "description": "Template for application transfer parameters.", - "id": "ApplicationTransferParam", - "properties": { - "key": { - "description": "The type of the transfer parameter. eg: 'PRIVACY_LEVEL'", - "type": "string" - }, - "value": { - "description": "The value of the corresponding transfer parameter. eg: 'PRIVATE' or 'SHARED'", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "ApplicationsListResponse": { - "description": "Template for a collection of Applications.", - "id": "ApplicationsListResponse", - "properties": { - "applications": { - "description": "List of applications that support data transfer and are also installed for the customer.", - "items": { - "$ref": "Application" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#datatransfer#applicationsList", - "description": "Identifies the resource as a collection of Applications.", - "type": "string" - }, - "nextPageToken": { - "description": "Continuation token which will be used to specify next page in list API.", - "type": "string" - } - }, - "type": "object" - }, - "DataTransfer": { - "description": "The JSON template for a DataTransfer resource.", - "id": "DataTransfer", - "properties": { - "applicationDataTransfers": { - "description": "List of per application data transfer resources. It contains data transfer details of the applications associated with this transfer resource. Note that this list is also used to specify the applications for which data transfer has to be done at the time of the transfer resource creation.", - "items": { - "$ref": "ApplicationDataTransfer" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "id": { - "description": "The transfer's ID (Read-only).", - "type": "string" - }, - "kind": { - "default": "admin#datatransfer#DataTransfer", - "description": "Identifies the resource as a DataTransfer request.", - "type": "string" - }, - "newOwnerUserId": { - "description": "ID of the user to whom the data is being transferred.", - "type": "string" - }, - "oldOwnerUserId": { - "description": "ID of the user whose data is being transferred.", - "type": "string" - }, - "overallTransferStatusCode": { - "description": "Overall transfer status (Read-only).", - "type": "string" - }, - "requestTime": { - "description": "The time at which the data transfer was requested (Read-only).", - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "DataTransfersListResponse": { - "description": "Template for a collection of DataTransfer resources.", - "id": "DataTransfersListResponse", - "properties": { - "dataTransfers": { - "description": "List of data transfer requests.", - "items": { - "$ref": "DataTransfer" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#datatransfer#dataTransfersList", - "description": "Identifies the resource as a collection of data transfer requests.", - "type": "string" - }, - "nextPageToken": { - "description": "Continuation token which will be used to specify next page in list API.", - "type": "string" - } - }, - "type": "object" - } - }, - "servicePath": "admin/datatransfer/v1/", - "title": "Admin Data Transfer API", - "version": "datatransfer_v1" -} \ No newline at end of file diff --git a/etc/api/admin/directory_v1/admin-api.json b/etc/api/admin/directory_v1/admin-api.json deleted file mode 100644 index 9c6e697185..0000000000 --- a/etc/api/admin/directory_v1/admin-api.json +++ /dev/null @@ -1,6921 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/admin.directory.customer": { - "description": "View and manage customer related information" - }, - "https://www.googleapis.com/auth/admin.directory.customer.readonly": { - "description": "View customer related information" - }, - "https://www.googleapis.com/auth/admin.directory.device.chromeos": { - "description": "View and manage your Chrome OS devices' metadata" - }, - "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly": { - "description": "View your Chrome OS devices' metadata" - }, - "https://www.googleapis.com/auth/admin.directory.device.mobile": { - "description": "View and manage your mobile devices' metadata" - }, - "https://www.googleapis.com/auth/admin.directory.device.mobile.action": { - "description": "Manage your mobile devices by performing administrative tasks" - }, - "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly": { - "description": "View your mobile devices' metadata" - }, - "https://www.googleapis.com/auth/admin.directory.domain": { - "description": "View and manage the provisioning of domains for your customers" - }, - "https://www.googleapis.com/auth/admin.directory.domain.readonly": { - "description": "View domains related to your customers" - }, - "https://www.googleapis.com/auth/admin.directory.group": { - "description": "View and manage the provisioning of groups on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.group.member": { - "description": "View and manage group subscriptions on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.group.member.readonly": { - "description": "View group subscriptions on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.group.readonly": { - "description": "View groups on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.notifications": { - "description": "View and manage notifications received on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.orgunit": { - "description": "View and manage organization units on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.orgunit.readonly": { - "description": "View organization units on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.resource.calendar": { - "description": "View and manage the provisioning of calendar resources on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly": { - "description": "View calendar resources on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.rolemanagement": { - "description": "Manage delegated admin roles for your domain" - }, - "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly": { - "description": "View delegated admin roles for your domain" - }, - "https://www.googleapis.com/auth/admin.directory.user": { - "description": "View and manage the provisioning of users on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.user.alias": { - "description": "View and manage user aliases on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.user.alias.readonly": { - "description": "View user aliases on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.user.readonly": { - "description": "View users on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.user.security": { - "description": "Manage data access permissions for users on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.userschema": { - "description": "View and manage the provisioning of user schemas on your domain" - }, - "https://www.googleapis.com/auth/admin.directory.userschema.readonly": { - "description": "View user schemas on your domain" - }, - "https://www.googleapis.com/auth/cloud-platform": { - "description": "View and manage your data across Google Cloud Platform services" - } - } - } - }, - "basePath": "/admin/directory/v1/", - "baseUrl": "https://www.googleapis.com/admin/directory/v1/", - "batchPath": "batch/admin/directory_v1", - "canonicalName": "directory", - "description": "Manages enterprise resources such as users and groups, administrative notifications, security features, and more.", - "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/admin-sdk/directory/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/Q_N7e9cs3A1-s8__TCCHlsbCI_c\"", - "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" - }, - "id": "admin:directory_v1", - "kind": "discovery#restDescription", - "name": "admin", - "ownerDomain": "google.com", - "ownerName": "Google", - "packagePath": "admin", - "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", - "enum": [ - "json" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json" - ], - "location": "query", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "location": "query", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", - "location": "query", - "type": "string" - } - }, - "protocol": "rest", - "resources": { - "asps": { - "methods": { - "delete": { - "description": "Delete an ASP issued by a user.", - "httpMethod": "DELETE", - "id": "directory.asps.delete", - "parameterOrder": [ - "userKey", - "codeId" - ], - "parameters": { - "codeId": { - "description": "The unique ID of the ASP to be deleted.", - "format": "int32", - "location": "path", - "required": true, - "type": "integer" - }, - "userKey": { - "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/asps/{codeId}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - }, - "get": { - "description": "Get information about an ASP issued by a user.", - "httpMethod": "GET", - "id": "directory.asps.get", - "parameterOrder": [ - "userKey", - "codeId" - ], - "parameters": { - "codeId": { - "description": "The unique ID of the ASP.", - "format": "int32", - "location": "path", - "required": true, - "type": "integer" - }, - "userKey": { - "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/asps/{codeId}", - "response": { - "$ref": "Asp" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - }, - "list": { - "description": "List the ASPs issued by a user.", - "httpMethod": "GET", - "id": "directory.asps.list", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/asps", - "response": { - "$ref": "Asps" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - } - } - }, - "channels": { - "methods": { - "stop": { - "description": "Stop watching resources through this channel", - "httpMethod": "POST", - "id": "admin.channels.stop", - "path": "/admin/directory_v1/channels/stop", - "request": { - "$ref": "Channel", - "parameterName": "resource" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.alias", - "https://www.googleapis.com/auth/admin.directory.user.alias.readonly", - "https://www.googleapis.com/auth/admin.directory.user.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ] - } - } - }, - "chromeosdevices": { - "methods": { - "action": { - "description": "Take action on Chrome OS Device", - "httpMethod": "POST", - "id": "directory.chromeosdevices.action", - "parameterOrder": [ - "customerId", - "resourceId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "resourceId": { - "description": "Immutable ID of Chrome OS Device", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/devices/chromeos/{resourceId}/action", - "request": { - "$ref": "ChromeOsDeviceAction" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.chromeos" - ] - }, - "get": { - "description": "Retrieve Chrome OS Device", - "httpMethod": "GET", - "id": "directory.chromeosdevices.get", - "parameterOrder": [ - "customerId", - "deviceId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "deviceId": { - "description": "Immutable ID of Chrome OS Device", - "location": "path", - "required": true, - "type": "string" - }, - "projection": { - "description": "Restrict information returned to a set of selected fields.", - "enum": [ - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)", - "Includes all metadata fields" - ], - "location": "query", - "type": "string" - } - }, - "path": "customer/{customerId}/devices/chromeos/{deviceId}", - "response": { - "$ref": "ChromeOsDevice" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.chromeos", - "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly" - ] - }, - "list": { - "description": "Retrieve all Chrome OS Devices of a customer (paginated)", - "httpMethod": "GET", - "id": "directory.chromeosdevices.list", - "parameterOrder": [ - "customerId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "default": "100", - "description": "Maximum number of results to return. Max allowed value is 200.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "orderBy": { - "description": "Column to use for sorting results", - "enum": [ - "annotatedLocation", - "annotatedUser", - "lastSync", - "notes", - "serialNumber", - "status", - "supportEndDate" - ], - "enumDescriptions": [ - "Chromebook location as annotated by the administrator.", - "Chromebook user as annotated by administrator.", - "Chromebook last sync.", - "Chromebook notes as annotated by the administrator.", - "Chromebook Serial Number.", - "Chromebook status.", - "Chromebook support end date." - ], - "location": "query", - "type": "string" - }, - "orgUnitPath": { - "description": "Full path of the organizational unit or its ID", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Token to specify next page in the list", - "location": "query", - "type": "string" - }, - "projection": { - "description": "Restrict information returned to a set of selected fields.", - "enum": [ - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)", - "Includes all metadata fields" - ], - "location": "query", - "type": "string" - }, - "query": { - "description": "Search string in the format given at http://support.google.com/chromeos/a/bin/answer.py?answer=1698333", - "location": "query", - "type": "string" - }, - "sortOrder": { - "description": "Whether to return results in ascending or descending order. Only of use when orderBy is also used", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "enumDescriptions": [ - "Ascending order.", - "Descending order." - ], - "location": "query", - "type": "string" - } - }, - "path": "customer/{customerId}/devices/chromeos", - "response": { - "$ref": "ChromeOsDevices" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.chromeos", - "https://www.googleapis.com/auth/admin.directory.device.chromeos.readonly" - ] - }, - "moveDevicesToOu": { - "description": "Move or insert multiple Chrome OS Devices to organizational unit", - "httpMethod": "POST", - "id": "directory.chromeosdevices.moveDevicesToOu", - "parameterOrder": [ - "customerId", - "orgUnitPath" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "orgUnitPath": { - "description": "Full path of the target organizational unit or its ID", - "location": "query", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/devices/chromeos/moveDevicesToOu", - "request": { - "$ref": "ChromeOsMoveDevicesToOu" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.chromeos" - ] - }, - "patch": { - "description": "Update Chrome OS Device. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.chromeosdevices.patch", - "parameterOrder": [ - "customerId", - "deviceId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "deviceId": { - "description": "Immutable ID of Chrome OS Device", - "location": "path", - "required": true, - "type": "string" - }, - "projection": { - "description": "Restrict information returned to a set of selected fields.", - "enum": [ - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)", - "Includes all metadata fields" - ], - "location": "query", - "type": "string" - } - }, - "path": "customer/{customerId}/devices/chromeos/{deviceId}", - "request": { - "$ref": "ChromeOsDevice" - }, - "response": { - "$ref": "ChromeOsDevice" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.chromeos" - ] - }, - "update": { - "description": "Update Chrome OS Device", - "httpMethod": "PUT", - "id": "directory.chromeosdevices.update", - "parameterOrder": [ - "customerId", - "deviceId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "deviceId": { - "description": "Immutable ID of Chrome OS Device", - "location": "path", - "required": true, - "type": "string" - }, - "projection": { - "description": "Restrict information returned to a set of selected fields.", - "enum": [ - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Includes only the basic metadata fields (e.g., deviceId, serialNumber, status, and user)", - "Includes all metadata fields" - ], - "location": "query", - "type": "string" - } - }, - "path": "customer/{customerId}/devices/chromeos/{deviceId}", - "request": { - "$ref": "ChromeOsDevice" - }, - "response": { - "$ref": "ChromeOsDevice" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.chromeos" - ] - } - } - }, - "customers": { - "methods": { - "get": { - "description": "Retrieves a customer.", - "httpMethod": "GET", - "id": "directory.customers.get", - "parameterOrder": [ - "customerKey" - ], - "parameters": { - "customerKey": { - "description": "Id of the customer to be retrieved", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customers/{customerKey}", - "response": { - "$ref": "Customer" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.customer", - "https://www.googleapis.com/auth/admin.directory.customer.readonly" - ] - }, - "patch": { - "description": "Updates a customer. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.customers.patch", - "parameterOrder": [ - "customerKey" - ], - "parameters": { - "customerKey": { - "description": "Id of the customer to be updated", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customers/{customerKey}", - "request": { - "$ref": "Customer" - }, - "response": { - "$ref": "Customer" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.customer" - ] - }, - "update": { - "description": "Updates a customer.", - "httpMethod": "PUT", - "id": "directory.customers.update", - "parameterOrder": [ - "customerKey" - ], - "parameters": { - "customerKey": { - "description": "Id of the customer to be updated", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customers/{customerKey}", - "request": { - "$ref": "Customer" - }, - "response": { - "$ref": "Customer" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.customer" - ] - } - } - }, - "domainAliases": { - "methods": { - "delete": { - "description": "Deletes a Domain Alias of the customer.", - "httpMethod": "DELETE", - "id": "directory.domainAliases.delete", - "parameterOrder": [ - "customer", - "domainAliasName" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "domainAliasName": { - "description": "Name of domain alias to be retrieved.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/domainaliases/{domainAliasName}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.domain" - ] - }, - "get": { - "description": "Retrieves a domain alias of the customer.", - "httpMethod": "GET", - "id": "directory.domainAliases.get", - "parameterOrder": [ - "customer", - "domainAliasName" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "domainAliasName": { - "description": "Name of domain alias to be retrieved.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/domainaliases/{domainAliasName}", - "response": { - "$ref": "DomainAlias" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.domain", - "https://www.googleapis.com/auth/admin.directory.domain.readonly" - ] - }, - "insert": { - "description": "Inserts a Domain alias of the customer.", - "httpMethod": "POST", - "id": "directory.domainAliases.insert", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/domainaliases", - "request": { - "$ref": "DomainAlias" - }, - "response": { - "$ref": "DomainAlias" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.domain" - ] - }, - "list": { - "description": "Lists the domain aliases of the customer.", - "httpMethod": "GET", - "id": "directory.domainAliases.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "parentDomainName": { - "description": "Name of the parent domain for which domain aliases are to be fetched.", - "location": "query", - "type": "string" - } - }, - "path": "customer/{customer}/domainaliases", - "response": { - "$ref": "DomainAliases" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.domain", - "https://www.googleapis.com/auth/admin.directory.domain.readonly" - ] - } - } - }, - "domains": { - "methods": { - "delete": { - "description": "Deletes a domain of the customer.", - "httpMethod": "DELETE", - "id": "directory.domains.delete", - "parameterOrder": [ - "customer", - "domainName" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "domainName": { - "description": "Name of domain to be deleted", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/domains/{domainName}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.domain" - ] - }, - "get": { - "description": "Retrieves a domain of the customer.", - "httpMethod": "GET", - "id": "directory.domains.get", - "parameterOrder": [ - "customer", - "domainName" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "domainName": { - "description": "Name of domain to be retrieved", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/domains/{domainName}", - "response": { - "$ref": "Domains" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.domain", - "https://www.googleapis.com/auth/admin.directory.domain.readonly" - ] - }, - "insert": { - "description": "Inserts a domain of the customer.", - "httpMethod": "POST", - "id": "directory.domains.insert", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/domains", - "request": { - "$ref": "Domains" - }, - "response": { - "$ref": "Domains" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.domain" - ] - }, - "list": { - "description": "Lists the domains of the customer.", - "httpMethod": "GET", - "id": "directory.domains.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/domains", - "response": { - "$ref": "Domains2" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.domain", - "https://www.googleapis.com/auth/admin.directory.domain.readonly" - ] - } - } - }, - "groups": { - "methods": { - "delete": { - "description": "Delete Group", - "httpMethod": "DELETE", - "id": "directory.groups.delete", - "parameterOrder": [ - "groupKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group" - ] - }, - "get": { - "description": "Retrieve Group", - "httpMethod": "GET", - "id": "directory.groups.get", - "parameterOrder": [ - "groupKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}", - "response": { - "$ref": "Group" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.readonly" - ] - }, - "insert": { - "description": "Create Group", - "httpMethod": "POST", - "id": "directory.groups.insert", - "path": "groups", - "request": { - "$ref": "Group" - }, - "response": { - "$ref": "Group" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group" - ] - }, - "list": { - "description": "Retrieve all groups of a domain or of a user given a userKey (paginated)", - "httpMethod": "GET", - "id": "directory.groups.list", - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account. In case of multi-domain, to fetch all groups for a customer, fill this field instead of domain.", - "location": "query", - "type": "string" - }, - "domain": { - "description": "Name of the domain. Fill this field to get groups from only this domain. To return all groups in a multi-domain fill customer field instead.", - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "200", - "description": "Maximum number of results to return. Max allowed value is 200.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "orderBy": { - "description": "Column to use for sorting results", - "enum": [ - "email" - ], - "enumDescriptions": [ - "Email of the group." - ], - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Token to specify next page in the list", - "location": "query", - "type": "string" - }, - "query": { - "description": "Query string search. Should be of the form \"\". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-groups", - "location": "query", - "type": "string" - }, - "sortOrder": { - "description": "Whether to return results in ascending or descending order. Only of use when orderBy is also used", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "enumDescriptions": [ - "Ascending order.", - "Descending order." - ], - "location": "query", - "type": "string" - }, - "userKey": { - "description": "Email or immutable ID of the user if only those groups are to be listed, the given user is a member of. If it's an ID, it should match with the ID of the user object.", - "location": "query", - "type": "string" - } - }, - "path": "groups", - "response": { - "$ref": "Groups" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.readonly" - ] - }, - "patch": { - "description": "Update Group. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.groups.patch", - "parameterOrder": [ - "groupKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group. If ID, it should match with id of group object", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}", - "request": { - "$ref": "Group" - }, - "response": { - "$ref": "Group" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group" - ] - }, - "update": { - "description": "Update Group", - "httpMethod": "PUT", - "id": "directory.groups.update", - "parameterOrder": [ - "groupKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group. If ID, it should match with id of group object", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}", - "request": { - "$ref": "Group" - }, - "response": { - "$ref": "Group" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group" - ] - } - }, - "resources": { - "aliases": { - "methods": { - "delete": { - "description": "Remove a alias for the group", - "httpMethod": "DELETE", - "id": "directory.groups.aliases.delete", - "parameterOrder": [ - "groupKey", - "alias" - ], - "parameters": { - "alias": { - "description": "The alias to be removed", - "location": "path", - "required": true, - "type": "string" - }, - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/aliases/{alias}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group" - ] - }, - "insert": { - "description": "Add a alias for the group", - "httpMethod": "POST", - "id": "directory.groups.aliases.insert", - "parameterOrder": [ - "groupKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/aliases", - "request": { - "$ref": "Alias" - }, - "response": { - "$ref": "Alias" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group" - ] - }, - "list": { - "description": "List all aliases for a group", - "httpMethod": "GET", - "id": "directory.groups.aliases.list", - "parameterOrder": [ - "groupKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/aliases", - "response": { - "$ref": "Aliases" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.readonly" - ], - "supportsSubscription": true - } - } - } - } - }, - "members": { - "methods": { - "delete": { - "description": "Remove membership.", - "httpMethod": "DELETE", - "id": "directory.members.delete", - "parameterOrder": [ - "groupKey", - "memberKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - }, - "memberKey": { - "description": "Email or immutable ID of the member", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/members/{memberKey}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.member" - ] - }, - "get": { - "description": "Retrieve Group Member", - "httpMethod": "GET", - "id": "directory.members.get", - "parameterOrder": [ - "groupKey", - "memberKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - }, - "memberKey": { - "description": "Email or immutable ID of the member", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/members/{memberKey}", - "response": { - "$ref": "Member" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.member", - "https://www.googleapis.com/auth/admin.directory.group.member.readonly", - "https://www.googleapis.com/auth/admin.directory.group.readonly" - ] - }, - "hasMember": { - "description": "Checks whether the given user is a member of the group. Membership can be direct or nested.", - "httpMethod": "GET", - "id": "directory.members.hasMember", - "parameterOrder": [ - "groupKey", - "memberKey" - ], - "parameters": { - "groupKey": { - "description": "Identifies the group in the API request. The value can be the group's email address, group alias, or the unique group ID.", - "location": "path", - "required": true, - "type": "string" - }, - "memberKey": { - "description": "Identifies the user member in the API request. The value can be the user's primary email address, alias, or unique ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/hasMember/{memberKey}", - "response": { - "$ref": "MembersHasMember" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.member", - "https://www.googleapis.com/auth/admin.directory.group.member.readonly", - "https://www.googleapis.com/auth/admin.directory.group.readonly" - ] - }, - "insert": { - "description": "Add user to the specified group.", - "httpMethod": "POST", - "id": "directory.members.insert", - "parameterOrder": [ - "groupKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/members", - "request": { - "$ref": "Member" - }, - "response": { - "$ref": "Member" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.member" - ] - }, - "list": { - "description": "Retrieve all members in a group (paginated)", - "httpMethod": "GET", - "id": "directory.members.list", - "parameterOrder": [ - "groupKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group", - "location": "path", - "required": true, - "type": "string" - }, - "includeDerivedMembership": { - "description": "Whether to list indirect memberships. Default: false.", - "location": "query", - "type": "boolean" - }, - "maxResults": { - "default": "200", - "description": "Maximum number of results to return. Max allowed value is 200.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "Token to specify next page in the list", - "location": "query", - "type": "string" - }, - "roles": { - "description": "Comma separated role values to filter list results on.", - "location": "query", - "type": "string" - } - }, - "path": "groups/{groupKey}/members", - "response": { - "$ref": "Members" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.member", - "https://www.googleapis.com/auth/admin.directory.group.member.readonly", - "https://www.googleapis.com/auth/admin.directory.group.readonly" - ] - }, - "patch": { - "description": "Update membership of a user in the specified group. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.members.patch", - "parameterOrder": [ - "groupKey", - "memberKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group. If ID, it should match with id of group object", - "location": "path", - "required": true, - "type": "string" - }, - "memberKey": { - "description": "Email or immutable ID of the user. If ID, it should match with id of member object", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/members/{memberKey}", - "request": { - "$ref": "Member" - }, - "response": { - "$ref": "Member" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.member" - ] - }, - "update": { - "description": "Update membership of a user in the specified group.", - "httpMethod": "PUT", - "id": "directory.members.update", - "parameterOrder": [ - "groupKey", - "memberKey" - ], - "parameters": { - "groupKey": { - "description": "Email or immutable ID of the group. If ID, it should match with id of group object", - "location": "path", - "required": true, - "type": "string" - }, - "memberKey": { - "description": "Email or immutable ID of the user. If ID, it should match with id of member object", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "groups/{groupKey}/members/{memberKey}", - "request": { - "$ref": "Member" - }, - "response": { - "$ref": "Member" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.group", - "https://www.googleapis.com/auth/admin.directory.group.member" - ] - } - } - }, - "mobiledevices": { - "methods": { - "action": { - "description": "Take action on Mobile Device", - "httpMethod": "POST", - "id": "directory.mobiledevices.action", - "parameterOrder": [ - "customerId", - "resourceId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "resourceId": { - "description": "Immutable ID of Mobile Device", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/devices/mobile/{resourceId}/action", - "request": { - "$ref": "MobileDeviceAction" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.mobile", - "https://www.googleapis.com/auth/admin.directory.device.mobile.action" - ] - }, - "delete": { - "description": "Delete Mobile Device", - "httpMethod": "DELETE", - "id": "directory.mobiledevices.delete", - "parameterOrder": [ - "customerId", - "resourceId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "resourceId": { - "description": "Immutable ID of Mobile Device", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/devices/mobile/{resourceId}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.mobile" - ] - }, - "get": { - "description": "Retrieve Mobile Device", - "httpMethod": "GET", - "id": "directory.mobiledevices.get", - "parameterOrder": [ - "customerId", - "resourceId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "projection": { - "description": "Restrict information returned to a set of selected fields.", - "enum": [ - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Includes only the basic metadata fields (e.g., deviceId, model, status, type, and status)", - "Includes all metadata fields" - ], - "location": "query", - "type": "string" - }, - "resourceId": { - "description": "Immutable ID of Mobile Device", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/devices/mobile/{resourceId}", - "response": { - "$ref": "MobileDevice" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.mobile", - "https://www.googleapis.com/auth/admin.directory.device.mobile.action", - "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly" - ] - }, - "list": { - "description": "Retrieve all Mobile Devices of a customer (paginated)", - "httpMethod": "GET", - "id": "directory.mobiledevices.list", - "parameterOrder": [ - "customerId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "default": "100", - "description": "Maximum number of results to return. Max allowed value is 100.", - "format": "int32", - "location": "query", - "minimum": "1", - "type": "integer" - }, - "orderBy": { - "description": "Column to use for sorting results", - "enum": [ - "deviceId", - "email", - "lastSync", - "model", - "name", - "os", - "status", - "type" - ], - "enumDescriptions": [ - "Mobile Device serial number.", - "Owner user email.", - "Last policy settings sync date time of the device.", - "Mobile Device model.", - "Owner user name.", - "Mobile operating system.", - "Status of the device.", - "Type of the device." - ], - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Token to specify next page in the list", - "location": "query", - "type": "string" - }, - "projection": { - "description": "Restrict information returned to a set of selected fields.", - "enum": [ - "BASIC", - "FULL" - ], - "enumDescriptions": [ - "Includes only the basic metadata fields (e.g., deviceId, model, status, type, and status)", - "Includes all metadata fields" - ], - "location": "query", - "type": "string" - }, - "query": { - "description": "Search string in the format given at http://support.google.com/a/bin/answer.py?answer=1408863#search", - "location": "query", - "type": "string" - }, - "sortOrder": { - "description": "Whether to return results in ascending or descending order. Only of use when orderBy is also used", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "enumDescriptions": [ - "Ascending order.", - "Descending order." - ], - "location": "query", - "type": "string" - } - }, - "path": "customer/{customerId}/devices/mobile", - "response": { - "$ref": "MobileDevices" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.device.mobile", - "https://www.googleapis.com/auth/admin.directory.device.mobile.action", - "https://www.googleapis.com/auth/admin.directory.device.mobile.readonly" - ] - } - } - }, - "notifications": { - "methods": { - "delete": { - "description": "Deletes a notification", - "httpMethod": "DELETE", - "id": "directory.notifications.delete", - "parameterOrder": [ - "customer", - "notificationId" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. The customerId is also returned as part of the Users resource.", - "location": "path", - "required": true, - "type": "string" - }, - "notificationId": { - "description": "The unique ID of the notification.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/notifications/{notificationId}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.notifications" - ] - }, - "get": { - "description": "Retrieves a notification.", - "httpMethod": "GET", - "id": "directory.notifications.get", - "parameterOrder": [ - "customer", - "notificationId" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. The customerId is also returned as part of the Users resource.", - "location": "path", - "required": true, - "type": "string" - }, - "notificationId": { - "description": "The unique ID of the notification.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/notifications/{notificationId}", - "response": { - "$ref": "Notification" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.notifications" - ] - }, - "list": { - "description": "Retrieves a list of notifications.", - "httpMethod": "GET", - "id": "directory.notifications.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "language": { - "description": "The ISO 639-1 code of the language notifications are returned in. The default is English (en).", - "location": "query", - "type": "string" - }, - "maxResults": { - "description": "Maximum number of notifications to return per page. The default is 100.", - "format": "uint32", - "location": "query", - "type": "integer" - }, - "pageToken": { - "description": "The token to specify the page of results to retrieve.", - "location": "query", - "type": "string" - } - }, - "path": "customer/{customer}/notifications", - "response": { - "$ref": "Notifications" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.notifications" - ] - }, - "patch": { - "description": "Updates a notification. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.notifications.patch", - "parameterOrder": [ - "customer", - "notificationId" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "notificationId": { - "description": "The unique ID of the notification.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/notifications/{notificationId}", - "request": { - "$ref": "Notification" - }, - "response": { - "$ref": "Notification" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.notifications" - ] - }, - "update": { - "description": "Updates a notification.", - "httpMethod": "PUT", - "id": "directory.notifications.update", - "parameterOrder": [ - "customer", - "notificationId" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "notificationId": { - "description": "The unique ID of the notification.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/notifications/{notificationId}", - "request": { - "$ref": "Notification" - }, - "response": { - "$ref": "Notification" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.notifications" - ] - } - } - }, - "orgunits": { - "methods": { - "delete": { - "description": "Remove organizational unit", - "httpMethod": "DELETE", - "id": "directory.orgunits.delete", - "parameterOrder": [ - "customerId", - "orgUnitPath" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "orgUnitPath": { - "description": "Full path of the organizational unit or its ID", - "location": "path", - "repeated": true, - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/orgunits{/orgUnitPath*}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.orgunit" - ] - }, - "get": { - "description": "Retrieve organizational unit", - "httpMethod": "GET", - "id": "directory.orgunits.get", - "parameterOrder": [ - "customerId", - "orgUnitPath" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "orgUnitPath": { - "description": "Full path of the organizational unit or its ID", - "location": "path", - "repeated": true, - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/orgunits{/orgUnitPath*}", - "response": { - "$ref": "OrgUnit" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.orgunit", - "https://www.googleapis.com/auth/admin.directory.orgunit.readonly" - ] - }, - "insert": { - "description": "Add organizational unit", - "httpMethod": "POST", - "id": "directory.orgunits.insert", - "parameterOrder": [ - "customerId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/orgunits", - "request": { - "$ref": "OrgUnit" - }, - "response": { - "$ref": "OrgUnit" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.orgunit" - ] - }, - "list": { - "description": "Retrieve all organizational units", - "httpMethod": "GET", - "id": "directory.orgunits.list", - "parameterOrder": [ - "customerId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "orgUnitPath": { - "default": "", - "description": "the URL-encoded organizational unit's path or its ID", - "location": "query", - "type": "string" - }, - "type": { - "description": "Whether to return all sub-organizations or just immediate children", - "enum": [ - "all", - "children" - ], - "enumDescriptions": [ - "All sub-organizational units.", - "Immediate children only (default)." - ], - "location": "query", - "type": "string" - } - }, - "path": "customer/{customerId}/orgunits", - "response": { - "$ref": "OrgUnits" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.orgunit", - "https://www.googleapis.com/auth/admin.directory.orgunit.readonly" - ] - }, - "patch": { - "description": "Update organizational unit. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.orgunits.patch", - "parameterOrder": [ - "customerId", - "orgUnitPath" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "orgUnitPath": { - "description": "Full path of the organizational unit or its ID", - "location": "path", - "repeated": true, - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/orgunits{/orgUnitPath*}", - "request": { - "$ref": "OrgUnit" - }, - "response": { - "$ref": "OrgUnit" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.orgunit" - ] - }, - "update": { - "description": "Update organizational unit", - "httpMethod": "PUT", - "id": "directory.orgunits.update", - "parameterOrder": [ - "customerId", - "orgUnitPath" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "orgUnitPath": { - "description": "Full path of the organizational unit or its ID", - "location": "path", - "repeated": true, - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/orgunits{/orgUnitPath*}", - "request": { - "$ref": "OrgUnit" - }, - "response": { - "$ref": "OrgUnit" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.orgunit" - ] - } - } - }, - "privileges": { - "methods": { - "list": { - "description": "Retrieves a paginated list of all privileges for a customer.", - "httpMethod": "GET", - "id": "directory.privileges.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roles/ALL/privileges", - "response": { - "$ref": "Privileges" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement", - "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" - ] - } - } - }, - "resources": { - "resources": { - "buildings": { - "methods": { - "delete": { - "description": "Deletes a building.", - "httpMethod": "DELETE", - "id": "directory.resources.buildings.delete", - "parameterOrder": [ - "customer", - "buildingId" - ], - "parameters": { - "buildingId": { - "description": "The ID of the building to delete.", - "location": "path", - "required": true, - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/buildings/{buildingId}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "get": { - "description": "Retrieves a building.", - "httpMethod": "GET", - "id": "directory.resources.buildings.get", - "parameterOrder": [ - "customer", - "buildingId" - ], - "parameters": { - "buildingId": { - "description": "The unique ID of the building to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/buildings/{buildingId}", - "response": { - "$ref": "Building" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar", - "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly" - ] - }, - "insert": { - "description": "Inserts a building.", - "httpMethod": "POST", - "id": "directory.resources.buildings.insert", - "parameterOrder": [ - "customer" - ], - "parameters": { - "coordinatesSource": { - "default": "SOURCE_UNSPECIFIED", - "description": "Source from which Building.coordinates are derived.", - "enum": [ - "CLIENT_SPECIFIED", - "RESOLVED_FROM_ADDRESS", - "SOURCE_UNSPECIFIED" - ], - "enumDescriptions": [ - "Building.coordinates are set to the coordinates included in the request.", - "Building.coordinates are automatically populated based on the postal address.", - "Defaults to RESOLVED_FROM_ADDRESS if postal address is provided. Otherwise, defaults to CLIENT_SPECIFIED if coordinates are provided." - ], - "location": "query", - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/buildings", - "request": { - "$ref": "Building" - }, - "response": { - "$ref": "Building" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "list": { - "description": "Retrieves a list of buildings for an account.", - "httpMethod": "GET", - "id": "directory.resources.buildings.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "description": "Maximum number of results to return.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "Token to specify the next page in the list.", - "location": "query", - "type": "string" - } - }, - "path": "customer/{customer}/resources/buildings", - "response": { - "$ref": "Buildings" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar", - "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly" - ] - }, - "patch": { - "description": "Updates a building. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.resources.buildings.patch", - "parameterOrder": [ - "customer", - "buildingId" - ], - "parameters": { - "buildingId": { - "description": "The ID of the building to update.", - "location": "path", - "required": true, - "type": "string" - }, - "coordinatesSource": { - "default": "SOURCE_UNSPECIFIED", - "description": "Source from which Building.coordinates are derived.", - "enum": [ - "CLIENT_SPECIFIED", - "RESOLVED_FROM_ADDRESS", - "SOURCE_UNSPECIFIED" - ], - "enumDescriptions": [ - "Building.coordinates are set to the coordinates included in the request.", - "Building.coordinates are automatically populated based on the postal address.", - "Defaults to RESOLVED_FROM_ADDRESS if postal address is provided. Otherwise, defaults to CLIENT_SPECIFIED if coordinates are provided." - ], - "location": "query", - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/buildings/{buildingId}", - "request": { - "$ref": "Building" - }, - "response": { - "$ref": "Building" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "update": { - "description": "Updates a building.", - "httpMethod": "PUT", - "id": "directory.resources.buildings.update", - "parameterOrder": [ - "customer", - "buildingId" - ], - "parameters": { - "buildingId": { - "description": "The ID of the building to update.", - "location": "path", - "required": true, - "type": "string" - }, - "coordinatesSource": { - "default": "SOURCE_UNSPECIFIED", - "description": "Source from which Building.coordinates are derived.", - "enum": [ - "CLIENT_SPECIFIED", - "RESOLVED_FROM_ADDRESS", - "SOURCE_UNSPECIFIED" - ], - "enumDescriptions": [ - "Building.coordinates are set to the coordinates included in the request.", - "Building.coordinates are automatically populated based on the postal address.", - "Defaults to RESOLVED_FROM_ADDRESS if postal address is provided. Otherwise, defaults to CLIENT_SPECIFIED if coordinates are provided." - ], - "location": "query", - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/buildings/{buildingId}", - "request": { - "$ref": "Building" - }, - "response": { - "$ref": "Building" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - } - } - }, - "calendars": { - "methods": { - "delete": { - "description": "Deletes a calendar resource.", - "httpMethod": "DELETE", - "id": "directory.resources.calendars.delete", - "parameterOrder": [ - "customer", - "calendarResourceId" - ], - "parameters": { - "calendarResourceId": { - "description": "The unique ID of the calendar resource to delete.", - "location": "path", - "required": true, - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/calendars/{calendarResourceId}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "get": { - "description": "Retrieves a calendar resource.", - "httpMethod": "GET", - "id": "directory.resources.calendars.get", - "parameterOrder": [ - "customer", - "calendarResourceId" - ], - "parameters": { - "calendarResourceId": { - "description": "The unique ID of the calendar resource to retrieve.", - "location": "path", - "required": true, - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/calendars/{calendarResourceId}", - "response": { - "$ref": "CalendarResource" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar", - "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly" - ] - }, - "insert": { - "description": "Inserts a calendar resource.", - "httpMethod": "POST", - "id": "directory.resources.calendars.insert", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/calendars", - "request": { - "$ref": "CalendarResource" - }, - "response": { - "$ref": "CalendarResource" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "list": { - "description": "Retrieves a list of calendar resources for an account.", - "httpMethod": "GET", - "id": "directory.resources.calendars.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "description": "Maximum number of results to return.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "orderBy": { - "description": "Field(s) to sort results by in either ascending or descending order. Supported fields include resourceId, resourceName, capacity, buildingId, and floorName. If no order is specified, defaults to ascending. Should be of the form \"field [asc|desc], field [asc|desc], ...\". For example buildingId, capacity desc would return results sorted first by buildingId in ascending order then by capacity in descending order.", - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Token to specify the next page in the list.", - "location": "query", - "type": "string" - }, - "query": { - "description": "String query used to filter results. Should be of the form \"field operator value\" where field can be any of supported fields and operators can be any of supported operations. Operators include '=' for exact match and ':' for prefix match or HAS match where applicable. For prefix match, the value should always be followed by a *. Supported fields include generatedResourceName, name, buildingId, featureInstances.feature.name. For example buildingId=US-NYC-9TH AND featureInstances.feature.name:Phone.", - "location": "query", - "type": "string" - } - }, - "path": "customer/{customer}/resources/calendars", - "response": { - "$ref": "CalendarResources" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar", - "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly" - ] - }, - "patch": { - "description": "Updates a calendar resource.\n\nThis method supports patch semantics, meaning you only need to include the fields you wish to update. Fields that are not present in the request will be preserved. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.resources.calendars.patch", - "parameterOrder": [ - "customer", - "calendarResourceId" - ], - "parameters": { - "calendarResourceId": { - "description": "The unique ID of the calendar resource to update.", - "location": "path", - "required": true, - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/calendars/{calendarResourceId}", - "request": { - "$ref": "CalendarResource" - }, - "response": { - "$ref": "CalendarResource" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "update": { - "description": "Updates a calendar resource.\n\nThis method supports patch semantics, meaning you only need to include the fields you wish to update. Fields that are not present in the request will be preserved.", - "httpMethod": "PUT", - "id": "directory.resources.calendars.update", - "parameterOrder": [ - "customer", - "calendarResourceId" - ], - "parameters": { - "calendarResourceId": { - "description": "The unique ID of the calendar resource to update.", - "location": "path", - "required": true, - "type": "string" - }, - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/calendars/{calendarResourceId}", - "request": { - "$ref": "CalendarResource" - }, - "response": { - "$ref": "CalendarResource" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - } - } - }, - "features": { - "methods": { - "delete": { - "description": "Deletes a feature.", - "httpMethod": "DELETE", - "id": "directory.resources.features.delete", - "parameterOrder": [ - "customer", - "featureKey" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - }, - "featureKey": { - "description": "The unique ID of the feature to delete.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/features/{featureKey}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "get": { - "description": "Retrieves a feature.", - "httpMethod": "GET", - "id": "directory.resources.features.get", - "parameterOrder": [ - "customer", - "featureKey" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - }, - "featureKey": { - "description": "The unique ID of the feature to retrieve.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/features/{featureKey}", - "response": { - "$ref": "Feature" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar", - "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly" - ] - }, - "insert": { - "description": "Inserts a feature.", - "httpMethod": "POST", - "id": "directory.resources.features.insert", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/features", - "request": { - "$ref": "Feature" - }, - "response": { - "$ref": "Feature" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "list": { - "description": "Retrieves a list of features for an account.", - "httpMethod": "GET", - "id": "directory.resources.features.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "description": "Maximum number of results to return.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "Token to specify the next page in the list.", - "location": "query", - "type": "string" - } - }, - "path": "customer/{customer}/resources/features", - "response": { - "$ref": "Features" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar", - "https://www.googleapis.com/auth/admin.directory.resource.calendar.readonly" - ] - }, - "patch": { - "description": "Updates a feature. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.resources.features.patch", - "parameterOrder": [ - "customer", - "featureKey" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - }, - "featureKey": { - "description": "The unique ID of the feature to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/features/{featureKey}", - "request": { - "$ref": "Feature" - }, - "response": { - "$ref": "Feature" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "rename": { - "description": "Renames a feature.", - "httpMethod": "POST", - "id": "directory.resources.features.rename", - "parameterOrder": [ - "customer", - "oldName" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - }, - "oldName": { - "description": "The unique ID of the feature to rename.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/features/{oldName}/rename", - "request": { - "$ref": "FeatureRename" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - }, - "update": { - "description": "Updates a feature.", - "httpMethod": "PUT", - "id": "directory.resources.features.update", - "parameterOrder": [ - "customer", - "featureKey" - ], - "parameters": { - "customer": { - "description": "The unique ID for the customer's G Suite account. As an account administrator, you can also use the my_customer alias to represent your account's customer ID.", - "location": "path", - "required": true, - "type": "string" - }, - "featureKey": { - "description": "The unique ID of the feature to update.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/resources/features/{featureKey}", - "request": { - "$ref": "Feature" - }, - "response": { - "$ref": "Feature" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.resource.calendar" - ] - } - } - } - } - }, - "roleAssignments": { - "methods": { - "delete": { - "description": "Deletes a role assignment.", - "httpMethod": "DELETE", - "id": "directory.roleAssignments.delete", - "parameterOrder": [ - "customer", - "roleAssignmentId" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "roleAssignmentId": { - "description": "Immutable ID of the role assignment.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roleassignments/{roleAssignmentId}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement" - ] - }, - "get": { - "description": "Retrieve a role assignment.", - "httpMethod": "GET", - "id": "directory.roleAssignments.get", - "parameterOrder": [ - "customer", - "roleAssignmentId" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "roleAssignmentId": { - "description": "Immutable ID of the role assignment.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roleassignments/{roleAssignmentId}", - "response": { - "$ref": "RoleAssignment" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement", - "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" - ] - }, - "insert": { - "description": "Creates a role assignment.", - "httpMethod": "POST", - "id": "directory.roleAssignments.insert", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roleassignments", - "request": { - "$ref": "RoleAssignment" - }, - "response": { - "$ref": "RoleAssignment" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement" - ] - }, - "list": { - "description": "Retrieves a paginated list of all roleAssignments.", - "httpMethod": "GET", - "id": "directory.roleAssignments.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "description": "Maximum number of results to return.", - "format": "int32", - "location": "query", - "maximum": "200", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "Token to specify the next page in the list.", - "location": "query", - "type": "string" - }, - "roleId": { - "description": "Immutable ID of a role. If included in the request, returns only role assignments containing this role ID.", - "location": "query", - "type": "string" - }, - "userKey": { - "description": "The user's primary email address, alias email address, or unique user ID. If included in the request, returns role assignments only for this user.", - "location": "query", - "type": "string" - } - }, - "path": "customer/{customer}/roleassignments", - "response": { - "$ref": "RoleAssignments" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement", - "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" - ] - } - } - }, - "roles": { - "methods": { - "delete": { - "description": "Deletes a role.", - "httpMethod": "DELETE", - "id": "directory.roles.delete", - "parameterOrder": [ - "customer", - "roleId" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "roleId": { - "description": "Immutable ID of the role.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roles/{roleId}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement" - ] - }, - "get": { - "description": "Retrieves a role.", - "httpMethod": "GET", - "id": "directory.roles.get", - "parameterOrder": [ - "customer", - "roleId" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "roleId": { - "description": "Immutable ID of the role.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roles/{roleId}", - "response": { - "$ref": "Role" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement", - "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" - ] - }, - "insert": { - "description": "Creates a role.", - "httpMethod": "POST", - "id": "directory.roles.insert", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roles", - "request": { - "$ref": "Role" - }, - "response": { - "$ref": "Role" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement" - ] - }, - "list": { - "description": "Retrieves a paginated list of all the roles in a domain.", - "httpMethod": "GET", - "id": "directory.roles.list", - "parameterOrder": [ - "customer" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "maxResults": { - "description": "Maximum number of results to return.", - "format": "int32", - "location": "query", - "maximum": "100", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "Token to specify the next page in the list.", - "location": "query", - "type": "string" - } - }, - "path": "customer/{customer}/roles", - "response": { - "$ref": "Roles" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement", - "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" - ] - }, - "patch": { - "description": "Updates a role. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.roles.patch", - "parameterOrder": [ - "customer", - "roleId" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "roleId": { - "description": "Immutable ID of the role.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roles/{roleId}", - "request": { - "$ref": "Role" - }, - "response": { - "$ref": "Role" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement" - ] - }, - "update": { - "description": "Updates a role.", - "httpMethod": "PUT", - "id": "directory.roles.update", - "parameterOrder": [ - "customer", - "roleId" - ], - "parameters": { - "customer": { - "description": "Immutable ID of the G Suite account.", - "location": "path", - "required": true, - "type": "string" - }, - "roleId": { - "description": "Immutable ID of the role.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customer}/roles/{roleId}", - "request": { - "$ref": "Role" - }, - "response": { - "$ref": "Role" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.rolemanagement" - ] - } - } - }, - "schemas": { - "methods": { - "delete": { - "description": "Delete schema", - "httpMethod": "DELETE", - "id": "directory.schemas.delete", - "parameterOrder": [ - "customerId", - "schemaKey" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "schemaKey": { - "description": "Name or immutable ID of the schema", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/schemas/{schemaKey}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.userschema" - ] - }, - "get": { - "description": "Retrieve schema", - "httpMethod": "GET", - "id": "directory.schemas.get", - "parameterOrder": [ - "customerId", - "schemaKey" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "schemaKey": { - "description": "Name or immutable ID of the schema", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/schemas/{schemaKey}", - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.userschema", - "https://www.googleapis.com/auth/admin.directory.userschema.readonly" - ] - }, - "insert": { - "description": "Create schema.", - "httpMethod": "POST", - "id": "directory.schemas.insert", - "parameterOrder": [ - "customerId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/schemas", - "request": { - "$ref": "Schema" - }, - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.userschema" - ] - }, - "list": { - "description": "Retrieve all schemas for a customer", - "httpMethod": "GET", - "id": "directory.schemas.list", - "parameterOrder": [ - "customerId" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/schemas", - "response": { - "$ref": "Schemas" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.userschema", - "https://www.googleapis.com/auth/admin.directory.userschema.readonly" - ] - }, - "patch": { - "description": "Update schema. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.schemas.patch", - "parameterOrder": [ - "customerId", - "schemaKey" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "schemaKey": { - "description": "Name or immutable ID of the schema.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/schemas/{schemaKey}", - "request": { - "$ref": "Schema" - }, - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.userschema" - ] - }, - "update": { - "description": "Update schema", - "httpMethod": "PUT", - "id": "directory.schemas.update", - "parameterOrder": [ - "customerId", - "schemaKey" - ], - "parameters": { - "customerId": { - "description": "Immutable ID of the G Suite account", - "location": "path", - "required": true, - "type": "string" - }, - "schemaKey": { - "description": "Name or immutable ID of the schema.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "customer/{customerId}/schemas/{schemaKey}", - "request": { - "$ref": "Schema" - }, - "response": { - "$ref": "Schema" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.userschema" - ] - } - } - }, - "tokens": { - "methods": { - "delete": { - "description": "Delete all access tokens issued by a user for an application.", - "httpMethod": "DELETE", - "id": "directory.tokens.delete", - "parameterOrder": [ - "userKey", - "clientId" - ], - "parameters": { - "clientId": { - "description": "The Client ID of the application the token is issued to.", - "location": "path", - "required": true, - "type": "string" - }, - "userKey": { - "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/tokens/{clientId}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - }, - "get": { - "description": "Get information about an access token issued by a user.", - "httpMethod": "GET", - "id": "directory.tokens.get", - "parameterOrder": [ - "userKey", - "clientId" - ], - "parameters": { - "clientId": { - "description": "The Client ID of the application the token is issued to.", - "location": "path", - "required": true, - "type": "string" - }, - "userKey": { - "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/tokens/{clientId}", - "response": { - "$ref": "Token" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - }, - "list": { - "description": "Returns the set of tokens specified user has issued to 3rd party applications.", - "httpMethod": "GET", - "id": "directory.tokens.list", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/tokens", - "response": { - "$ref": "Tokens" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - } - } - }, - "users": { - "methods": { - "delete": { - "description": "Delete user", - "httpMethod": "DELETE", - "id": "directory.users.delete", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - }, - "get": { - "description": "retrieve user", - "httpMethod": "GET", - "id": "directory.users.get", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "customFieldMask": { - "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.", - "location": "query", - "type": "string" - }, - "projection": { - "default": "basic", - "description": "What subset of fields to fetch for this user.", - "enum": [ - "basic", - "custom", - "full" - ], - "enumDescriptions": [ - "Do not include any custom fields for the user.", - "Include custom fields from schemas mentioned in customFieldMask.", - "Include all fields associated with this user." - ], - "location": "query", - "type": "string" - }, - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - }, - "viewType": { - "default": "admin_view", - "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.", - "enum": [ - "admin_view", - "domain_public" - ], - "enumDescriptions": [ - "Fetches the ADMIN_VIEW of the user.", - "Fetches the DOMAIN_PUBLIC view of the user." - ], - "location": "query", - "type": "string" - } - }, - "path": "users/{userKey}", - "response": { - "$ref": "User" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.readonly" - ] - }, - "insert": { - "description": "create user.", - "httpMethod": "POST", - "id": "directory.users.insert", - "path": "users", - "request": { - "$ref": "User" - }, - "response": { - "$ref": "User" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - }, - "list": { - "description": "Retrieve either deleted users or all users in a domain (paginated)", - "httpMethod": "GET", - "id": "directory.users.list", - "parameters": { - "customFieldMask": { - "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.", - "location": "query", - "type": "string" - }, - "customer": { - "description": "Immutable ID of the G Suite account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.", - "location": "query", - "type": "string" - }, - "domain": { - "description": "Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead.", - "location": "query", - "type": "string" - }, - "event": { - "description": "Event on which subscription is intended (if subscribing)", - "enum": [ - "add", - "delete", - "makeAdmin", - "undelete", - "update" - ], - "enumDescriptions": [ - "User Created Event", - "User Deleted Event", - "User Admin Status Change Event", - "User Undeleted Event", - "User Updated Event" - ], - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "100", - "description": "Maximum number of results to return.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "orderBy": { - "description": "Column to use for sorting results", - "enum": [ - "email", - "familyName", - "givenName" - ], - "enumDescriptions": [ - "Primary email of the user.", - "User's family name.", - "User's given name." - ], - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Token to specify next page in the list", - "location": "query", - "type": "string" - }, - "projection": { - "default": "basic", - "description": "What subset of fields to fetch for this user.", - "enum": [ - "basic", - "custom", - "full" - ], - "enumDescriptions": [ - "Do not include any custom fields for the user.", - "Include custom fields from schemas mentioned in customFieldMask.", - "Include all fields associated with this user." - ], - "location": "query", - "type": "string" - }, - "query": { - "description": "Query string search. Should be of the form \"\". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users", - "location": "query", - "type": "string" - }, - "showDeleted": { - "description": "If set to true, retrieves the list of deleted users. (Default: false)", - "location": "query", - "type": "string" - }, - "sortOrder": { - "description": "Whether to return results in ascending or descending order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "enumDescriptions": [ - "Ascending order.", - "Descending order." - ], - "location": "query", - "type": "string" - }, - "viewType": { - "default": "admin_view", - "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.", - "enum": [ - "admin_view", - "domain_public" - ], - "enumDescriptions": [ - "Fetches the ADMIN_VIEW of the user.", - "Fetches the DOMAIN_PUBLIC view of the user." - ], - "location": "query", - "type": "string" - } - }, - "path": "users", - "response": { - "$ref": "Users" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ], - "supportsSubscription": true - }, - "makeAdmin": { - "description": "change admin status of a user", - "httpMethod": "POST", - "id": "directory.users.makeAdmin", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user as admin", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/makeAdmin", - "request": { - "$ref": "UserMakeAdmin" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - }, - "patch": { - "description": "update user. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.users.patch", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user. If ID, it should match with id of user object", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}", - "request": { - "$ref": "User" - }, - "response": { - "$ref": "User" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - }, - "undelete": { - "description": "Undelete a deleted user", - "httpMethod": "POST", - "id": "directory.users.undelete", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "The immutable id of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/undelete", - "request": { - "$ref": "UserUndelete" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - }, - "update": { - "description": "update user", - "httpMethod": "PUT", - "id": "directory.users.update", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user. If ID, it should match with id of user object", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}", - "request": { - "$ref": "User" - }, - "response": { - "$ref": "User" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - }, - "watch": { - "description": "Watch for changes in users list", - "httpMethod": "POST", - "id": "directory.users.watch", - "parameters": { - "customFieldMask": { - "description": "Comma-separated list of schema names. All fields from these schemas are fetched. This should only be set when projection=custom.", - "location": "query", - "type": "string" - }, - "customer": { - "description": "Immutable ID of the G Suite account. In case of multi-domain, to fetch all users for a customer, fill this field instead of domain.", - "location": "query", - "type": "string" - }, - "domain": { - "description": "Name of the domain. Fill this field to get users from only this domain. To return all users in a multi-domain fill customer field instead.", - "location": "query", - "type": "string" - }, - "event": { - "description": "Event on which subscription is intended (if subscribing)", - "enum": [ - "add", - "delete", - "makeAdmin", - "undelete", - "update" - ], - "enumDescriptions": [ - "User Created Event", - "User Deleted Event", - "User Admin Status Change Event", - "User Undeleted Event", - "User Updated Event" - ], - "location": "query", - "type": "string" - }, - "maxResults": { - "default": "100", - "description": "Maximum number of results to return.", - "format": "int32", - "location": "query", - "maximum": "500", - "minimum": "1", - "type": "integer" - }, - "orderBy": { - "description": "Column to use for sorting results", - "enum": [ - "email", - "familyName", - "givenName" - ], - "enumDescriptions": [ - "Primary email of the user.", - "User's family name.", - "User's given name." - ], - "location": "query", - "type": "string" - }, - "pageToken": { - "description": "Token to specify next page in the list", - "location": "query", - "type": "string" - }, - "projection": { - "default": "basic", - "description": "What subset of fields to fetch for this user.", - "enum": [ - "basic", - "custom", - "full" - ], - "enumDescriptions": [ - "Do not include any custom fields for the user.", - "Include custom fields from schemas mentioned in customFieldMask.", - "Include all fields associated with this user." - ], - "location": "query", - "type": "string" - }, - "query": { - "description": "Query string search. Should be of the form \"\". Complete documentation is at https://developers.google.com/admin-sdk/directory/v1/guides/search-users", - "location": "query", - "type": "string" - }, - "showDeleted": { - "description": "If set to true, retrieves the list of deleted users. (Default: false)", - "location": "query", - "type": "string" - }, - "sortOrder": { - "description": "Whether to return results in ascending or descending order.", - "enum": [ - "ASCENDING", - "DESCENDING" - ], - "enumDescriptions": [ - "Ascending order.", - "Descending order." - ], - "location": "query", - "type": "string" - }, - "viewType": { - "default": "admin_view", - "description": "Whether to fetch the ADMIN_VIEW or DOMAIN_PUBLIC view of the user.", - "enum": [ - "admin_view", - "domain_public" - ], - "enumDescriptions": [ - "Fetches the ADMIN_VIEW of the user.", - "Fetches the DOMAIN_PUBLIC view of the user." - ], - "location": "query", - "type": "string" - } - }, - "path": "users/watch", - "request": { - "$ref": "Channel", - "parameterName": "resource" - }, - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.readonly", - "https://www.googleapis.com/auth/cloud-platform" - ], - "supportsSubscription": true - } - }, - "resources": { - "aliases": { - "methods": { - "delete": { - "description": "Remove a alias for the user", - "httpMethod": "DELETE", - "id": "directory.users.aliases.delete", - "parameterOrder": [ - "userKey", - "alias" - ], - "parameters": { - "alias": { - "description": "The alias to be removed", - "location": "path", - "required": true, - "type": "string" - }, - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/aliases/{alias}", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.alias" - ] - }, - "insert": { - "description": "Add a alias for the user", - "httpMethod": "POST", - "id": "directory.users.aliases.insert", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/aliases", - "request": { - "$ref": "Alias" - }, - "response": { - "$ref": "Alias" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.alias" - ] - }, - "list": { - "description": "List all aliases for a user", - "httpMethod": "GET", - "id": "directory.users.aliases.list", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "event": { - "description": "Event on which subscription is intended (if subscribing)", - "enum": [ - "add", - "delete" - ], - "enumDescriptions": [ - "Alias Created Event", - "Alias Deleted Event" - ], - "location": "query", - "type": "string" - }, - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/aliases", - "response": { - "$ref": "Aliases" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.alias", - "https://www.googleapis.com/auth/admin.directory.user.alias.readonly", - "https://www.googleapis.com/auth/admin.directory.user.readonly" - ], - "supportsSubscription": true - }, - "watch": { - "description": "Watch for changes in user aliases list", - "httpMethod": "POST", - "id": "directory.users.aliases.watch", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "event": { - "description": "Event on which subscription is intended (if subscribing)", - "enum": [ - "add", - "delete" - ], - "enumDescriptions": [ - "Alias Created Event", - "Alias Deleted Event" - ], - "location": "query", - "type": "string" - }, - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/aliases/watch", - "request": { - "$ref": "Channel", - "parameterName": "resource" - }, - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.alias", - "https://www.googleapis.com/auth/admin.directory.user.alias.readonly", - "https://www.googleapis.com/auth/admin.directory.user.readonly" - ], - "supportsSubscription": true - } - } - }, - "photos": { - "methods": { - "delete": { - "description": "Remove photos for the user", - "httpMethod": "DELETE", - "id": "directory.users.photos.delete", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/photos/thumbnail", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - }, - "get": { - "description": "Retrieve photo of a user", - "httpMethod": "GET", - "id": "directory.users.photos.get", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/photos/thumbnail", - "response": { - "$ref": "UserPhoto" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user", - "https://www.googleapis.com/auth/admin.directory.user.readonly" - ] - }, - "patch": { - "description": "Add a photo for the user. This method supports patch semantics.", - "httpMethod": "PATCH", - "id": "directory.users.photos.patch", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/photos/thumbnail", - "request": { - "$ref": "UserPhoto" - }, - "response": { - "$ref": "UserPhoto" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - }, - "update": { - "description": "Add a photo for the user", - "httpMethod": "PUT", - "id": "directory.users.photos.update", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/photos/thumbnail", - "request": { - "$ref": "UserPhoto" - }, - "response": { - "$ref": "UserPhoto" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user" - ] - } - } - } - } - }, - "verificationCodes": { - "methods": { - "generate": { - "description": "Generate new backup verification codes for the user.", - "httpMethod": "POST", - "id": "directory.verificationCodes.generate", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/verificationCodes/generate", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - }, - "invalidate": { - "description": "Invalidate the current backup verification codes for the user.", - "httpMethod": "POST", - "id": "directory.verificationCodes.invalidate", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Email or immutable ID of the user", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/verificationCodes/invalidate", - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - }, - "list": { - "description": "Returns the current set of valid backup verification codes for the specified user.", - "httpMethod": "GET", - "id": "directory.verificationCodes.list", - "parameterOrder": [ - "userKey" - ], - "parameters": { - "userKey": { - "description": "Identifies the user in the API request. The value can be the user's primary email address, alias email address, or unique user ID.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userKey}/verificationCodes", - "response": { - "$ref": "VerificationCodes" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.directory.user.security" - ] - } - } - } - }, - "revision": "20200204", - "rootUrl": "https://www.googleapis.com/", - "schemas": { - "Alias": { - "description": "JSON template for Alias object in Directory API.", - "id": "Alias", - "properties": { - "alias": { - "description": "A alias email", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "id": { - "description": "Unique id of the group (Read-only) Unique id of the user (Read-only)", - "type": "string" - }, - "kind": { - "default": "admin#directory#alias", - "description": "Kind of resource this is.", - "type": "string" - }, - "primaryEmail": { - "description": "Group's primary email (Read-only) User's primary email (Read-only)", - "type": "string" - } - }, - "type": "object" - }, - "Aliases": { - "description": "JSON response template to list aliases in Directory API.", - "id": "Aliases", - "properties": { - "aliases": { - "description": "List of alias objects.", - "items": { - "type": "any" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#aliases", - "description": "Kind of resource this is.", - "type": "string" - } - }, - "type": "object" - }, - "Asp": { - "description": "The template that returns individual ASP (Access Code) data.", - "id": "Asp", - "properties": { - "codeId": { - "description": "The unique ID of the ASP.", - "format": "int32", - "type": "integer" - }, - "creationTime": { - "description": "The time when the ASP was created. Expressed in Unix time format.", - "format": "int64", - "type": "string" - }, - "etag": { - "description": "ETag of the ASP.", - "type": "string" - }, - "kind": { - "default": "admin#directory#asp", - "description": "The type of the API resource. This is always admin#directory#asp.", - "type": "string" - }, - "lastTimeUsed": { - "description": "The time when the ASP was last used. Expressed in Unix time format.", - "format": "int64", - "type": "string" - }, - "name": { - "description": "The name of the application that the user, represented by their userId, entered when the ASP was created.", - "type": "string" - }, - "userKey": { - "description": "The unique ID of the user who issued the ASP.", - "type": "string" - } - }, - "type": "object" - }, - "Asps": { - "id": "Asps", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "A list of ASP resources.", - "items": { - "$ref": "Asp" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#aspList", - "description": "The type of the API resource. This is always admin#directory#aspList.", - "type": "string" - } - }, - "type": "object" - }, - "Building": { - "description": "JSON template for Building object in Directory API.", - "id": "Building", - "properties": { - "address": { - "$ref": "BuildingAddress", - "description": "The postal address of the building. See PostalAddress for details. Note that only a single address line and region code are required." - }, - "buildingId": { - "description": "Unique identifier for the building. The maximum length is 100 characters.", - "type": "string" - }, - "buildingName": { - "description": "The building name as seen by users in Calendar. Must be unique for the customer. For example, \"NYC-CHEL\". The maximum length is 100 characters.", - "type": "string" - }, - "coordinates": { - "$ref": "BuildingCoordinates", - "description": "The geographic coordinates of the center of the building, expressed as latitude and longitude in decimal degrees." - }, - "description": { - "description": "A brief description of the building. For example, \"Chelsea Market\".", - "type": "string" - }, - "etags": { - "description": "ETag of the resource.", - "type": "string" - }, - "floorNames": { - "description": "The display names for all floors in this building. The floors are expected to be sorted in ascending order, from lowest floor to highest floor. For example, [\"B2\", \"B1\", \"L\", \"1\", \"2\", \"2M\", \"3\", \"PH\"] Must contain at least one entry.", - "items": { - "type": "string" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#resources#buildings#Building", - "description": "Kind of resource this is.", - "type": "string" - } - }, - "type": "object" - }, - "BuildingAddress": { - "description": "JSON template for the postal address of a building in Directory API.", - "id": "BuildingAddress", - "properties": { - "addressLines": { - "description": "Unstructured address lines describing the lower levels of an address.", - "items": { - "type": "string" - }, - "type": "array" - }, - "administrativeArea": { - "description": "Optional. Highest administrative subdivision which is used for postal addresses of a country or region.", - "type": "string" - }, - "languageCode": { - "description": "Optional. BCP-47 language code of the contents of this address (if known).", - "type": "string" - }, - "locality": { - "description": "Optional. Generally refers to the city/town portion of the address. Examples: US city, IT comune, UK post town. In regions of the world where localities are not well defined or do not fit into this structure well, leave locality empty and use addressLines.", - "type": "string" - }, - "postalCode": { - "description": "Optional. Postal code of the address.", - "type": "string" - }, - "regionCode": { - "description": "Required. CLDR region code of the country/region of the address.", - "type": "string" - }, - "sublocality": { - "description": "Optional. Sublocality of the address.", - "type": "string" - } - }, - "type": "object" - }, - "BuildingCoordinates": { - "description": "JSON template for coordinates of a building in Directory API.", - "id": "BuildingCoordinates", - "properties": { - "latitude": { - "description": "Latitude in decimal degrees.", - "format": "double", - "type": "number" - }, - "longitude": { - "description": "Longitude in decimal degrees.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "Buildings": { - "description": "JSON template for Building List Response object in Directory API.", - "id": "Buildings", - "properties": { - "buildings": { - "description": "The Buildings in this page of results.", - "items": { - "$ref": "Building" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#resources#buildings#buildingsList", - "description": "Kind of resource this is.", - "type": "string" - }, - "nextPageToken": { - "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", - "type": "string" - } - }, - "type": "object" - }, - "CalendarResource": { - "description": "JSON template for Calendar Resource object in Directory API.", - "id": "CalendarResource", - "properties": { - "buildingId": { - "description": "Unique ID for the building a resource is located in.", - "type": "string" - }, - "capacity": { - "description": "Capacity of a resource, number of seats in a room.", - "format": "int32", - "type": "integer" - }, - "etags": { - "description": "ETag of the resource.", - "type": "string" - }, - "featureInstances": { - "type": "any" - }, - "floorName": { - "description": "Name of the floor a resource is located on.", - "type": "string" - }, - "floorSection": { - "description": "Name of the section within a floor a resource is located in.", - "type": "string" - }, - "generatedResourceName": { - "description": "The read-only auto-generated name of the calendar resource which includes metadata about the resource such as building name, floor, capacity, etc. For example, \"NYC-2-Training Room 1A (16)\".", - "type": "string" - }, - "kind": { - "default": "admin#directory#resources#calendars#CalendarResource", - "description": "The type of the resource. For calendar resources, the value is admin#directory#resources#calendars#CalendarResource.", - "type": "string" - }, - "resourceCategory": { - "description": "The category of the calendar resource. Either CONFERENCE_ROOM or OTHER. Legacy data is set to CATEGORY_UNKNOWN.", - "type": "string" - }, - "resourceDescription": { - "description": "Description of the resource, visible only to admins.", - "type": "string" - }, - "resourceEmail": { - "description": "The read-only email for the calendar resource. Generated as part of creating a new calendar resource.", - "type": "string" - }, - "resourceId": { - "annotations": { - "required": [ - "directory.resources.calendars.insert" - ] - }, - "description": "The unique ID for the calendar resource.", - "type": "string" - }, - "resourceName": { - "annotations": { - "required": [ - "directory.resources.calendars.insert" - ] - }, - "description": "The name of the calendar resource. For example, \"Training Room 1A\".", - "type": "string" - }, - "resourceType": { - "description": "The type of the calendar resource, intended for non-room resources.", - "type": "string" - }, - "userVisibleDescription": { - "description": "Description of the resource, visible to users and admins.", - "type": "string" - } - }, - "type": "object" - }, - "CalendarResources": { - "description": "JSON template for Calendar Resource List Response object in Directory API.", - "id": "CalendarResources", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "The CalendarResources in this page of results.", - "items": { - "$ref": "CalendarResource" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#resources#calendars#calendarResourcesList", - "description": "Identifies this as a collection of CalendarResources. This is always admin#directory#resources#calendars#calendarResourcesList.", - "type": "string" - }, - "nextPageToken": { - "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", - "type": "string" - } - }, - "type": "object" - }, - "Channel": { - "description": "An notification channel used to watch for resource changes.", - "id": "Channel", - "properties": { - "address": { - "description": "The address where notifications are delivered for this channel.", - "type": "string" - }, - "expiration": { - "description": "Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.", - "format": "int64", - "type": "string" - }, - "id": { - "description": "A UUID or similar unique string that identifies this channel.", - "type": "string" - }, - "kind": { - "default": "api#channel", - "description": "Identifies this as a notification channel used to watch for changes to a resource, which is \"api#channel\".", - "type": "string" - }, - "params": { - "additionalProperties": { - "description": "Declares a new parameter by name.", - "type": "string" - }, - "description": "Additional parameters controlling delivery channel behavior. Optional.", - "type": "object" - }, - "payload": { - "description": "A Boolean value to indicate whether payload is wanted. Optional.", - "type": "boolean" - }, - "resourceId": { - "description": "An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.", - "type": "string" - }, - "resourceUri": { - "description": "A version-specific identifier for the watched resource.", - "type": "string" - }, - "token": { - "description": "An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.", - "type": "string" - }, - "type": { - "description": "The type of delivery mechanism used for this channel.", - "type": "string" - } - }, - "type": "object" - }, - "ChromeOsDevice": { - "description": "JSON template for Chrome Os Device resource in Directory API.", - "id": "ChromeOsDevice", - "properties": { - "activeTimeRanges": { - "description": "List of active time ranges (Read-only)", - "items": { - "properties": { - "activeTime": { - "description": "Duration in milliseconds", - "format": "int32", - "type": "integer" - }, - "date": { - "description": "Date of usage", - "format": "date", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "annotatedAssetId": { - "description": "AssetId specified during enrollment or through later annotation", - "type": "string" - }, - "annotatedLocation": { - "description": "Address or location of the device as noted by the administrator", - "type": "string" - }, - "annotatedUser": { - "description": "User of the device", - "type": "string" - }, - "autoUpdateExpiration": { - "description": "(Read-only) The timestamp after which the device will stop receiving Chrome updates or support", - "format": "int64", - "type": "string" - }, - "bootMode": { - "description": "Chromebook boot mode (Read-only)", - "type": "string" - }, - "cpuStatusReports": { - "description": "Reports of CPU utilization and temperature (Read-only)", - "items": { - "properties": { - "cpuTemperatureInfo": { - "description": "List of CPU temperature samples.", - "items": { - "properties": { - "label": { - "description": "CPU label", - "type": "string" - }, - "temperature": { - "description": "Temperature in Celsius degrees.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "type": "array" - }, - "cpuUtilizationPercentageInfo": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - }, - "reportTime": { - "description": "Date and time the report was received.", - "format": "date-time", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "deviceFiles": { - "description": "List of device files to download (Read-only)", - "items": { - "properties": { - "createTime": { - "description": "Date and time the file was created", - "format": "date-time", - "type": "string" - }, - "downloadUrl": { - "description": "File download URL", - "type": "string" - }, - "name": { - "description": "File name", - "type": "string" - }, - "type": { - "description": "File type", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "deviceId": { - "description": "Unique identifier of Chrome OS Device (Read-only)", - "type": "string" - }, - "diskVolumeReports": { - "description": "Reports of disk space and other info about mounted/connected volumes.", - "items": { - "properties": { - "volumeInfo": { - "description": "Disk volumes", - "items": { - "properties": { - "storageFree": { - "description": "Free disk space [in bytes]", - "format": "int64", - "type": "string" - }, - "storageTotal": { - "description": "Total disk space [in bytes]", - "format": "int64", - "type": "string" - }, - "volumeId": { - "description": "Volume id", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "dockMacAddress": { - "description": "(Read-only) Built-in MAC address for the docking station that the device connected to. Factory sets Media access control address (MAC address) assigned for use by a dock. Currently this is only supported on the Dell Arcada / Sarien devices and the Dell WD19 / WD19TB Docking Station. It is reserved specifically for MAC pass through device policy. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for Dell devices.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "ethernetMacAddress": { - "description": "Chromebook Mac Address on ethernet network interface (Read-only)", - "type": "string" - }, - "ethernetMacAddress0": { - "description": "(Read-only) MAC address used by the Chromebook\u2019s internal ethernet port, and for onboard network (ethernet) interface. The format is twelve (12) hexadecimal digits without any delimiter (uppercase letters). This is only relevant for some devices.", - "type": "string" - }, - "firmwareVersion": { - "description": "Chromebook firmware version (Read-only)", - "type": "string" - }, - "kind": { - "default": "admin#directory#chromeosdevice", - "description": "Kind of resource this is.", - "type": "string" - }, - "lastEnrollmentTime": { - "description": "Date and time the device was last enrolled (Read-only)", - "format": "date-time", - "type": "string" - }, - "lastSync": { - "description": "Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only)", - "format": "date-time", - "type": "string" - }, - "macAddress": { - "description": "Chromebook Mac Address on wifi network interface (Read-only)", - "type": "string" - }, - "manufactureDate": { - "description": "(Read-only) The date the device was manufactured in yyyy-mm-dd format.", - "type": "string" - }, - "meid": { - "description": "Contains either the Mobile Equipment identifier (MEID) or the International Mobile Equipment Identity (IMEI) for the 3G mobile card in the Chromebook (Read-only)", - "type": "string" - }, - "model": { - "description": "Chromebook Model (Read-only)", - "type": "string" - }, - "notes": { - "description": "Notes added by the administrator", - "type": "string" - }, - "orderNumber": { - "description": "Chromebook order number (Read-only)", - "type": "string" - }, - "orgUnitPath": { - "description": "OrgUnit of the device", - "type": "string" - }, - "osVersion": { - "description": "Chromebook Os Version (Read-only)", - "type": "string" - }, - "platformVersion": { - "description": "Chromebook platform version (Read-only)", - "type": "string" - }, - "recentUsers": { - "description": "List of recent device users, in descending order by last login time (Read-only)", - "items": { - "properties": { - "email": { - "description": "Email address of the user. Present only if the user type is managed", - "type": "string" - }, - "type": { - "description": "The type of the user", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "serialNumber": { - "description": "Chromebook serial number (Read-only)", - "type": "string" - }, - "status": { - "description": "status of the device (Read-only)", - "type": "string" - }, - "supportEndDate": { - "description": "Final date the device will be supported (Read-only)", - "format": "date-time", - "type": "string" - }, - "systemRamFreeReports": { - "description": "Reports of amounts of available RAM memory (Read-only)", - "items": { - "properties": { - "reportTime": { - "description": "Date and time the report was received.", - "format": "date-time", - "type": "string" - }, - "systemRamFreeInfo": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "systemRamTotal": { - "description": "Total RAM on the device [in bytes] (Read-only)", - "format": "int64", - "type": "string" - }, - "tpmVersionInfo": { - "description": "Trusted Platform Module (TPM) (Read-only)", - "properties": { - "family": { - "description": "TPM family.", - "type": "string" - }, - "firmwareVersion": { - "description": "TPM firmware version.", - "type": "string" - }, - "manufacturer": { - "description": "TPM manufacturer code.", - "type": "string" - }, - "specLevel": { - "description": "TPM specification level.", - "type": "string" - }, - "tpmModel": { - "description": "TPM model number.", - "type": "string" - }, - "vendorSpecific": { - "description": "Vendor-specific information such as Vendor ID.", - "type": "string" - } - }, - "type": "object" - }, - "willAutoRenew": { - "description": "Will Chromebook auto renew after support end date (Read-only)", - "type": "boolean" - } - }, - "type": "object" - }, - "ChromeOsDeviceAction": { - "description": "JSON request template for firing actions on ChromeOs Device in Directory Devices API.", - "id": "ChromeOsDeviceAction", - "properties": { - "action": { - "annotations": { - "required": [ - "directory.chromeosdevices.action" - ] - }, - "description": "Action to be taken on the ChromeOs Device", - "type": "string" - }, - "deprovisionReason": { - "type": "string" - } - }, - "type": "object" - }, - "ChromeOsDevices": { - "description": "JSON response template for List Chrome OS Devices operation in Directory API.", - "id": "ChromeOsDevices", - "properties": { - "chromeosdevices": { - "description": "List of Chrome OS Device objects.", - "items": { - "$ref": "ChromeOsDevice" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#chromeosdevices", - "description": "Kind of resource this is.", - "type": "string" - }, - "nextPageToken": { - "description": "Token used to access next page of this result.", - "type": "string" - } - }, - "type": "object" - }, - "ChromeOsMoveDevicesToOu": { - "description": "JSON request template for moving ChromeOs Device to given OU in Directory Devices API.", - "id": "ChromeOsMoveDevicesToOu", - "properties": { - "deviceIds": { - "annotations": { - "required": [ - "directory.chromeosdevices.moveDevicesToOu" - ] - }, - "description": "ChromeOs Devices to be moved to OU", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Customer": { - "description": "JSON template for Customer Resource object in Directory API.", - "id": "Customer", - "properties": { - "alternateEmail": { - "description": "The customer's secondary contact email address. This email address cannot be on the same domain as the customerDomain", - "type": "string" - }, - "customerCreationTime": { - "description": "The customer's creation time (Readonly)", - "format": "date-time", - "type": "string" - }, - "customerDomain": { - "description": "The customer's primary domain name string. Do not include the www prefix when creating a new customer.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "id": { - "description": "The unique ID for the customer's G Suite account. (Readonly)", - "type": "string" - }, - "kind": { - "default": "admin#directory#customer", - "description": "Identifies the resource as a customer. Value: admin#directory#customer", - "type": "string" - }, - "language": { - "description": "The customer's ISO 639-2 language code. The default value is en-US", - "type": "string" - }, - "phoneNumber": { - "description": "The customer's contact phone number in E.164 format.", - "type": "string" - }, - "postalAddress": { - "$ref": "CustomerPostalAddress", - "description": "The customer's postal address information." - } - }, - "type": "object" - }, - "CustomerPostalAddress": { - "description": "JSON template for postal address of a customer.", - "id": "CustomerPostalAddress", - "properties": { - "addressLine1": { - "description": "A customer's physical address. The address can be composed of one to three lines.", - "type": "string" - }, - "addressLine2": { - "description": "Address line 2 of the address.", - "type": "string" - }, - "addressLine3": { - "description": "Address line 3 of the address.", - "type": "string" - }, - "contactName": { - "description": "The customer contact's name.", - "type": "string" - }, - "countryCode": { - "description": "This is a required property. For countryCode information see the ISO 3166 country code elements.", - "type": "string" - }, - "locality": { - "description": "Name of the locality. An example of a locality value is the city of San Francisco.", - "type": "string" - }, - "organizationName": { - "description": "The company or company division name.", - "type": "string" - }, - "postalCode": { - "description": "The postal code. A postalCode example is a postal zip code such as 10009. This is in accordance with - http://portablecontacts.net/draft-spec.html#address_element.", - "type": "string" - }, - "region": { - "description": "Name of the region. An example of a region value is NY for the state of New York.", - "type": "string" - } - }, - "type": "object" - }, - "DomainAlias": { - "description": "JSON template for Domain Alias object in Directory API.", - "id": "DomainAlias", - "properties": { - "creationTime": { - "description": "The creation time of the domain alias. (Read-only).", - "format": "int64", - "type": "string" - }, - "domainAliasName": { - "description": "The domain alias name.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#domainAlias", - "description": "Kind of resource this is.", - "type": "string" - }, - "parentDomainName": { - "annotations": { - "required": [ - "directory.domains.insert" - ] - }, - "description": "The parent domain name that the domain alias is associated with. This can either be a primary or secondary domain name within a customer.", - "type": "string" - }, - "verified": { - "description": "Indicates the verification state of a domain alias. (Read-only)", - "type": "boolean" - } - }, - "type": "object" - }, - "DomainAliases": { - "description": "JSON response template to list domain aliases in Directory API.", - "id": "DomainAliases", - "properties": { - "domainAliases": { - "description": "List of domain alias objects.", - "items": { - "$ref": "DomainAlias" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#domainAliases", - "description": "Kind of resource this is.", - "type": "string" - } - }, - "type": "object" - }, - "Domains": { - "description": "JSON template for Domain object in Directory API.", - "id": "Domains", - "properties": { - "creationTime": { - "description": "Creation time of the domain. (Read-only).", - "format": "int64", - "type": "string" - }, - "domainAliases": { - "description": "List of domain alias objects. (Read-only)", - "items": { - "$ref": "DomainAlias" - }, - "type": "array" - }, - "domainName": { - "annotations": { - "required": [ - "directory.domains.insert" - ] - }, - "description": "The domain name of the customer.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "isPrimary": { - "description": "Indicates if the domain is a primary domain (Read-only).", - "type": "boolean" - }, - "kind": { - "default": "admin#directory#domain", - "description": "Kind of resource this is.", - "type": "string" - }, - "verified": { - "description": "Indicates the verification state of a domain. (Read-only).", - "type": "boolean" - } - }, - "type": "object" - }, - "Domains2": { - "description": "JSON response template to list Domains in Directory API.", - "id": "Domains2", - "properties": { - "domains": { - "description": "List of domain objects.", - "items": { - "$ref": "Domains" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#domains", - "description": "Kind of resource this is.", - "type": "string" - } - }, - "type": "object" - }, - "Feature": { - "description": "JSON template for Feature object in Directory API.", - "id": "Feature", - "properties": { - "etags": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#resources#features#Feature", - "description": "Kind of resource this is.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "directory.resources.features.insert" - ] - }, - "description": "The name of the feature.", - "type": "string" - } - }, - "type": "object" - }, - "FeatureInstance": { - "description": "JSON template for a \"feature instance\".", - "id": "FeatureInstance", - "properties": { - "feature": { - "$ref": "Feature", - "description": "The feature that this is an instance of. A calendar resource may have multiple instances of a feature." - } - }, - "type": "object" - }, - "FeatureRename": { - "description": "JSON request template for renaming a feature.", - "id": "FeatureRename", - "properties": { - "newName": { - "annotations": { - "required": [ - "directory.resources.features.rename" - ] - }, - "description": "New name of the feature.", - "type": "string" - } - }, - "type": "object" - }, - "Features": { - "description": "JSON template for Feature List Response object in Directory API.", - "id": "Features", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "features": { - "description": "The Features in this page of results.", - "items": { - "$ref": "Feature" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#resources#features#featuresList", - "description": "Kind of resource this is.", - "type": "string" - }, - "nextPageToken": { - "description": "The continuation token, used to page through large result sets. Provide this value in a subsequent request to return the next page of results.", - "type": "string" - } - }, - "type": "object" - }, - "Group": { - "description": "JSON template for Group resource in Directory API.", - "id": "Group", - "properties": { - "adminCreated": { - "description": "Is the group created by admin (Read-only) *", - "type": "boolean" - }, - "aliases": { - "description": "List of aliases (Read-only)", - "items": { - "type": "string" - }, - "type": "array" - }, - "description": { - "description": "Description of the group", - "type": "string" - }, - "directMembersCount": { - "description": "Group direct members count", - "format": "int64", - "type": "string" - }, - "email": { - "annotations": { - "required": [ - "directory.groups.insert" - ] - }, - "description": "Email of Group", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "id": { - "description": "Unique identifier of Group (Read-only)", - "type": "string" - }, - "kind": { - "default": "admin#directory#group", - "description": "Kind of resource this is.", - "type": "string" - }, - "name": { - "description": "Group name", - "type": "string" - }, - "nonEditableAliases": { - "description": "List of non editable aliases (Read-only)", - "items": { - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "Groups": { - "description": "JSON response template for List Groups operation in Directory API.", - "id": "Groups", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "groups": { - "description": "List of group objects.", - "items": { - "$ref": "Group" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#groups", - "description": "Kind of resource this is.", - "type": "string" - }, - "nextPageToken": { - "description": "Token used to access next page of this result.", - "type": "string" - } - }, - "type": "object" - }, - "Member": { - "description": "JSON template for Member resource in Directory API.", - "id": "Member", - "properties": { - "delivery_settings": { - "description": "Delivery settings of member", - "type": "string" - }, - "email": { - "description": "Email of member (Read-only)", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "id": { - "description": "The unique ID of the group member. A member id can be used as a member request URI's memberKey. Unique identifier of group (Read-only) Unique identifier of member (Read-only)", - "type": "string" - }, - "kind": { - "default": "admin#directory#member", - "description": "Kind of resource this is.", - "type": "string" - }, - "role": { - "description": "Role of member", - "type": "string" - }, - "status": { - "description": "Status of member (Immutable)", - "type": "string" - }, - "type": { - "description": "Type of member (Immutable)", - "type": "string" - } - }, - "type": "object" - }, - "Members": { - "description": "JSON response template for List Members operation in Directory API.", - "id": "Members", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#members", - "description": "Kind of resource this is.", - "type": "string" - }, - "members": { - "description": "List of member objects.", - "items": { - "$ref": "Member" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token used to access next page of this result.", - "type": "string" - } - }, - "type": "object" - }, - "MembersHasMember": { - "description": "JSON template for Has Member response in Directory API.", - "id": "MembersHasMember", - "properties": { - "isMember": { - "description": "Identifies whether the given user is a member of the group. Membership can be direct or nested.", - "readOnly": true, - "type": "boolean" - } - }, - "type": "object" - }, - "MobileDevice": { - "description": "JSON template for Mobile Device resource in Directory API.", - "id": "MobileDevice", - "properties": { - "adbStatus": { - "description": "Adb (USB debugging) enabled or disabled on device (Read-only)", - "type": "boolean" - }, - "applications": { - "description": "List of applications installed on Mobile Device", - "items": { - "properties": { - "displayName": { - "description": "Display name of application", - "type": "string" - }, - "packageName": { - "description": "Package name of application", - "type": "string" - }, - "permission": { - "description": "List of Permissions for application", - "items": { - "type": "string" - }, - "type": "array" - }, - "versionCode": { - "description": "Version code of application", - "format": "int32", - "type": "integer" - }, - "versionName": { - "description": "Version name of application", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "basebandVersion": { - "description": "Mobile Device Baseband version (Read-only)", - "type": "string" - }, - "bootloaderVersion": { - "description": "Mobile Device Bootloader version (Read-only)", - "type": "string" - }, - "brand": { - "description": "Mobile Device Brand (Read-only)", - "type": "string" - }, - "buildNumber": { - "description": "Mobile Device Build number (Read-only)", - "type": "string" - }, - "defaultLanguage": { - "description": "The default locale used on the Mobile Device (Read-only)", - "type": "string" - }, - "developerOptionsStatus": { - "description": "Developer options enabled or disabled on device (Read-only)", - "type": "boolean" - }, - "deviceCompromisedStatus": { - "description": "Mobile Device compromised status (Read-only)", - "type": "string" - }, - "deviceId": { - "description": "Mobile Device serial number (Read-only)", - "type": "string" - }, - "devicePasswordStatus": { - "description": "DevicePasswordStatus (Read-only)", - "type": "string" - }, - "email": { - "description": "List of owner user's email addresses (Read-only)", - "items": { - "type": "string" - }, - "type": "array" - }, - "encryptionStatus": { - "description": "Mobile Device Encryption Status (Read-only)", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "firstSync": { - "description": "Date and time the device was first synchronized with the policy settings in the G Suite administrator control panel (Read-only)", - "format": "date-time", - "type": "string" - }, - "hardware": { - "description": "Mobile Device Hardware (Read-only)", - "type": "string" - }, - "hardwareId": { - "description": "Mobile Device Hardware Id (Read-only)", - "type": "string" - }, - "imei": { - "description": "Mobile Device IMEI number (Read-only)", - "type": "string" - }, - "kernelVersion": { - "description": "Mobile Device Kernel version (Read-only)", - "type": "string" - }, - "kind": { - "default": "admin#directory#mobiledevice", - "description": "Kind of resource this is.", - "type": "string" - }, - "lastSync": { - "description": "Date and time the device was last synchronized with the policy settings in the G Suite administrator control panel (Read-only)", - "format": "date-time", - "type": "string" - }, - "managedAccountIsOnOwnerProfile": { - "description": "Boolean indicating if this account is on owner/primary profile or not (Read-only)", - "type": "boolean" - }, - "manufacturer": { - "description": "Mobile Device manufacturer (Read-only)", - "type": "string" - }, - "meid": { - "description": "Mobile Device MEID number (Read-only)", - "type": "string" - }, - "model": { - "description": "Name of the model of the device", - "type": "string" - }, - "name": { - "description": "List of owner user's names (Read-only)", - "items": { - "type": "string" - }, - "type": "array" - }, - "networkOperator": { - "description": "Mobile Device mobile or network operator (if available) (Read-only)", - "type": "string" - }, - "os": { - "description": "Name of the mobile operating system", - "type": "string" - }, - "otherAccountsInfo": { - "description": "List of accounts added on device (Read-only)", - "items": { - "type": "string" - }, - "type": "array" - }, - "privilege": { - "description": "DMAgentPermission (Read-only)", - "type": "string" - }, - "releaseVersion": { - "description": "Mobile Device release version version (Read-only)", - "type": "string" - }, - "resourceId": { - "description": "Unique identifier of Mobile Device (Read-only)", - "type": "string" - }, - "securityPatchLevel": { - "description": "Mobile Device Security patch level (Read-only)", - "format": "int64", - "type": "string" - }, - "serialNumber": { - "description": "Mobile Device SSN or Serial Number (Read-only)", - "type": "string" - }, - "status": { - "description": "Status of the device (Read-only)", - "type": "string" - }, - "supportsWorkProfile": { - "description": "Work profile supported on device (Read-only)", - "type": "boolean" - }, - "type": { - "description": "The type of device (Read-only)", - "type": "string" - }, - "unknownSourcesStatus": { - "description": "Unknown sources enabled or disabled on device (Read-only)", - "type": "boolean" - }, - "userAgent": { - "description": "Mobile Device user agent", - "type": "string" - }, - "wifiMacAddress": { - "description": "Mobile Device WiFi MAC address (Read-only)", - "type": "string" - } - }, - "type": "object" - }, - "MobileDeviceAction": { - "description": "JSON request template for firing commands on Mobile Device in Directory Devices API.", - "id": "MobileDeviceAction", - "properties": { - "action": { - "annotations": { - "required": [ - "directory.mobiledevices.action" - ] - }, - "description": "Action to be taken on the Mobile Device", - "type": "string" - } - }, - "type": "object" - }, - "MobileDevices": { - "description": "JSON response template for List Mobile Devices operation in Directory API.", - "id": "MobileDevices", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#mobiledevices", - "description": "Kind of resource this is.", - "type": "string" - }, - "mobiledevices": { - "description": "List of Mobile Device objects.", - "items": { - "$ref": "MobileDevice" - }, - "type": "array" - }, - "nextPageToken": { - "description": "Token used to access next page of this result.", - "type": "string" - } - }, - "type": "object" - }, - "Notification": { - "description": "Template for a notification resource.", - "id": "Notification", - "properties": { - "body": { - "description": "Body of the notification (Read-only)", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "fromAddress": { - "description": "Address from which the notification is received (Read-only)", - "type": "string" - }, - "isUnread": { - "annotations": { - "required": [ - "directory.notifications.patch", - "directory.notifications.update" - ] - }, - "description": "Boolean indicating whether the notification is unread or not.", - "type": "boolean" - }, - "kind": { - "default": "admin#directory#notification", - "description": "The type of the resource.", - "type": "string" - }, - "notificationId": { - "type": "string" - }, - "sendTime": { - "description": "Time at which notification was sent (Read-only)", - "format": "date-time", - "type": "string" - }, - "subject": { - "description": "Subject of the notification (Read-only)", - "type": "string" - } - }, - "type": "object" - }, - "Notifications": { - "description": "Template for notifications list response.", - "id": "Notifications", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "List of notifications in this page.", - "items": { - "$ref": "Notification" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#notifications", - "description": "The type of the resource.", - "type": "string" - }, - "nextPageToken": { - "description": "Token for fetching the next page of notifications.", - "type": "string" - }, - "unreadNotificationsCount": { - "description": "Number of unread notification for the domain.", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "OrgUnit": { - "description": "JSON template for Org Unit resource in Directory API.", - "id": "OrgUnit", - "properties": { - "blockInheritance": { - "description": "Should block inheritance", - "type": "boolean" - }, - "description": { - "description": "Description of OrgUnit", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#orgUnit", - "description": "Kind of resource this is.", - "type": "string" - }, - "name": { - "annotations": { - "required": [ - "directory.orgunits.insert" - ] - }, - "description": "Name of OrgUnit", - "type": "string" - }, - "orgUnitId": { - "description": "Id of OrgUnit", - "type": "string" - }, - "orgUnitPath": { - "description": "Path of OrgUnit", - "type": "string" - }, - "parentOrgUnitId": { - "description": "Id of parent OrgUnit", - "type": "string" - }, - "parentOrgUnitPath": { - "description": "Path of parent OrgUnit", - "type": "string" - } - }, - "type": "object" - }, - "OrgUnits": { - "description": "JSON response template for List Organization Units operation in Directory API.", - "id": "OrgUnits", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#orgUnits", - "description": "Kind of resource this is.", - "type": "string" - }, - "organizationUnits": { - "description": "List of user objects.", - "items": { - "$ref": "OrgUnit" - }, - "type": "array" - } - }, - "type": "object" - }, - "Privilege": { - "description": "JSON template for privilege resource in Directory API.", - "id": "Privilege", - "properties": { - "childPrivileges": { - "description": "A list of child privileges. Privileges for a service form a tree. Each privilege can have a list of child privileges; this list is empty for a leaf privilege.", - "items": { - "$ref": "Privilege" - }, - "type": "array" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "isOuScopable": { - "description": "If the privilege can be restricted to an organization unit.", - "type": "boolean" - }, - "kind": { - "default": "admin#directory#privilege", - "description": "The type of the API resource. This is always admin#directory#privilege.", - "type": "string" - }, - "privilegeName": { - "description": "The name of the privilege.", - "type": "string" - }, - "serviceId": { - "description": "The obfuscated ID of the service this privilege is for. This value is returned with Privileges.list().", - "type": "string" - }, - "serviceName": { - "description": "The name of the service this privilege is for.", - "type": "string" - } - }, - "type": "object" - }, - "Privileges": { - "description": "JSON response template for List privileges operation in Directory API.", - "id": "Privileges", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "A list of Privilege resources.", - "items": { - "$ref": "Privilege" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#privileges", - "description": "The type of the API resource. This is always admin#directory#privileges.", - "type": "string" - } - }, - "type": "object" - }, - "Role": { - "description": "JSON template for role resource in Directory API.", - "id": "Role", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "isSuperAdminRole": { - "description": "Returns true if the role is a super admin role.", - "type": "boolean" - }, - "isSystemRole": { - "description": "Returns true if this is a pre-defined system role.", - "type": "boolean" - }, - "kind": { - "default": "admin#directory#role", - "description": "The type of the API resource. This is always admin#directory#role.", - "type": "string" - }, - "roleDescription": { - "description": "A short description of the role.", - "type": "string" - }, - "roleId": { - "description": "ID of the role.", - "format": "int64", - "type": "string" - }, - "roleName": { - "annotations": { - "required": [ - "directory.roles.insert" - ] - }, - "description": "Name of the role.", - "type": "string" - }, - "rolePrivileges": { - "annotations": { - "required": [ - "directory.roles.insert" - ] - }, - "description": "The set of privileges that are granted to this role.", - "items": { - "properties": { - "privilegeName": { - "description": "The name of the privilege.", - "type": "string" - }, - "serviceId": { - "description": "The obfuscated ID of the service this privilege is for. This value is returned with Privileges.list().", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - }, - "RoleAssignment": { - "description": "JSON template for roleAssignment resource in Directory API.", - "id": "RoleAssignment", - "properties": { - "assignedTo": { - "description": "The unique ID of the user this role is assigned to.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#roleAssignment", - "description": "The type of the API resource. This is always admin#directory#roleAssignment.", - "type": "string" - }, - "orgUnitId": { - "description": "If the role is restricted to an organization unit, this contains the ID for the organization unit the exercise of this role is restricted to.", - "type": "string" - }, - "roleAssignmentId": { - "description": "ID of this roleAssignment.", - "format": "int64", - "type": "string" - }, - "roleId": { - "description": "The ID of the role that is assigned.", - "format": "int64", - "type": "string" - }, - "scopeType": { - "description": "The scope in which this role is assigned. Possible values are: \n- CUSTOMER\n- ORG_UNIT", - "type": "string" - } - }, - "type": "object" - }, - "RoleAssignments": { - "description": "JSON response template for List roleAssignments operation in Directory API.", - "id": "RoleAssignments", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "A list of RoleAssignment resources.", - "items": { - "$ref": "RoleAssignment" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#roleAssignments", - "description": "The type of the API resource. This is always admin#directory#roleAssignments.", - "type": "string" - }, - "nextPageToken": { - "type": "string" - } - }, - "type": "object" - }, - "Roles": { - "description": "JSON response template for List roles operation in Directory API.", - "id": "Roles", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "A list of Role resources.", - "items": { - "$ref": "Role" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#roles", - "description": "The type of the API resource. This is always admin#directory#roles.", - "type": "string" - }, - "nextPageToken": { - "type": "string" - } - }, - "type": "object" - }, - "Schema": { - "description": "JSON template for Schema resource in Directory API.", - "id": "Schema", - "properties": { - "displayName": { - "annotations": { - "required": [ - "directory.schemas.insert" - ] - }, - "description": "Display name for the schema.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "fields": { - "annotations": { - "required": [ - "directory.schemas.insert", - "directory.schemas.update" - ] - }, - "description": "Fields of Schema", - "items": { - "$ref": "SchemaFieldSpec" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#schema", - "description": "Kind of resource this is.", - "type": "string" - }, - "schemaId": { - "description": "Unique identifier of Schema (Read-only)", - "type": "string" - }, - "schemaName": { - "annotations": { - "required": [ - "directory.schemas.insert" - ] - }, - "description": "Schema name", - "type": "string" - } - }, - "type": "object" - }, - "SchemaFieldSpec": { - "description": "JSON template for FieldSpec resource for Schemas in Directory API.", - "id": "SchemaFieldSpec", - "properties": { - "displayName": { - "annotations": { - "required": [ - "directory.schemas.insert", - "directory.schemas.update" - ] - }, - "description": "Display Name of the field.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "fieldId": { - "description": "Unique identifier of Field (Read-only)", - "type": "string" - }, - "fieldName": { - "annotations": { - "required": [ - "directory.schemas.insert", - "directory.schemas.update" - ] - }, - "description": "Name of the field.", - "type": "string" - }, - "fieldType": { - "annotations": { - "required": [ - "directory.schemas.insert", - "directory.schemas.update" - ] - }, - "description": "Type of the field.", - "type": "string" - }, - "indexed": { - "default": "true", - "description": "Boolean specifying whether the field is indexed or not.", - "type": "boolean" - }, - "kind": { - "default": "admin#directory#schema#fieldspec", - "description": "Kind of resource this is.", - "type": "string" - }, - "multiValued": { - "description": "Boolean specifying whether this is a multi-valued field or not.", - "type": "boolean" - }, - "numericIndexingSpec": { - "description": "Indexing spec for a numeric field. By default, only exact match queries will be supported for numeric fields. Setting the numericIndexingSpec allows range queries to be supported.", - "properties": { - "maxValue": { - "description": "Maximum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.", - "format": "double", - "type": "number" - }, - "minValue": { - "description": "Minimum value of this field. This is meant to be indicative rather than enforced. Values outside this range will still be indexed, but search may not be as performant.", - "format": "double", - "type": "number" - } - }, - "type": "object" - }, - "readAccessType": { - "default": "ALL_DOMAIN_USERS", - "description": "Read ACLs on the field specifying who can view values of this field. Valid values are \"ALL_DOMAIN_USERS\" and \"ADMINS_AND_SELF\".", - "type": "string" - } - }, - "type": "object" - }, - "Schemas": { - "description": "JSON response template for List Schema operation in Directory API.", - "id": "Schemas", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#schemas", - "description": "Kind of resource this is.", - "type": "string" - }, - "schemas": { - "description": "List of UserSchema objects.", - "items": { - "$ref": "Schema" - }, - "type": "array" - } - }, - "type": "object" - }, - "Token": { - "description": "JSON template for token resource in Directory API.", - "id": "Token", - "properties": { - "anonymous": { - "description": "Whether the application is registered with Google. The value is true if the application has an anonymous Client ID.", - "type": "boolean" - }, - "clientId": { - "description": "The Client ID of the application the token is issued to.", - "type": "string" - }, - "displayText": { - "description": "The displayable name of the application the token is issued to.", - "type": "string" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#token", - "description": "The type of the API resource. This is always admin#directory#token.", - "type": "string" - }, - "nativeApp": { - "description": "Whether the token is issued to an installed application. The value is true if the application is installed to a desktop or mobile device.", - "type": "boolean" - }, - "scopes": { - "description": "A list of authorization scopes the application is granted.", - "items": { - "type": "string" - }, - "type": "array" - }, - "userKey": { - "description": "The unique ID of the user that issued the token.", - "type": "string" - } - }, - "type": "object" - }, - "Tokens": { - "description": "JSON response template for List tokens operation in Directory API.", - "id": "Tokens", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "A list of Token resources.", - "items": { - "$ref": "Token" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#tokenList", - "description": "The type of the API resource. This is always admin#directory#tokenList.", - "type": "string" - } - }, - "type": "object" - }, - "User": { - "description": "JSON template for User object in Directory API.", - "id": "User", - "properties": { - "addresses": { - "type": "any" - }, - "agreedToTerms": { - "description": "Indicates if user has agreed to terms (Read-only)", - "readOnly": true, - "type": "boolean" - }, - "aliases": { - "description": "List of aliases (Read-only)", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "archived": { - "description": "Indicates if user is archived.", - "type": "boolean" - }, - "changePasswordAtNextLogin": { - "description": "Boolean indicating if the user should change password in next login", - "type": "boolean" - }, - "creationTime": { - "description": "User's G Suite account creation time. (Read-only)", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "customSchemas": { - "additionalProperties": { - "$ref": "UserCustomProperties" - }, - "description": "Custom fields of the user.", - "type": "object" - }, - "customerId": { - "description": "CustomerId of User (Read-only)", - "readOnly": true, - "type": "string" - }, - "deletionTime": { - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "emails": { - "type": "any" - }, - "etag": { - "description": "ETag of the resource.", - "readOnly": true, - "type": "string" - }, - "externalIds": { - "type": "any" - }, - "gender": { - "type": "any" - }, - "hashFunction": { - "description": "Hash function name for password. Supported are MD5, SHA-1 and crypt", - "type": "string" - }, - "id": { - "description": "Unique identifier of User (Read-only)", - "type": "string" - }, - "ims": { - "type": "any" - }, - "includeInGlobalAddressList": { - "description": "Boolean indicating if user is included in Global Address List", - "type": "boolean" - }, - "ipWhitelisted": { - "description": "Boolean indicating if ip is whitelisted", - "type": "boolean" - }, - "isAdmin": { - "description": "Boolean indicating if the user is admin (Read-only)", - "readOnly": true, - "type": "boolean" - }, - "isDelegatedAdmin": { - "description": "Boolean indicating if the user is delegated admin (Read-only)", - "readOnly": true, - "type": "boolean" - }, - "isEnforcedIn2Sv": { - "description": "Is 2-step verification enforced (Read-only)", - "readOnly": true, - "type": "boolean" - }, - "isEnrolledIn2Sv": { - "description": "Is enrolled in 2-step verification (Read-only)", - "readOnly": true, - "type": "boolean" - }, - "isMailboxSetup": { - "description": "Is mailbox setup (Read-only)", - "readOnly": true, - "type": "boolean" - }, - "keywords": { - "type": "any" - }, - "kind": { - "default": "admin#directory#user", - "description": "Kind of resource this is.", - "readOnly": true, - "type": "string" - }, - "languages": { - "type": "any" - }, - "lastLoginTime": { - "description": "User's last login time. (Read-only)", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "locations": { - "type": "any" - }, - "name": { - "$ref": "UserName", - "annotations": { - "required": [ - "directory.users.insert" - ] - }, - "description": "User's name" - }, - "nonEditableAliases": { - "description": "List of non editable aliases (Read-only)", - "items": { - "type": "string" - }, - "readOnly": true, - "type": "array" - }, - "notes": { - "type": "any" - }, - "orgUnitPath": { - "description": "OrgUnit of User", - "type": "string" - }, - "organizations": { - "type": "any" - }, - "password": { - "annotations": { - "required": [ - "directory.users.insert" - ] - }, - "description": "User's password", - "type": "string" - }, - "phones": { - "type": "any" - }, - "posixAccounts": { - "type": "any" - }, - "primaryEmail": { - "annotations": { - "required": [ - "directory.users.insert" - ] - }, - "description": "username of User", - "type": "string" - }, - "recoveryEmail": { - "description": "Recovery email of the user.", - "type": "string" - }, - "recoveryPhone": { - "description": "Recovery phone of the user. The phone number must be in the E.164 format, starting with the plus sign (+). Example: +16506661212.", - "type": "string" - }, - "relations": { - "type": "any" - }, - "sshPublicKeys": { - "type": "any" - }, - "suspended": { - "description": "Indicates if user is suspended.", - "type": "boolean" - }, - "suspensionReason": { - "description": "Suspension reason if user is suspended (Read-only)", - "readOnly": true, - "type": "string" - }, - "thumbnailPhotoEtag": { - "description": "ETag of the user's photo (Read-only)", - "readOnly": true, - "type": "string" - }, - "thumbnailPhotoUrl": { - "description": "Photo Url of the user (Read-only)", - "readOnly": true, - "type": "string" - }, - "websites": { - "type": "any" - } - }, - "type": "object" - }, - "UserAbout": { - "description": "JSON template for About (notes) of a user in Directory API.", - "id": "UserAbout", - "properties": { - "contentType": { - "description": "About entry can have a type which indicates the content type. It can either be plain or html. By default, notes contents are assumed to contain plain text.", - "type": "string" - }, - "value": { - "description": "Actual value of notes.", - "type": "string" - } - }, - "type": "object" - }, - "UserAddress": { - "description": "JSON template for address.", - "id": "UserAddress", - "properties": { - "country": { - "description": "Country.", - "type": "string" - }, - "countryCode": { - "description": "Country code.", - "type": "string" - }, - "customType": { - "description": "Custom type.", - "type": "string" - }, - "extendedAddress": { - "description": "Extended Address.", - "type": "string" - }, - "formatted": { - "description": "Formatted address.", - "type": "string" - }, - "locality": { - "description": "Locality.", - "type": "string" - }, - "poBox": { - "description": "Other parts of address.", - "type": "string" - }, - "postalCode": { - "description": "Postal code.", - "type": "string" - }, - "primary": { - "description": "If this is user's primary address. Only one entry could be marked as primary.", - "type": "boolean" - }, - "region": { - "description": "Region.", - "type": "string" - }, - "sourceIsStructured": { - "description": "User supplied address was structured. Structured addresses are NOT supported at this time. You might be able to write structured addresses, but any values will eventually be clobbered.", - "type": "boolean" - }, - "streetAddress": { - "description": "Street.", - "type": "string" - }, - "type": { - "description": "Each entry can have a type which indicates standard values of that entry. For example address could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value. Such type should have the CUSTOM value as type and also have a customType value.", - "type": "string" - } - }, - "type": "object" - }, - "UserCustomProperties": { - "additionalProperties": { - "type": "any" - }, - "description": "JSON template for a set of custom properties (i.e. all fields in a particular schema)", - "id": "UserCustomProperties", - "type": "object" - }, - "UserEmail": { - "description": "JSON template for an email.", - "id": "UserEmail", - "properties": { - "address": { - "description": "Email id of the user.", - "type": "string" - }, - "customType": { - "description": "Custom Type.", - "type": "string" - }, - "primary": { - "description": "If this is user's primary email. Only one entry could be marked as primary.", - "type": "boolean" - }, - "type": { - "description": "Each entry can have a type which indicates standard types of that entry. For example email could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value Such types should have the CUSTOM value as type and also have a customType value.", - "type": "string" - } - }, - "type": "object" - }, - "UserExternalId": { - "description": "JSON template for an externalId entry.", - "id": "UserExternalId", - "properties": { - "customType": { - "description": "Custom type.", - "type": "string" - }, - "type": { - "description": "The type of the Id.", - "type": "string" - }, - "value": { - "description": "The value of the id.", - "type": "string" - } - }, - "type": "object" - }, - "UserGender": { - "id": "UserGender", - "properties": { - "addressMeAs": { - "description": "AddressMeAs. A human-readable string containing the proper way to refer to the profile owner by humans, for example \"he/him/his\" or \"they/them/their\".", - "type": "string" - }, - "customGender": { - "description": "Custom gender.", - "type": "string" - }, - "type": { - "description": "Gender.", - "type": "string" - } - }, - "type": "object" - }, - "UserIm": { - "description": "JSON template for instant messenger of an user.", - "id": "UserIm", - "properties": { - "customProtocol": { - "description": "Custom protocol.", - "type": "string" - }, - "customType": { - "description": "Custom type.", - "type": "string" - }, - "im": { - "description": "Instant messenger id.", - "type": "string" - }, - "primary": { - "description": "If this is user's primary im. Only one entry could be marked as primary.", - "type": "boolean" - }, - "protocol": { - "description": "Protocol used in the instant messenger. It should be one of the values from ImProtocolTypes map. Similar to type, it can take a CUSTOM value and specify the custom name in customProtocol field.", - "type": "string" - }, - "type": { - "description": "Each entry can have a type which indicates standard types of that entry. For example instant messengers could be of home, work etc. In addition to the standard type, an entry can have a custom type and can take any value. Such types should have the CUSTOM value as type and also have a customType value.", - "type": "string" - } - }, - "type": "object" - }, - "UserKeyword": { - "description": "JSON template for a keyword entry.", - "id": "UserKeyword", - "properties": { - "customType": { - "description": "Custom Type.", - "type": "string" - }, - "type": { - "description": "Each entry can have a type which indicates standard type of that entry. For example, keyword could be of type occupation or outlook. In addition to the standard type, an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", - "type": "string" - }, - "value": { - "description": "Keyword.", - "type": "string" - } - }, - "type": "object" - }, - "UserLanguage": { - "description": "JSON template for a language entry.", - "id": "UserLanguage", - "properties": { - "customLanguage": { - "description": "Other language. User can provide own language name if there is no corresponding Google III language code. If this is set LanguageCode can't be set", - "type": "string" - }, - "languageCode": { - "description": "Language Code. Should be used for storing Google III LanguageCode string representation for language. Illegal values cause SchemaException.", - "type": "string" - } - }, - "type": "object" - }, - "UserLocation": { - "description": "JSON template for a location entry.", - "id": "UserLocation", - "properties": { - "area": { - "description": "Textual location. This is most useful for display purposes to concisely describe the location. For example, \"Mountain View, CA\", \"Near Seattle\", \"US-NYC-9TH 9A209A\".", - "type": "string" - }, - "buildingId": { - "description": "Building Identifier.", - "type": "string" - }, - "customType": { - "description": "Custom Type.", - "type": "string" - }, - "deskCode": { - "description": "Most specific textual code of individual desk location.", - "type": "string" - }, - "floorName": { - "description": "Floor name/number.", - "type": "string" - }, - "floorSection": { - "description": "Floor section. More specific location within the floor. For example, if a floor is divided into sections \"A\", \"B\", and \"C\", this field would identify one of those values.", - "type": "string" - }, - "type": { - "description": "Each entry can have a type which indicates standard types of that entry. For example location could be of types default and desk. In addition to standard type, an entry can have a custom type and can give it any name. Such types should have \"custom\" as type and also have a customType value.", - "type": "string" - } - }, - "type": "object" - }, - "UserMakeAdmin": { - "description": "JSON request template for setting/revoking admin status of a user in Directory API.", - "id": "UserMakeAdmin", - "properties": { - "status": { - "annotations": { - "required": [ - "directory.users.makeAdmin" - ] - }, - "description": "Boolean indicating new admin status of the user", - "type": "boolean" - } - }, - "type": "object" - }, - "UserName": { - "description": "JSON template for name of a user in Directory API.", - "id": "UserName", - "properties": { - "familyName": { - "annotations": { - "required": [ - "directory.users.insert" - ] - }, - "description": "Last Name", - "type": "string" - }, - "fullName": { - "description": "Full Name", - "type": "string" - }, - "givenName": { - "annotations": { - "required": [ - "directory.users.insert" - ] - }, - "description": "First Name", - "type": "string" - } - }, - "type": "object" - }, - "UserOrganization": { - "description": "JSON template for an organization entry.", - "id": "UserOrganization", - "properties": { - "costCenter": { - "description": "The cost center of the users department.", - "type": "string" - }, - "customType": { - "description": "Custom type.", - "type": "string" - }, - "department": { - "description": "Department within the organization.", - "type": "string" - }, - "description": { - "description": "Description of the organization.", - "type": "string" - }, - "domain": { - "description": "The domain to which the organization belongs to.", - "type": "string" - }, - "fullTimeEquivalent": { - "description": "The full-time equivalent millipercent within the organization (100000 = 100%).", - "format": "int32", - "type": "integer" - }, - "location": { - "description": "Location of the organization. This need not be fully qualified address.", - "type": "string" - }, - "name": { - "description": "Name of the organization", - "type": "string" - }, - "primary": { - "description": "If it user's primary organization.", - "type": "boolean" - }, - "symbol": { - "description": "Symbol of the organization.", - "type": "string" - }, - "title": { - "description": "Title (designation) of the user in the organization.", - "type": "string" - }, - "type": { - "description": "Each entry can have a type which indicates standard types of that entry. For example organization could be of school, work etc. In addition to the standard type, an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a CustomType value.", - "type": "string" - } - }, - "type": "object" - }, - "UserPhone": { - "description": "JSON template for a phone entry.", - "id": "UserPhone", - "properties": { - "customType": { - "description": "Custom Type.", - "type": "string" - }, - "primary": { - "description": "If this is user's primary phone or not.", - "type": "boolean" - }, - "type": { - "description": "Each entry can have a type which indicates standard types of that entry. For example phone could be of home_fax, work, mobile etc. In addition to the standard type, an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", - "type": "string" - }, - "value": { - "description": "Phone number.", - "type": "string" - } - }, - "type": "object" - }, - "UserPhoto": { - "description": "JSON template for Photo object in Directory API.", - "id": "UserPhoto", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "height": { - "description": "Height in pixels of the photo", - "format": "int32", - "type": "integer" - }, - "id": { - "description": "Unique identifier of User (Read-only)", - "type": "string" - }, - "kind": { - "default": "admin#directory#user#photo", - "description": "Kind of resource this is.", - "type": "string" - }, - "mimeType": { - "description": "Mime Type of the photo", - "type": "string" - }, - "photoData": { - "annotations": { - "required": [ - "directory.users.photos.update" - ] - }, - "description": "Base64 encoded photo data", - "format": "byte", - "type": "string" - }, - "primaryEmail": { - "description": "Primary email of User (Read-only)", - "type": "string" - }, - "width": { - "description": "Width in pixels of the photo", - "format": "int32", - "type": "integer" - } - }, - "type": "object" - }, - "UserPosixAccount": { - "description": "JSON template for a POSIX account entry. Description of the field family: go/fbs-posix.", - "id": "UserPosixAccount", - "properties": { - "accountId": { - "description": "A POSIX account field identifier.", - "type": "string" - }, - "gecos": { - "description": "The GECOS (user information) for this account.", - "type": "string" - }, - "gid": { - "description": "The default group ID.", - "format": "uint64", - "type": "string" - }, - "homeDirectory": { - "description": "The path to the home directory for this account.", - "type": "string" - }, - "operatingSystemType": { - "description": "The operating system type for this account.", - "type": "string" - }, - "primary": { - "description": "If this is user's primary account within the SystemId.", - "type": "boolean" - }, - "shell": { - "description": "The path to the login shell for this account.", - "type": "string" - }, - "systemId": { - "description": "System identifier for which account Username or Uid apply to.", - "type": "string" - }, - "uid": { - "description": "The POSIX compliant user ID.", - "format": "uint64", - "type": "string" - }, - "username": { - "description": "The username of the account.", - "type": "string" - } - }, - "type": "object" - }, - "UserRelation": { - "description": "JSON template for a relation entry.", - "id": "UserRelation", - "properties": { - "customType": { - "description": "Custom Type.", - "type": "string" - }, - "type": { - "description": "The relation of the user. Some of the possible values are mother, father, sister, brother, manager, assistant, partner.", - "type": "string" - }, - "value": { - "description": "The name of the relation.", - "type": "string" - } - }, - "type": "object" - }, - "UserSshPublicKey": { - "description": "JSON template for a POSIX account entry.", - "id": "UserSshPublicKey", - "properties": { - "expirationTimeUsec": { - "description": "An expiration time in microseconds since epoch.", - "format": "int64", - "type": "string" - }, - "fingerprint": { - "description": "A SHA-256 fingerprint of the SSH public key. (Read-only)", - "readOnly": true, - "type": "string" - }, - "key": { - "description": "An SSH public key.", - "type": "string" - } - }, - "type": "object" - }, - "UserUndelete": { - "description": "JSON request template to undelete a user in Directory API.", - "id": "UserUndelete", - "properties": { - "orgUnitPath": { - "description": "OrgUnit of User", - "type": "string" - } - }, - "type": "object" - }, - "UserWebsite": { - "description": "JSON template for a website entry.", - "id": "UserWebsite", - "properties": { - "customType": { - "description": "Custom Type.", - "type": "string" - }, - "primary": { - "description": "If this is user's primary website or not.", - "type": "boolean" - }, - "type": { - "description": "Each entry can have a type which indicates standard types of that entry. For example website could be of home, work, blog etc. In addition to the standard type, an entry can have a custom type and can give it any name. Such types should have the CUSTOM value as type and also have a customType value.", - "type": "string" - }, - "value": { - "description": "Website.", - "type": "string" - } - }, - "type": "object" - }, - "Users": { - "description": "JSON response template for List Users operation in Apps Directory API.", - "id": "Users", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#users", - "description": "Kind of resource this is.", - "type": "string" - }, - "nextPageToken": { - "description": "Token used to access next page of this result.", - "type": "string" - }, - "trigger_event": { - "description": "Event that triggered this response (only used in case of Push Response)", - "type": "string" - }, - "users": { - "description": "List of user objects.", - "items": { - "$ref": "User" - }, - "type": "array" - } - }, - "type": "object" - }, - "VerificationCode": { - "description": "JSON template for verification codes in Directory API.", - "id": "VerificationCode", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#directory#verificationCode", - "description": "The type of the resource. This is always admin#directory#verificationCode.", - "type": "string" - }, - "userId": { - "description": "The obfuscated unique ID of the user.", - "type": "string" - }, - "verificationCode": { - "description": "A current verification code for the user. Invalidated or used verification codes are not returned as part of the result.", - "type": "string" - } - }, - "type": "object" - }, - "VerificationCodes": { - "description": "JSON response template for List verification codes operation in Directory API.", - "id": "VerificationCodes", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "A list of verification code resources.", - "items": { - "$ref": "VerificationCode" - }, - "type": "array" - }, - "kind": { - "default": "admin#directory#verificationCodesList", - "description": "The type of the resource. This is always admin#directory#verificationCodesList.", - "type": "string" - } - }, - "type": "object" - } - }, - "servicePath": "admin/directory/v1/", - "title": "Admin Directory API", - "version": "directory_v1" -} \ No newline at end of file diff --git a/etc/api/admin/reports_v1/admin-api.json b/etc/api/admin/reports_v1/admin-api.json deleted file mode 100644 index a8c0cf1695..0000000000 --- a/etc/api/admin/reports_v1/admin-api.json +++ /dev/null @@ -1,1012 +0,0 @@ -{ - "auth": { - "oauth2": { - "scopes": { - "https://www.googleapis.com/auth/admin.reports.audit.readonly": { - "description": "View audit reports for your G Suite domain" - }, - "https://www.googleapis.com/auth/admin.reports.usage.readonly": { - "description": "View usage reports for your G Suite domain" - } - } - } - }, - "basePath": "/admin/reports/v1/", - "baseUrl": "https://www.googleapis.com/admin/reports/v1/", - "batchPath": "batch/admin/reports_v1", - "canonicalName": "reports", - "description": "Fetches reports for the administrators of G Suite customers about the usage, collaboration, security, and risk for their users.", - "discoveryVersion": "v1", - "documentationLink": "/admin-sdk/reports/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/cjy_qN1sx94qX1efDr-Kt6Rsqlk\"", - "icons": { - "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", - "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" - }, - "id": "admin:reports_v1", - "kind": "discovery#restDescription", - "name": "admin", - "ownerDomain": "google.com", - "ownerName": "Google", - "packagePath": "admin", - "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", - "enum": [ - "json" - ], - "enumDescriptions": [ - "Responses with Content-Type of application/json" - ], - "location": "query", - "type": "string" - }, - "fields": { - "description": "Selector specifying which fields to include in a partial response.", - "location": "query", - "type": "string" - }, - "key": { - "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", - "location": "query", - "type": "string" - }, - "oauth_token": { - "description": "OAuth 2.0 token for the current user.", - "location": "query", - "type": "string" - }, - "prettyPrint": { - "default": "true", - "description": "Returns response with indentations and line breaks.", - "location": "query", - "type": "boolean" - }, - "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", - "location": "query", - "type": "string" - }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", - "location": "query", - "type": "string" - } - }, - "protocol": "rest", - "resources": { - "activities": { - "methods": { - "list": { - "description": "Retrieves a list of activities for a specific customer's account and application such as the Admin console application or the Google Drive application. For more information, see the guides for administrator and Google Drive activity reports. For more information about the activity report's parameters, see the activity parameters reference guides.", - "httpMethod": "GET", - "id": "reports.activities.list", - "parameterOrder": [ - "userKey", - "applicationName" - ], - "parameters": { - "actorIpAddress": { - "description": "The Internet Protocol (IP) Address of host where the event was performed. This is an additional way to filter a report's summary using the IP address of the user whose activity is being reported. This IP address may or may not reflect the user's physical location. For example, the IP address can be the user's proxy server's address or a virtual private network (VPN) address. This parameter supports both IPv4 and IPv6 address versions.", - "location": "query", - "type": "string" - }, - "applicationName": { - "description": "Application name for which the events are to be retrieved.", - "enum": [ - "access_transparency", - "admin", - "calendar", - "chat", - "drive", - "gcp", - "gplus", - "groups", - "groups_enterprise", - "jamboard", - "login", - "meet", - "mobile", - "rules", - "saml", - "token", - "user_accounts" - ], - "enumDescriptions": [ - "The G Suite Access Transparency activity reports return information about different types of Access Transparency activity events.", - "The Admin console application's activity reports return account information about different types of administrator activity events.", - "The G Suite Calendar application's activity reports return information about various Calendar activity events.", - "The Chat activity reports return information about various Chat activity events.", - "The Google Drive application's activity reports return information about various Google Drive activity events. The Drive activity report is only available for G Suite Business customers.", - "The Google Cloud Platform application's activity reports return information about various GCP activity events.", - "The Google+ application's activity reports return information about various Google+ activity events.", - "The Google Groups application's activity reports return information about various Groups activity events.", - "The Enterprise Groups activity reports return information about various Enterprise group activity events.", - "The Jamboard activity reports return information about various Jamboard activity events.", - "The Login application's activity reports return account information about different types of Login activity events.", - "The Meet Audit activity report return information about different types of Meet Audit activity events.", - "The Mobile Audit activity report return information about different types of Mobile Audit activity events.", - "The Rules activity report return information about different types of Rules activity events.", - "The SAML activity report return information about different types of SAML activity events.", - "The Token application's activity reports return account information about different types of Token activity events.", - "The User Accounts application's activity reports return account information about different types of User Accounts activity events." - ], - "location": "path", - "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)|(jamboard)|(meet)|(user_accounts)|(access_transparency)|(groups_enterprise)|(gcp)", - "required": true, - "type": "string" - }, - "customerId": { - "description": "The unique ID of the customer to retrieve data for.", - "location": "query", - "pattern": "C.+", - "type": "string" - }, - "endTime": { - "description": "Sets the end of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The default value is the approximate time of the API request. An API report has three basic time concepts: \n- Date of the API's request for a report: When the API created and retrieved the report. \n- Report's start time: The beginning of the timespan shown in the report. The startTime must be before the endTime (if specified) and the current time when the request is made, or the API returns an error. \n- Report's end time: The end of the timespan shown in the report. For example, the timespan of events summarized in a report can start in April and end in May. The report itself can be requested in August. If the endTime is not specified, the report returns all activities from the startTime until the current time or the most recent 180 days if the startTime is more than 180 days in the past.", - "location": "query", - "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))", - "type": "string" - }, - "eventName": { - "description": "The name of the event being queried by the API. Each eventName is related to a specific G Suite service or feature which the API organizes into types of events. An example is the Google Calendar events in the Admin console application's reports. The Calendar Settings type structure has all of the Calendar eventName activities reported by the API. When an administrator changes a Calendar setting, the API reports this activity in the Calendar Settings type and eventName parameters. For more information about eventName query strings and parameters, see the list of event names for various applications above in applicationName.", - "location": "query", - "type": "string" - }, - "filters": { - "description": "The filters query string is a comma-separated list. The list is composed of event parameters that are manipulated by relational operators. Event parameters are in the form [parameter1 name][relational operator][parameter1 value],[parameter2 name][relational operator][parameter2 value],... \nThese event parameters are associated with a specific eventName. An empty report is returned if the filtered request's parameter does not belong to the eventName. For more information about eventName parameters, see the list of event names for various applications above in applicationName.\n\nIn the following Admin Activity example, the <> operator is URL-encoded in the request's query string (%3C%3E):\nGET...&eventName=CHANGE_CALENDAR_SETTING &filters=NEW_VALUE%3C%3EREAD_ONLY_ACCESS\n\nIn the following Drive example, the list can be a view or edit event's doc_id parameter with a value that is manipulated by an 'equal to' (==) or 'not equal to' (<>) relational operator. In the first example, the report returns each edited document's doc_id. In the second example, the report returns each viewed document's doc_id that equals the value 12345 and does not return any viewed document's which have a doc_id value of 98765. The <> operator is URL-encoded in the request's query string (%3C%3E):\n\nGET...&eventName=edit&filters=doc_id GET...&eventName=view&filters=doc_id==12345,doc_id%3C%3E98765\n\nThe relational operators include: \n- == - 'equal to'. \n- <> - 'not equal to'. It is URL-encoded (%3C%3E). \n- < - 'less than'. It is URL-encoded (%3C). \n- <= - 'less than or equal to'. It is URL-encoded (%3C=). \n- > - 'greater than'. It is URL-encoded (%3E). \n- >= - 'greater than or equal to'. It is URL-encoded (%3E=). \nNote: The API doesn't accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter.\nIn addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters. If no parameters are requested, all parameters are returned.", - "location": "query", - "pattern": "(.+[<,<=,==,>=,>,<>].+,)*(.+[<,<=,==,>=,>,<>].+)", - "type": "string" - }, - "maxResults": { - "default": "1000", - "description": "Determines how many activity records are shown on each response page. For example, if the request sets maxResults=1 and the report has two activities, the report has two pages. The response's nextPageToken property has the token to the second page. The maxResults query string is optional in the request. The default value is 1000.", - "format": "int32", - "location": "query", - "maximum": "1000", - "minimum": "1", - "type": "integer" - }, - "orgUnitID": { - "default": "", - "description": "ID of the organizational unit to report on. Activity records will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn't appear in the filtered results.", - "location": "query", - "pattern": "(id:[a-z0-9]+)", - "type": "string" - }, - "pageToken": { - "description": "The token to specify next page. A report with multiple pages has a nextPageToken property in the response. In your follow-on request getting the next page of the report, enter the nextPageToken value in the pageToken query string.", - "location": "query", - "type": "string" - }, - "startTime": { - "description": "Sets the beginning of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The report returns all activities from startTime until endTime. The startTime must be before the endTime (if specified) and the current time when the request is made, or the API returns an error.", - "location": "query", - "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))", - "type": "string" - }, - "userKey": { - "description": "Represents the profile ID or the user email for which the data should be filtered. Can be all for all information, or userKey for a user's unique G Suite profile ID or their primary email address.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "activity/users/{userKey}/applications/{applicationName}", - "response": { - "$ref": "Activities" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.reports.audit.readonly" - ], - "supportsSubscription": true - }, - "watch": { - "description": "Start receiving notifications for account activities. For more information, see Receiving Push Notifications.", - "httpMethod": "POST", - "id": "reports.activities.watch", - "parameterOrder": [ - "userKey", - "applicationName" - ], - "parameters": { - "actorIpAddress": { - "description": "The Internet Protocol (IP) Address of host where the event was performed. This is an additional way to filter a report's summary using the IP address of the user whose activity is being reported. This IP address may or may not reflect the user's physical location. For example, the IP address can be the user's proxy server's address or a virtual private network (VPN) address. This parameter supports both IPv4 and IPv6 address versions.", - "location": "query", - "type": "string" - }, - "applicationName": { - "description": "Application name for which the events are to be retrieved.", - "enum": [ - "access_transparency", - "admin", - "calendar", - "chat", - "drive", - "gcp", - "gplus", - "groups", - "groups_enterprise", - "jamboard", - "login", - "meet", - "mobile", - "rules", - "saml", - "token", - "user_accounts" - ], - "enumDescriptions": [ - "The G Suite Access Transparency activity reports return information about different types of Access Transparency activity events.", - "The Admin console application's activity reports return account information about different types of administrator activity events.", - "The G Suite Calendar application's activity reports return information about various Calendar activity events.", - "The Chat activity reports return information about various Chat activity events.", - "The Google Drive application's activity reports return information about various Google Drive activity events. The Drive activity report is only available for G Suite Business customers.", - "The Google Cloud Platform application's activity reports return information about various GCP activity events.", - "The Google+ application's activity reports return information about various Google+ activity events.", - "The Google Groups application's activity reports return information about various Groups activity events.", - "The Enterprise Groups activity reports return information about various Enterprise group activity events.", - "The Jamboard activity reports return information about various Jamboard activity events.", - "The Login application's activity reports return account information about different types of Login activity events.", - "The Meet Audit activity report return information about different types of Meet Audit activity events.", - "The Mobile Audit activity report return information about different types of Mobile Audit activity events.", - "The Rules activity report return information about different types of Rules activity events.", - "The SAML activity report return information about different types of SAML activity events.", - "The Token application's activity reports return account information about different types of Token activity events.", - "The User Accounts application's activity reports return account information about different types of User Accounts activity events." - ], - "location": "path", - "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)|(saml)|(chat)|(gplus)|(rules)|(jamboard)|(meet)|(user_accounts)|(access_transparency)|(groups_enterprise)|(gcp)", - "required": true, - "type": "string" - }, - "customerId": { - "description": "The unique ID of the customer to retrieve data for.", - "location": "query", - "pattern": "C.+", - "type": "string" - }, - "endTime": { - "description": "Sets the end of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The default value is the approximate time of the API request. An API report has three basic time concepts: \n- Date of the API's request for a report: When the API created and retrieved the report. \n- Report's start time: The beginning of the timespan shown in the report. The startTime must be before the endTime (if specified) and the current time when the request is made, or the API returns an error. \n- Report's end time: The end of the timespan shown in the report. For example, the timespan of events summarized in a report can start in April and end in May. The report itself can be requested in August. If the endTime is not specified, the report returns all activities from the startTime until the current time or the most recent 180 days if the startTime is more than 180 days in the past.", - "location": "query", - "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))", - "type": "string" - }, - "eventName": { - "description": "The name of the event being queried by the API. Each eventName is related to a specific G Suite service or feature which the API organizes into types of events. An example is the Google Calendar events in the Admin console application's reports. The Calendar Settings type structure has all of the Calendar eventName activities reported by the API. When an administrator changes a Calendar setting, the API reports this activity in the Calendar Settings type and eventName parameters. For more information about eventName query strings and parameters, see the list of event names for various applications above in applicationName.", - "location": "query", - "type": "string" - }, - "filters": { - "description": "The filters query string is a comma-separated list. The list is composed of event parameters that are manipulated by relational operators. Event parameters are in the form [parameter1 name][relational operator][parameter1 value],[parameter2 name][relational operator][parameter2 value],... \nThese event parameters are associated with a specific eventName. An empty report is returned if the filtered request's parameter does not belong to the eventName. For more information about eventName parameters, see the list of event names for various applications above in applicationName.\n\nIn the following Admin Activity example, the <> operator is URL-encoded in the request's query string (%3C%3E):\nGET...&eventName=CHANGE_CALENDAR_SETTING &filters=NEW_VALUE%3C%3EREAD_ONLY_ACCESS\n\nIn the following Drive example, the list can be a view or edit event's doc_id parameter with a value that is manipulated by an 'equal to' (==) or 'not equal to' (<>) relational operator. In the first example, the report returns each edited document's doc_id. In the second example, the report returns each viewed document's doc_id that equals the value 12345 and does not return any viewed document's which have a doc_id value of 98765. The <> operator is URL-encoded in the request's query string (%3C%3E):\n\nGET...&eventName=edit&filters=doc_id GET...&eventName=view&filters=doc_id==12345,doc_id%3C%3E98765\n\nThe relational operators include: \n- == - 'equal to'. \n- <> - 'not equal to'. It is URL-encoded (%3C%3E). \n- < - 'less than'. It is URL-encoded (%3C). \n- <= - 'less than or equal to'. It is URL-encoded (%3C=). \n- > - 'greater than'. It is URL-encoded (%3E). \n- >= - 'greater than or equal to'. It is URL-encoded (%3E=). \nNote: The API doesn't accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter.\nIn addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters. If no parameters are requested, all parameters are returned.", - "location": "query", - "pattern": "(.+[<,<=,==,>=,>,<>].+,)*(.+[<,<=,==,>=,>,<>].+)", - "type": "string" - }, - "maxResults": { - "default": "1000", - "description": "Determines how many activity records are shown on each response page. For example, if the request sets maxResults=1 and the report has two activities, the report has two pages. The response's nextPageToken property has the token to the second page. The maxResults query string is optional in the request. The default value is 1000.", - "format": "int32", - "location": "query", - "maximum": "1000", - "minimum": "1", - "type": "integer" - }, - "orgUnitID": { - "default": "", - "description": "ID of the organizational unit to report on. Activity records will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn't appear in the filtered results.", - "location": "query", - "pattern": "(id:[a-z0-9]+)", - "type": "string" - }, - "pageToken": { - "description": "The token to specify next page. A report with multiple pages has a nextPageToken property in the response. In your follow-on request getting the next page of the report, enter the nextPageToken value in the pageToken query string.", - "location": "query", - "type": "string" - }, - "startTime": { - "description": "Sets the beginning of the range of time shown in the report. The date is in the RFC 3339 format, for example 2010-10-28T10:26:35.000Z. The report returns all activities from startTime until endTime. The startTime must be before the endTime (if specified) and the current time when the request is made, or the API returns an error.", - "location": "query", - "pattern": "(\\d\\d\\d\\d)-(\\d\\d)-(\\d\\d)T(\\d\\d):(\\d\\d):(\\d\\d)(?:\\.(\\d+))?(?:(Z)|([-+])(\\d\\d):(\\d\\d))", - "type": "string" - }, - "userKey": { - "description": "Represents the profile ID or the user email for which the data should be filtered. Can be all for all information, or userKey for a user's unique G Suite profile ID or their primary email address.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "activity/users/{userKey}/applications/{applicationName}/watch", - "request": { - "$ref": "Channel", - "parameterName": "resource" - }, - "response": { - "$ref": "Channel" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.reports.audit.readonly" - ], - "supportsSubscription": true - } - } - }, - "channels": { - "methods": { - "stop": { - "description": "Stop watching resources through this channel", - "httpMethod": "POST", - "id": "admin.channels.stop", - "path": "/admin/reports_v1/channels/stop", - "request": { - "$ref": "Channel", - "parameterName": "resource" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.reports.audit.readonly" - ] - } - } - }, - "customerUsageReports": { - "methods": { - "get": { - "description": "Retrieves a report which is a collection of properties and statistics for a specific customer's account. For more information, see the Customers Usage Report guide. For more information about the customer report's parameters, see the Customers Usage parameters reference guides.", - "httpMethod": "GET", - "id": "reports.customerUsageReports.get", - "parameterOrder": [ - "date" - ], - "parameters": { - "customerId": { - "description": "The unique ID of the customer to retrieve data for.", - "location": "query", - "pattern": "C.+", - "type": "string" - }, - "date": { - "description": "Represents the date the usage occurred. The timestamp is in the ISO 8601 format, yyyy-mm-dd. We recommend you use your account's time zone for this.", - "location": "path", - "pattern": "(\\d){4}-(\\d){2}-(\\d){2}", - "required": true, - "type": "string" - }, - "pageToken": { - "description": "Token to specify next page. A report with multiple pages has a nextPageToken property in the response. For your follow-on requests getting all of the report's pages, enter the nextPageToken value in the pageToken query string.", - "location": "query", - "type": "string" - }, - "parameters": { - "description": "The parameters query string is a comma-separated list of event parameters that refine a report's results. The parameter is associated with a specific application. The application values for the Customers usage report include accounts, app_maker, apps_scripts, calendar, classroom, cros, docs, gmail, gplus, device_management, meet, and sites.\nA parameters query string is in the CSV form of app_name1:param_name1, app_name2:param_name2.\nNote: The API doesn't accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter.\nIn addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters.\n\nAn example of an invalid request parameter is one that does not belong to the application. If no parameters are requested, all parameters are returned.", - "location": "query", - "pattern": "(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):[^,]+,)*(((accounts)|(app_maker)|(apps_scripts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)|(meet)):[^,]+)", - "type": "string" - } - }, - "path": "usage/dates/{date}", - "response": { - "$ref": "UsageReports" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.reports.usage.readonly" - ] - } - } - }, - "entityUsageReports": { - "methods": { - "get": { - "description": "Retrieves a report which is a collection of properties and statistics for entities used by users within the account. For more information, see the Entities Usage Report guide. For more information about the entities report's parameters, see the Entities Usage parameters reference guides.", - "httpMethod": "GET", - "id": "reports.entityUsageReports.get", - "parameterOrder": [ - "entityType", - "entityKey", - "date" - ], - "parameters": { - "customerId": { - "description": "The unique ID of the customer to retrieve data for.", - "location": "query", - "pattern": "C.+", - "type": "string" - }, - "date": { - "description": "Represents the date the usage occurred. The timestamp is in the ISO 8601 format, yyyy-mm-dd. We recommend you use your account's time zone for this.", - "location": "path", - "pattern": "(\\d){4}-(\\d){2}-(\\d){2}", - "required": true, - "type": "string" - }, - "entityKey": { - "description": "Represents the key of the object to filter the data with.", - "enum": [ - "all", - "entityKey" - ], - "enumDescriptions": [ - "Returns activity events for all users.", - "Represents an app-specific identifier for the entity. For details on how to obtain the entityKey for a particular entityType, see the Entities Usage parameters reference guides." - ], - "location": "path", - "required": true, - "type": "string" - }, - "entityType": { - "description": "Represents the type of entity for the report.", - "enum": [ - "gplus_communities" - ], - "enumDescriptions": [ - "Returns a report on Google+ communities." - ], - "location": "path", - "pattern": "(gplus_communities)", - "required": true, - "type": "string" - }, - "filters": { - "description": "The filters query string is a comma-separated list of an application's event parameters where the parameter's value is manipulated by a relational operator. The filters query string includes the name of the application whose usage is returned in the report. The application values for the Entities usage report include accounts, docs, and gmail.\nFilters are in the form [application name]:[parameter name][relational operator][parameter value],....\n\nIn this example, the <> 'not equal to' operator is URL-encoded in the request's query string (%3C%3E):\nGET https://www.googleapis.com/admin/reports/v1/usage/gplus_communities/all/dates/2017-12-01 ?parameters=gplus:community_name,gplus:num_total_members &filters=gplus:num_total_members>0\n\n\nThe relational operators include: \n- == - 'equal to'. \n- <> - 'not equal to'. It is URL-encoded (%3C%3E). \n- < - 'less than'. It is URL-encoded (%3C). \n- <= - 'less than or equal to'. It is URL-encoded (%3C=). \n- > - 'greater than'. It is URL-encoded (%3E). \n- >= - 'greater than or equal to'. It is URL-encoded (%3E=). Filters can only be applied to numeric parameters.", - "location": "query", - "pattern": "(((gplus)):[a-z0-9_]+[<,<=,==,>=,>,!=][^,]+,)*(((gplus)):[a-z0-9_]+[<,<=,==,>=,>,!=][^,]+)", - "type": "string" - }, - "maxResults": { - "default": "1000", - "description": "Determines how many activity records are shown on each response page. For example, if the request sets maxResults=1 and the report has two activities, the report has two pages. The response's nextPageToken property has the token to the second page.", - "format": "uint32", - "location": "query", - "maximum": "1000", - "minimum": "1", - "type": "integer" - }, - "pageToken": { - "description": "Token to specify next page. A report with multiple pages has a nextPageToken property in the response. In your follow-on request getting the next page of the report, enter the nextPageToken value in the pageToken query string.", - "location": "query", - "type": "string" - }, - "parameters": { - "description": "The parameters query string is a comma-separated list of event parameters that refine a report's results. The parameter is associated with a specific application. The application values for the Entities usage report are only gplus.\nA parameter query string is in the CSV form of [app_name1:param_name1], [app_name2:param_name2]....\nNote: The API doesn't accept multiple values of a parameter. If a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter.\nIn addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters.\n\nAn example of an invalid request parameter is one that does not belong to the application. If no parameters are requested, all parameters are returned.", - "location": "query", - "pattern": "(((gplus)):[^,]+,)*(((gplus)):[^,]+)", - "type": "string" - } - }, - "path": "usage/{entityType}/{entityKey}/dates/{date}", - "response": { - "$ref": "UsageReports" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.reports.usage.readonly" - ] - } - } - }, - "userUsageReport": { - "methods": { - "get": { - "description": "Retrieves a report which is a collection of properties and statistics for a set of users with the account. For more information, see the User Usage Report guide. For more information about the user report's parameters, see the Users Usage parameters reference guides.", - "httpMethod": "GET", - "id": "reports.userUsageReport.get", - "parameterOrder": [ - "userKey", - "date" - ], - "parameters": { - "customerId": { - "description": "The unique ID of the customer to retrieve data for.", - "location": "query", - "pattern": "C.+", - "type": "string" - }, - "date": { - "description": "Represents the date the usage occurred. The timestamp is in the ISO 8601 format, yyyy-mm-dd. We recommend you use your account's time zone for this.", - "location": "path", - "pattern": "(\\d){4}-(\\d){2}-(\\d){2}", - "required": true, - "type": "string" - }, - "filters": { - "description": "The filters query string is a comma-separated list of an application's event parameters where the parameter's value is manipulated by a relational operator. The filters query string includes the name of the application whose usage is returned in the report. The application values for the Users Usage Report include accounts, docs, and gmail.\nFilters are in the form [application name]:[parameter name][relational operator][parameter value],....\n\nIn this example, the <> 'not equal to' operator is URL-encoded in the request's query string (%3C%3E):\nGET https://www.googleapis.com/admin/reports/v1/usage/users/all/dates/2013-03-03 ?parameters=accounts:last_login_time &filters=accounts:last_login_time>2010-10-28T10:26:35.000Z\n\n\nThe relational operators include: \n- == - 'equal to'. \n- <> - 'not equal to'. It is URL-encoded (%3C%3E). \n- < - 'less than'. It is URL-encoded (%3C). \n- <= - 'less than or equal to'. It is URL-encoded (%3C=). \n- > - 'greater than'. It is URL-encoded (%3E). \n- >= - 'greater than or equal to'. It is URL-encoded (%3E=).", - "location": "query", - "pattern": "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[a-z0-9_]+[<,<=,==,>=,>,!=][^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[a-z0-9_]+[<,<=,==,>=,>,!=][^,]+)", - "type": "string" - }, - "maxResults": { - "default": "1000", - "description": "Determines how many activity records are shown on each response page. For example, if the request sets maxResults=1 and the report has two activities, the report has two pages. The response's nextPageToken property has the token to the second page.\nThe maxResults query string is optional.", - "format": "uint32", - "location": "query", - "maximum": "1000", - "minimum": "1", - "type": "integer" - }, - "orgUnitID": { - "default": "", - "description": "ID of the organizational unit to report on. User activity will be shown only for users who belong to the specified organizational unit. Data before Dec 17, 2018 doesn't appear in the filtered results.", - "location": "query", - "pattern": "(id:[a-z0-9]+)", - "type": "string" - }, - "pageToken": { - "description": "Token to specify next page. A report with multiple pages has a nextPageToken property in the response. In your follow-on request getting the next page of the report, enter the nextPageToken value in the pageToken query string.", - "location": "query", - "type": "string" - }, - "parameters": { - "description": "The parameters query string is a comma-separated list of event parameters that refine a report's results. The parameter is associated with a specific application. The application values for the Customers usage report include accounts, app_maker, apps_scripts, calendar, classroom, cros, docs, gmail, gplus, device_management, meet, and sites.\nA parameters query string is in the CSV form of app_name1:param_name1, app_name2:param_name2.\nNote: The API doesn't accept multiple values of a parameter.\nIf a particular parameter is supplied more than once in the API request, the API only accepts the last value of that request parameter. In addition, if an invalid request parameter is supplied in the API request, the API ignores that request parameter and returns the response corresponding to the remaining valid request parameters.\n\nAn example of an invalid request parameter is one that does not belong to the application. If no parameters are requested, all parameters are returned.", - "location": "query", - "pattern": "(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+,)*(((accounts)|(classroom)|(cros)|(gmail)|(calendar)|(docs)|(gplus)|(sites)|(device_management)|(drive)):[^,]+)", - "type": "string" - }, - "userKey": { - "description": "Represents the profile ID or the user email for which the data should be filtered. Can be all for all information, or userKey for a user's unique G Suite profile ID or their primary email address.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "usage/users/{userKey}/dates/{date}", - "response": { - "$ref": "UsageReports" - }, - "scopes": [ - "https://www.googleapis.com/auth/admin.reports.usage.readonly" - ] - } - } - } - }, - "revision": "20191014", - "rootUrl": "https://www.googleapis.com/", - "schemas": { - "Activities": { - "description": "JSON template for a collection of activites.", - "id": "Activities", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "items": { - "description": "Each activity record in the response.", - "items": { - "$ref": "Activity" - }, - "type": "array" - }, - "kind": { - "default": "admin#reports#activities", - "description": "The type of API resource. For an activity report, the value is reports#activities.", - "type": "string" - }, - "nextPageToken": { - "description": "Token for retrieving the follow-on next page of the report. The nextPageToken value is used in the request's pageToken query string.", - "type": "string" - } - }, - "type": "object" - }, - "Activity": { - "description": "JSON template for the activity resource.", - "id": "Activity", - "properties": { - "actor": { - "description": "User doing the action.", - "properties": { - "callerType": { - "description": "The type of actor.", - "type": "string" - }, - "email": { - "description": "The primary email address of the actor. May be absent if there is no email address associated with the actor.", - "type": "string" - }, - "key": { - "description": "Only present when callerType is KEY. Can be the consumer_key of the requestor for OAuth 2LO API requests or an identifier for robot accounts.", - "type": "string" - }, - "profileId": { - "description": "The unique G Suite profile ID of the actor. May be absent if the actor is not a G Suite user.", - "type": "string" - } - }, - "type": "object" - }, - "etag": { - "description": "ETag of the entry.", - "type": "string" - }, - "events": { - "description": "Activity events in the report.", - "items": { - "properties": { - "name": { - "description": "Name of the event. This is the specific name of the activity reported by the API. And each eventName is related to a specific G Suite service or feature which the API organizes into types of events.\nFor eventName request parameters in general: \n- If no eventName is given, the report returns all possible instances of an eventName. \n- When you request an eventName, the API's response returns all activities which contain that eventName. It is possible that the returned activities will have other eventName properties in addition to the one requested. \nFor more information about eventName properties, see the list of event names for various applications above in applicationName.", - "type": "string" - }, - "parameters": { - "description": "Parameter value pairs for various applications. For more information about eventName parameters, see the list of event names for various applications above in applicationName.", - "items": { - "properties": { - "boolValue": { - "description": "Boolean value of the parameter.", - "type": "boolean" - }, - "intValue": { - "description": "Integer value of the parameter.", - "format": "int64", - "type": "string" - }, - "messageValue": { - "description": "Nested parameter value pairs associated with this parameter. Complex value type for a parameter are returned as a list of parameter values. For example, the address parameter may have a value as [{parameter: [{name: city, value: abc}]}]", - "properties": { - "parameter": { - "description": "Parameter values", - "items": { - "$ref": "NestedParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "multiIntValue": { - "description": "Integer values of the parameter.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "multiMessageValue": { - "description": "List of messageValue objects.", - "items": { - "properties": { - "parameter": { - "description": "Parameter values", - "items": { - "$ref": "NestedParameter" - }, - "type": "array" - } - }, - "type": "object" - }, - "type": "array" - }, - "multiValue": { - "description": "String values of the parameter.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "The name of the parameter.", - "type": "string" - }, - "value": { - "description": "String value of the parameter.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "type": { - "description": "Type of event. The G Suite service or feature that an administrator changes is identified in the type property which identifies an event using the eventName property. For a full list of the API's type categories, see the list of event names for various applications above in applicationName.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "id": { - "description": "Unique identifier for each activity record.", - "properties": { - "applicationName": { - "description": "Application name to which the event belongs. For possible values see the list of applications above in applicationName.", - "type": "string" - }, - "customerId": { - "description": "The unique identifier for a G suite account.", - "type": "string" - }, - "time": { - "description": "Time of occurrence of the activity. This is in UNIX epoch time in seconds.", - "format": "date-time", - "type": "string" - }, - "uniqueQualifier": { - "description": "Unique qualifier if multiple events have the same time.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, - "ipAddress": { - "description": "IP address of the user doing the action. This is the Internet Protocol (IP) address of the user when logging into G Suite which may or may not reflect the user's physical location. For example, the IP address can be the user's proxy server's address or a virtual private network (VPN) address. The API supports IPv4 and IPv6.", - "type": "string" - }, - "kind": { - "default": "admin#reports#activity", - "description": "The type of API resource. For an activity report, the value is audit#activity.", - "type": "string" - }, - "ownerDomain": { - "description": "This is the domain that is affected by the report's event. For example domain of Admin console or the Drive application's document owner.", - "type": "string" - } - }, - "type": "object" - }, - "Channel": { - "description": "An notification channel used to watch for resource changes.", - "id": "Channel", - "properties": { - "address": { - "description": "The address where notifications are delivered for this channel.", - "type": "string" - }, - "expiration": { - "description": "Date and time of notification channel expiration, expressed as a Unix timestamp, in milliseconds. Optional.", - "format": "int64", - "type": "string" - }, - "id": { - "description": "A UUID or similar unique string that identifies this channel.", - "type": "string" - }, - "kind": { - "default": "api#channel", - "description": "Identifies this as a notification channel used to watch for changes to a resource, which is \"api#channel\".", - "type": "string" - }, - "params": { - "additionalProperties": { - "description": "Declares a new parameter by name.", - "type": "string" - }, - "description": "Additional parameters controlling delivery channel behavior. Optional.", - "type": "object" - }, - "payload": { - "description": "A Boolean value to indicate whether payload is wanted. Optional.", - "type": "boolean" - }, - "resourceId": { - "description": "An opaque ID that identifies the resource being watched on this channel. Stable across different API versions.", - "type": "string" - }, - "resourceUri": { - "description": "A version-specific identifier for the watched resource.", - "type": "string" - }, - "token": { - "description": "An arbitrary string delivered to the target address with each notification delivered over this channel. Optional.", - "type": "string" - }, - "type": { - "description": "The type of delivery mechanism used for this channel.", - "type": "string" - } - }, - "type": "object" - }, - "NestedParameter": { - "description": "JSON template for a parameter used in various reports.", - "id": "NestedParameter", - "properties": { - "boolValue": { - "description": "Boolean value of the parameter.", - "type": "boolean" - }, - "intValue": { - "description": "Integer value of the parameter.", - "format": "int64", - "type": "string" - }, - "multiBoolValue": { - "description": "Multiple boolean values of the parameter.", - "items": { - "type": "boolean" - }, - "type": "array" - }, - "multiIntValue": { - "description": "Multiple integer values of the parameter.", - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "multiValue": { - "description": "Multiple string values of the parameter.", - "items": { - "type": "string" - }, - "type": "array" - }, - "name": { - "description": "The name of the parameter.", - "type": "string" - }, - "value": { - "description": "String value of the parameter.", - "type": "string" - } - }, - "type": "object" - }, - "UsageReport": { - "description": "JSON template for a usage report.", - "id": "UsageReport", - "properties": { - "date": { - "description": "The date of the report request.", - "readOnly": true, - "type": "string" - }, - "entity": { - "description": "Information about the type of the item.", - "properties": { - "customerId": { - "description": "The unique identifier of the customer's account.", - "readOnly": true, - "type": "string" - }, - "entityId": { - "description": "Object key. Only relevant if entity.type = \"OBJECT\" Note: external-facing name of report is \"Entities\" rather than \"Objects\".", - "readOnly": true, - "type": "string" - }, - "profileId": { - "description": "The user's immutable G Suite profile identifier.", - "readOnly": true, - "type": "string" - }, - "type": { - "description": "The type of item. The value is customer.", - "readOnly": true, - "type": "string" - }, - "userEmail": { - "description": "The user's email address. Only relevant if entity.type = \"USER\"", - "readOnly": true, - "type": "string" - } - }, - "readOnly": true, - "type": "object" - }, - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#reports#usageReport", - "description": "The type of API resource. For a usage report, the value is admin#reports#usageReport.", - "type": "string" - }, - "parameters": { - "description": "Parameter value pairs for various applications. For the Customers usage report parameters and values, see the customer usage parameters reference.", - "items": { - "properties": { - "boolValue": { - "description": "Boolean value of the parameter.", - "readOnly": true, - "type": "boolean" - }, - "datetimeValue": { - "description": "The RFC 3339 formatted value of the parameter, for example 2010-10-28T10:26:35.000Z.", - "format": "date-time", - "readOnly": true, - "type": "string" - }, - "intValue": { - "description": "Integer value of the parameter.", - "format": "int64", - "readOnly": true, - "type": "string" - }, - "msgValue": { - "description": "Nested message value of the parameter.", - "items": { - "additionalProperties": { - "type": "any" - }, - "type": "object" - }, - "readOnly": true, - "type": "array" - }, - "name": { - "type": "string" - }, - "stringValue": { - "description": "String value of the parameter.", - "readOnly": true, - "type": "string" - } - }, - "type": "object" - }, - "readOnly": true, - "type": "array" - } - }, - "type": "object" - }, - "UsageReports": { - "id": "UsageReports", - "properties": { - "etag": { - "description": "ETag of the resource.", - "type": "string" - }, - "kind": { - "default": "admin#reports#usageReports", - "description": "The type of API resource. For a usage report, the value is admin#reports#usageReports.", - "type": "string" - }, - "nextPageToken": { - "description": "Token to specify next page. A report with multiple pages has a nextPageToken property in the response. For your follow-on requests getting all of the report's pages, enter the nextPageToken value in the pageToken query string.", - "type": "string" - }, - "usageReports": { - "description": "Various application parameter records.", - "items": { - "$ref": "UsageReport" - }, - "type": "array" - }, - "warnings": { - "description": "Warnings, if any.", - "items": { - "properties": { - "code": { - "description": "Machine readable code or warning type. The warning code value is 200.", - "type": "string" - }, - "data": { - "description": "Key-value pairs to give detailed information on the warning.", - "items": { - "properties": { - "key": { - "description": "Key associated with a key-value pair to give detailed information on the warning.", - "type": "string" - }, - "value": { - "description": "Value associated with a key-value pair to give detailed information on the warning.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - }, - "message": { - "description": "The human readable messages for a warning are: \n- Data is not available warning - Sorry, data for date yyyy-mm-dd for application \"application name\" is not available. \n- Partial data is available warning - Data for date yyyy-mm-dd for application \"application name\" is not available right now, please try again after a few hours.", - "type": "string" - } - }, - "type": "object" - }, - "type": "array" - } - }, - "type": "object" - } - }, - "servicePath": "admin/reports/v1/", - "title": "Admin Reports API", - "version": "reports_v1" -} \ No newline at end of file diff --git a/etc/api/admob/v1/admob-api.json b/etc/api/admob/v1/admob-api.json index b4e9049c93..1eb4bf2561 100644 --- a/etc/api/admob/v1/admob-api.json +++ b/etc/api/admob/v1/admob-api.json @@ -108,7 +108,7 @@ ], "parameters": { "name": { - "description": "Resource name of the publisher account to retrieve.\nExample: accounts/pub-9876543210987654", + "description": "Required. Resource name of the publisher account to retrieve.\nExample: accounts/pub-9876543210987654", "location": "path", "pattern": "^accounts/[^/]+$", "required": true, @@ -207,7 +207,7 @@ } } }, - "revision": "20200409", + "revision": "20200709", "rootUrl": "https://admob.googleapis.com/", "schemas": { "Date": { @@ -259,7 +259,7 @@ "type": "object" }, "GenerateMediationReportResponse": { - "description": "The streaming response for the AdMob Mediation report where the first\nresponse contains the report header, then a stream of row responses, and\nfinally a footer as the last response message.\n\nFor example:\n\n [{\n \"header\": {\n \"date_range\": {\n \"start_date\": {\"year\": 2018, \"month\": 9, \"day\": 1},\n \"end_date\": {\"year\": 2018, \"month\": 9, \"day\": 30}\n }\n \"localization_settings\": {\n \"currency_code\": \"USD\",\n \"language_code\": \"en-US\"\n }\n }\n },\n {\n \"row\": {\n \"dimension_values\": {\n \"DATE\": {\"value\": \"20180918\"},\n \"APP\": {\n \"value\": \"ca-app-pub-8123415297019784~1001342552\",\n \"display_label\": \"My app name!\"\n }\n },\n \"metric_values\": {\n \"ESTIMATED_EARNINGS\": {\"decimal_value\": \"1324746\"}\n }\n }\n },\n {\n \"footer\": {\"matching_row_count\": 1}\n }]", + "description": "The streaming response for the AdMob Mediation report where the first\nresponse contains the report header, then a stream of row responses, and\nfinally a footer as the last response message.\n\nFor example:\n\n [{\n \"header\": {\n \"date_range\": {\n \"start_date\": {\"year\": 2018, \"month\": 9, \"day\": 1},\n \"end_date\": {\"year\": 2018, \"month\": 9, \"day\": 1}\n },\n \"localization_settings\": {\n \"currency_code\": \"USD\",\n \"language_code\": \"en-US\"\n }\n }\n },\n {\n \"row\": {\n \"dimension_values\": {\n \"DATE\": {\"value\": \"20180918\"},\n \"APP\": {\n \"value\": \"ca-app-pub-8123415297019784~1001342552\",\n \"display_label\": \"My app name!\"\n }\n },\n \"metric_values\": {\n \"ESTIMATED_EARNINGS\": {\"decimal_value\": \"1324746\"}\n }\n }\n },\n {\n \"footer\": {\"matching_row_count\": 1}\n }]", "id": "GenerateMediationReportResponse", "properties": { "footer": { @@ -289,7 +289,7 @@ "type": "object" }, "GenerateNetworkReportResponse": { - "description": "The streaming response for the AdMob Network report where the first response\ncontains the report header, then a stream of row responses, and finally a\nfooter as the last response message.\n\nFor example:\n\n [{\n \"header\": {\n \"dateRange\": {\n \"startDate\": {\"year\": 2018, \"month\": 9, \"day\": 1},\n \"endDate\": {\"year\": 2018, \"month\": 9, \"day\": 30}\n }\n \"localizationSettings\": {\n \"currencyCode\": \"USD\",\n \"languageCode\": \"en-US\"\n }\n }\n },\n {\n \"row\": {\n \"dimensionValues\": {\n \"DATE\": {\"value\": \"20180918\"},\n \"APP\": {\n \"value\": \"ca-app-pub-8123415297019784~1001342552\",\n displayLabel: \"My app name!\"\n }\n },\n \"metricValues\": {\n \"ESTIMATED_EARNINGS\": {\"microsValue\": 6500000}\n }\n }\n },\n ...\n {\n \"footer\": {\"matchingRowCount\": 5}\n }]", + "description": "The streaming response for the AdMob Network report where the first response\ncontains the report header, then a stream of row responses, and finally a\nfooter as the last response message.\n\nFor example:\n\n [{\n \"header\": {\n \"dateRange\": {\n \"startDate\": {\"year\": 2018, \"month\": 9, \"day\": 1},\n \"endDate\": {\"year\": 2018, \"month\": 9, \"day\": 1}\n },\n \"localizationSettings\": {\n \"currencyCode\": \"USD\",\n \"languageCode\": \"en-US\"\n }\n }\n },\n {\n \"row\": {\n \"dimensionValues\": {\n \"DATE\": {\"value\": \"20180918\"},\n \"APP\": {\n \"value\": \"ca-app-pub-8123415297019784~1001342552\",\n displayLabel: \"My app name!\"\n }\n },\n \"metricValues\": {\n \"ESTIMATED_EARNINGS\": {\"microsValue\": 6500000}\n }\n }\n },\n {\n \"footer\": {\"matchingRowCount\": 1}\n }]", "id": "GenerateNetworkReportResponse", "properties": { "footer": { diff --git a/etc/api/adsense/v1.4/adsense-api.json b/etc/api/adsense/v1.4/adsense-api.json index 1eb3c90ffd..d255db19c3 100644 --- a/etc/api/adsense/v1.4/adsense-api.json +++ b/etc/api/adsense/v1.4/adsense-api.json @@ -1654,7 +1654,7 @@ } } }, - "revision": "20200407", + "revision": "20200708", "rootUrl": "https://www.googleapis.com/", "schemas": { "Account": { diff --git a/etc/api/adsensehost/v4.1/adsensehost-api.json b/etc/api/adsensehost/v4.1/adsensehost-api.json index 2f2af365f0..edb3a58ab5 100644 --- a/etc/api/adsensehost/v4.1/adsensehost-api.json +++ b/etc/api/adsensehost/v4.1/adsensehost-api.json @@ -1076,7 +1076,7 @@ } } }, - "revision": "20200407", + "revision": "20200709", "rootUrl": "https://www.googleapis.com/", "schemas": { "Account": { diff --git a/etc/api/alertcenter/v1beta1/alertcenter-api.json b/etc/api/alertcenter/v1beta1/alertcenter-api.json index d482c973b7..19f625c967 100644 --- a/etc/api/alertcenter/v1beta1/alertcenter-api.json +++ b/etc/api/alertcenter/v1beta1/alertcenter-api.json @@ -423,7 +423,7 @@ } } }, - "revision": "20200406", + "revision": "20200704", "rootUrl": "https://alertcenter.googleapis.com/", "schemas": { "AccountWarning": { diff --git a/etc/api/analyticsreporting/v4/analyticsreporting-api.json b/etc/api/analyticsreporting/v4/analyticsreporting-api.json index 1a58edc83f..42f2448daa 100644 --- a/etc/api/analyticsreporting/v4/analyticsreporting-api.json +++ b/etc/api/analyticsreporting/v4/analyticsreporting-api.json @@ -155,7 +155,7 @@ } } }, - "revision": "20200405", + "revision": "20200707", "rootUrl": "https://analyticsreporting.googleapis.com/", "schemas": { "Activity": { diff --git a/etc/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json b/etc/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json index a162a3a400..42ed2aa028 100644 --- a/etc/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json +++ b/etc/api/androiddeviceprovisioning/v1/androiddeviceprovisioning-api.json @@ -825,7 +825,7 @@ } } }, - "revision": "20200408", + "revision": "20200708", "rootUrl": "https://androiddeviceprovisioning.googleapis.com/", "schemas": { "ClaimDeviceRequest": { @@ -839,7 +839,7 @@ }, "deviceIdentifier": { "$ref": "DeviceIdentifier", - "description": "Required. The device identifier of the device to claim." + "description": "Required. Required. The device identifier of the device to claim." }, "deviceMetadata": { "$ref": "DeviceMetadata", @@ -897,7 +897,7 @@ "id": "Company", "properties": { "adminEmails": { - "description": "Optional. Input only. Email address of customer's users in the admin role.\nEach email address must be associated with a Google Account.", + "description": "Optional. Email address of customer's users in the admin role.\nEach email address must be associated with a Google Account.", "items": { "type": "string" }, @@ -917,7 +917,7 @@ "type": "string" }, "ownerEmails": { - "description": "Input only. Email address of customer's users in the owner role. At least\none `owner_email` is required. Each email address must be associated with a\nGoogle Account. Owners share the same access as admins but can also add,\ndelete, and edit your organization's portal users.", + "description": "Required. Input only. Email address of customer's users in the owner role. At least\none `owner_email` is required. Each email address must be associated with a\nGoogle Account. Owners share the same access as admins but can also add,\ndelete, and edit your organization's portal users.", "items": { "type": "string" }, @@ -1124,11 +1124,11 @@ }, "deviceIdentifier": { "$ref": "DeviceIdentifier", - "description": "The hardware IDs that identify a manufactured device. To learn more, read\n[Identifiers](/zero-touch/guides/identifiers)." + "description": "The hardware IDs that identify a manufactured device. To learn more, read\n[Identifiers](https://developers.google.com/zero-touch/guides/identifiers)." }, "deviceMetadata": { "$ref": "DeviceMetadata", - "description": "The metadata attached to the device. Structured as key-value pairs. To\nlearn more, read [Device metadata](/zero-touch/guides/metadata)." + "description": "The metadata attached to the device. Structured as key-value pairs. To\nlearn more, read [Device\nmetadata](https://developers.google.com/zero-touch/guides/metadata)." }, "name": { "description": "Output only. The API resource name in the format\n`partners/[PARTNER_ID]/devices/[DEVICE_ID]`. Assigned by the server.", @@ -1179,7 +1179,7 @@ "type": "object" }, "DeviceIdentifier": { - "description": "Encapsulates hardware and product IDs to identify a manufactured device.\nTo understand requirements on identifier sets, read\n[Identifiers](/zero-touch/guides/identifiers).", + "description": "Encapsulates hardware and product IDs to identify a manufactured device.\nTo understand requirements on identifier sets, read\n[Identifiers](https://developers.google.com/zero-touch/guides/identifiers).", "id": "DeviceIdentifier", "properties": { "imei": { @@ -1206,7 +1206,7 @@ "type": "object" }, "DeviceMetadata": { - "description": "Metadata entries that can be attached to a `Device`. To learn more, read\n[Device metadata](/zero-touch/guides/metadata).", + "description": "Metadata entries that can be attached to a `Device`. To learn more, read\n[Device metadata](https://developers.google.com/zero-touch/guides/metadata).", "id": "DeviceMetadata", "properties": { "entries": { @@ -1220,7 +1220,7 @@ "type": "object" }, "DeviceReference": { - "description": "A `DeviceReference` is an API abstraction that lets you supply a _device_\nargument to a method using one of the following identifier types:\n\n* A numeric API resource ID.\n* Real-world hardware IDs, such as IMEI number, belonging to the manufactured\n device.\n\nMethods that operate on devices take a `DeviceReference` as a parameter type\nbecause it's more flexible for the caller. To learn more about device\nidentifiers, read [Identifiers](/zero-touch/guides/identifiers).", + "description": "A `DeviceReference` is an API abstraction that lets you supply a _device_\nargument to a method using one of the following identifier types:\n\n* A numeric API resource ID.\n* Real-world hardware IDs, such as IMEI number, belonging to the manufactured\n device.\n\nMethods that operate on devices take a `DeviceReference` as a parameter type\nbecause it's more flexible for the caller. To learn more about device\nidentifiers, read\n[Identifiers](https://developers.google.com/zero-touch/guides/identifiers).", "id": "DeviceReference", "properties": { "deviceId": { @@ -1318,7 +1318,7 @@ "properties": { "deviceIdentifier": { "$ref": "DeviceIdentifier", - "description": "Required. The device identifier to search for." + "description": "Required. Required. The device identifier to search for." }, "limit": { "description": "Required. The maximum number of devices to show in a page of results. Must\nbe between 1 and 100 inclusive.", @@ -1554,7 +1554,7 @@ }, "deviceIdentifier": { "$ref": "DeviceIdentifier", - "description": "Required. Device identifier of the device." + "description": "Required. Required. Device identifier of the device." }, "deviceMetadata": { "$ref": "DeviceMetadata", @@ -1582,13 +1582,13 @@ "id": "PartnerUnclaim", "properties": { "deviceId": { - "description": "Device ID of the device.", + "description": "Required. Device ID of the device.", "format": "int64", "type": "string" }, "deviceIdentifier": { "$ref": "DeviceIdentifier", - "description": "Device identifier of the device." + "description": "Required. Device identifier of the device." }, "sectionType": { "description": "Required. The section type of the device's provisioning record.", @@ -1605,12 +1605,12 @@ "type": "string" }, "vacationModeDays": { - "description": "The duration of the vacation unlock starting from when the request is\nprocessed. (1 day is treated as 24 hours)", + "description": "Optional. The duration of the vacation unlock starting from when the request is\nprocessed. (1 day is treated as 24 hours)", "format": "int32", "type": "integer" }, "vacationModeExpireTime": { - "description": "The expiration time of the vacation unlock.", + "description": "Optional. The expiration time of the vacation unlock.", "format": "google-datetime", "type": "string" } @@ -1693,13 +1693,13 @@ "id": "UnclaimDeviceRequest", "properties": { "deviceId": { - "description": "The device ID returned by `ClaimDevice`.", + "description": "Required. The device ID returned by `ClaimDevice`.", "format": "int64", "type": "string" }, "deviceIdentifier": { "$ref": "DeviceIdentifier", - "description": "The device identifier you used when you claimed this device." + "description": "Required. The device identifier you used when you claimed this device." }, "sectionType": { "description": "Required. The section type of the device's provisioning record.", @@ -1772,13 +1772,13 @@ "id": "UpdateMetadataArguments", "properties": { "deviceId": { - "description": "Device ID of the device.", + "description": "Required. Device ID of the device.", "format": "int64", "type": "string" }, "deviceIdentifier": { "$ref": "DeviceIdentifier", - "description": "Device identifier." + "description": "Required. Device identifier." }, "deviceMetadata": { "$ref": "DeviceMetadata", diff --git a/etc/api/androidenterprise/v1/androidenterprise-api.json b/etc/api/androidenterprise/v1/androidenterprise-api.json index ff9d4ec6f5..aea63a8115 100644 --- a/etc/api/androidenterprise/v1/androidenterprise-api.json +++ b/etc/api/androidenterprise/v1/androidenterprise-api.json @@ -8,36 +8,63 @@ } } }, - "basePath": "/androidenterprise/v1/", - "baseUrl": "https://www.googleapis.com/androidenterprise/v1/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/androidenterprise/v1", "canonicalName": "Android Enterprise", - "description": "Manages the deployment of apps to Android for Work users.", + "description": "Manages the deployment of apps to Android Enterprise devices.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/android/work/play/emm-api", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/dchEQv1fOU-CrzLmTHLQqSguxQA\"", "icons": { - "x16": "https://www.google.com/images/icons/product/android-16.png", - "x32": "https://www.google.com/images/icons/product/android-32.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "androidenterprise:v1", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "androidenterprise", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -60,12 +87,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -75,7 +107,8 @@ "devices": { "methods": { "forceReportUpload": { - "description": "Uploads a report containing any changes in app states on the device since the last report was generated. You can call this method up to 3 times every 24 hours for a given device.", + "description": "Uploads a report containing any changes in app states on the device since\nthe last report was generated. You can call this method up to 3 times every\n24 hours for a given device.\nIf you exceed the quota, then the Google Play EMM API returns HTTP\n429 Too Many Requests.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/forceReportUpload", "httpMethod": "POST", "id": "androidenterprise.devices.forceReportUpload", "parameterOrder": [ @@ -103,13 +136,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/forceReportUpload", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/forceReportUpload", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "get": { "description": "Retrieves the details of a device.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", "httpMethod": "GET", "id": "androidenterprise.devices.get", "parameterOrder": [ @@ -137,7 +171,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", "response": { "$ref": "Device" }, @@ -146,7 +180,8 @@ ] }, "getState": { - "description": "Retrieves whether a device's access to Google services is enabled or disabled. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services. This is only supported for Google-managed users.", + "description": "Retrieves whether a device's access to Google services is enabled or\ndisabled.\nThe device state takes effect only if enforcing EMM policies on Android\ndevices is enabled in the Google Admin Console.\nOtherwise, the device state is ignored and all devices are allowed access\nto Google services.\nThis is only supported for Google-managed users.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", "httpMethod": "GET", "id": "androidenterprise.devices.getState", "parameterOrder": [ @@ -174,7 +209,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", "response": { "$ref": "DeviceState" }, @@ -184,6 +219,7 @@ }, "list": { "description": "Retrieves the IDs of all of a user's devices.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices", "httpMethod": "GET", "id": "androidenterprise.devices.list", "parameterOrder": [ @@ -204,7 +240,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices", "response": { "$ref": "DevicesListResponse" }, @@ -213,7 +249,8 @@ ] }, "setState": { - "description": "Sets whether a device's access to Google services is enabled or disabled. The device state takes effect only if enforcing EMM policies on Android devices is enabled in the Google Admin Console. Otherwise, the device state is ignored and all devices are allowed access to Google services. This is only supported for Google-managed users.", + "description": "Sets whether a device's access to Google services is enabled or disabled.\nThe device state takes effect only if enforcing EMM policies on Android\ndevices is enabled in the Google Admin Console.\nOtherwise, the device state is ignored and all devices are allowed access\nto Google services.\nThis is only supported for Google-managed users.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", "httpMethod": "PUT", "id": "androidenterprise.devices.setState", "parameterOrder": [ @@ -241,7 +278,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/state", "request": { "$ref": "DeviceState" }, @@ -254,6 +291,7 @@ }, "update": { "description": "Updates the device policy", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", "httpMethod": "PUT", "id": "androidenterprise.devices.update", "parameterOrder": [ @@ -275,7 +313,7 @@ "type": "string" }, "updateMask": { - "description": "Mask that identifies which fields to update. If not set, all modifiable fields will be modified.\n\nWhen set in a query parameter, this field should be specified as updateMask=,,...", + "description": "Mask that identifies which fields to update. If not set, all modifiable\nfields will be modified.\n\nWhen set in a query parameter, this field should be specified as\nupdateMask=<field1>,<field2>,...", "location": "query", "type": "string" }, @@ -286,7 +324,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}", "request": { "$ref": "Device" }, @@ -302,25 +340,29 @@ "enterprises": { "methods": { "acknowledgeNotificationSet": { - "description": "Acknowledges notifications that were received from Enterprises.PullNotificationSet to prevent subsequent calls from returning the same notifications.", + "description": "Acknowledges notifications that were received from\nEnterprises.PullNotificationSet to prevent subsequent calls from returning\nthe same notifications.", + "flatPath": "androidenterprise/v1/enterprises/acknowledgeNotificationSet", "httpMethod": "POST", "id": "androidenterprise.enterprises.acknowledgeNotificationSet", + "parameterOrder": [], "parameters": { "notificationSetId": { - "description": "The notification set ID as returned by Enterprises.PullNotificationSet. This must be provided.", + "description": "The notification set ID as returned by Enterprises.PullNotificationSet.\nThis must be provided.", "location": "query", "type": "string" } }, - "path": "enterprises/acknowledgeNotificationSet", + "path": "androidenterprise/v1/enterprises/acknowledgeNotificationSet", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "completeSignup": { - "description": "Completes the signup flow, by specifying the Completion token and Enterprise token. This request must not be called multiple times for a given Enterprise Token.", + "description": "Completes the signup flow, by specifying the Completion token and\nEnterprise token.\nThis request must not be called multiple times for a given Enterprise\nToken.", + "flatPath": "androidenterprise/v1/enterprises/completeSignup", "httpMethod": "POST", "id": "androidenterprise.enterprises.completeSignup", + "parameterOrder": [], "parameters": { "completionToken": { "description": "The Completion token initially returned by GenerateSignupUrl.", @@ -333,7 +375,7 @@ "type": "string" } }, - "path": "enterprises/completeSignup", + "path": "androidenterprise/v1/enterprises/completeSignup", "response": { "$ref": "Enterprise" }, @@ -342,7 +384,8 @@ ] }, "createWebToken": { - "description": "Returns a unique token to access an embeddable UI. To generate a web UI, pass the generated token into the managed Google Play javascript API. Each token may only be used to start one UI session. See the javascript API documentation for further information.", + "description": "Returns a unique token to access an embeddable UI. To generate a\nweb UI, pass the generated token into the managed Google Play javascript\nAPI. Each token may only be used to start one UI session. See the\njavascript API documentation for further information.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/createWebToken", "httpMethod": "POST", "id": "androidenterprise.enterprises.createWebToken", "parameterOrder": [ @@ -356,7 +399,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/createWebToken", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/createWebToken", "request": { "$ref": "AdministratorWebTokenSpec" }, @@ -369,6 +412,7 @@ }, "enroll": { "description": "Enrolls an enterprise with the calling EMM.", + "flatPath": "androidenterprise/v1/enterprises/enroll", "httpMethod": "POST", "id": "androidenterprise.enterprises.enroll", "parameterOrder": [ @@ -376,13 +420,13 @@ ], "parameters": { "token": { - "description": "The token provided by the enterprise to register the EMM.", + "description": "Required. The token provided by the enterprise to register the EMM.", "location": "query", "required": true, "type": "string" } }, - "path": "enterprises/enroll", + "path": "androidenterprise/v1/enterprises/enroll", "request": { "$ref": "Enterprise" }, @@ -395,16 +439,18 @@ }, "generateSignupUrl": { "description": "Generates a sign-up URL.", + "flatPath": "androidenterprise/v1/enterprises/signupUrl", "httpMethod": "POST", "id": "androidenterprise.enterprises.generateSignupUrl", + "parameterOrder": [], "parameters": { "callbackUrl": { - "description": "The callback URL to which the Admin will be redirected after successfully creating an enterprise. Before redirecting there the system will add a single query parameter to this URL named \"enterpriseToken\" which will contain an opaque token to be used for the CompleteSignup request.\nBeware that this means that the URL will be parsed, the parameter added and then a new URL formatted, i.e. there may be some minor formatting changes and, more importantly, the URL must be well-formed so that it can be parsed.", + "description": "The callback URL to which the Admin will be redirected after successfully\ncreating an enterprise. Before redirecting there the system will add a\nsingle query parameter to this URL named \"enterpriseToken\" which will\ncontain an opaque token to be used for the CompleteSignup request.
\nBeware that this means that the URL will be parsed, the parameter added\nand then a new URL formatted, i.e. there may be some minor formatting\nchanges and, more importantly, the URL must be well-formed so that it can\nbe parsed.", "location": "query", "type": "string" } }, - "path": "enterprises/signupUrl", + "path": "androidenterprise/v1/enterprises/signupUrl", "response": { "$ref": "SignupInfo" }, @@ -414,6 +460,7 @@ }, "get": { "description": "Retrieves the name and domain of an enterprise.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}", "httpMethod": "GET", "id": "androidenterprise.enterprises.get", "parameterOrder": [ @@ -427,7 +474,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}", "response": { "$ref": "Enterprise" }, @@ -436,7 +483,8 @@ ] }, "getServiceAccount": { - "description": "Returns a service account and credentials. The service account can be bound to the enterprise by calling setAccount. The service account is unique to this enterprise and EMM, and will be deleted if the enterprise is unbound. The credentials contain private key data and are not stored server-side.\n\nThis method can only be called after calling Enterprises.Enroll or Enterprises.CompleteSignup, and before Enterprises.SetAccount; at other times it will return an error.\n\nSubsequent calls after the first will generate a new, unique set of credentials, and invalidate the previously generated credentials.\n\nOnce the service account is bound to the enterprise, it can be managed using the serviceAccountKeys resource.", + "description": "Returns a service account and credentials. The service account\ncan be bound to the enterprise by calling setAccount. The service account\nis unique to this enterprise and EMM, and will be deleted if the enterprise\nis unbound. The credentials contain private key data and are not stored\nserver-side.\n

\nThis method can only be called after calling\nEnterprises.Enroll or Enterprises.CompleteSignup, and before\nEnterprises.SetAccount; at other times it will return an error.\n

\nSubsequent calls after the first will generate a new, unique set of\ncredentials, and invalidate the previously generated credentials.\n

\nOnce the service account is bound to the enterprise, it can be managed\nusing the serviceAccountKeys resource.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccount", "httpMethod": "GET", "id": "androidenterprise.enterprises.getServiceAccount", "parameterOrder": [ @@ -455,15 +503,11 @@ "googleCredentials", "pkcs12" ], - "enumDescriptions": [ - "", - "" - ], "location": "query", "type": "string" } }, - "path": "enterprises/{enterpriseId}/serviceAccount", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccount", "response": { "$ref": "ServiceAccount" }, @@ -472,7 +516,8 @@ ] }, "getStoreLayout": { - "description": "Returns the store layout for the enterprise. If the store layout has not been set, returns \"basic\" as the store layout type and no homepage.", + "description": "Returns the store layout for the enterprise. If the store layout\nhas not been set, returns \"basic\" as the store layout type and no\nhomepage.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout", "httpMethod": "GET", "id": "androidenterprise.enterprises.getStoreLayout", "parameterOrder": [ @@ -486,7 +531,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout", "response": { "$ref": "StoreLayout" }, @@ -495,7 +540,8 @@ ] }, "list": { - "description": "Looks up an enterprise by domain name. This is only supported for enterprises created via the Google-initiated creation flow. Lookup of the id is not needed for enterprises created via the EMM-initiated flow since the EMM learns the enterprise ID in the callback specified in the Enterprises.generateSignupUrl call.", + "description": "Looks up an enterprise by domain name.\nThis is only supported for enterprises created via the Google-initiated\ncreation flow. Lookup of the id is not needed for enterprises created via\nthe EMM-initiated flow since the EMM learns the enterprise ID in the\ncallback specified in the Enterprises.generateSignupUrl call.", + "flatPath": "androidenterprise/v1/enterprises", "httpMethod": "GET", "id": "androidenterprise.enterprises.list", "parameterOrder": [ @@ -503,13 +549,13 @@ ], "parameters": { "domain": { - "description": "The exact primary domain name of the enterprise to look up.", + "description": "Required. The exact primary domain name of the enterprise to look up.", "location": "query", "required": true, "type": "string" } }, - "path": "enterprises", + "path": "androidenterprise/v1/enterprises", "response": { "$ref": "EnterprisesListResponse" }, @@ -518,25 +564,23 @@ ] }, "pullNotificationSet": { - "description": "Pulls and returns a notification set for the enterprises associated with the service account authenticated for the request. The notification set may be empty if no notification are pending.\nA notification set returned needs to be acknowledged within 20 seconds by calling Enterprises.AcknowledgeNotificationSet, unless the notification set is empty.\nNotifications that are not acknowledged within the 20 seconds will eventually be included again in the response to another PullNotificationSet request, and those that are never acknowledged will ultimately be deleted according to the Google Cloud Platform Pub/Sub system policy.\nMultiple requests might be performed concurrently to retrieve notifications, in which case the pending notifications (if any) will be split among each caller, if any are pending.\nIf no notifications are present, an empty notification list is returned. Subsequent requests may return more notifications once they become available.", + "description": "Pulls and returns a notification set for the enterprises associated with\nthe service account authenticated for the request. The notification set may\nbe empty if no notification are pending.\n
\nA notification set returned needs to be acknowledged within 20 seconds\nby calling Enterprises.AcknowledgeNotificationSet, unless the\nnotification set is empty.\n
\nNotifications that are not acknowledged within the 20 seconds will\neventually be included again in the response to another PullNotificationSet\nrequest, and those that are never acknowledged will ultimately be deleted\naccording to the Google Cloud Platform Pub/Sub system policy.\n
\nMultiple requests might be performed concurrently to retrieve\nnotifications, in which case the pending notifications (if any) will be\nsplit among each caller, if any are pending.\n
\nIf no notifications are present, an empty notification list is returned.\nSubsequent requests may return more notifications once they become\navailable.", + "flatPath": "androidenterprise/v1/enterprises/pullNotificationSet", "httpMethod": "POST", "id": "androidenterprise.enterprises.pullNotificationSet", + "parameterOrder": [], "parameters": { "requestMode": { - "description": "The request mode for pulling notifications.\nSpecifying waitForNotifications will cause the request to block and wait until one or more notifications are present, or return an empty notification list if no notifications are present after some time.\nSpeciying returnImmediately will cause the request to immediately return the pending notifications, or an empty list if no notifications are present.\nIf omitted, defaults to waitForNotifications.", + "description": "The request mode for pulling notifications.\n
\nSpecifying waitForNotifications will cause the request to\nblock and wait until one or more notifications are present, or return an\nempty notification list if no notifications are present after some time.\n
\nSpeciying returnImmediately will cause the request to\nimmediately return the pending notifications, or an empty list if no\nnotifications are present.\n
\nIf omitted, defaults to waitForNotifications.", "enum": [ - "returnImmediately", - "waitForNotifications" - ], - "enumDescriptions": [ - "", - "" + "waitForNotifications", + "returnImmediately" ], "location": "query", "type": "string" } }, - "path": "enterprises/pullNotificationSet", + "path": "androidenterprise/v1/enterprises/pullNotificationSet", "response": { "$ref": "NotificationSet" }, @@ -545,7 +589,8 @@ ] }, "sendTestPushNotification": { - "description": "Sends a test notification to validate the EMM integration with the Google Cloud Pub/Sub service for this enterprise.", + "description": "Sends a test notification to validate the EMM integration with\nthe Google Cloud Pub/Sub service for this enterprise.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/sendTestPushNotification", "httpMethod": "POST", "id": "androidenterprise.enterprises.sendTestPushNotification", "parameterOrder": [ @@ -559,7 +604,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/sendTestPushNotification", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/sendTestPushNotification", "response": { "$ref": "EnterprisesSendTestPushNotificationResponse" }, @@ -568,7 +613,8 @@ ] }, "setAccount": { - "description": "Sets the account that will be used to authenticate to the API as the enterprise.", + "description": "Sets the account that will be used to authenticate to the API as the\nenterprise.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/account", "httpMethod": "PUT", "id": "androidenterprise.enterprises.setAccount", "parameterOrder": [ @@ -582,7 +628,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/account", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/account", "request": { "$ref": "EnterpriseAccount" }, @@ -594,7 +640,8 @@ ] }, "setStoreLayout": { - "description": "Sets the store layout for the enterprise. By default, storeLayoutType is set to \"basic\" and the basic store layout is enabled. The basic layout only contains apps approved by the admin, and that have been added to the available product set for a user (using the setAvailableProductSet call). Apps on the page are sorted in order of their product ID value. If you create a custom store layout (by setting storeLayoutType = \"custom\" and setting a homepage), the basic store layout is disabled.", + "description": "Sets the store layout for the enterprise. By default, storeLayoutType\nis set to \"basic\" and the basic store layout is enabled. The basic\nlayout only contains apps approved by the admin, and that have\nbeen added to the available product set for a user (using the\n\nsetAvailableProductSet call). Apps on the page are sorted in order of\ntheir product ID value. If you create a custom store layout (by setting\nstoreLayoutType = \"custom\" and setting a homepage), the basic store\nlayout is disabled.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout", "httpMethod": "PUT", "id": "androidenterprise.enterprises.setStoreLayout", "parameterOrder": [ @@ -608,7 +655,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout", "request": { "$ref": "StoreLayout" }, @@ -621,6 +668,7 @@ }, "unenroll": { "description": "Unenrolls an enterprise from the calling EMM.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/unenroll", "httpMethod": "POST", "id": "androidenterprise.enterprises.unenroll", "parameterOrder": [ @@ -634,7 +682,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/unenroll", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/unenroll", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] @@ -645,6 +693,7 @@ "methods": { "delete": { "description": "Removes an entitlement to an app for a user.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", "httpMethod": "DELETE", "id": "androidenterprise.entitlements.delete", "parameterOrder": [ @@ -672,13 +721,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "get": { "description": "Retrieves details of an entitlement.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", "httpMethod": "GET", "id": "androidenterprise.entitlements.get", "parameterOrder": [ @@ -706,7 +756,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", "response": { "$ref": "Entitlement" }, @@ -716,6 +766,7 @@ }, "list": { "description": "Lists all entitlements for the specified user. Only the ID is set.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements", "httpMethod": "GET", "id": "androidenterprise.entitlements.list", "parameterOrder": [ @@ -736,7 +787,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/entitlements", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements", "response": { "$ref": "EntitlementsListResponse" }, @@ -746,6 +797,7 @@ }, "update": { "description": "Adds or updates an entitlement to an app for a user.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", "httpMethod": "PUT", "id": "androidenterprise.entitlements.update", "parameterOrder": [ @@ -767,7 +819,7 @@ "type": "string" }, "install": { - "description": "Set to true to also install the product on all the user's devices where possible. Failure to install on one or more devices will not prevent this operation from returning successfully, as long as the entitlement was successfully assigned to the user.", + "description": "Set to true to also install the product on all the user's devices where\npossible. Failure to install on one or more devices will not prevent\nthis operation from returning successfully, as long as the entitlement\nwas successfully assigned to the user.", "location": "query", "type": "boolean" }, @@ -778,7 +830,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/entitlements/{entitlementId}", "request": { "$ref": "Entitlement" }, @@ -795,6 +847,7 @@ "methods": { "get": { "description": "Retrieves details of an enterprise's group license for a product.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}", "httpMethod": "GET", "id": "androidenterprise.grouplicenses.get", "parameterOrder": [ @@ -809,13 +862,13 @@ "type": "string" }, "groupLicenseId": { - "description": "The ID of the product the group license is for, e.g. \"app:com.google.android.gm\".", + "description": "The ID of the product the group license is for, e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" } }, - "path": "enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}", "response": { "$ref": "GroupLicense" }, @@ -825,6 +878,7 @@ }, "list": { "description": "Retrieves IDs of all products for which the enterprise has a group license.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses", "httpMethod": "GET", "id": "androidenterprise.grouplicenses.list", "parameterOrder": [ @@ -838,7 +892,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/groupLicenses", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses", "response": { "$ref": "GroupLicensesListResponse" }, @@ -851,7 +905,8 @@ "grouplicenseusers": { "methods": { "list": { - "description": "Retrieves the IDs of the users who have been granted entitlements under the license.", + "description": "Retrieves the IDs of the users who have been granted entitlements\nunder the license.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users", "httpMethod": "GET", "id": "androidenterprise.grouplicenseusers.list", "parameterOrder": [ @@ -866,13 +921,13 @@ "type": "string" }, "groupLicenseId": { - "description": "The ID of the product the group license is for, e.g. \"app:com.google.android.gm\".", + "description": "The ID of the product the group license is for, e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" } }, - "path": "enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/groupLicenses/{groupLicenseId}/users", "response": { "$ref": "GroupLicenseUsersListResponse" }, @@ -885,7 +940,8 @@ "installs": { "methods": { "delete": { - "description": "Requests to remove an app from a device. A call to get or list will still show the app as installed on the device until it is actually removed.", + "description": "Requests to remove an app from a device. A call to get or\nlist will still show the app as installed on the device until\nit is actually removed.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", "httpMethod": "DELETE", "id": "androidenterprise.installs.delete", "parameterOrder": [ @@ -908,7 +964,7 @@ "type": "string" }, "installId": { - "description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".", + "description": "The ID of the product represented by the install, e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -920,13 +976,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "get": { "description": "Retrieves details of an installation of an app on a device.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", "httpMethod": "GET", "id": "androidenterprise.installs.get", "parameterOrder": [ @@ -949,7 +1006,7 @@ "type": "string" }, "installId": { - "description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".", + "description": "The ID of the product represented by the install, e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -961,7 +1018,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", "response": { "$ref": "Install" }, @@ -971,6 +1028,7 @@ }, "list": { "description": "Retrieves the details of all apps installed on the specified device.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs", "httpMethod": "GET", "id": "androidenterprise.installs.list", "parameterOrder": [ @@ -998,7 +1056,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs", "response": { "$ref": "InstallsListResponse" }, @@ -1007,7 +1065,8 @@ ] }, "update": { - "description": "Requests to install the latest version of an app to a device. If the app is already installed, then it is updated to the latest version if necessary.", + "description": "Requests to install the latest version of an app to a device. If the app\nis already installed, then it is updated to the latest version if\nnecessary.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", "httpMethod": "PUT", "id": "androidenterprise.installs.update", "parameterOrder": [ @@ -1030,7 +1089,7 @@ "type": "string" }, "installId": { - "description": "The ID of the product represented by the install, e.g. \"app:com.google.android.gm\".", + "description": "The ID of the product represented by the install, e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -1042,7 +1101,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/installs/{installId}", "request": { "$ref": "Install" }, @@ -1058,7 +1117,8 @@ "managedconfigurationsfordevice": { "methods": { "delete": { - "description": "Removes a per-device managed configuration for an app for the specified device.", + "description": "Removes a per-device managed configuration for an app for the specified\ndevice.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", "httpMethod": "DELETE", "id": "androidenterprise.managedconfigurationsfordevice.delete", "parameterOrder": [ @@ -1081,7 +1141,7 @@ "type": "string" }, "managedConfigurationForDeviceId": { - "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", + "description": "The ID of the managed configuration (a product ID), e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -1093,13 +1153,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "get": { "description": "Retrieves details of a per-device managed configuration.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", "httpMethod": "GET", "id": "androidenterprise.managedconfigurationsfordevice.get", "parameterOrder": [ @@ -1122,7 +1183,7 @@ "type": "string" }, "managedConfigurationForDeviceId": { - "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", + "description": "The ID of the managed configuration (a product ID), e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -1134,7 +1195,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", "response": { "$ref": "ManagedConfiguration" }, @@ -1143,7 +1204,8 @@ ] }, "list": { - "description": "Lists all the per-device managed configurations for the specified device. Only the ID is set.", + "description": "Lists all the per-device managed configurations for the specified device.\nOnly the ID is set.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice", "httpMethod": "GET", "id": "androidenterprise.managedconfigurationsfordevice.list", "parameterOrder": [ @@ -1171,7 +1233,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice", "response": { "$ref": "ManagedConfigurationsForDeviceListResponse" }, @@ -1180,7 +1242,8 @@ ] }, "update": { - "description": "Adds or updates a per-device managed configuration for an app for the specified device.", + "description": "Adds or updates a per-device managed configuration for an app for the\nspecified device.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", "httpMethod": "PUT", "id": "androidenterprise.managedconfigurationsfordevice.update", "parameterOrder": [ @@ -1203,7 +1266,7 @@ "type": "string" }, "managedConfigurationForDeviceId": { - "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", + "description": "The ID of the managed configuration (a product ID), e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -1215,7 +1278,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/devices/{deviceId}/managedConfigurationsForDevice/{managedConfigurationForDeviceId}", "request": { "$ref": "ManagedConfiguration" }, @@ -1232,6 +1295,7 @@ "methods": { "delete": { "description": "Removes a per-user managed configuration for an app for the specified user.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", "httpMethod": "DELETE", "id": "androidenterprise.managedconfigurationsforuser.delete", "parameterOrder": [ @@ -1247,7 +1311,7 @@ "type": "string" }, "managedConfigurationForUserId": { - "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", + "description": "The ID of the managed configuration (a product ID), e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -1259,13 +1323,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "get": { - "description": "Retrieves details of a per-user managed configuration for an app for the specified user.", + "description": "Retrieves details of a per-user managed configuration for an app for the\nspecified user.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", "httpMethod": "GET", "id": "androidenterprise.managedconfigurationsforuser.get", "parameterOrder": [ @@ -1281,7 +1346,7 @@ "type": "string" }, "managedConfigurationForUserId": { - "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", + "description": "The ID of the managed configuration (a product ID), e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -1293,7 +1358,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", "response": { "$ref": "ManagedConfiguration" }, @@ -1302,7 +1367,8 @@ ] }, "list": { - "description": "Lists all the per-user managed configurations for the specified user. Only the ID is set.", + "description": "Lists all the per-user managed configurations for the specified user. Only\nthe ID is set.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser", "httpMethod": "GET", "id": "androidenterprise.managedconfigurationsforuser.list", "parameterOrder": [ @@ -1323,7 +1389,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser", "response": { "$ref": "ManagedConfigurationsForUserListResponse" }, @@ -1332,7 +1398,8 @@ ] }, "update": { - "description": "Adds or updates the managed configuration settings for an app for the specified user. If you support the Managed configurations iframe, you can apply managed configurations to a user by specifying an mcmId and its associated configuration variables (if any) in the request. Alternatively, all EMMs can apply managed configurations by passing a list of managed properties.", + "description": "Adds or updates the managed configuration settings for an app for the\nspecified user.\nIf you support the Managed\nconfigurations iframe,\nyou can apply managed configurations to a user by specifying an\nmcmId\nand its associated configuration variables (if any) in the request.\nAlternatively,\nall EMMs can apply managed configurations by passing a list of managed\nproperties.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", "httpMethod": "PUT", "id": "androidenterprise.managedconfigurationsforuser.update", "parameterOrder": [ @@ -1348,7 +1415,7 @@ "type": "string" }, "managedConfigurationForUserId": { - "description": "The ID of the managed configuration (a product ID), e.g. \"app:com.google.android.gm\".", + "description": "The ID of the managed configuration (a product ID), e.g.\n\"app:com.google.android.gm\".", "location": "path", "required": true, "type": "string" @@ -1360,7 +1427,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/managedConfigurationsForUser/{managedConfigurationForUserId}", "request": { "$ref": "ManagedConfiguration" }, @@ -1377,6 +1444,7 @@ "methods": { "list": { "description": "Lists all the managed configurations settings for the specified app.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/managedConfigurationsSettings", "httpMethod": "GET", "id": "androidenterprise.managedconfigurationssettings.list", "parameterOrder": [ @@ -1391,13 +1459,13 @@ "type": "string" }, "productId": { - "description": "The ID of the product for which the managed configurations settings applies to.", + "description": "The ID of the product for which the managed configurations settings applies\nto.", "location": "path", "required": true, "type": "string" } }, - "path": "enterprises/{enterpriseId}/products/{productId}/managedConfigurationsSettings", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/managedConfigurationsSettings", "response": { "$ref": "ManagedConfigurationsSettingsListResponse" }, @@ -1410,7 +1478,8 @@ "permissions": { "methods": { "get": { - "description": "Retrieves details of an Android app permission for display to an enterprise admin.", + "description": "Retrieves details of an Android app permission for display to an enterprise\nadmin.", + "flatPath": "androidenterprise/v1/permissions/{permissionId}", "httpMethod": "GET", "id": "androidenterprise.permissions.get", "parameterOrder": [ @@ -1429,7 +1498,7 @@ "type": "string" } }, - "path": "permissions/{permissionId}", + "path": "androidenterprise/v1/permissions/{permissionId}", "response": { "$ref": "Permission" }, @@ -1442,7 +1511,8 @@ "products": { "methods": { "approve": { - "description": "Approves the specified product and the relevant app permissions, if any. The maximum number of products that you can approve per enterprise customer is 1,000.\n\nTo learn how to use managed Google Play to design and create a store layout to display approved products to your users, see Store Layout Design.", + "description": "

Approves the specified product and the relevant app permissions, if any.\nThe maximum number of products that you can approve per enterprise customer\nis 1,000.

\n

To learn how to use managed Google Play to design and create a store\nlayout to display approved products to your users,\nsee Store Layout\nDesign.

", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/approve", "httpMethod": "POST", "id": "androidenterprise.products.approve", "parameterOrder": [ @@ -1463,7 +1533,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/products/{productId}/approve", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/approve", "request": { "$ref": "ProductsApproveRequest" }, @@ -1472,7 +1542,8 @@ ] }, "generateApprovalUrl": { - "description": "Generates a URL that can be rendered in an iframe to display the permissions (if any) of a product. An enterprise admin must view these permissions and accept them on behalf of their organization in order to approve that product.\n\nAdmins should accept the displayed permissions by interacting with a separate UI element in the EMM console, which in turn should trigger the use of this URL as the approvalUrlInfo.approvalUrl property in a Products.approve call to approve the product. This URL can only be used to display permissions for up to 1 day.", + "description": "Generates a URL that can be rendered in an iframe to display the\npermissions (if any) of a product. An enterprise admin must view these\npermissions and accept them on behalf of their organization in order to\napprove that product.

\nAdmins should accept the displayed permissions by\ninteracting with a separate UI element in the EMM console, which in turn\nshould trigger the use of this URL as the\napprovalUrlInfo.approvalUrl property in a\nProducts.approve call to approve the product.\nThis URL can only be used to display permissions for up to 1 day.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl", "httpMethod": "POST", "id": "androidenterprise.products.generateApprovalUrl", "parameterOrder": [ @@ -1487,7 +1558,7 @@ "type": "string" }, "languageCode": { - "description": "The BCP 47 language code used for permission names and descriptions in the returned iframe, for instance \"en-US\".", + "description": "The BCP 47 language code used for permission names and descriptions in\nthe returned iframe, for instance \"en-US\".", "location": "query", "type": "string" }, @@ -1498,7 +1569,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/generateApprovalUrl", "response": { "$ref": "ProductsGenerateApprovalUrlResponse" }, @@ -1508,6 +1579,7 @@ }, "get": { "description": "Retrieves details of a product for display to an enterprise admin.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}", "httpMethod": "GET", "id": "androidenterprise.products.get", "parameterOrder": [ @@ -1533,7 +1605,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/products/{productId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}", "response": { "$ref": "Product" }, @@ -1542,7 +1614,8 @@ ] }, "getAppRestrictionsSchema": { - "description": "Retrieves the schema that defines the configurable properties for this product. All products have a schema, but this schema may be empty if no managed configurations have been defined. This schema can be used to populate a UI that allows an admin to configure the product. To apply a managed configuration based on the schema obtained using this API, see Managed Configurations through Play.", + "description": "Retrieves the schema that defines the configurable properties for this\nproduct. All products have a schema, but this schema may be empty if no\nmanaged configurations have been defined. This schema can be used to\npopulate a UI that allows an admin to configure the product.\nTo apply a managed configuration based on the schema obtained using this\nAPI, see\nManaged\nConfigurations through Play.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema", "httpMethod": "GET", "id": "androidenterprise.products.getAppRestrictionsSchema", "parameterOrder": [ @@ -1568,7 +1641,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/appRestrictionsSchema", "response": { "$ref": "AppRestrictionsSchema" }, @@ -1578,6 +1651,7 @@ }, "getPermissions": { "description": "Retrieves the Android app permissions required by this app.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/permissions", "httpMethod": "GET", "id": "androidenterprise.products.getPermissions", "parameterOrder": [ @@ -1598,7 +1672,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/products/{productId}/permissions", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/permissions", "response": { "$ref": "ProductPermissions" }, @@ -1607,7 +1681,8 @@ ] }, "list": { - "description": "Finds approved products that match a query, or all approved products if there is no query.", + "description": "Finds approved products that match a query, or all approved products\nif there is no query.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products", "httpMethod": "GET", "id": "androidenterprise.products.list", "parameterOrder": [ @@ -1615,7 +1690,7 @@ ], "parameters": { "approved": { - "description": "Specifies whether to search among all products (false) or among only products that have been approved (true). Only \"true\" is supported, and should be specified.", + "description": "Specifies whether to search among all products (false) or among\nonly products that have been approved (true). Only \"true\" is\nsupported, and should be specified.", "location": "query", "type": "boolean" }, @@ -1626,28 +1701,28 @@ "type": "string" }, "language": { - "description": "The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\"). Results are returned in the language best matching the preferred language.", + "description": "The BCP47 tag for the user's preferred language (e.g. \"en-US\", \"de\").\nResults are returned in the language best matching the preferred\nlanguage.", "location": "query", "type": "string" }, "maxResults": { - "description": "Specifies the maximum number of products that can be returned per request. If not specified, uses a default value of 100, which is also the maximum retrievable within a single response.", + "description": "Defines how many results the list operation should return.\nThe default number depends on the resource collection.", "format": "uint32", "location": "query", "type": "integer" }, "query": { - "description": "The search query as typed in the Google Play store search box. If omitted, all approved apps will be returned (using the pagination parameters), including apps that are not available in the store (e.g. unpublished apps).", + "description": "The search query as typed in the Google Play store search box.\nIf omitted, all approved apps will be returned (using the pagination\nparameters), including apps that are not available in the store\n(e.g. unpublished apps).", "location": "query", "type": "string" }, "token": { - "description": "A pagination token is contained in a request's response when there are more products. The token can be used in a subsequent request to obtain more products, and so forth. This parameter cannot be used in the initial request.", + "description": "Defines the token of the page to return, usually taken from\nTokenPagination.\nThis can only be used if token paging is enabled.", "location": "query", "type": "string" } }, - "path": "enterprises/{enterpriseId}/products", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/products", "response": { "$ref": "ProductsListResponse" }, @@ -1657,6 +1732,7 @@ }, "unapprove": { "description": "Unapproves the specified product (and the relevant app permissions, if any)", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/unapprove", "httpMethod": "POST", "id": "androidenterprise.products.unapprove", "parameterOrder": [ @@ -1677,7 +1753,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/products/{productId}/unapprove", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/products/{productId}/unapprove", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] @@ -1687,7 +1763,8 @@ "serviceaccountkeys": { "methods": { "delete": { - "description": "Removes and invalidates the specified credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.", + "description": "Removes and invalidates the specified credentials for the service account\nassociated with this enterprise. The calling service account must have been\nretrieved by calling Enterprises.GetServiceAccount and must have been set\nas the enterprise service account by calling Enterprises.SetAccount.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys/{keyId}", "httpMethod": "DELETE", "id": "androidenterprise.serviceaccountkeys.delete", "parameterOrder": [ @@ -1708,13 +1785,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/serviceAccountKeys/{keyId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys/{keyId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "insert": { - "description": "Generates new credentials for the service account associated with this enterprise. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.\n\nOnly the type of the key should be populated in the resource to be inserted.", + "description": "Generates new credentials for the service account associated with this\nenterprise. The calling service account must have been retrieved by calling\nEnterprises.GetServiceAccount and must have been set as the enterprise\nservice account by calling Enterprises.SetAccount.

\nOnly the type of the key should be populated in the resource to be\ninserted.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", "httpMethod": "POST", "id": "androidenterprise.serviceaccountkeys.insert", "parameterOrder": [ @@ -1728,7 +1806,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/serviceAccountKeys", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", "request": { "$ref": "ServiceAccountKey" }, @@ -1740,7 +1818,8 @@ ] }, "list": { - "description": "Lists all active credentials for the service account associated with this enterprise. Only the ID and key type are returned. The calling service account must have been retrieved by calling Enterprises.GetServiceAccount and must have been set as the enterprise service account by calling Enterprises.SetAccount.", + "description": "Lists all active credentials for the service account associated with this\nenterprise. Only the ID and key type are returned. The calling service\naccount must have been retrieved by calling Enterprises.GetServiceAccount\nand must have been set as the enterprise service account by calling\nEnterprises.SetAccount.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", "httpMethod": "GET", "id": "androidenterprise.serviceaccountkeys.list", "parameterOrder": [ @@ -1754,7 +1833,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/serviceAccountKeys", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/serviceAccountKeys", "response": { "$ref": "ServiceAccountKeysListResponse" }, @@ -1768,6 +1847,7 @@ "methods": { "delete": { "description": "Deletes a cluster.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", "httpMethod": "DELETE", "id": "androidenterprise.storelayoutclusters.delete", "parameterOrder": [ @@ -1795,13 +1875,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "get": { "description": "Retrieves details of a cluster.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", "httpMethod": "GET", "id": "androidenterprise.storelayoutclusters.get", "parameterOrder": [ @@ -1829,7 +1910,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", "response": { "$ref": "StoreCluster" }, @@ -1839,6 +1920,7 @@ }, "insert": { "description": "Inserts a new cluster in a page.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", "httpMethod": "POST", "id": "androidenterprise.storelayoutclusters.insert", "parameterOrder": [ @@ -1859,7 +1941,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", "request": { "$ref": "StoreCluster" }, @@ -1872,6 +1954,7 @@ }, "list": { "description": "Retrieves the details of all clusters on the specified page.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", "httpMethod": "GET", "id": "androidenterprise.storelayoutclusters.list", "parameterOrder": [ @@ -1892,7 +1975,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters", "response": { "$ref": "StoreLayoutClustersListResponse" }, @@ -1902,6 +1985,7 @@ }, "update": { "description": "Updates a cluster.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", "httpMethod": "PUT", "id": "androidenterprise.storelayoutclusters.update", "parameterOrder": [ @@ -1929,7 +2013,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}/clusters/{clusterId}", "request": { "$ref": "StoreCluster" }, @@ -1946,6 +2030,7 @@ "methods": { "delete": { "description": "Deletes a store page.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", "httpMethod": "DELETE", "id": "androidenterprise.storelayoutpages.delete", "parameterOrder": [ @@ -1966,13 +2051,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages/{pageId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "get": { "description": "Retrieves details of a store page.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", "httpMethod": "GET", "id": "androidenterprise.storelayoutpages.get", "parameterOrder": [ @@ -1993,7 +2079,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages/{pageId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", "response": { "$ref": "StorePage" }, @@ -2003,6 +2089,7 @@ }, "insert": { "description": "Inserts a new store page.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages", "httpMethod": "POST", "id": "androidenterprise.storelayoutpages.insert", "parameterOrder": [ @@ -2016,7 +2103,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages", "request": { "$ref": "StorePage" }, @@ -2029,6 +2116,7 @@ }, "list": { "description": "Retrieves the details of all pages in the store.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages", "httpMethod": "GET", "id": "androidenterprise.storelayoutpages.list", "parameterOrder": [ @@ -2042,7 +2130,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages", "response": { "$ref": "StoreLayoutPagesListResponse" }, @@ -2052,6 +2140,7 @@ }, "update": { "description": "Updates the content of a store page.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", "httpMethod": "PUT", "id": "androidenterprise.storelayoutpages.update", "parameterOrder": [ @@ -2072,7 +2161,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/storeLayout/pages/{pageId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/storeLayout/pages/{pageId}", "request": { "$ref": "StorePage" }, @@ -2089,6 +2178,7 @@ "methods": { "delete": { "description": "Deleted an EMM-managed user.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", "httpMethod": "DELETE", "id": "androidenterprise.users.delete", "parameterOrder": [ @@ -2109,13 +2199,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "generateAuthenticationToken": { - "description": "Generates an authentication token which the device policy client can use to provision the given EMM-managed user account on a device. The generated token is single-use and expires after a few minutes.\n\nYou can provision a maximum of 10 devices per user.\n\nThis call only works with EMM-managed accounts.", + "description": "Generates an authentication token which the device policy client can use to\nprovision the given EMM-managed user account on a device.\nThe generated token is single-use and expires after a few minutes.\n\nYou can provision a maximum of 10 devices per user.\n\nThis call only works with EMM-managed accounts.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/authenticationToken", "httpMethod": "POST", "id": "androidenterprise.users.generateAuthenticationToken", "parameterOrder": [ @@ -2136,7 +2227,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/authenticationToken", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/authenticationToken", "response": { "$ref": "AuthenticationToken" }, @@ -2144,38 +2235,9 @@ "https://www.googleapis.com/auth/androidenterprise" ] }, - "generateToken": { - "description": "Generates a token (activation code) to allow this user to configure their managed account in the Android Setup Wizard. Revokes any previously generated token.\n\nThis call only works with Google managed accounts.", - "httpMethod": "POST", - "id": "androidenterprise.users.generateToken", - "parameterOrder": [ - "enterpriseId", - "userId" - ], - "parameters": { - "enterpriseId": { - "description": "The ID of the enterprise.", - "location": "path", - "required": true, - "type": "string" - }, - "userId": { - "description": "The ID of the user.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "enterprises/{enterpriseId}/users/{userId}/token", - "response": { - "$ref": "UserToken" - }, - "scopes": [ - "https://www.googleapis.com/auth/androidenterprise" - ] - }, "get": { "description": "Retrieves a user's details.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", "httpMethod": "GET", "id": "androidenterprise.users.get", "parameterOrder": [ @@ -2196,7 +2258,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", "response": { "$ref": "User" }, @@ -2206,6 +2268,7 @@ }, "getAvailableProductSet": { "description": "Retrieves the set of products a user is entitled to access.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet", "httpMethod": "GET", "id": "androidenterprise.users.getAvailableProductSet", "parameterOrder": [ @@ -2226,7 +2289,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/availableProductSet", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet", "response": { "$ref": "ProductSet" }, @@ -2235,7 +2298,8 @@ ] }, "insert": { - "description": "Creates a new EMM-managed user.\n\nThe Users resource passed in the body of the request should include an accountIdentifier and an accountType.\nIf a corresponding user already exists with the same account identifier, the user will be updated with the resource. In this case only the displayName field can be changed.", + "description": "Creates a new EMM-managed user.\n\nThe Users resource\npassed in the body of the request should include an\naccountIdentifier and an accountType.\n

If a corresponding user already exists with the same account identifier,\nthe user will be updated with the resource. In this case only the\ndisplayName field can be changed.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users", "httpMethod": "POST", "id": "androidenterprise.users.insert", "parameterOrder": [ @@ -2249,7 +2313,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users", "request": { "$ref": "User" }, @@ -2261,7 +2325,8 @@ ] }, "list": { - "description": "Looks up a user by primary email address. This is only supported for Google-managed users. Lookup of the id is not needed for EMM-managed users because the id is already returned in the result of the Users.insert call.", + "description": "Looks up a user by primary email address.\nThis is only supported for Google-managed users. Lookup of the id is not\nneeded for EMM-managed users because the id is already returned in the\nresult of the Users.insert call.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users", "httpMethod": "GET", "id": "androidenterprise.users.list", "parameterOrder": [ @@ -2270,7 +2335,7 @@ ], "parameters": { "email": { - "description": "The exact primary email address of the user to look up.", + "description": "Required. The exact primary email address of the user to look up.", "location": "query", "required": true, "type": "string" @@ -2282,7 +2347,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users", "response": { "$ref": "UsersListResponse" }, @@ -2291,7 +2356,8 @@ ] }, "revokeDeviceAccess": { - "description": "Revokes access to all devices currently provisioned to the user. The user will no longer be able to use the managed Play store on any of their managed devices.\n\nThis call only works with EMM-managed accounts.", + "description": "Revokes access to all devices currently provisioned to the user. The user\nwill no longer be able to use the managed Play store on any of their\nmanaged devices.\n\nThis call only works with EMM-managed accounts.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/deviceAccess", "httpMethod": "DELETE", "id": "androidenterprise.users.revokeDeviceAccess", "parameterOrder": [ @@ -2312,40 +2378,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/deviceAccess", - "scopes": [ - "https://www.googleapis.com/auth/androidenterprise" - ] - }, - "revokeToken": { - "description": "Revokes a previously generated token (activation code) for the user.", - "httpMethod": "DELETE", - "id": "androidenterprise.users.revokeToken", - "parameterOrder": [ - "enterpriseId", - "userId" - ], - "parameters": { - "enterpriseId": { - "description": "The ID of the enterprise.", - "location": "path", - "required": true, - "type": "string" - }, - "userId": { - "description": "The ID of the user.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "enterprises/{enterpriseId}/users/{userId}/token", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/deviceAccess", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "setAvailableProductSet": { - "description": "Modifies the set of products that a user is entitled to access (referred to as whitelisted products). Only products that are approved or products that were previously approved (products with revoked approval) can be whitelisted.", + "description": "Modifies the set of products that a user is entitled to access (referred to\nas whitelisted products). Only products that are\napproved\nor products that were previously approved (products with revoked approval)\ncan be whitelisted.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet", "httpMethod": "PUT", "id": "androidenterprise.users.setAvailableProductSet", "parameterOrder": [ @@ -2366,7 +2406,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}/availableProductSet", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}/availableProductSet", "request": { "$ref": "ProductSet" }, @@ -2378,7 +2418,8 @@ ] }, "update": { - "description": "Updates the details of an EMM-managed user.\n\nCan be used with EMM-managed users only (not Google managed users). Pass the new details in the Users resource in the request body. Only the displayName field can be changed. Other fields must either be unset or have the currently active value.", + "description": "Updates the details of an EMM-managed user.\n\nCan be used with EMM-managed users only (not Google managed users).\nPass the new details in the\nUsers\nresource in the request body. Only the displayName field\ncan be changed. Other fields must either be unset or have the\ncurrently active value.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", "httpMethod": "PUT", "id": "androidenterprise.users.update", "parameterOrder": [ @@ -2399,7 +2440,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/users/{userId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/users/{userId}", "request": { "$ref": "User" }, @@ -2416,6 +2457,7 @@ "methods": { "delete": { "description": "Deletes an existing web app.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", "httpMethod": "DELETE", "id": "androidenterprise.webapps.delete", "parameterOrder": [ @@ -2436,13 +2478,14 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/webApps/{webAppId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] }, "get": { "description": "Gets an existing web app.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", "httpMethod": "GET", "id": "androidenterprise.webapps.get", "parameterOrder": [ @@ -2463,7 +2506,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/webApps/{webAppId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", "response": { "$ref": "WebApp" }, @@ -2473,6 +2516,7 @@ }, "insert": { "description": "Creates a new web app for the enterprise.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps", "httpMethod": "POST", "id": "androidenterprise.webapps.insert", "parameterOrder": [ @@ -2486,7 +2530,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/webApps", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps", "request": { "$ref": "WebApp" }, @@ -2499,6 +2543,7 @@ }, "list": { "description": "Retrieves the details of all web apps for a given enterprise.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps", "httpMethod": "GET", "id": "androidenterprise.webapps.list", "parameterOrder": [ @@ -2512,7 +2557,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/webApps", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps", "response": { "$ref": "WebAppsListResponse" }, @@ -2522,6 +2567,7 @@ }, "update": { "description": "Updates an existing web app.", + "flatPath": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", "httpMethod": "PUT", "id": "androidenterprise.webapps.update", "parameterOrder": [ @@ -2542,7 +2588,7 @@ "type": "string" } }, - "path": "enterprises/{enterpriseId}/webApps/{webAppId}", + "path": "androidenterprise/v1/enterprises/{enterpriseId}/webApps/{webAppId}", "request": { "$ref": "WebApp" }, @@ -2556,11 +2602,11 @@ } } }, - "revision": "20200325", + "revision": "20200707", "rootUrl": "https://www.googleapis.com/", "schemas": { "Administrator": { - "description": "This represents an enterprise admin who can manage the enterprise in the managed Google Play store.", + "description": "This represents an enterprise admin who can manage the enterprise\nin the managed Google Play store.", "id": "Administrator", "properties": { "email": { @@ -2574,10 +2620,6 @@ "description": "A token authorizing an admin to access an iframe.", "id": "AdministratorWebToken", "properties": { - "kind": { - "default": "androidenterprise#administratorWebToken", - "type": "string" - }, "token": { "description": "An opaque token to be passed to the Play front-end to generate an iframe.", "type": "string" @@ -2586,24 +2628,30 @@ "type": "object" }, "AdministratorWebTokenSpec": { - "description": "Specification for a token used to generate iframes. The token specifies what data the admin is allowed to modify and the URI the iframe is allowed to communiate with.", + "description": "Specification for a token used to generate iframes. The token specifies\nwhat data the admin is allowed to modify and the URI the iframe is\nallowed to communiate with.", "id": "AdministratorWebTokenSpec", "properties": { - "kind": { - "default": "androidenterprise#administratorWebTokenSpec", - "type": "string" - }, "managedConfigurations": { "$ref": "AdministratorWebTokenSpecManagedConfigurations", "description": "Options for displaying the Managed Configuration page." }, "parent": { - "description": "The URI of the parent frame hosting the iframe. To prevent XSS, the iframe may not be hosted at other URIs. This URI must be https. Use whitespaces to separate multiple parent URIs.", + "description": "The URI of the parent frame hosting the iframe. To prevent XSS, the iframe\nmay not be hosted at other URIs. This URI must be https.\nUse whitespaces to separate multiple parent URIs.", "type": "string" }, "permission": { - "description": "Deprecated. Use PlaySearch.approveApps.", + "description": "Deprecated. Use PlaySearch.approveApps.", + "enumDescriptions": [ + "Unknown permission.", + "Permission to approve and unapprove apps.", + "Permission to manage app restrictions." + ], "items": { + "enum": [ + "unknown", + "approveApps", + "manageMcm" + ], "type": "string" }, "type": "array" @@ -2641,7 +2689,7 @@ "id": "AdministratorWebTokenSpecPlaySearch", "properties": { "approveApps": { - "description": "Allow access to the iframe in approve mode. Default is false.", + "description": "Allow access to the iframe in approve\nmode. Default is false.", "type": "boolean" }, "enabled": { @@ -2682,7 +2730,7 @@ "type": "object" }, "AppRestrictionsSchema": { - "description": "Represents the list of app restrictions available to be pre-configured for the product.", + "description": "Represents the list of app restrictions available to be pre-configured for\nthe product.", "id": "AppRestrictionsSchema", "properties": { "kind": { @@ -2700,48 +2748,48 @@ "type": "object" }, "AppRestrictionsSchemaChangeEvent": { - "description": "An event generated when a new app version is uploaded to Google Play and its app restrictions schema changed. To fetch the app restrictions schema for an app, use Products.getAppRestrictionsSchema on the EMM API.", + "description": "An event generated when a new app version is uploaded to Google Play and its\napp restrictions schema changed.\nTo fetch the app restrictions schema for an app, use\nProducts.getAppRestrictionsSchema on the EMM API.", "id": "AppRestrictionsSchemaChangeEvent", "properties": { "productId": { - "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the app restriction schema changed. This field will always be present.", + "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the\napp restriction schema changed. This field will always be present.", "type": "string" } }, "type": "object" }, "AppRestrictionsSchemaRestriction": { - "description": "A restriction in the App Restriction Schema represents a piece of configuration that may be pre-applied.", + "description": "A restriction in the App Restriction Schema represents a piece of\nconfiguration that may be pre-applied.", "id": "AppRestrictionsSchemaRestriction", "properties": { "defaultValue": { "$ref": "AppRestrictionsSchemaRestrictionRestrictionValue", - "description": "The default value of the restriction. bundle and bundleArray restrictions never have a default value." + "description": "The default value of the restriction. bundle and\nbundleArray restrictions never have a default value." }, "description": { - "description": "A longer description of the restriction, giving more detail of what it affects.", + "description": "A longer description of the restriction, giving more detail of what it\naffects.", "type": "string" }, "entry": { - "description": "For choice or multiselect restrictions, the list of possible entries' human-readable names.", + "description": "For choice or multiselect restrictions, the list\nof possible entries' human-readable names.", "items": { "type": "string" }, "type": "array" }, "entryValue": { - "description": "For choice or multiselect restrictions, the list of possible entries' machine-readable values. These values should be used in the configuration, either as a single string value for a choice restriction or in a stringArray for a multiselect restriction.", + "description": "For choice or multiselect restrictions, the list\nof possible entries' machine-readable values. These values should be used\nin the configuration, either as a single string value for a\nchoice restriction or in a stringArray for a\nmultiselect restriction.", "items": { "type": "string" }, "type": "array" }, "key": { - "description": "The unique key that the product uses to identify the restriction, e.g. \"com.google.android.gm.fieldname\".", + "description": "The unique key that the product uses to identify the restriction,\ne.g. \"com.google.android.gm.fieldname\".", "type": "string" }, "nestedRestriction": { - "description": "For bundle or bundleArray restrictions, the list of nested restrictions. A bundle restriction is always nested within a bundleArray restriction, and a bundleArray restriction is at most two levels deep.", + "description": "For bundle or bundleArray restrictions, the list\nof nested restrictions. A bundle restriction is always nested\nwithin a bundleArray restriction, and a\nbundleArray restriction is at most two levels deep.", "items": { "$ref": "AppRestrictionsSchemaRestriction" }, @@ -2749,6 +2797,26 @@ }, "restrictionType": { "description": "The type of the restriction.", + "enum": [ + "bool", + "string", + "integer", + "choice", + "multiselect", + "hidden", + "bundle", + "bundleArray" + ], + "enumDescriptions": [ + "A restriction of boolean type.", + "A restriction of string type.", + "A restriction of integer type.", + "A choice of one item from a set.", + "A choice of multiple items from a set.", + "A hidden restriction of string type (the default value can be used\nto pass along information that cannot be modified, such as a version\ncode).", + "[M+ devices only] A bundle of restrictions", + "[M+ devices only] An array of restriction bundles" + ], "type": "string" }, "title": { @@ -2764,6 +2832,26 @@ "properties": { "type": { "description": "The type of the value being provided.", + "enum": [ + "bool", + "string", + "integer", + "choice", + "multiselect", + "hidden", + "bundle", + "bundleArray" + ], + "enumDescriptions": [ + "A restriction of boolean type.", + "A restriction of string type.", + "A restriction of integer type.", + "A choice of one item from a set.", + "A choice of multiple items from a set.", + "A hidden restriction of string type (the default value can be used\nto pass along information that cannot be modified, such as a version\ncode).", + "[M+ devices only] A bundle of restrictions", + "[M+ devices only] An array of restriction bundles" + ], "type": "string" }, "valueBool": { @@ -2776,14 +2864,14 @@ "type": "integer" }, "valueMultiselect": { - "description": "The list of string values - this will only be present if type is multiselect.", + "description": "The list of string values - this will only be present if type is\nmultiselect.", "items": { "type": "string" }, "type": "array" }, "valueString": { - "description": "The string value - this will be present for types string, choice and hidden.", + "description": "The string value - this will be present for types string, choice and\nhidden.", "type": "string" } }, @@ -2794,25 +2882,25 @@ "id": "AppState", "properties": { "keyedAppState": { - "description": "List of keyed app states. This field will always be present.", + "description": "List of keyed app states.\nThis field will always be present.", "items": { "$ref": "KeyedAppState" }, "type": "array" }, "packageName": { - "description": "The package name of the app. This field will always be present.", + "description": "The package name of the app.\nThis field will always be present.", "type": "string" } }, "type": "object" }, "AppUpdateEvent": { - "description": "An event generated when a new version of an app is uploaded to Google Play. Notifications are sent for new public versions only: alpha, beta, or canary versions do not generate this event. To fetch up-to-date version history for an app, use Products.Get on the EMM API.", + "description": "An event generated when a new version of an app is uploaded to Google Play.\nNotifications are sent for new public versions only: alpha, beta, or canary\nversions do not generate this event. To fetch up-to-date version history for\nan app, use Products.Get on the EMM API.", "id": "AppUpdateEvent", "properties": { "productId": { - "description": "The id of the product (e.g. \"app:com.google.android.gm\") that was updated. This field will always be present.", + "description": "The id of the product (e.g. \"app:com.google.android.gm\") that was updated.\nThis field will always be present.", "type": "string" } }, @@ -2827,11 +2915,23 @@ "type": "boolean" }, "track": { - "description": "Deprecated, use trackId instead.", + "description": "Deprecated, use trackId instead.", + "enum": [ + "appTrackUnspecified", + "production", + "beta", + "alpha" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], "type": "string" }, "trackId": { - "description": "Track ids that the app version is published in. Replaces the track field (deprecated), but doesn't include the production track (see isProduction instead).", + "description": "Track ids that the app version is published in. Replaces the\ntrack field (deprecated), but doesn't include the production\ntrack (see isProduction instead).", "items": { "type": "string" }, @@ -2843,7 +2943,7 @@ "type": "integer" }, "versionString": { - "description": "The string used in the Play store by the app developer to identify the version. The string is not necessarily unique or localized (for example, the string could be \"1.4\").", + "description": "The string used in the Play store by the app developer to identify\nthe version.\nThe string is not necessarily unique or localized (for example, the string\ncould be \"1.4\").", "type": "string" } }, @@ -2854,45 +2954,67 @@ "id": "ApprovalUrlInfo", "properties": { "approvalUrl": { - "description": "A URL that displays a product's permissions and that can also be used to approve the product with the Products.approve call.", - "type": "string" - }, - "kind": { - "default": "androidenterprise#approvalUrlInfo", + "description": "A URL that displays a product's permissions and that can also be used to\napprove the product with the Products.approve call.", "type": "string" } }, "type": "object" }, "AuthenticationToken": { - "description": "An AuthenticationToken is used by the EMM's device policy client on a device to provision the given EMM-managed user on that device.", + "description": "An AuthenticationToken is used by the EMM's device policy client on a device\nto provision the given EMM-managed user on that device.", "id": "AuthenticationToken", "properties": { - "kind": { - "default": "androidenterprise#authenticationToken", - "type": "string" - }, "token": { - "description": "The authentication token to be passed to the device policy client on the device where it can be used to provision the account for which this token was generated.", + "description": "The authentication token to be passed to the device policy client on the\ndevice where it can be used to provision the account for which this token\nwas generated.", "type": "string" } }, "type": "object" }, "AutoInstallConstraint": { - "description": "The auto-install constraint. Defines a set of restrictions for installation. At least one of the fields must be set.", + "description": "The auto-install constraint. Defines a set of restrictions for installation.\nAt least one of the fields must be set.", "id": "AutoInstallConstraint", "properties": { "chargingStateConstraint": { "description": "Charging state constraint.", + "enum": [ + "chargingStateConstraintUnspecified", + "chargingNotRequired", + "chargingRequired" + ], + "enumDescriptions": [ + "", + "Device doesn't have to be charging.", + "Device has to be charging." + ], "type": "string" }, "deviceIdleStateConstraint": { "description": "Device idle state constraint.", + "enum": [ + "deviceIdleStateConstraintUnspecified", + "deviceIdleNotRequired", + "deviceIdleRequired" + ], + "enumDescriptions": [ + "", + "Device doesn't have to be idle, app can be installed while the user is\ninteracting with the device.", + "Device has to be idle." + ], "type": "string" }, "networkTypeConstraint": { "description": "Network type constraint.", + "enum": [ + "networkTypeConstraintUnspecified", + "anyNetwork", + "unmeteredNetwork" + ], + "enumDescriptions": [ + "", + "Any active networks (Wi-Fi, cellular, etc.).", + "Any unmetered network (e.g. Wi-FI)." + ], "type": "string" } }, @@ -2902,7 +3024,7 @@ "id": "AutoInstallPolicy", "properties": { "autoInstallConstraint": { - "description": "The constraints for auto-installing the app. You can specify a maximum of one constraint.", + "description": "The constraints for auto-installing the app. You can specify a maximum of\none constraint.", "items": { "$ref": "AutoInstallConstraint" }, @@ -2910,15 +3032,27 @@ }, "autoInstallMode": { "description": "The auto-install mode. If unset defaults to \"doNotAutoInstall\".", + "enum": [ + "autoInstallModeUnspecified", + "doNotAutoInstall", + "autoInstallOnce", + "forceAutoInstall" + ], + "enumDescriptions": [ + "", + "The product is not installed automatically, the user needs to install it\nfrom the Play Store.", + "The product is automatically installed once, if the user uninstalls the\nproduct it will not be installed again.", + "The product is automatically installed, if the user uninstalls the\nproduct it will be installed again. On managed devices the DPC should\nblock uninstall." + ], "type": "string" }, "autoInstallPriority": { - "description": "The priority of the install, as an unsigned integer. A lower number means higher priority.", + "description": "The priority of the install, as an unsigned integer. A lower number means\nhigher priority.", "format": "int32", "type": "integer" }, "minimumVersionCode": { - "description": "The minimum version of the app. If a lower version of the app is installed, then the app will be auto-updated according to the auto-install constraints, instead of waiting for the regular auto-update. You can set a minimum version code for at most 20 apps per device.", + "description": "The minimum version of the app. If a lower version of the app is installed,\nthen the app will be auto-updated according to the auto-install\nconstraints, instead of waiting for the regular auto-update. You can set a\nminimum version code for at most 20 apps per device.", "format": "int32", "type": "integer" } @@ -2926,13 +3060,9 @@ "type": "object" }, "ConfigurationVariables": { - "description": "A configuration variables resource contains the managed configuration settings ID to be applied to a single user, as well as the variable set that is attributed to the user. The variable set will be used to replace placeholders in the managed configuration settings.", + "description": "A configuration variables resource contains the managed configuration\nsettings ID to be applied to a single user, as well as the variable set that\nis attributed to the user. The variable set will be used to replace\nplaceholders in the managed configuration settings.", "id": "ConfigurationVariables", "properties": { - "kind": { - "default": "androidenterprise#configurationVariables", - "type": "string" - }, "mcmId": { "description": "The ID of the managed configurations settings.", "type": "string" @@ -2948,19 +3078,27 @@ "type": "object" }, "Device": { - "description": "A Devices resource represents a mobile device managed by the EMM and belonging to a specific enterprise user.", + "description": "A Devices resource represents a mobile device managed by the EMM and\nbelonging to a specific enterprise user.", "id": "Device", "properties": { "androidId": { - "description": "The Google Play Services Android ID for the device encoded as a lowercase hex string. For example, \"123456789abcdef0\".", - "type": "string" - }, - "kind": { - "default": "androidenterprise#device", + "description": "The Google Play Services Android ID for the device encoded as\na lowercase hex string. For example,\n"123456789abcdef0".", "type": "string" }, "managementType": { - "description": "Identifies the extent to which the device is controlled by a managed Google Play EMM in various deployment configurations.\n\nPossible values include: \n- \"managedDevice\", a device that has the EMM's device policy controller (DPC) as the device owner. \n- \"managedProfile\", a device that has a profile managed by the DPC (DPC is profile owner) in addition to a separate, personal profile that is unavailable to the DPC. \n- \"containerApp\", no longer used (deprecated). \n- \"unmanagedProfile\", a device that has been allowed (by the domain's admin, using the Admin Console to enable the privilege) to use managed Google Play, but the profile is itself not owned by a DPC.", + "description": "Identifies the extent to which the device is controlled by a managed\nGoogle Play EMM in various deployment configurations.

\nPossible values include:\n

  • \"managedDevice\", a device that has the EMM's device\npolicy controller (DPC) as the device owner.
  • \n
  • \"managedProfile\", a device that has a profile managed\nby the DPC (DPC is profile owner) in addition to a separate, personal\nprofile that is unavailable to the DPC.
  • \n
  • \"containerApp\", no longer used (deprecated).
  • \n
  • \"unmanagedProfile\", a device that has been allowed (by the\ndomain's admin, using the Admin Console to enable the privilege) to use\nmanaged Google Play, but the profile is itself\nnot owned by a DPC.
", + "enum": [ + "managedDevice", + "managedProfile", + "containerApp", + "unmanagedProfile" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], "type": "string" }, "policy": { @@ -2975,18 +3113,18 @@ "type": "object" }, "DeviceReport": { - "description": "Device report updated with the latest app states for managed apps on the device.", + "description": "Device report updated with the latest app states for managed apps on the\ndevice.", "id": "DeviceReport", "properties": { "appState": { - "description": "List of app states set by managed apps on the device. App states are defined by the app's developers. This field will always be present.", + "description": "List of app states set by managed apps on the device. App states are\ndefined by the app's developers.\nThis field will always be present.", "items": { "$ref": "AppState" }, "type": "array" }, "lastUpdatedTimestampMillis": { - "description": "The timestamp of the last report update in milliseconds since epoch. This field will always be present.", + "description": "The timestamp of the last report update in milliseconds since epoch.\nThis field will always be present.", "format": "int64", "type": "string" } @@ -2998,37 +3136,40 @@ "id": "DeviceReportUpdateEvent", "properties": { "deviceId": { - "description": "The Android ID of the device. This field will always be present.", + "description": "The Android ID of the device.\nThis field will always be present.", "type": "string" }, "report": { "$ref": "DeviceReport", - "description": "The device report updated with the latest app states. This field will always be present." + "description": "The device report updated with the latest app states.\nThis field will always be present." }, "userId": { - "description": "The ID of the user. This field will always be present.", + "description": "The ID of the user.\nThis field will always be present.", "type": "string" } }, "type": "object" }, "DeviceState": { - "description": "The state of a user's device, as accessed by the getState and setState methods on device resources.", + "description": "The state of a user's device, as accessed by the getState and setState\nmethods on device resources.", "id": "DeviceState", "properties": { "accountState": { - "description": "The state of the Google account on the device. \"enabled\" indicates that the Google account on the device can be used to access Google services (including Google Play), while \"disabled\" means that it cannot. A new device is initially in the \"disabled\" state.", - "type": "string" - }, - "kind": { - "default": "androidenterprise#deviceState", + "description": "The state of the Google account on the device. \"enabled\" indicates that\nthe Google account on the device can be used to access Google services\n(including Google Play), while \"disabled\" means that it cannot.\nA new device is initially in the \"disabled\" state.", + "enum": [ + "enabled", + "disabled" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" } }, "type": "object" }, "DevicesListResponse": { - "description": "The device resources for the user.", "id": "DevicesListResponse", "properties": { "device": { @@ -3037,21 +3178,16 @@ "$ref": "Device" }, "type": "array" - }, - "kind": { - "default": "androidenterprise#devicesListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#devicesListResponse\".", - "type": "string" } }, "type": "object" }, "Enterprise": { - "description": "An Enterprises resource represents the binding between an EMM and a specific organization. That binding can be instantiated in one of two different ways using this API as follows: \n- For Google managed domain customers, the process involves using Enterprises.enroll and Enterprises.setAccount (in conjunction with artifacts obtained from the Admin console and the Google API Console) and submitted to the EMM through a more-or-less manual process. \n- For managed Google Play Accounts customers, the process involves using Enterprises.generateSignupUrl and Enterprises.completeSignup in conjunction with the managed Google Play sign-up UI (Google-provided mechanism) to create the binding without manual steps. As an EMM, you can support either or both approaches in your EMM console. See Create an Enterprise for details.", + "description": "An Enterprises resource represents the binding between an EMM and a\nspecific organization. That binding can be instantiated in one of two\ndifferent ways using this API as follows:\n
  • For Google managed domain customers, the process involves using\nEnterprises.enroll and Enterprises.setAccount (in\nconjunction with artifacts obtained from the Admin console and the Google\nAPI Console) and submitted to the EMM through a more-or-less manual\nprocess.
  • \n
  • For managed Google Play Accounts customers, the process involves using\nEnterprises.generateSignupUrl and\nEnterprises.completeSignup in conjunction with the managed\nGoogle Play sign-up UI (Google-provided mechanism) to create the binding\nwithout manual steps.
As an EMM, you can support either or both\napproaches in your EMM console. See Create an Enterprise\nfor details.", "id": "Enterprise", "properties": { "administrator": { - "description": "Admins of the enterprise. This is only supported for enterprises created via the EMM-initiated flow.", + "description": "Admins of the enterprise. This is only supported for enterprises\ncreated via the EMM-initiated flow.", "items": { "$ref": "Administrator" }, @@ -3061,10 +3197,6 @@ "description": "The unique ID for the enterprise.", "type": "string" }, - "kind": { - "default": "androidenterprise#enterprise", - "type": "string" - }, "name": { "description": "The name of the enterprise, for example, \"Example, Inc\".", "type": "string" @@ -3077,22 +3209,17 @@ "type": "object" }, "EnterpriseAccount": { - "description": "A service account that can be used to authenticate as the enterprise to API calls that require such authentication.", + "description": "A service account that can be used to authenticate as the enterprise to\nAPI calls that require such authentication.", "id": "EnterpriseAccount", "properties": { "accountEmail": { "description": "The email address of the service account.", "type": "string" - }, - "kind": { - "default": "androidenterprise#enterpriseAccount", - "type": "string" } }, "type": "object" }, "EnterprisesListResponse": { - "description": "The matching enterprise resources.", "id": "EnterprisesListResponse", "properties": { "enterprise": { @@ -3101,11 +3228,6 @@ "$ref": "Enterprise" }, "type": "array" - }, - "kind": { - "default": "androidenterprise#enterprisesListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#enterprisesListResponse\".", - "type": "string" } }, "type": "object" @@ -3118,96 +3240,112 @@ "type": "string" }, "topicName": { - "description": "The name of the Cloud Pub/Sub topic to which notifications for this enterprise's enrolled account will be sent.", + "description": "The name of the Cloud Pub/Sub topic to which notifications for this\nenterprise's enrolled account will be sent.", "type": "string" } }, "type": "object" }, "Entitlement": { - "description": "The presence of an Entitlements resource indicates that a user has the right to use a particular app. Entitlements are user specific, not device specific. This allows a user with an entitlement to an app to install the app on all their devices. It's also possible for a user to hold an entitlement to an app without installing the app on any device.\n\nThe API can be used to create an entitlement. As an option, you can also use the API to trigger the installation of an app on all a user's managed devices at the same time the entitlement is created.\n\nIf the app is free, creating the entitlement also creates a group license for that app. For paid apps, creating the entitlement consumes one license, and that license remains consumed until the entitlement is removed. If the enterprise hasn't purchased enough licenses, then no entitlement is created and the installation fails. An entitlement is also not created for an app if the app requires permissions that the enterprise hasn't accepted.\n\nIf an entitlement is deleted, the app may be uninstalled from a user's device. As a best practice, uninstall the app by calling Installs.delete() before deleting the entitlement.\n\nEntitlements for apps that a user pays for on an unmanaged profile have \"userPurchase\" as the entitlement reason. These entitlements cannot be removed via the API.", + "description": "The presence of an Entitlements resource indicates that a user has the right\nto use a particular app. Entitlements are user specific, not device specific.\nThis allows a user with an entitlement to an app to install the app on all\ntheir devices. It's also possible for a user to hold an entitlement to an app\nwithout installing the app on any device.\n\nThe API can be used to create an entitlement. As an option, you can also use\nthe API to trigger the installation of an app on all a user's managed devices\nat the same time the entitlement is created.\n\nIf the app is free, creating the entitlement also creates a group license\nfor that app. For paid apps, creating the entitlement consumes one license,\nand that license remains consumed until the entitlement is removed. If the\nenterprise hasn't purchased enough licenses, then no entitlement is created\nand the installation fails. An entitlement is also not created for an app if\nthe app requires permissions that the enterprise hasn't accepted.\n\nIf an entitlement is deleted, the app may be uninstalled from a user's\ndevice. As a best practice, uninstall the app by calling\n\nInstalls.delete() before deleting the entitlement.\n\nEntitlements for apps that a user pays for on an unmanaged profile have\n\"userPurchase\" as the entitlement reason. These\nentitlements cannot be removed via the API.", "id": "Entitlement", "properties": { - "kind": { - "default": "androidenterprise#entitlement", - "type": "string" - }, "productId": { - "description": "The ID of the product that the entitlement is for. For example, \"app:com.google.android.gm\".", + "description": "The ID of the product that the entitlement is for. For example,\n"app:com.google.android.gm".", "type": "string" }, "reason": { - "description": "The reason for the entitlement. For example, \"free\" for free apps. This property is temporary: it will be replaced by the acquisition kind field of group licenses.", + "description": "The reason for the entitlement. For example, \"free\"\nfor free apps. This property is temporary: it will be replaced by the acquisition kind field of group licenses.", + "enum": [ + "free", + "groupLicense", + "userPurchase" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" } }, "type": "object" }, "EntitlementsListResponse": { - "description": "The entitlement resources for the user.", "id": "EntitlementsListResponse", "properties": { "entitlement": { - "description": "An entitlement of a user to a product (e.g. an app). For example, a free app that they have installed, or a paid app that they have been allocated a license to.", + "description": "An entitlement of a user to a product (e.g. an app).\nFor example, a free app that they have installed, or a paid app that they\nhave been allocated a license to.", "items": { "$ref": "Entitlement" }, "type": "array" - }, - "kind": { - "default": "androidenterprise#entitlementsListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#entitlementsListResponse\".", - "type": "string" } }, "type": "object" }, "GroupLicense": { - "description": "Group license objects allow you to keep track of licenses (called entitlements) for both free and paid apps. For a free app, a group license is created when an enterprise admin first approves the product in Google Play or when the first entitlement for the product is created for a user via the API. For a paid app, a group license object is only created when an enterprise admin purchases the product in Google Play for the first time.\n\nUse the API to query group licenses. A Grouplicenses resource includes the total number of licenses purchased (paid apps only) and the total number of licenses currently in use. In other words, the total number of Entitlements that exist for the product.\n\nOnly one group license object is created per product and group license objects are never deleted. If a product is unapproved, its group license remains. This allows enterprise admins to keep track of any remaining entitlements for the product.", + "description": "Group license objects allow you to keep track of licenses (called\nentitlements)\nfor both free and paid apps. For a free app, a group license is created when\nan enterprise admin first approves the product in Google Play or when the\nfirst entitlement for the product is created for a user via the API. For a\npaid app, a group license object is only created when an enterprise admin\npurchases the product in Google Play for the first time.\n\nUse the API to query group licenses. A Grouplicenses resource\nincludes the total number of licenses purchased (paid apps only) and the\ntotal number of licenses currently in use. In other words, the total number\nof Entitlements that exist for the product.\n\nOnly one group license object is created per product and group license\nobjects are never deleted. If a product is unapproved, its group license\nremains. This allows enterprise admins to keep track of any remaining\nentitlements for the product.", "id": "GroupLicense", "properties": { "acquisitionKind": { - "description": "How this group license was acquired. \"bulkPurchase\" means that this Grouplicenses resource was created because the enterprise purchased licenses for this product; otherwise, the value is \"free\" (for free products).", + "description": "How this group license was acquired. "bulkPurchase"\nmeans that this Grouplicenses resource was created because the enterprise\npurchased licenses for this product; otherwise, the value is\n"free" (for free products).", + "enum": [ + "free", + "bulkPurchase" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "approval": { - "description": "Whether the product to which this group license relates is currently approved by the enterprise. Products are approved when a group license is first created, but this approval may be revoked by an enterprise admin via Google Play. Unapproved products will not be visible to end users in collections, and new entitlements to them should not normally be created.", - "type": "string" - }, - "kind": { - "default": "androidenterprise#groupLicense", + "description": "Whether the product to which this group license relates is currently\napproved by the enterprise. Products are approved when a group license is\nfirst created, but this approval may be revoked by an enterprise admin via\nGoogle Play. Unapproved products will not be visible to end users in\ncollections, and new entitlements to them should not normally be created.", + "enum": [ + "approved", + "unapproved" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "numProvisioned": { - "description": "The total number of provisioned licenses for this product. Returned by read operations, but ignored in write operations.", + "description": "The total number of provisioned licenses for this product.\nReturned by read operations, but ignored in write operations.", "format": "int32", "type": "integer" }, "numPurchased": { - "description": "The number of purchased licenses (possibly in multiple purchases). If this field is omitted, then there is no limit on the number of licenses that can be provisioned (for example, if the acquisition kind is \"free\").", + "description": "The number of purchased licenses (possibly in multiple purchases).\nIf this field is omitted, then there is no limit on the number of licenses\nthat can be provisioned (for example, if the acquisition kind is\n"free").", "format": "int32", "type": "integer" }, "permissions": { - "description": "The permission approval status of the product. This field is only set if the product is approved. Possible states are: \n- \"currentApproved\", the current set of permissions is approved, but additional permissions will require the administrator to reapprove the product (If the product was approved without specifying the approved permissions setting, then this is the default behavior.), \n- \"needsReapproval\", the product has unapproved permissions. No additional product licenses can be assigned until the product is reapproved, \n- \"allCurrentAndFutureApproved\", the current permissions are approved and any future permission updates will be automatically approved without administrator review.", + "description": "The permission approval status of the product. This field\nis only set if the product is approved. Possible states are:
    \n
  • \"currentApproved\", the current set\nof permissions is approved, but additional permissions will require the\nadministrator to reapprove the product (If the product was approved\nwithout specifying the approved permissions setting, then this is the\ndefault behavior.),
  • \n
  • \"needsReapproval\", the product has unapproved permissions.\nNo additional product licenses can be assigned until the product is\nreapproved,
  • \n
  • \"allCurrentAndFutureApproved\",\nthe current permissions are approved and any future permission updates\nwill be automatically approved without administrator review.
", + "enum": [ + "currentApproved", + "needsReapproval", + "allCurrentAndFutureApproved" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" }, "productId": { - "description": "The ID of the product that the license is for. For example, \"app:com.google.android.gm\".", + "description": "The ID of the product that the license is for. For example,\n"app:com.google.android.gm".", "type": "string" } }, "type": "object" }, "GroupLicenseUsersListResponse": { - "description": "The user resources for the group license.", "id": "GroupLicenseUsersListResponse", "properties": { - "kind": { - "default": "androidenterprise#groupLicenseUsersListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#groupLicenseUsersListResponse\".", - "type": "string" - }, "user": { "description": "A user of an enterprise.", "items": { @@ -3219,7 +3357,6 @@ "type": "object" }, "GroupLicensesListResponse": { - "description": "The grouplicense resources for the enterprise.", "id": "GroupLicensesListResponse", "properties": { "groupLicense": { @@ -3228,33 +3365,32 @@ "$ref": "GroupLicense" }, "type": "array" - }, - "kind": { - "default": "androidenterprise#groupLicensesListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#groupLicensesListResponse\".", - "type": "string" } }, "type": "object" }, "Install": { - "description": "The existence of an Installs resource indicates that an app is installed on a particular device (or that an install is pending).\n\nThe API can be used to create an install resource using the update method. This triggers the actual install of the app on the device. If the user does not already have an entitlement for the app, then an attempt is made to create one. If this fails (for example, because the app is not free and there is no available license), then the creation of the install fails.\n\nThe API can also be used to update an installed app. If the\u00a0update\u00a0method is used on an existing install, then the app will be updated to the latest available version.\n\nNote that it is not possible to force the installation of a specific version of an app: the version code is read-only.\n\nIf a user installs an app themselves (as permitted by the enterprise), then again an install resource and possibly an entitlement resource are automatically created.\n\nThe API can also be used to delete an install resource, which triggers the removal of the app from the device. Note that deleting an install does not automatically remove the corresponding entitlement, even if there are no remaining installs. The install resource will also be deleted if the user uninstalls the app themselves.", + "description": "The existence of an Installs resource indicates that an app is\ninstalled on a particular device (or that an install is pending).\n\nThe API can be used to create an install resource using the\nupdate\nmethod. This triggers the actual install of the app on the device. If the\nuser does not already have an entitlement for the app, then an attempt is\nmade to create one. If this fails (for example, because the app is not free\nand there is no available license), then the creation of the install fails.\n\nThe API can also be used to update an installed app. If\nthe update method is\nused on an existing install, then the app will be updated to the latest\navailable version.\n\nNote that it is not possible to force the installation of a specific version\nof an app: the version code is read-only.\n\nIf a user installs an app themselves (as permitted by the enterprise), then\nagain an install resource and possibly an entitlement resource are\nautomatically created.\n\nThe API can also be used to delete an install resource, which triggers the\nremoval of the app from the device. Note that deleting an install does not\nautomatically remove the corresponding entitlement, even if there are no\nremaining installs. The install resource will also be deleted if the user\nuninstalls the app themselves.", "id": "Install", "properties": { "installState": { - "description": "Install state. The state \"installPending\" means that an install request has recently been made and download to the device is in progress. The state \"installed\" means that the app has been installed. This field is read-only.", - "type": "string" - }, - "kind": { - "default": "androidenterprise#install", + "description": "Install state. The state "installPending"\nmeans that an install request has recently been made and download to the\ndevice is in progress. The state "installed"\nmeans that the app has been installed. This field is read-only.", + "enum": [ + "installed", + "installPending" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "productId": { - "description": "The ID of the product that the install is for. For example, \"app:com.google.android.gm\".", + "description": "The ID of the product that the install is for. For example,\n"app:com.google.android.gm".", "type": "string" }, "versionCode": { - "description": "The version of the installed product. Guaranteed to be set only if the install state is \"installed\".", + "description": "The version of the installed product. Guaranteed to be set only if the\ninstall state is "installed".", "format": "int32", "type": "integer" } @@ -3266,7 +3402,7 @@ "id": "InstallFailureEvent", "properties": { "deviceId": { - "description": "The Android ID of the device. This field will always be present.", + "description": "The Android ID of the device.\nThis field will always be present.", "type": "string" }, "failureDetails": { @@ -3274,61 +3410,73 @@ "type": "string" }, "failureReason": { - "description": "The reason for the installation failure. This field will always be present.", + "description": "The reason for the installation failure.\nThis field will always be present.", + "enum": [ + "unknown", + "timeout" + ], + "enumDescriptions": [ + "Used whenever no better reason for failure can be provided.", + "Used when the installation timed out. This can cover a number of\nsituations, for example when the device did not have connectivity\nat any point during the retry period, or if the device is OOM." + ], "type": "string" }, "productId": { - "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the install failure event occured. This field will always be present.", + "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the\ninstall failure event occured. This field will always be present.", "type": "string" }, "userId": { - "description": "The ID of the user. This field will always be present.", + "description": "The ID of the user.\nThis field will always be present.", "type": "string" } }, "type": "object" }, "InstallsListResponse": { - "description": "The install resources for the device.", "id": "InstallsListResponse", "properties": { "install": { - "description": "An installation of an app for a user on a specific device. The existence of an install implies that the user must have an entitlement to the app.", + "description": "An installation of an app for a user on a specific device.\nThe existence of an install implies that the user must have an\nentitlement to the app.", "items": { "$ref": "Install" }, "type": "array" - }, - "kind": { - "default": "androidenterprise#installsListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#installsListResponse\".", - "type": "string" } }, "type": "object" }, "KeyedAppState": { - "description": "Represents a keyed app state containing a key, timestamp, severity level, optional description, and optional data.", + "description": "Represents a keyed app state containing a key, timestamp, severity level,\noptional description, and optional data.", "id": "KeyedAppState", "properties": { "data": { - "description": "Additional field intended for machine-readable data. For example, a number or JSON object. To prevent XSS, we recommend removing any HTML from the data before displaying it.", + "description": "Additional field intended for machine-readable data. For example, a number\nor JSON object. To prevent XSS, we recommend removing any HTML from the\ndata before displaying it.", "type": "string" }, "key": { - "description": "Key indicating what the app is providing a state for. The content of the key is set by the app's developer. To prevent XSS, we recommend removing any HTML from the key before displaying it. This field will always be present.", + "description": "Key indicating what the app is providing a state for. The content of the\nkey is set by the app's developer. To prevent XSS, we recommend removing\nany HTML from the key before displaying it.\nThis field will always be present.", "type": "string" }, "message": { - "description": "Free-form, human-readable message describing the app state. For example, an error message. To prevent XSS, we recommend removing any HTML from the message before displaying it.", + "description": "Free-form, human-readable message describing the app state. For example,\nan error message. To prevent XSS, we recommend removing any HTML from the\nmessage before displaying it.", "type": "string" }, "severity": { - "description": "Severity of the app state. This field will always be present.", + "description": "Severity of the app state.\nThis field will always be present.", + "enum": [ + "severityUnknown", + "severityInfo", + "severityError" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" }, "stateTimestampMillis": { - "description": "Timestamp of when the app set the state in milliseconds since epoch. This field will always be present.", + "description": "Timestamp of when the app set the state in milliseconds since epoch.\nThis field will always be present.", "format": "int64", "type": "string" } @@ -3351,16 +3499,16 @@ "type": "object" }, "MaintenanceWindow": { - "description": "Maintenance window for managed Google Play Accounts. This allows Play store to update the apps on the foreground in the designated window.", + "description": "Maintenance window for managed Google Play Accounts.\nThis allows Play store to update the apps on the foreground in the designated\nwindow.", "id": "MaintenanceWindow", "properties": { "durationMs": { - "description": "Duration of the maintenance window, in milliseconds. The duration must be between 30 minutes and 24 hours (inclusive).", + "description": "Duration of the maintenance window, in milliseconds. The duration must be\nbetween 30 minutes and 24 hours (inclusive).", "format": "int64", "type": "string" }, "startTimeAfterMidnightMs": { - "description": "Start time of the maintenance window, in milliseconds after midnight on the device. Windows can span midnight.", + "description": "Start time of the maintenance window, in milliseconds after midnight on the\ndevice. Windows can span midnight.", "format": "int64", "type": "string" } @@ -3368,12 +3516,12 @@ "type": "object" }, "ManagedConfiguration": { - "description": "A managed configuration resource contains the set of managed properties defined by the app developer in the app's managed configurations schema, as well as any configuration variables defined for the user.", + "description": "A managed configuration resource contains the set of managed properties\ndefined by the app developer in the app's managed configurations schema,\nas well as any configuration variables defined for the user.", "id": "ManagedConfiguration", "properties": { "configurationVariables": { "$ref": "ConfigurationVariables", - "description": "Contains the ID of the managed configuration profile and the set of configuration variables (if any) defined for the user." + "description": "Contains the ID of the managed configuration profile and the set of\nconfiguration variables (if any) defined for the user." }, "kind": { "description": "Deprecated.", @@ -3387,21 +3535,15 @@ "type": "array" }, "productId": { - "description": "The ID of the product that the managed configuration is for, e.g. \"app:com.google.android.gm\".", + "description": "The ID of the product that the managed configuration is for, e.g.\n\"app:com.google.android.gm\".", "type": "string" } }, "type": "object" }, "ManagedConfigurationsForDeviceListResponse": { - "description": "The managed configuration resources for the device.", "id": "ManagedConfigurationsForDeviceListResponse", "properties": { - "kind": { - "default": "androidenterprise#managedConfigurationsForDeviceListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#managedConfigurationsForDeviceListResponse\".", - "type": "string" - }, "managedConfigurationForDevice": { "description": "A managed configuration for an app on a specific device.", "items": { @@ -3413,14 +3555,8 @@ "type": "object" }, "ManagedConfigurationsForUserListResponse": { - "description": "The managed configuration resources for the user.", "id": "ManagedConfigurationsForUserListResponse", "properties": { - "kind": { - "default": "androidenterprise#managedConfigurationsForUserListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#managedConfigurationsForUserListResponse\".", - "type": "string" - }, "managedConfigurationForUser": { "description": "A managed configuration for an app for a specific user.", "items": { @@ -3432,15 +3568,11 @@ "type": "object" }, "ManagedConfigurationsSettings": { - "description": "A managed configurations settings resource contains the set of managed properties that have been configured for an Android app to be applied to a set of users. The app's developer would have defined configurable properties in the managed configurations schema.", + "description": "A managed configurations settings resource contains the set of\nmanaged properties that have been configured for an Android app to be applied\nto a set of users. The app's developer would have\ndefined configurable properties in the managed configurations schema.", "id": "ManagedConfigurationsSettings", "properties": { - "kind": { - "default": "androidenterprise#managedConfigurationsSettings", - "type": "string" - }, "lastUpdatedTimestampMillis": { - "description": "The last updated time of the managed configuration settings in milliseconds since 1970-01-01T00:00:00Z.", + "description": "The last updated time of the managed configuration settings in\nmilliseconds since 1970-01-01T00:00:00Z.", "format": "int64", "type": "string" }, @@ -3456,16 +3588,10 @@ "type": "object" }, "ManagedConfigurationsSettingsListResponse": { - "description": "The managed configurations settings for a product.", "id": "ManagedConfigurationsSettingsListResponse", "properties": { - "kind": { - "default": "androidenterprise#managedConfigurationsSettingsListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#managedConfigurationsSettingsListResponse\".", - "type": "string" - }, "managedConfigurationsSettings": { - "description": "A managed configurations settings for an app that may be assigned to a group of users in an enterprise.", + "description": "A managed configurations settings for an app that may be assigned to a\ngroup of users in an enterprise.", "items": { "$ref": "ManagedConfigurationsSettings" }, @@ -3475,7 +3601,7 @@ "type": "object" }, "ManagedProperty": { - "description": "A managed property of a managed configuration. The property must match one of the properties in the app restrictions schema of the product. Exactly one of the value fields must be populated, and it must match the property's type in the app restrictions schema.", + "description": "A managed property of a managed configuration. The property must match one of\nthe properties in the app restrictions schema of the product. Exactly one of\nthe value fields must be populated, and it must match the property's type in\nthe app restrictions schema.", "id": "ManagedProperty", "properties": { "key": { @@ -3483,31 +3609,31 @@ "type": "string" }, "valueBool": { - "description": "The boolean value - this will only be present if type of the property is bool.", + "description": "The boolean value - this will only be present if type of the property is\nbool.", "type": "boolean" }, "valueBundle": { "$ref": "ManagedPropertyBundle", - "description": "The bundle of managed properties - this will only be present if type of the property is bundle." + "description": "The bundle of managed properties - this will only be present if type of the\nproperty is bundle." }, "valueBundleArray": { - "description": "The list of bundles of properties - this will only be present if type of the property is bundle_array.", + "description": "The list of bundles of properties - this will only be present if type of\nthe property is bundle_array.", "items": { "$ref": "ManagedPropertyBundle" }, "type": "array" }, "valueInteger": { - "description": "The integer value - this will only be present if type of the property is integer.", + "description": "The integer value - this will only be present if type of the property is\ninteger.", "format": "int32", "type": "integer" }, "valueString": { - "description": "The string value - this will only be present if type of the property is string, choice or hidden.", + "description": "The string value - this will only be present if type of the property is\nstring, choice or hidden.", "type": "string" }, "valueStringArray": { - "description": "The list of string values - this will only be present if type of the property is multiselect.", + "description": "The list of string values - this will only be present if type of the\nproperty is multiselect.", "items": { "type": "string" }, @@ -3535,7 +3661,7 @@ "id": "NewDeviceEvent", "properties": { "deviceId": { - "description": "The Android ID of the device. This field will always be present.", + "description": "The Android ID of the device.\nThis field will always be present.", "type": "string" }, "dpcPackageName": { @@ -3543,11 +3669,19 @@ "type": "string" }, "managementType": { - "description": "Identifies the extent to which the device is controlled by an Android EMM in various deployment configurations.\n\nPossible values include: \n- \"managedDevice\", a device where the DPC is set as device owner, \n- \"managedProfile\", a device where the DPC is set as profile owner.", + "description": "Identifies the extent to which the device is controlled by an Android\nEMM in various deployment configurations.

\nPossible values include:\n
  • \"managedDevice\", a device where the DPC is set as\ndevice owner,
  • \n
  • \"managedProfile\", a device where the DPC is set as profile\nowner.
", + "enum": [ + "managedDevice", + "managedProfile" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "userId": { - "description": "The ID of the user. This field will always be present.", + "description": "The ID of the user.\nThis field will always be present.", "type": "string" } }, @@ -3558,18 +3692,18 @@ "id": "NewPermissionsEvent", "properties": { "approvedPermissions": { - "description": "The set of permissions that the enterprise admin has already approved for this application. Use Permissions.Get on the EMM API to retrieve details about these permissions.", + "description": "The set of permissions that the enterprise admin has already approved for\nthis application.\nUse Permissions.Get on the EMM API to retrieve details about these\npermissions.", "items": { "type": "string" }, "type": "array" }, "productId": { - "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which new permissions were added. This field will always be present.", + "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which new\npermissions were added. This field will always be present.", "type": "string" }, "requestedPermissions": { - "description": "The set of permissions that the app is currently requesting. Use Permissions.Get on the EMM API to retrieve details about these permissions.", + "description": "The set of permissions that the app is currently requesting.\nUse Permissions.Get on the EMM API to retrieve details about these\npermissions.", "items": { "type": "string" }, @@ -3595,7 +3729,7 @@ "description": "Notifications about device report updates." }, "enterpriseId": { - "description": "The ID of the enterprise for which the notification is sent. This will always be present.", + "description": "The ID of the enterprise for which the notification is sent.\nThis will always be present.", "type": "string" }, "installFailureEvent": { @@ -3612,6 +3746,30 @@ }, "notificationType": { "description": "Type of the notification.", + "enum": [ + "unknown", + "testNotification", + "productApproval", + "installFailure", + "appUpdate", + "newPermissions", + "appRestricionsSchemaChange", + "productAvailabilityChange", + "newDevice", + "deviceReportUpdate" + ], + "enumDescriptions": [ + "", + "A test push notification.", + "Notification about change to a product's approval status.", + "Notification about an app installation failure.", + "Notification about app update.", + "Notification about new app permissions.", + "Notification about new app restrictions schema change.", + "Notification about product availability change.", + "Notification about a new device.", + "Notification about an updated device report." + ], "type": "string" }, "productApprovalEvent": { @@ -3623,7 +3781,7 @@ "description": "Notifications about product availability changes." }, "timestampMillis": { - "description": "The time when the notification was published in milliseconds since 1970-01-01T00:00:00Z. This will always be present.", + "description": "The time when the notification was published in\nmilliseconds since 1970-01-01T00:00:00Z.\nThis will always be present.", "format": "int64", "type": "string" } @@ -3631,13 +3789,9 @@ "type": "object" }, "NotificationSet": { - "description": "A resource returned by the PullNotificationSet API, which contains a collection of notifications for enterprises associated with the service account authenticated for the request.", + "description": "A resource returned by the PullNotificationSet API, which contains\na collection of notifications for enterprises associated with the service\naccount authenticated for the request.", "id": "NotificationSet", "properties": { - "kind": { - "default": "androidenterprise#notificationSet", - "type": "string" - }, "notification": { "description": "The notifications received, or empty if no notifications are present.", "items": { @@ -3646,24 +3800,28 @@ "type": "array" }, "notificationSetId": { - "description": "The notification set ID, required to mark the notification as received with the Enterprises.AcknowledgeNotification API. This will be omitted if no notifications are present.", + "description": "The notification set ID, required to mark the notification as\nreceived with the Enterprises.AcknowledgeNotification API.\nThis will be omitted if no notifications are present.", "type": "string" } }, "type": "object" }, "PageInfo": { + "description": "Information about the current page.\n\nList operations that supports paging return only one \"page\" of results. This\nprotocol buffer message describes the page that has been returned.", "id": "PageInfo", "properties": { "resultPerPage": { + "description": "Maximum number of results returned in one page.\n! The number of results included in the API response.", "format": "int32", "type": "integer" }, "startIndex": { + "description": "Index of the first result returned in the current page.", "format": "int32", "type": "integer" }, "totalResults": { + "description": "Total number of results available on the backend\n! The total number of results in the result set.", "format": "int32", "type": "integer" } @@ -3671,15 +3829,11 @@ "type": "object" }, "Permission": { - "description": "A Permissions resource represents some extra capability, to be granted to an Android app, which requires explicit consent. An enterprise admin must consent to these permissions on behalf of their users before an entitlement for the app can be created.\n\nThe permissions collection is read-only. The information provided for each permission (localized name and description) is intended to be used in the MDM user interface when obtaining consent from the enterprise.", + "description": "A Permissions resource represents some extra capability, to be granted to an\nAndroid app, which requires explicit consent. An enterprise admin must\nconsent to these permissions on behalf of their users before an\nentitlement for the app can be created.\n\nThe permissions collection is read-only. The information provided for\neach permission (localized name and description) is intended to be\nused in the MDM user interface when obtaining consent from the\nenterprise.", "id": "Permission", "properties": { "description": { - "description": "A longer description of the Permissions resource, giving more details of what it affects.", - "type": "string" - }, - "kind": { - "default": "androidenterprise#permission", + "description": "A longer description of the Permissions resource, giving more details of\nwhat it affects.", "type": "string" }, "name": { @@ -3698,23 +3852,57 @@ "id": "Policy", "properties": { "autoUpdatePolicy": { - "description": "The auto-update policy for apps installed on the device. \"choiceToTheUser\" allows the device's user to configure the app update policy. \"always\" enables auto updates. \"never\" disables auto updates. \"wifiOnly\" enables auto updates only when the device is connected to wifi.", + "description": "The auto-update policy for apps installed on the device. \"choiceToTheUser\"\nallows the device's user to configure the app update policy. \"always\"\nenables auto updates. \"never\" disables auto updates. \"wifiOnly\" enables\nauto updates only when the device is connected to wifi.", + "enum": [ + "autoUpdatePolicyUnspecified", + "choiceToTheUser", + "never", + "wifiOnly", + "always" + ], + "enumDescriptions": [ + "The auto update policy is not set.", + "The user can control auto-updates.", + "Apps are never auto-updated.", + "Apps are auto-updated over WiFi only.", + "Apps are auto-updated at any time. Data charges may apply." + ], "type": "string" }, "deviceReportPolicy": { - "description": "Whether the device reports app states to the EMM. The default value is \"deviceReportDisabled\".", + "description": "Whether the device reports app states to the EMM. The default value is\n\"deviceReportDisabled\".", + "enum": [ + "deviceReportPolicyUnspecified", + "deviceReportDisabled", + "deviceReportEnabled" + ], + "enumDescriptions": [ + "The device report policy is not set.", + "Device reports are disabled.", + "Device reports are enabled." + ], "type": "string" }, "maintenanceWindow": { "$ref": "MaintenanceWindow", - "description": "The maintenance window defining when apps running in the foreground should be updated." + "description": "The maintenance window defining when apps running in the foreground should\nbe updated." }, "productAvailabilityPolicy": { - "description": "The availability granted to the device for the specified products. \"all\" gives the device access to all products, regardless of approval status. \"all\" does not enable automatic visibility of \"alpha\" or \"beta\" tracks. \"whitelist\" grants the device access the products specified in productPolicy[]. Only products that are approved or products that were previously approved (products with revoked approval) by the enterprise can be whitelisted. If no value is provided, the availability set at the user level is applied by default.", + "description": "The availability granted to the device for the specified products. \"all\"\ngives the device access to all products, regardless of approval status.\n\"all\" does not enable automatic visibility of \"alpha\" or \"beta\" tracks.\n\"whitelist\" grants the device access the products specified in\nproductPolicy[]. Only products that are approved or products that were\npreviously approved (products with revoked approval) by the enterprise can\nbe whitelisted. If no value is provided, the availability set at the user\nlevel is applied by default.", + "enum": [ + "productAvailabilityPolicyUnspecified", + "whitelist", + "all" + ], + "enumDescriptions": [ + "Unspecified, applies the user available product set by default.", + "The approved products with product availability set to AVAILABLE\nin the product policy are available.", + "All products are available except those explicitly marked as\nunavailable in the product availability policy." + ], "type": "string" }, "productPolicy": { - "description": "The list of product policies.", + "description": "The list of product policies. The productAvailabilityPolicy\nneeds to be set to WHITELIST or ALL for the\nproduct policies to be applied.", "items": { "$ref": "ProductPolicy" }, @@ -3724,7 +3912,7 @@ "type": "object" }, "Product": { - "description": "A Products resource represents an app in the Google Play store that is available to at least some users in the enterprise. (Some apps are restricted to a single enterprise, and no information about them is made available outside that enterprise.)\n\nThe information provided for each product (localized name, icon, link to the full Google Play details page) is intended to allow a basic representation of the product within an EMM user interface.", + "description": "A Products resource represents an app in the Google Play store that is\navailable to at least some users in the enterprise. (Some apps are restricted\nto a single enterprise, and no information about them is made available\noutside that enterprise.)\n\nThe information provided for each product (localized name, icon, link\nto the full Google Play details page) is intended to allow a basic\nrepresentation of the product within an EMM user interface.", "id": "Product", "properties": { "appTracks": { @@ -3753,8 +3941,20 @@ "type": "array" }, "availableTracks": { - "description": "Deprecated, use appTracks instead.", + "description": "Deprecated, use appTracks instead.", + "enumDescriptions": [ + "", + "", + "", + "" + ], "items": { + "enum": [ + "appTrackUnspecified", + "production", + "beta", + "alpha" + ], "type": "string" }, "type": "array" @@ -3765,6 +3965,20 @@ }, "contentRating": { "description": "The content rating for this app.", + "enum": [ + "ratingUnknown", + "all", + "preTeen", + "teen", + "mature" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], "type": "string" }, "description": { @@ -3776,26 +3990,40 @@ "type": "string" }, "distributionChannel": { - "description": "How and to whom the package is made available. The value publicGoogleHosted means that the package is available through the Play store and not restricted to a specific enterprise. The value privateGoogleHosted means that the package is a private app (restricted to an enterprise) but hosted by Google. The value privateSelfHosted means that the package is a private app (restricted to an enterprise) and is privately hosted.", + "description": "How and to whom the package is made available.\nThe value publicGoogleHosted means that the package is\navailable through the Play store and not restricted to a specific\nenterprise. The value privateGoogleHosted means that the\npackage is a private app (restricted to an enterprise) but hosted by\nGoogle. The value privateSelfHosted means that the package is\na private app (restricted to an enterprise) and is privately hosted.", + "enum": [ + "publicGoogleHosted", + "privateGoogleHosted", + "privateSelfHosted" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" }, "features": { "description": "Noteworthy features (if any) of this product.", + "enumDescriptions": [ + "", + "The app is a VPN." + ], "items": { + "enum": [ + "featureUnknown", + "vpnApp" + ], "type": "string" }, "type": "array" }, "iconUrl": { - "description": "A link to an image that can be used as an icon for the product. This image is suitable for use at up to 512px x 512px.", - "type": "string" - }, - "kind": { - "default": "androidenterprise#product", + "description": "A link to an image that can be used as an icon for the product.\nThis image is suitable for use at up to 512px x 512px.", "type": "string" }, "lastUpdatedTimestampMillis": { - "description": "The approximate time (within 7 days) the app was last published, expressed in milliseconds since epoch.", + "description": "The approximate time (within 7 days) the app was last published, expressed\nin milliseconds since epoch.", "format": "int64", "type": "string" }, @@ -3812,11 +4040,23 @@ "type": "array" }, "productId": { - "description": "A string of the form app:. For example, app:com.google.android.gm represents the Gmail app.", + "description": "A string of the form app:<package name>. For\nexample, app:com.google.android.gm represents the Gmail app.", "type": "string" }, "productPricing": { - "description": "Whether this product is free, free with in-app purchases, or paid. If the pricing is unknown, this means the product is not generally available anymore (even though it might still be available to people who own it).", + "description": "Whether this product is free, free with in-app purchases, or paid.\nIf the pricing is unknown, this means the product is not generally\navailable anymore (even though it might still be available to\npeople who own it).", + "enum": [ + "unknown", + "free", + "freeWithInAppPurchase", + "paid" + ], + "enumDescriptions": [ + "Unknown pricing, used to denote an approved product that is not\ngenerally available.", + "The product is free.", + "The product is free, but offers in-app purchases.", + "The product is paid." + ], "type": "string" }, "recentChanges": { @@ -3839,7 +4079,7 @@ "description": "The certificate used to sign this product." }, "smallIconUrl": { - "description": "A link to a smaller image that can be used as an icon for the product. This image is suitable for use at up to 128px x 128px.", + "description": "A link to a smaller image that can be used as an icon for the product.\nThis image is suitable for use at up to 128px x 128px.", "type": "string" }, "title": { @@ -3847,7 +4087,7 @@ "type": "string" }, "workDetailsUrl": { - "description": "A link to the managed Google Play details page for the product, for use by an Enterprise admin.", + "description": "A link to the managed Google Play details page for the product,\nfor use by an Enterprise admin.", "type": "string" } }, @@ -3858,11 +4098,21 @@ "id": "ProductApprovalEvent", "properties": { "approved": { - "description": "Whether the product was approved or unapproved. This field will always be present.", + "description": "Whether the product was approved or unapproved.\nThis field will always be present.", + "enum": [ + "unknown", + "approved", + "unapproved" + ], + "enumDescriptions": [ + "Conveys no information.", + "The product was approved.", + "The product was unapproved." + ], "type": "string" }, "productId": { - "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the approval status has changed. This field will always be present.", + "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the\napproval status has changed. This field will always be present.", "type": "string" } }, @@ -3873,18 +4123,30 @@ "id": "ProductAvailabilityChangeEvent", "properties": { "availabilityStatus": { - "description": "The new state of the product. This field will always be present.", + "description": "The new state of the product.\nThis field will always be present.", + "enum": [ + "unknown", + "available", + "removed", + "unpublished" + ], + "enumDescriptions": [ + "Conveys no information.", + "The previously unavailable product is again available on Google Play.", + "The product was removed from Google Play.", + "The product was unpublished by the developer." + ], "type": "string" }, "productId": { - "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the product availability changed. This field will always be present.", + "description": "The id of the product (e.g. \"app:com.google.android.gm\") for which the\nproduct availability changed. This field will always be present.", "type": "string" } }, "type": "object" }, "ProductPermission": { - "description": "A product permissions resource represents the set of permissions required by a specific app and whether or not they have been accepted by an enterprise admin.\n\nThe API can be used to read the set of permissions, and also to update the set to indicate that permissions have been accepted.", + "description": "A product permissions resource represents the set of permissions\nrequired by a specific app and whether or not they have been accepted\nby an enterprise admin.\n\nThe API can be used to read the set of permissions, and also to update\nthe set to indicate that permissions have been accepted.", "id": "ProductPermission", "properties": { "permissionId": { @@ -3893,19 +4155,23 @@ }, "state": { "description": "Whether the permission has been accepted or not.", + "enum": [ + "required", + "accepted" + ], + "enumDescriptions": [ + "The permission is required by the app but has not yet been accepted by\nthe enterprise.", + "The permission has been accepted by the enterprise." + ], "type": "string" } }, "type": "object" }, "ProductPermissions": { - "description": "Information about the permissions required by a specific app and whether they have been accepted by the enterprise.", + "description": "Information about the permissions required by a specific app and\nwhether they have been accepted by the enterprise.", "id": "ProductPermissions", "properties": { - "kind": { - "default": "androidenterprise#productPermissions", - "type": "string" - }, "permission": { "description": "The permissions required by the app.", "items": { @@ -3914,7 +4180,7 @@ "type": "array" }, "productId": { - "description": "The ID of the app that the permissions relate to, e.g. \"app:com.google.android.gm\".", + "description": "The ID of the app that the permissions relate to, e.g.\n\"app:com.google.android.gm\".", "type": "string" } }, @@ -3933,19 +4199,31 @@ "description": "The managed configuration for the product." }, "productId": { - "description": "The ID of the product. For example, \"app:com.google.android.gm\".", + "description": "The ID of the product. For example,\n"app:com.google.android.gm".", "type": "string" }, "trackIds": { - "description": "Grants the device visibility to the specified product release track(s), identified by trackIds. The list of release tracks of a product can be obtained by calling Products.Get.", + "description": "Grants the device visibility to the specified product release track(s),\nidentified by trackIds. The list of release tracks of a\nproduct can be obtained by calling Products.Get.", "items": { "type": "string" }, "type": "array" }, "tracks": { - "description": "Deprecated. Use trackIds instead.", + "description": "Deprecated. Use trackIds instead.", + "enumDescriptions": [ + "", + "", + "", + "" + ], "items": { + "enum": [ + "appTrackUnspecified", + "production", + "beta", + "alpha" + ], "type": "string" }, "type": "array" @@ -3957,10 +4235,6 @@ "description": "A set of products.", "id": "ProductSet", "properties": { - "kind": { - "default": "androidenterprise#productSet", - "type": "string" - }, "productId": { "description": "The list of product IDs making up the set of products.", "items": { @@ -3969,11 +4243,23 @@ "type": "array" }, "productSetBehavior": { - "description": "The interpretation of this product set. \"unknown\" should never be sent and is ignored if received. \"whitelist\" means that the user is entitled to access the product set. \"includeAll\" means that all products are accessible, including products that are approved, products with revoked approval, and products that have never been approved. \"allApproved\" means that the user is entitled to access all products that are approved for the enterprise. If the value is \"allApproved\" or \"includeAll\", the productId field is ignored. If no value is provided, it is interpreted as \"whitelist\" for backwards compatibility. Further \"allApproved\" or \"includeAll\" does not enable automatic visibility of \"alpha\" or \"beta\" tracks for Android app. Use ProductVisibility to enable \"alpha\" or \"beta\" tracks per user.", + "description": "The interpretation of this product set. \"unknown\" should never be sent and\nis ignored if received. \"whitelist\" means that the user is entitled to\naccess the product set. \"includeAll\" means that all products are\naccessible, including products that are approved, products with revoked\napproval, and products that have never been approved. \"allApproved\" means\nthat the user is entitled to access all products that are approved for the\nenterprise. If the value is \"allApproved\" or \"includeAll\", the productId\nfield is ignored. If no value is provided, it is interpreted as\n\"whitelist\" for backwards compatibility.\nFurther \"allApproved\" or \"includeAll\" does not enable automatic\nvisibility of \"alpha\" or \"beta\" tracks for Android app. Use\nProductVisibility to enable \"alpha\" or \"beta\" tracks per user.", + "enum": [ + "unknown", + "whitelist", + "includeAll", + "allApproved" + ], + "enumDescriptions": [ + "This value should never be sent and ignored if received.", + "This product set constitutes a whitelist.", + "This product set represents all products.\nFor Android app it represents only \"production\" track.\n(The value of the productId field is therefore ignored).", + "This product set represents all approved products.\nFor Android app it represents only \"production\" track.\n(The value of the product_id field is therefore ignored)." + ], "type": "string" }, "productVisibility": { - "description": "Additional list of product IDs making up the product set. Unlike the productID array, in this list It's possible to specify which tracks (alpha, beta, production) of a product are visible to the user. See ProductVisibility and its fields for more information. Specifying the same product ID both here and in the productId array is not allowed and it will result in an error.", + "description": "Additional list of product IDs making up the product set.\nUnlike the productID array, in this list It's possible to specify\nwhich tracks (alpha, beta, production) of a product are visible to the\nuser. See ProductVisibility and its fields for more information. Specifying\nthe same product ID both here and in the productId array is not allowed and\nit will result in an error.", "items": { "$ref": "ProductVisibility" }, @@ -3986,7 +4272,7 @@ "id": "ProductSigningCertificate", "properties": { "certificateHashSha1": { - "description": "The base64 urlsafe encoded SHA1 hash of the certificate. (This field is deprecated in favor of SHA2-256. It should not be used and may be removed at any time.)", + "description": "The base64 urlsafe encoded SHA1 hash of the certificate. (This field is\ndeprecated in favor of SHA2-256. It should not be used and may be\nremoved at any time.)", "type": "string" }, "certificateHashSha256": { @@ -4001,19 +4287,31 @@ "id": "ProductVisibility", "properties": { "productId": { - "description": "The product ID to make visible to the user. Required for each item in the productVisibility list.", + "description": "The product ID to make visible to the user.\nRequired for each item in the productVisibility list.", "type": "string" }, "trackIds": { - "description": "Grants the user visibility to the specified product track(s), identified by trackIds.", + "description": "Grants the user visibility to the specified product track(s), identified by\ntrackIds.", "items": { "type": "string" }, "type": "array" }, "tracks": { - "description": "Deprecated. Use trackIds instead.", + "description": "Deprecated. Use trackIds instead.", + "enumDescriptions": [ + "", + "", + "", + "" + ], "items": { + "enum": [ + "appTrackUnspecified", + "production", + "beta", + "alpha" + ], "type": "string" }, "type": "array" @@ -4026,10 +4324,18 @@ "properties": { "approvalUrlInfo": { "$ref": "ApprovalUrlInfo", - "description": "The approval URL that was shown to the user. Only the permissions shown to the user with that URL will be accepted, which may not be the product's entire set of permissions. For example, the URL may only display new permissions from an update after the product was approved, or not include new permissions if the product was updated since the URL was generated." + "description": "The approval URL that was shown to the user. Only the permissions shown\nto the user with that URL will be accepted, which may not be\nthe product's entire set of permissions. For example, the URL may only\ndisplay new permissions from an update after the product was approved,\nor not include new permissions if the product was updated since the URL\nwas generated." }, "approvedPermissions": { - "description": "Sets how new permission requests for the product are handled. \"allPermissions\" automatically approves all current and future permissions for the product. \"currentPermissionsOnly\" approves the current set of permissions for the product, but any future permissions added through updates will require manual reapproval. If not specified, only the current set of permissions will be approved.", + "description": "Sets how new permission requests for the product are handled.\n\"allPermissions\" automatically approves all current and future\npermissions for the product. \"currentPermissionsOnly\" approves the\ncurrent set of permissions for the product, but any future permissions\nadded through updates will require manual reapproval. If not specified,\nonly the current set of permissions will be approved.", + "enum": [ + "currentPermissionsOnly", + "allPermissions" + ], + "enumDescriptions": [ + "Approve only the permissions the product requires at approval time.\nIf an update requires additional permissions, the app will not be updated\non devices associated with enterprise users until the additional\npermissions are approved.", + "All current and future permissions the app requires are automatically\napproved." + ], "type": "string" } }, @@ -4039,27 +4345,21 @@ "id": "ProductsGenerateApprovalUrlResponse", "properties": { "url": { - "description": "A URL that can be rendered in an iframe to display the permissions (if any) of a product. This URL can be used to approve the product only once and only within 24 hours of being generated, using the Products.approve call. If the product is currently unapproved and has no permissions, this URL will point to an empty page. If the product is currently approved, a URL will only be generated if that product has added permissions since it was last approved, and the URL will only display those new permissions that have not yet been accepted.", + "description": "A URL that can be rendered in an iframe to display the permissions (if\nany) of a product.\nThis URL can be used to approve the product only once and only within 24\nhours of being generated, using the Products.approve call.\nIf the product is currently unapproved and has no permissions, this\nURL will point to an empty page.\nIf the product is currently approved, a URL will only be generated if\nthat product has added permissions since it was last approved, and the\nURL will only display those new permissions that have not yet been\naccepted.", "type": "string" } }, "type": "object" }, "ProductsListResponse": { - "description": "The matching products.", "id": "ProductsListResponse", "properties": { - "kind": { - "default": "androidenterprise#productsListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#productsListResponse\".", - "type": "string" - }, "pageInfo": { "$ref": "PageInfo", "description": "General pagination information." }, "product": { - "description": "Information about a product (e.g. an app) in the Google Play store, for display to an enterprise admin.", + "description": "Information about a product (e.g. an app) in the Google Play store, for\ndisplay to an enterprise admin.", "items": { "$ref": "Product" }, @@ -4073,19 +4373,15 @@ "type": "object" }, "ServiceAccount": { - "description": "A service account identity, including the name and credentials that can be used to authenticate as the service account.", + "description": "A service account identity, including the name and credentials that can be\nused to authenticate as the service account.", "id": "ServiceAccount", "properties": { "key": { "$ref": "ServiceAccountKey", "description": "Credentials that can be used to authenticate as this ServiceAccount." }, - "kind": { - "default": "androidenterprise#serviceAccount", - "type": "string" - }, "name": { - "description": "The account name of the service account, in the form of an email address. Assigned by the server.", + "description": "The account name of the service account, in the form of an email address.\nAssigned by the server.", "type": "string" } }, @@ -4096,19 +4392,15 @@ "id": "ServiceAccountKey", "properties": { "data": { - "description": "The body of the private key credentials file, in string format. This is only populated when the ServiceAccountKey is created, and is not stored by Google.", + "description": "The body of the private key credentials file, in string format. This\nis only populated when the ServiceAccountKey is created, and is not stored\nby Google.", "type": "string" }, "id": { - "description": "An opaque, unique identifier for this ServiceAccountKey. Assigned by the server.", - "type": "string" - }, - "kind": { - "default": "androidenterprise#serviceAccountKey", + "description": "An opaque, unique identifier for this ServiceAccountKey.\nAssigned by the server.", "type": "string" }, "publicData": { - "description": "Public key data for the credentials file. This is an X.509 cert. If you are using the googleCredentials key type, this is identical to the cert that can be retrieved by using the X.509 cert url inside of the credentials file.", + "description": "Public key data for the credentials file. This is an X.509 cert. If you are\nusing the googleCredentials key type, this is identical to the\ncert that can be retrieved by using the X.509 cert url inside of the\ncredentials file.", "type": "string" }, "type": { @@ -4118,6 +4410,14 @@ ] }, "description": "The file format of the generated key data.", + "enum": [ + "googleCredentials", + "pkcs12" + ], + "enumDescriptions": [ + "Google Credentials File format.", + "PKCS12 format. The password for the PKCS12 file is 'notasecret'.\nFor more information, see https://tools.ietf.org/html/rfc7292.\nThe data for keys of this type are base64 encoded according to RFC 4648\nSection 4. See http://tools.ietf.org/html/rfc4648#section-4." + ], "type": "string" } }, @@ -4137,11 +4437,11 @@ "type": "object" }, "SignupInfo": { - "description": "A resource returned by the GenerateSignupUrl API, which contains the Signup URL and Completion Token.", + "description": "A resource returned by the GenerateSignupUrl API, which contains the\nSignup URL and Completion Token.", "id": "SignupInfo", "properties": { "completionToken": { - "description": "An opaque token that will be required, along with the Enterprise Token, for obtaining the enterprise resource from CompleteSignup.", + "description": "An opaque token that will be required, along with the Enterprise Token,\nfor obtaining the enterprise resource from CompleteSignup.", "type": "string" }, "kind": { @@ -4149,37 +4449,33 @@ "type": "string" }, "url": { - "description": "A URL under which the Admin can sign up for an enterprise. The page pointed to cannot be rendered in an iframe.", + "description": "A URL under which the Admin can sign up for an enterprise.\nThe page pointed to cannot be rendered in an iframe.", "type": "string" } }, "type": "object" }, "StoreCluster": { - "description": "Definition of a managed Google Play store cluster, a list of products displayed as part of a store page.", + "description": "Definition of a managed Google Play store cluster, a list of products\ndisplayed as part of a store page.", "id": "StoreCluster", "properties": { "id": { "description": "Unique ID of this cluster. Assigned by the server. Immutable once assigned.", "type": "string" }, - "kind": { - "default": "androidenterprise#storeCluster", - "type": "string" - }, "name": { - "description": "Ordered list of localized strings giving the name of this page. The text displayed is the one that best matches the user locale, or the first entry if there is no good match. There needs to be at least one entry.", + "description": "Ordered list of localized strings giving the name of this page.\nThe text displayed is the one that best matches the user locale,\nor the first entry if there is no good match. There needs to be\nat least one entry.", "items": { "$ref": "LocalizedText" }, "type": "array" }, "orderInPage": { - "description": "String (US-ASCII only) used to determine order of this cluster within the parent page's elements. Page elements are sorted in lexicographic order of this field. Duplicated values are allowed, but ordering between elements with duplicate order is undefined.\n\nThe value of this field is never visible to a user, it is used solely for the purpose of defining an ordering. Maximum length is 256 characters.", + "description": "String (US-ASCII only) used to determine order of this cluster within the\nparent page's elements. Page elements are sorted in lexicographic order\nof this field.\nDuplicated values are allowed, but ordering between elements with\nduplicate order is undefined.\n\nThe value of this field is never visible to a user, it is used solely\nfor the purpose of defining an ordering. Maximum length is 256\ncharacters.", "type": "string" }, "productId": { - "description": "List of products in the order they are displayed in the cluster. There should not be duplicates within a cluster.", + "description": "List of products in the order they are displayed in the cluster. There\nshould not be duplicates within a cluster.", "items": { "type": "string" }, @@ -4189,26 +4485,31 @@ "type": "object" }, "StoreLayout": { - "description": "General setting for the managed Google Play store layout, currently only specifying the page to display the first time the store is opened.", + "description": "General setting for the managed Google Play store layout,\ncurrently only specifying the page to display the first time\nthe store is opened.", "id": "StoreLayout", "properties": { "homepageId": { - "description": "The ID of the store page to be used as the homepage. The homepage is the first page shown in the managed Google Play Store.\n\nNot specifying a homepage is equivalent to setting the store layout type to \"basic\".", - "type": "string" - }, - "kind": { - "default": "androidenterprise#storeLayout", + "description": "The ID of the store page to be used as the homepage. The homepage is the\nfirst page shown in the managed Google Play Store.\n\nNot specifying a homepage is equivalent to setting the store layout\ntype to \"basic\".", "type": "string" }, "storeLayoutType": { - "description": "The store layout type. By default, this value is set to \"basic\" if the homepageId field is not set, and to \"custom\" otherwise. If set to \"basic\", the layout will consist of all approved apps that have been whitelisted for the user.", + "description": "The store layout type. By default, this value is set to \"basic\"\nif the homepageId field is not set, and to \"custom\" otherwise.\nIf set to \"basic\", the layout will consist of all approved apps that\nhave been whitelisted for the user.", + "enum": [ + "unknown", + "basic", + "custom" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" } }, "type": "object" }, "StoreLayoutClustersListResponse": { - "description": "The store page resources for the enterprise.", "id": "StoreLayoutClustersListResponse", "properties": { "cluster": { @@ -4217,24 +4518,13 @@ "$ref": "StoreCluster" }, "type": "array" - }, - "kind": { - "default": "androidenterprise#storeLayoutClustersListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#storeLayoutClustersListResponse\".", - "type": "string" } }, "type": "object" }, "StoreLayoutPagesListResponse": { - "description": "The store page resources for the enterprise.", "id": "StoreLayoutPagesListResponse", "properties": { - "kind": { - "default": "androidenterprise#storeLayoutPagesListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#storeLayoutPagesListResponse\".", - "type": "string" - }, "page": { "description": "A store page of an enterprise.", "items": { @@ -4246,26 +4536,22 @@ "type": "object" }, "StorePage": { - "description": "Definition of a managed Google Play store page, made of a localized name and links to other pages. A page also contains clusters defined as a subcollection.", + "description": "Definition of a managed Google Play store page, made of a localized name\nand links to other pages. A page also contains clusters defined\nas a subcollection.", "id": "StorePage", "properties": { "id": { "description": "Unique ID of this page. Assigned by the server. Immutable once assigned.", "type": "string" }, - "kind": { - "default": "androidenterprise#storePage", - "type": "string" - }, "link": { - "description": "Ordered list of pages a user should be able to reach from this page. The list can't include this page. It is recommended that the basic pages are created first, before adding the links between pages.\n\nThe API doesn't verify that the pages exist or the pages are reachable.", + "description": "Ordered list of pages a user should be able to reach from this page.\nThe list can't include this page.\nIt is recommended that the basic pages are created first,\nbefore adding the links between pages.\n\nThe API doesn't verify that the pages exist or the pages are reachable.", "items": { "type": "string" }, "type": "array" }, "name": { - "description": "Ordered list of localized strings giving the name of this page. The text displayed is the one that best matches the user locale, or the first entry if there is no good match. There needs to be at least one entry.", + "description": "Ordered list of localized strings giving the name of this page.\nThe text displayed is the one that best matches the user locale,\nor the first entry if there is no good match. There needs to be\nat least one entry.", "items": { "$ref": "LocalizedText" }, @@ -4275,9 +4561,11 @@ "type": "object" }, "TokenPagination": { + "description": "Pagination information returned by a List operation when token pagination\nis enabled.\n\nList operations that supports paging return only one \"page\" of results. This\nprotocol buffer message describes the page that has been returned.\n\nWhen using token pagination, clients should use the next/previous token\nto get another page of the result. The presence or absence of next/previous\ntoken indicates whether a next/previous page is available and provides a\nmean of accessing this page. ListRequest.page_token should be set to either\nnext_page_token or previous_page_token to access another page.", "id": "TokenPagination", "properties": { "nextPageToken": { + "description": "Tokens to pass to the standard list field 'page_token'. Whenever available,\ntokens are preferred over manipulating start_index.", "type": "string" }, "previousPageToken": { @@ -4291,18 +4579,18 @@ "id": "TrackInfo", "properties": { "trackAlias": { - "description": "A modifiable name for a track. This is the visible name in the play developer console.", + "description": "A modifiable name for a track. This is the visible name in the play\ndeveloper console.", "type": "string" }, "trackId": { - "description": "Unmodifiable, unique track identifier. This identifier is the releaseTrackId in the url of the play developer console page that displays the track information.", + "description": "Unmodifiable, unique track identifier. This identifier is the\nreleaseTrackId in the url of the play developer console page that displays\nthe track information.", "type": "string" } }, "type": "object" }, "User": { - "description": "A Users resource represents an account associated with an enterprise. The account may be specific to a device or to an individual user (who can then use the account across multiple devices). The account may provide access to managed Google Play only, or to other Google services, depending on the identity model: \n- The Google managed domain identity model requires synchronization to Google account sources (via primaryEmail). \n- The managed Google Play Accounts identity model provides a dynamic means for enterprises to create user or device accounts as needed. These accounts provide access to managed Google Play.", + "description": "A Users resource represents an account associated with an enterprise. The\naccount may be specific to a device or to an individual user (who can then\nuse the account across multiple devices). The account may provide access to\nmanaged Google Play only, or to other Google services, depending on the\nidentity model:\n
  • The Google managed domain identity model requires synchronization to\nGoogle account sources (via primaryEmail).
  • \n
  • The managed Google Play Accounts identity model provides a dynamic means\nfor enterprises to create user or device accounts as needed. These accounts\nprovide access to managed Google Play.
  • \n
", "id": "User", "properties": { "accountIdentifier": { @@ -4311,7 +4599,7 @@ "androidenterprise.users.insert" ] }, - "description": "A unique identifier you create for this user, such as \"user342\" or \"asset#44418\". Do not use personally identifiable information (PII) for this property. Must always be set for EMM-managed users. Not set for Google-managed users.", + "description": "A unique identifier you create for this user, such as \"user342\" or\n\"asset#44418\". Do not use personally identifiable information (PII) for\nthis property. Must always be set for EMM-managed users.\nNot set for Google-managed users.", "type": "string" }, "accountType": { @@ -4320,60 +4608,47 @@ "androidenterprise.users.insert" ] }, - "description": "The type of account that this user represents. A userAccount can be installed on multiple devices, but a deviceAccount is specific to a single device. An EMM-managed user (emmManaged) can be either type (userAccount, deviceAccount), but a Google-managed user (googleManaged) is always a userAccount.", + "description": "The type of account that this user represents. A userAccount\ncan be installed on multiple devices, but a deviceAccount is\nspecific to a single device. An EMM-managed user (emmManaged)\ncan be either type (userAccount, deviceAccount),\nbut a Google-managed user (googleManaged) is always a\nuserAccount.", + "enum": [ + "deviceAccount", + "userAccount" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "displayName": { - "description": "The name that will appear in user interfaces. Setting this property is optional when creating EMM-managed users. If you do set this property, use something generic about the organization (such as \"Example, Inc.\") or your name (as EMM). Not used for Google-managed user accounts.", + "description": "The name that will appear in user interfaces. Setting this property is\noptional when creating EMM-managed users. If you do set this property,\nuse something generic about the organization (such as \"Example, Inc.\") or\nyour name (as EMM).\nNot used for Google-managed user accounts.\n@mutable androidenterprise.users.update", "type": "string" }, "id": { "description": "The unique ID for the user.", "type": "string" }, - "kind": { - "default": "androidenterprise#user", - "type": "string" - }, "managementType": { - "description": "The entity that manages the user. With googleManaged users, the source of truth is Google so EMMs have to make sure a Google Account exists for the user. With emmManaged users, the EMM is in charge.", + "description": "The entity that manages the user. With googleManaged users,\nthe source of truth is Google so EMMs have to make sure a Google Account\nexists for the user. With emmManaged users, the\nEMM is in charge.", + "enum": [ + "googleManaged", + "emmManaged" + ], + "enumDescriptions": [ + "", + "" + ], "type": "string" }, "primaryEmail": { - "description": "The user's primary email address, for example, \"jsmith@example.com\". Will always be set for Google managed users and not set for EMM managed users.", - "type": "string" - } - }, - "type": "object" - }, - "UserToken": { - "description": "A UserToken is used by a user when setting up a managed device or profile with their managed Google Play account on a device. When the user enters their email address and token (activation code) the appropriate EMM app can be automatically downloaded.", - "id": "UserToken", - "properties": { - "kind": { - "default": "androidenterprise#userToken", - "type": "string" - }, - "token": { - "description": "The token (activation code) to be entered by the user. This consists of a sequence of decimal digits. Note that the leading digit may be 0.", - "type": "string" - }, - "userId": { - "description": "The unique ID for the user.", + "description": "The user's primary email address, for example, \"jsmith@example.com\".\nWill always be set for Google managed users and not set for EMM managed\nusers.", "type": "string" } }, "type": "object" }, "UsersListResponse": { - "description": "The matching user resources.", "id": "UsersListResponse", "properties": { - "kind": { - "default": "androidenterprise#usersListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#usersListResponse\".", - "type": "string" - }, "user": { "description": "A user of an enterprise.", "items": { @@ -4385,13 +4660,9 @@ "type": "object" }, "VariableSet": { - "description": "A variable set is a key-value pair of EMM-provided placeholders and its corresponding value, which is attributed to a user. For example, $FIRSTNAME could be a placeholder, and its value could be Alice. Placeholders should start with a '$' sign and should be alphanumeric only.", + "description": "A variable set is a key-value pair of EMM-provided placeholders and\nits corresponding value, which is attributed to a user. For example,\n$FIRSTNAME could be a placeholder, and its value could be Alice. Placeholders\nshould start with a '$' sign and should be alphanumeric only.", "id": "VariableSet", "properties": { - "kind": { - "default": "androidenterprise#variableSet", - "type": "string" - }, "placeholder": { "description": "The placeholder string; defined by EMM.", "type": "string" @@ -4404,15 +4675,27 @@ "type": "object" }, "WebApp": { - "description": "A WebApps resource represents a web app created for an enterprise. Web apps are published to managed Google Play and can be distributed like other Android apps. On a user's device, a web app opens its specified URL.", + "description": "A WebApps resource represents a web app created for an enterprise. Web apps\nare published to managed Google Play and can be distributed like other\nAndroid apps. On a user's device, a web app opens its specified URL.", "id": "WebApp", "properties": { "displayMode": { - "description": "The display mode of the web app.\n\nPossible values include: \n- \"minimalUi\", the device's status bar, navigation bar, the app's URL, and a refresh button are visible when the app is open. For HTTP URLs, you can only select this option.\n- \"standalone\", the device's status bar and navigation bar are visible when the app is open.\n- \"fullScreen\", the app opens in full screen mode, hiding the device's status and navigation bars. All browser UI elements, page URL, system status bar and back button are not visible, and the web app takes up the entirety of the available display area.", + "description": "The display mode of the web app.

\nPossible values include:\n
  • \"minimalUi\", the device's status bar, navigation bar,\nthe app's URL, and a refresh button are visible when the app is open. For\nHTTP URLs, you can only select this option.\n
  • \"standalone\", the device's status bar and navigation\nbar are visible when the app is open.\n
  • \"fullScreen\", the app opens in full screen mode, hiding\nthe device's status and navigation bars. All browser UI elements, page\nURL, system status bar and back button are not visible, and the web app\ntakes up the entirety of the available display area.\n
", + "enum": [ + "displayModeUnspecified", + "minimalUi", + "standalone", + "fullScreen" + ], + "enumDescriptions": [ + "", + "Opens the web app with a minimal set of browser UI elements for\ncontrolling navigation and viewing the page URL.", + "Opens the web app to look and feel like a standalone native application.\nThe browser UI elements and page URL are not visible, however the system\nstatus bar and back button are visible.", + "Opens the web app in full screen without any visible controls. The\nbrowser UI elements, page URL, system status bar and back button are not\nvisible, and the web app takes up the entirety of the available display\narea." + ], "type": "string" }, "icons": { - "description": "A list of icons representing this website. If absent, a default icon (for create) or the current icon (for update) will be used.", + "description": "A list of icons representing this website. If absent, a default icon (for\ncreate) or the current icon (for update) will be used.", "items": { "$ref": "WebAppIcon" }, @@ -4423,20 +4706,20 @@ "type": "boolean" }, "startUrl": { - "description": "The start URL, i.e. the URL that should load when the user opens the application.", + "description": "The start URL, i.e. the URL that should load when the user opens the\napplication.", "type": "string" }, "title": { - "description": "The title of the web app as displayed to the user (e.g., amongst a list of other applications, or as a label for an icon).", + "description": "The title of the web app as displayed to the user (e.g., amongst a list of\nother applications, or as a label for an icon).", "type": "string" }, "versionCode": { - "description": "The current version of the app.\n\n\nNote that the version can automatically increase during the lifetime of the web app, while Google does internal housekeeping to keep the web app up-to-date.", + "description": "The current version of the app.\n\n

Note that the version can automatically increase during the lifetime of\nthe web app, while Google does internal housekeeping to keep the web app\nup-to-date.", "format": "int64", "type": "string" }, "webAppId": { - "description": "The ID of the application. A string of the form \"app:\" where the package name always starts with the prefix \"com.google.enterprise.webapp.\" followed by a random id.", + "description": "The ID of the application. A string of the form\n"app:<package name>" where the package name\nalways starts with the prefix\n"com.google.enterprise.webapp." followed by a\nrandom id.", "type": "string" } }, @@ -4447,21 +4730,15 @@ "id": "WebAppIcon", "properties": { "imageData": { - "description": "The actual bytes of the image in a base64url encoded string (c.f. RFC4648, section 5 \"Base 64 Encoding with URL and Filename Safe Alphabet\"). \n- The image type can be png or jpg.\n- The image should ideally be square.\n- The image should ideally have a size of 512x512.", + "description": "The actual bytes of the image in a base64url encoded string (c.f. RFC4648,\nsection 5 \"Base 64 Encoding with URL and Filename Safe Alphabet\").\n

    \n
  • The image type can be png or jpg.\n
  • The image should ideally be square.\n
  • The image should ideally have a size of 512x512.\n
", "type": "string" } }, "type": "object" }, "WebAppsListResponse": { - "description": "The web app details for an enterprise.", "id": "WebAppsListResponse", "properties": { - "kind": { - "default": "androidenterprise#webAppsListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#webAppsListResponse\".", - "type": "string" - }, "webApp": { "description": "The manifest describing a web app.", "items": { @@ -4473,7 +4750,7 @@ "type": "object" } }, - "servicePath": "androidenterprise/v1/", + "servicePath": "", "title": "Google Play EMM API", "version": "v1" } \ No newline at end of file diff --git a/etc/api/androidmanagement/v1/androidmanagement-api.json b/etc/api/androidmanagement/v1/androidmanagement-api.json index 72e43766ef..db4e49f717 100644 --- a/etc/api/androidmanagement/v1/androidmanagement-api.json +++ b/etc/api/androidmanagement/v1/androidmanagement-api.json @@ -924,7 +924,7 @@ } } }, - "revision": "20200330", + "revision": "20200701", "rootUrl": "https://androidmanagement.googleapis.com/", "schemas": { "AdvancedSecurityOverrides": { @@ -1300,6 +1300,20 @@ "description": "Number of days the policy is non-compliant before the device or work profile is blocked. To block access immediately, set to 0. blockAfterDays must be less than wipeAfterDays.", "format": "int32", "type": "integer" + }, + "blockScope": { + "description": "Specifies the scope of this BlockAction. Only applicable to devices that are company-owned.", + "enum": [ + "BLOCK_SCOPE_UNSPECIFIED", + "BLOCK_SCOPE_WORK_PROFILE", + "BLOCK_SCOPE_DEVICE" + ], + "enumDescriptions": [ + "Unspecified. Defaults to BLOCK_SCOPE_WORK_PROFILE.", + "Block action is only applied to apps in the work profile. Apps in the personal profile are unaffected.", + "Block action is applied to the entire device, including apps in the personal profile." + ], + "type": "string" } }, "type": "object" @@ -1591,6 +1605,20 @@ }, "type": "array" }, + "ownership": { + "description": "Ownership of the managed device.", + "enum": [ + "OWNERSHIP_UNSPECIFIED", + "COMPANY_OWNED", + "PERSONALLY_OWNED" + ], + "enumDescriptions": [ + "Ownership is unspecified.", + "Device is company-owned.", + "Device is personally-owned." + ], + "type": "string" + }, "policyCompliant": { "description": "Whether the device is compliant with its policy.", "type": "boolean" @@ -1778,6 +1806,20 @@ "description": "Optional, arbitrary data associated with the enrollment token. This could contain, for example, the ID of an org unit the device is assigned to after enrollment. After a device enrolls with the token, this data will be exposed in the enrollment_token_data field of the Device resource. The data must be 1024 characters or less; otherwise, the creation request will fail.", "type": "string" }, + "allowPersonalUsage": { + "description": "Controls personal usage on devices provisioned using this enrollment token.", + "enum": [ + "ALLOW_PERSONAL_USAGE_UNSPECIFIED", + "PERSONAL_USAGE_ALLOWED", + "PERSONAL_USAGE_DISALLOWED" + ], + "enumDescriptions": [ + "Personal usage restriction is not specified", + "Personal usage is allowed", + "Personal usage is disallowed" + ], + "type": "string" + }, "duration": { "description": "The length of time the enrollment token is valid, ranging from 1 minute to 30 days. If not specified, the default duration is 1 hour.", "format": "google-duration", @@ -2785,6 +2827,75 @@ }, "type": "object" }, + "PersonalApplicationPolicy": { + "description": "Policies for apps on the personal profile of a Corporate Owned Personally Enabled device.", + "id": "PersonalApplicationPolicy", + "properties": { + "installType": { + "description": "The type of installation to perform.", + "enum": [ + "INSTALL_TYPE_UNSPECIFIED", + "BLOCKED" + ], + "enumDescriptions": [ + "Unspecified. The default behavior is that all installs are allowed.", + "The app is blocked and can't be installed." + ], + "type": "string" + }, + "packageName": { + "description": "The package name of the application.", + "type": "string" + } + }, + "type": "object" + }, + "PersonalUsagePolicies": { + "description": "Policies controlling personal usage on a Corporate Owned Personally Enabled device.", + "id": "PersonalUsagePolicies", + "properties": { + "accountTypesWithManagementDisabled": { + "description": "Account types that can't be managed by the user.", + "items": { + "type": "string" + }, + "type": "array" + }, + "cameraDisabled": { + "description": "Whether camera is disabled.", + "type": "boolean" + }, + "maxDaysWithWorkOff": { + "description": "Controls how long the work profile can stay off.", + "format": "int32", + "type": "integer" + }, + "personalApplications": { + "description": "Policy applied to applications on the personal profile.", + "items": { + "$ref": "PersonalApplicationPolicy" + }, + "type": "array" + }, + "personalPlayStoreMode": { + "description": "Controls how apps on the personal profile are allowed or blocked.", + "enum": [ + "PLAY_STORE_MODE_UNSPECIFIED", + "BLACKLIST" + ], + "enumDescriptions": [ + "Unspecified. Default behavior is to allow all installs.", + "All Play Store apps are available, except those whose install_type is BLOCKED in PersonalApplicationPolicy." + ], + "type": "string" + }, + "screenCaptureDisabled": { + "description": "Whether screen capture is disabled.", + "type": "boolean" + } + }, + "type": "object" + }, "Policy": { "description": "A policy resource represents a group of settings that govern the behavior of a managed device and the apps installed on it.", "id": "Policy", @@ -3123,6 +3234,10 @@ }, "type": "array" }, + "personalUsagePolicies": { + "$ref": "PersonalUsagePolicies", + "description": "Policies managing personal usage on a company-owned device." + }, "playStoreMode": { "description": "This mode controls which apps are available to the user in the Play Store and the behavior on the device when apps are removed from the policy.", "enum": [ @@ -3434,6 +3549,20 @@ "description": "A resource containing sign in details for an enterprise.", "id": "SigninDetail", "properties": { + "allowPersonalUsage": { + "description": "Controls whether personal usage is allowed on a device provisioned with this enrollment token.For company-owned devices:\nEnabling personal usage allows the user to set up a work profile on the device.\nDisabling personal usage requires the user provision the device as a fully managed device.For personally-owned devices:\nEnabling personal usage allows the user to set up a work profile on the device.\nDisabling personal usage will prevent the device from provisioning. Personal usage cannot be disabled on personally-owned device.", + "enum": [ + "ALLOW_PERSONAL_USAGE_UNSPECIFIED", + "PERSONAL_USAGE_ALLOWED", + "PERSONAL_USAGE_DISALLOWED" + ], + "enumDescriptions": [ + "Personal usage restriction is not specified", + "Personal usage is allowed", + "Personal usage is disallowed" + ], + "type": "string" + }, "qrCode": { "description": "A JSON string whose UTF-8 representation can be used to generate a QR code to enroll a device with this enrollment token. To enroll a device using NFC, the NFC record must contain a serialized java.util.Properties representation of the properties in the JSON. This is a read-only field generated by the server.", "type": "string" diff --git a/etc/api/androidpublisher/v3/androidpublisher-api.json b/etc/api/androidpublisher/v3/androidpublisher-api.json index d64e92181c..b29ca68142 100644 --- a/etc/api/androidpublisher/v3/androidpublisher-api.json +++ b/etc/api/androidpublisher/v3/androidpublisher-api.json @@ -8,36 +8,63 @@ } } }, - "basePath": "/androidpublisher/v3/applications/", - "baseUrl": "https://www.googleapis.com/androidpublisher/v3/applications/", + "basePath": "", + "baseUrl": "https://www.googleapis.com/", "batchPath": "batch/androidpublisher/v3", "canonicalName": "Android Publisher", - "description": "Accesses Android application developers' Google Play accounts.", + "description": "Lets Android application developers access their Google Play accounts.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/android-publisher", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/4LB2xyDuShFcAwfdsvXJqDirMa4\"", "icons": { - "x16": "https://www.google.com/images/icons/product/android-16.png", - "x32": "https://www.google.com/images/icons/product/android-32.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "androidpublisher:v3", "kind": "discovery#restDescription", + "mtlsRootUrl": "https://www.mtls.googleapis.com/", "name": "androidpublisher", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -60,12 +87,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -75,7 +107,8 @@ "edits": { "methods": { "commit": { - "description": "Commits/applies the changes made in this edit back to the app.", + "description": "Commits an app edit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}:commit", "httpMethod": "POST", "id": "androidpublisher.edits.commit", "parameterOrder": [ @@ -84,19 +117,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}:commit", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}:commit", "response": { "$ref": "AppEdit" }, @@ -105,7 +138,8 @@ ] }, "delete": { - "description": "Deletes an edit for an app. Creating a new edit will automatically delete any of your previous edits so this method need only be called if you want to preemptively abandon an edit.", + "description": "Deletes an app edit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}", "httpMethod": "DELETE", "id": "androidpublisher.edits.delete", "parameterOrder": [ @@ -114,25 +148,26 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] }, "get": { - "description": "Returns information about the edit specified. Calls will fail if the edit is no long active (e.g. has been deleted, superseded or expired).", + "description": "Gets an app edit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}", "httpMethod": "GET", "id": "androidpublisher.edits.get", "parameterOrder": [ @@ -141,19 +176,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}", "response": { "$ref": "AppEdit" }, @@ -162,7 +197,8 @@ ] }, "insert": { - "description": "Creates a new edit for an app, populated with the app's current state.", + "description": "Creates a new edit for an app.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits", "httpMethod": "POST", "id": "androidpublisher.edits.insert", "parameterOrder": [ @@ -170,13 +206,13 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits", + "path": "androidpublisher/v3/applications/{packageName}/edits", "request": { "$ref": "AppEdit" }, @@ -188,7 +224,8 @@ ] }, "validate": { - "description": "Checks that the edit can be successfully committed. The edit's changes are not applied to the live app.", + "description": "Validates an app edit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}:validate", "httpMethod": "POST", "id": "androidpublisher.edits.validate", "parameterOrder": [ @@ -197,19 +234,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}:validate", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}:validate", "response": { "$ref": "AppEdit" }, @@ -222,7 +259,8 @@ "apks": { "methods": { "addexternallyhosted": { - "description": "Creates a new APK without uploading the APK itself to Google Play, instead hosting the APK at a specified URL. This function is only available to enterprises using Google Play for Work whose application is configured to restrict distribution to the enterprise domain.", + "description": "Creates a new APK without uploading the APK itself to Google Play, instead\nhosting the APK at a specified URL. This function is only available to\norganizations using Managed Play whose application is configured to\nrestrict distribution to the organizations.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted", "httpMethod": "POST", "id": "androidpublisher.edits.apks.addexternallyhosted", "parameterOrder": [ @@ -231,19 +269,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/apks/externallyHosted", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/externallyHosted", "request": { "$ref": "ApksAddExternallyHostedRequest" }, @@ -255,6 +293,8 @@ ] }, "list": { + "description": "Lists all current APKs of the app and edit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks", "httpMethod": "GET", "id": "androidpublisher.edits.apks.list", "parameterOrder": [ @@ -263,19 +303,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/apks", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks", "response": { "$ref": "ApksListResponse" }, @@ -284,6 +324,8 @@ ] }, "upload": { + "description": "Uploads an APK and adds to the current edit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks", "httpMethod": "POST", "id": "androidpublisher.edits.apks.upload", "mediaUpload": { @@ -291,12 +333,8 @@ "application/octet-stream", "application/vnd.android.package-archive" ], - "maxSize": "1GB", + "maxSize": "10737418240", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks" - }, "simple": { "multipart": true, "path": "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks" @@ -309,19 +347,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/apks", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks", "response": { "$ref": "Apk" }, @@ -335,6 +373,8 @@ "bundles": { "methods": { "list": { + "description": "Lists all current Android App Bundles of the app and edit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles", "httpMethod": "GET", "id": "androidpublisher.edits.bundles.list", "parameterOrder": [ @@ -343,19 +383,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/bundles", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles", "response": { "$ref": "BundlesListResponse" }, @@ -364,19 +404,16 @@ ] }, "upload": { - "description": "Uploads a new Android App Bundle to this edit. If you are using the Google API client libraries, please increase the timeout of the http request before calling this endpoint (a timeout of 2 minutes is recommended). See: https://developers.google.com/api-client-library/java/google-api-java-client/errors for an example in java.", + "description": "Uploads a new Android App Bundle to this edit.\nIf you are using the Google API client libraries, please increase the\ntimeout of the http request before calling this endpoint\n(a timeout of 2 minutes is recommended).\nSee [Timeouts and\nErrors](https://developers.google.com/api-client-library/java/google-api-java-client/errors)\nfor an example in java.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles", "httpMethod": "POST", "id": "androidpublisher.edits.bundles.upload", "mediaUpload": { "accept": [ "application/octet-stream" ], - "maxSize": "2GB", + "maxSize": "10737418240", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles" - }, "simple": { "multipart": true, "path": "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles" @@ -389,24 +426,24 @@ ], "parameters": { "ackBundleInstallationWarning": { - "description": "Must be set to true if the bundle installation may trigger a warning on user devices (for example, if installation size may be over a threshold, typically 100 MB).", + "description": "Must be set to true if the bundle installation may trigger a warning on\nuser devices (for example, if installation size may be over a threshold,\ntypically 100 MB).", "location": "query", "type": "boolean" }, "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/bundles", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/bundles", "response": { "$ref": "Bundle" }, @@ -420,19 +457,16 @@ "deobfuscationfiles": { "methods": { "upload": { - "description": "Uploads the deobfuscation file of the specified APK. If a deobfuscation file already exists, it will be replaced.", + "description": "Uploads a new deobfuscation file and attaches to the specified APK.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}", "httpMethod": "POST", "id": "androidpublisher.edits.deobfuscationfiles.upload", "mediaUpload": { "accept": [ "application/octet-stream" ], - "maxSize": "300MB", + "maxSize": "314572800", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}" - }, "simple": { "multipart": true, "path": "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}" @@ -447,18 +481,18 @@ ], "parameters": { "apkVersionCode": { - "description": "The version code of the APK whose deobfuscation file is being uploaded.", + "description": "The version code of the APK whose Deobfuscation File is being\nuploaded.", "format": "int32", "location": "path", "required": true, "type": "integer" }, "deobfuscationFileType": { + "description": "The type of the deobfuscation file.", "enum": [ - "proguard" - ], - "enumDescriptions": [ - "" + "deobfuscationFileTypeUnspecified", + "proguard", + "nativeCode" ], "location": "path", "required": true, @@ -471,13 +505,13 @@ "type": "string" }, "packageName": { - "description": "Unique identifier of the Android app for which the deobfuscatiuon files are being uploaded; for example, \"com.spiffygame\".", + "description": "Unique identifier for the Android app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/deobfuscationFiles/{deobfuscationFileType}", "response": { "$ref": "DeobfuscationFilesUploadResponse" }, @@ -491,7 +525,8 @@ "details": { "methods": { "get": { - "description": "Fetches app details for this edit. This includes the default language and developer support contact information.", + "description": "Gets details of an app.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/details", "httpMethod": "GET", "id": "androidpublisher.edits.details.get", "parameterOrder": [ @@ -500,19 +535,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/details", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/details", "response": { "$ref": "AppDetails" }, @@ -521,7 +556,8 @@ ] }, "patch": { - "description": "Updates app details for this edit. This method supports patch semantics.", + "description": "Patches details of an app.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/details", "httpMethod": "PATCH", "id": "androidpublisher.edits.details.patch", "parameterOrder": [ @@ -530,19 +566,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/details", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/details", "request": { "$ref": "AppDetails" }, @@ -554,7 +590,8 @@ ] }, "update": { - "description": "Updates app details for this edit.", + "description": "Updates details of an app.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/details", "httpMethod": "PUT", "id": "androidpublisher.edits.details.update", "parameterOrder": [ @@ -563,19 +600,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/details", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/details", "request": { "$ref": "AppDetails" }, @@ -591,7 +628,8 @@ "expansionfiles": { "methods": { "get": { - "description": "Fetches the Expansion File configuration for the APK specified.", + "description": "Fetches the expansion file configuration for the specified APK.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", "httpMethod": "GET", "id": "androidpublisher.edits.expansionfiles.get", "parameterOrder": [ @@ -602,39 +640,37 @@ ], "parameters": { "apkVersionCode": { - "description": "The version code of the APK whose Expansion File configuration is being read or modified.", + "description": "The version code of the APK whose expansion file configuration is being\nread or modified.", "format": "int32", "location": "path", "required": true, "type": "integer" }, "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "expansionFileType": { + "description": "The file type of the file configuration which is being read or modified.", "enum": [ + "expansionFileTypeUnspecified", "main", "patch" ], - "enumDescriptions": [ - "", - "" - ], "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", "response": { "$ref": "ExpansionFile" }, @@ -643,7 +679,8 @@ ] }, "patch": { - "description": "Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method. This method supports patch semantics.", + "description": "Patches the APK's expansion file configuration to reference another APK's\nexpansion file.\nTo add a new expansion file use the Upload method.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", "httpMethod": "PATCH", "id": "androidpublisher.edits.expansionfiles.patch", "parameterOrder": [ @@ -654,39 +691,37 @@ ], "parameters": { "apkVersionCode": { - "description": "The version code of the APK whose Expansion File configuration is being read or modified.", + "description": "The version code of the APK whose expansion file configuration is being\nread or modified.", "format": "int32", "location": "path", "required": true, "type": "integer" }, "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "expansionFileType": { + "description": "The file type of the expansion file configuration which is being updated.", "enum": [ + "expansionFileTypeUnspecified", "main", "patch" ], - "enumDescriptions": [ - "", - "" - ], "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", "request": { "$ref": "ExpansionFile" }, @@ -698,7 +733,8 @@ ] }, "update": { - "description": "Updates the APK's Expansion File configuration to reference another APK's Expansion Files. To add a new Expansion File use the Upload method.", + "description": "Updates the APK's expansion file configuration to reference another APK's\nexpansion file.\nTo add a new expansion file use the Upload method.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", "httpMethod": "PUT", "id": "androidpublisher.edits.expansionfiles.update", "parameterOrder": [ @@ -709,39 +745,37 @@ ], "parameters": { "apkVersionCode": { - "description": "The version code of the APK whose Expansion File configuration is being read or modified.", + "description": "The version code of the APK whose expansion file configuration is being\nread or modified.", "format": "int32", "location": "path", "required": true, "type": "integer" }, "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "expansionFileType": { + "description": "The file type of the file configuration which is being read or modified.", "enum": [ + "expansionFileTypeUnspecified", "main", "patch" ], - "enumDescriptions": [ - "", - "" - ], "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", "request": { "$ref": "ExpansionFile" }, @@ -753,19 +787,16 @@ ] }, "upload": { - "description": "Uploads and attaches a new Expansion File to the APK specified.", + "description": "Uploads a new expansion file and attaches to the specified APK.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", "httpMethod": "POST", "id": "androidpublisher.edits.expansionfiles.upload", "mediaUpload": { "accept": [ "application/octet-stream" ], - "maxSize": "2048MB", + "maxSize": "2147483648", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}" - }, "simple": { "multipart": true, "path": "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}" @@ -780,39 +811,37 @@ ], "parameters": { "apkVersionCode": { - "description": "The version code of the APK whose Expansion File configuration is being read or modified.", + "description": "The version code of the APK whose expansion file configuration is being\nread or modified.", "format": "int32", "location": "path", "required": true, "type": "integer" }, "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "expansionFileType": { + "description": "The file type of the expansion file configuration which is being updated.", "enum": [ + "expansionFileTypeUnspecified", "main", "patch" ], - "enumDescriptions": [ - "", - "" - ], "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/apks/{apkVersionCode}/expansionFiles/{expansionFileType}", "response": { "$ref": "ExpansionFilesUploadResponse" }, @@ -827,6 +856,7 @@ "methods": { "delete": { "description": "Deletes the image (specified by id) from the edit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}", "httpMethod": "DELETE", "id": "androidpublisher.edits.images.delete", "parameterOrder": [ @@ -838,7 +868,7 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" @@ -850,56 +880,44 @@ "type": "string" }, "imageType": { + "description": "Type of the Image.", "enum": [ - "automotiveScreenshots", - "daydreamStereoImage", - "featureGraphic", - "icon", + "appImageTypeUnspecified", "phoneScreenshots", - "promoGraphic", "sevenInchScreenshots", "tenInchScreenshots", - "tvBanner", "tvScreenshots", - "wearScreenshots" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "wearScreenshots", + "icon", + "featureGraphic", + "promoGraphic", + "tvBanner" ], "location": "path", "required": true, "type": "string" }, "language": { - "description": "The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}/{imageId}", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] }, "deleteall": { - "description": "Deletes all images for the specified language and image type.", + "description": "Deletes all images for the specified language and image type.\nReturns an empty response if no images are found.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}", "httpMethod": "DELETE", "id": "androidpublisher.edits.images.deleteall", "parameterOrder": [ @@ -910,56 +928,43 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "imageType": { + "description": "Type of the Image.\nProviding an image type that refers to no images is a no-op.", "enum": [ - "automotiveScreenshots", - "daydreamStereoImage", - "featureGraphic", - "icon", + "appImageTypeUnspecified", "phoneScreenshots", - "promoGraphic", "sevenInchScreenshots", "tenInchScreenshots", - "tvBanner", "tvScreenshots", - "wearScreenshots" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "wearScreenshots", + "icon", + "featureGraphic", + "promoGraphic", + "tvBanner" ], "location": "path", "required": true, "type": "string" }, "language": { - "description": "The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).\nProviding a language that is not supported by the App is a no-op.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings/{language}/{imageType}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}", "response": { "$ref": "ImagesDeleteAllResponse" }, @@ -968,7 +973,8 @@ ] }, "list": { - "description": "Lists all images for the specified language and image type.", + "description": "Lists all images. The response may be empty.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}", "httpMethod": "GET", "id": "androidpublisher.edits.images.list", "parameterOrder": [ @@ -979,56 +985,43 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "imageType": { + "description": "Type of the Image. Providing an image type that refers to no images will\nreturn an empty response.", "enum": [ - "automotiveScreenshots", - "daydreamStereoImage", - "featureGraphic", - "icon", + "appImageTypeUnspecified", "phoneScreenshots", - "promoGraphic", "sevenInchScreenshots", "tenInchScreenshots", - "tvBanner", "tvScreenshots", - "wearScreenshots" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "wearScreenshots", + "icon", + "featureGraphic", + "promoGraphic", + "tvBanner" ], "location": "path", "required": true, "type": "string" }, "language": { - "description": "The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).\nThere must be a store listing for the specified language.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings/{language}/{imageType}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}", "response": { "$ref": "ImagesListResponse" }, @@ -1037,19 +1030,16 @@ ] }, "upload": { - "description": "Uploads a new image and adds it to the list of images for the specified language and image type.", + "description": "Uploads an image of the specified language and image type, and adds to the\nedit.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}", "httpMethod": "POST", "id": "androidpublisher.edits.images.upload", "mediaUpload": { "accept": [ "image/*" ], - "maxSize": "15MB", + "maxSize": "15728640", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}" - }, "simple": { "multipart": true, "path": "/upload/androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}" @@ -1064,56 +1054,43 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "imageType": { + "description": "Type of the Image.", "enum": [ - "automotiveScreenshots", - "daydreamStereoImage", - "featureGraphic", - "icon", + "appImageTypeUnspecified", "phoneScreenshots", - "promoGraphic", "sevenInchScreenshots", "tenInchScreenshots", - "tvBanner", "tvScreenshots", - "wearScreenshots" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "" + "wearScreenshots", + "icon", + "featureGraphic", + "promoGraphic", + "tvBanner" ], "location": "path", "required": true, "type": "string" }, "language": { - "description": "The language code (a BCP-47 language tag) of the localized listing whose images are to read or modified. For example, to select Austrian German, pass \"de-AT\".", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).\nProviding a language that is not supported by the App is a no-op.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings/{language}/{imageType}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}/{imageType}", "response": { "$ref": "ImagesUploadResponse" }, @@ -1127,7 +1104,8 @@ "listings": { "methods": { "delete": { - "description": "Deletes the specified localized store listing from an edit.", + "description": "Deletes a localized store listing.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}", "httpMethod": "DELETE", "id": "androidpublisher.edits.listings.delete", "parameterOrder": [ @@ -1137,31 +1115,32 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "language": { - "description": "The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings/{language}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] }, "deleteall": { - "description": "Deletes all localized listings from an edit.", + "description": "Deletes all store listings.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings", "httpMethod": "DELETE", "id": "androidpublisher.edits.listings.deleteall", "parameterOrder": [ @@ -1170,25 +1149,26 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] }, "get": { - "description": "Fetches information about a localized store listing.", + "description": "Gets a localized store listing.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}", "httpMethod": "GET", "id": "androidpublisher.edits.listings.get", "parameterOrder": [ @@ -1198,25 +1178,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "language": { - "description": "The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings/{language}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}", "response": { "$ref": "Listing" }, @@ -1225,7 +1205,8 @@ ] }, "list": { - "description": "Returns all of the localized store listings attached to this edit.", + "description": "Lists all localized store listings.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings", "httpMethod": "GET", "id": "androidpublisher.edits.listings.list", "parameterOrder": [ @@ -1234,19 +1215,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings", "response": { "$ref": "ListingsListResponse" }, @@ -1255,7 +1236,8 @@ ] }, "patch": { - "description": "Creates or updates a localized store listing. This method supports patch semantics.", + "description": "Patches a localized store listing.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}", "httpMethod": "PATCH", "id": "androidpublisher.edits.listings.patch", "parameterOrder": [ @@ -1265,25 +1247,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "language": { - "description": "The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings/{language}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}", "request": { "$ref": "Listing" }, @@ -1296,6 +1278,7 @@ }, "update": { "description": "Creates or updates a localized store listing.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}", "httpMethod": "PUT", "id": "androidpublisher.edits.listings.update", "parameterOrder": [ @@ -1305,25 +1288,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "language": { - "description": "The language code (a BCP-47 language tag) of the localized listing to read or modify. For example, to select Austrian German, pass \"de-AT\".", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/listings/{language}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/listings/{language}", "request": { "$ref": "Listing" }, @@ -1339,6 +1322,8 @@ "testers": { "methods": { "get": { + "description": "Gets testers.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}", "httpMethod": "GET", "id": "androidpublisher.edits.testers.get", "parameterOrder": [ @@ -1348,25 +1333,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "track": { - "description": "The track to read or modify.", + "description": "The track to read from.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/testers/{track}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}", "response": { "$ref": "Testers" }, @@ -1375,6 +1360,8 @@ ] }, "patch": { + "description": "Patches testers.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}", "httpMethod": "PATCH", "id": "androidpublisher.edits.testers.patch", "parameterOrder": [ @@ -1384,25 +1371,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "track": { - "description": "The track to read or modify.", + "description": "The track to update.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/testers/{track}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}", "request": { "$ref": "Testers" }, @@ -1414,6 +1401,8 @@ ] }, "update": { + "description": "Updates testers.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}", "httpMethod": "PUT", "id": "androidpublisher.edits.testers.update", "parameterOrder": [ @@ -1423,25 +1412,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "track": { - "description": "The track to read or modify.", + "description": "The track to update.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/testers/{track}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/testers/{track}", "request": { "$ref": "Testers" }, @@ -1457,7 +1446,8 @@ "tracks": { "methods": { "get": { - "description": "Fetches the track configuration for the specified track type. Includes the APK version codes that are in this track.", + "description": "Gets a track.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}", "httpMethod": "GET", "id": "androidpublisher.edits.tracks.get", "parameterOrder": [ @@ -1467,25 +1457,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "track": { - "description": "The track to read or modify.", + "description": "Identifier of the track.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/tracks/{track}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}", "response": { "$ref": "Track" }, @@ -1494,7 +1484,8 @@ ] }, "list": { - "description": "Lists all the track configurations for this edit.", + "description": "Lists all tracks.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks", "httpMethod": "GET", "id": "androidpublisher.edits.tracks.list", "parameterOrder": [ @@ -1503,19 +1494,19 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/tracks", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks", "response": { "$ref": "TracksListResponse" }, @@ -1524,7 +1515,8 @@ ] }, "patch": { - "description": "Updates the track configuration for the specified track type. This method supports patch semantics.", + "description": "Patches a track.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}", "httpMethod": "PATCH", "id": "androidpublisher.edits.tracks.patch", "parameterOrder": [ @@ -1534,25 +1526,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "track": { - "description": "The track to read or modify.", + "description": "Identifier of the track.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/tracks/{track}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}", "request": { "$ref": "Track" }, @@ -1564,7 +1556,8 @@ ] }, "update": { - "description": "Updates the track configuration for the specified track type.", + "description": "Updates a track.", + "flatPath": "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}", "httpMethod": "PUT", "id": "androidpublisher.edits.tracks.update", "parameterOrder": [ @@ -1574,25 +1567,25 @@ ], "parameters": { "editId": { - "description": "Unique identifier for this edit.", + "description": "Identifier of the edit.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "Unique identifier for the Android app that is being updated; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "track": { - "description": "The track to read or modify.", + "description": "Identifier of the track.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/edits/{editId}/tracks/{track}", + "path": "androidpublisher/v3/applications/{packageName}/edits/{editId}/tracks/{track}", "request": { "$ref": "Track" }, @@ -1610,7 +1603,8 @@ "inappproducts": { "methods": { "delete": { - "description": "Delete an in-app product for an app.", + "description": "Deletes an in-app product (i.e. a managed product or a subscriptions).", + "flatPath": "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}", "httpMethod": "DELETE", "id": "androidpublisher.inappproducts.delete", "parameterOrder": [ @@ -1619,7 +1613,7 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" @@ -1631,13 +1625,14 @@ "type": "string" } }, - "path": "{packageName}/inappproducts/{sku}", + "path": "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] }, "get": { - "description": "Returns information about the in-app product specified.", + "description": "Gets an in-app product, which can be a managed product or a subscription.", + "flatPath": "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}", "httpMethod": "GET", "id": "androidpublisher.inappproducts.get", "parameterOrder": [ @@ -1646,6 +1641,7 @@ ], "parameters": { "packageName": { + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" @@ -1657,7 +1653,7 @@ "type": "string" } }, - "path": "{packageName}/inappproducts/{sku}", + "path": "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}", "response": { "$ref": "InAppProduct" }, @@ -1666,7 +1662,8 @@ ] }, "insert": { - "description": "Creates a new in-app product for an app.", + "description": "Creates an in-app product (i.e. a managed product or a subscriptions).", + "flatPath": "androidpublisher/v3/applications/{packageName}/inappproducts", "httpMethod": "POST", "id": "androidpublisher.inappproducts.insert", "parameterOrder": [ @@ -1674,18 +1671,18 @@ ], "parameters": { "autoConvertMissingPrices": { - "description": "If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.", + "description": "If true the prices for all regions targeted by the parent app that don't\nhave a price specified for this in-app product will be auto converted to\nthe target currency based on the default price. Defaults to false.", "location": "query", "type": "boolean" }, "packageName": { - "description": "Unique identifier for the Android app; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/inappproducts", + "path": "androidpublisher/v3/applications/{packageName}/inappproducts", "request": { "$ref": "InAppProduct" }, @@ -1697,7 +1694,8 @@ ] }, "list": { - "description": "List all the in-app products for an Android app, both subscriptions and managed in-app products..", + "description": "Lists all in-app products - both managed products and subscriptions.", + "flatPath": "androidpublisher/v3/applications/{packageName}/inappproducts", "httpMethod": "GET", "id": "androidpublisher.inappproducts.list", "parameterOrder": [ @@ -1705,27 +1703,30 @@ ], "parameters": { "maxResults": { + "description": "How many results the list operation should return.", "format": "uint32", "location": "query", "type": "integer" }, "packageName": { - "description": "Unique identifier for the Android app with in-app products; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "startIndex": { + "description": "The index of the first element to return.", "format": "uint32", "location": "query", "type": "integer" }, "token": { + "description": "Pagination token. If empty, list starts at the first product.", "location": "query", "type": "string" } }, - "path": "{packageName}/inappproducts", + "path": "androidpublisher/v3/applications/{packageName}/inappproducts", "response": { "$ref": "InappproductsListResponse" }, @@ -1734,7 +1735,8 @@ ] }, "patch": { - "description": "Updates the details of an in-app product. This method supports patch semantics.", + "description": "Patches an in-app product (i.e. a managed product or a subscriptions).", + "flatPath": "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}", "httpMethod": "PATCH", "id": "androidpublisher.inappproducts.patch", "parameterOrder": [ @@ -1743,12 +1745,12 @@ ], "parameters": { "autoConvertMissingPrices": { - "description": "If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.", + "description": "If true the prices for all regions targeted by the parent app that don't\nhave a price specified for this in-app product will be auto converted to\nthe target currency based on the default price. Defaults to false.", "location": "query", "type": "boolean" }, "packageName": { - "description": "Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" @@ -1760,7 +1762,7 @@ "type": "string" } }, - "path": "{packageName}/inappproducts/{sku}", + "path": "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}", "request": { "$ref": "InAppProduct" }, @@ -1772,7 +1774,8 @@ ] }, "update": { - "description": "Updates the details of an in-app product.", + "description": "Updates an in-app product (i.e. a managed product or a subscriptions).", + "flatPath": "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}", "httpMethod": "PUT", "id": "androidpublisher.inappproducts.update", "parameterOrder": [ @@ -1781,12 +1784,12 @@ ], "parameters": { "autoConvertMissingPrices": { - "description": "If true the prices for all regions targeted by the parent app that don't have a price specified for this in-app product will be auto converted to the target currency based on the default price. Defaults to false.", + "description": "If true the prices for all regions targeted by the parent app that don't\nhave a price specified for this in-app product will be auto converted to\nthe target currency based on the default price. Defaults to false.", "location": "query", "type": "boolean" }, "packageName": { - "description": "Unique identifier for the Android app with the in-app product; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" @@ -1798,7 +1801,7 @@ "type": "string" } }, - "path": "{packageName}/inappproducts/{sku}", + "path": "androidpublisher/v3/applications/{packageName}/inappproducts/{sku}", "request": { "$ref": "InAppProduct" }, @@ -1814,7 +1817,8 @@ "internalappsharingartifacts": { "methods": { "uploadapk": { - "description": "Uploads an APK to internal app sharing. If you are using the Google API client libraries, please increase the timeout of the http request before calling this endpoint (a timeout of 2 minutes is recommended). See: https://developers.google.com/api-client-library/java/google-api-java-client/errors for an example in java.", + "description": "Uploads an APK to internal app sharing.\nIf you are using the Google API client libraries, please increase the\ntimeout of the http request before calling this endpoint\n(a timeout of 2 minutes is recommended).\n\nSee [Timeouts and\nErrors](https://developers.google.com/api-client-library/java/google-api-java-client/errors)\nfor an example in java.", + "flatPath": "androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/apk", "httpMethod": "POST", "id": "androidpublisher.internalappsharingartifacts.uploadapk", "mediaUpload": { @@ -1822,12 +1826,8 @@ "application/octet-stream", "application/vnd.android.package-archive" ], - "maxSize": "1GB", + "maxSize": "1073741824", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/apk" - }, "simple": { "multipart": true, "path": "/upload/androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/apk" @@ -1839,13 +1839,13 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "internalappsharing/{packageName}/artifacts/apk", + "path": "androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/apk", "response": { "$ref": "InternalAppSharingArtifact" }, @@ -1855,19 +1855,16 @@ "supportsMediaUpload": true }, "uploadbundle": { - "description": "Uploads an app bundle to internal app sharing. If you are using the Google API client libraries, please increase the timeout of the http request before calling this endpoint (a timeout of 2 minutes is recommended). See: https://developers.google.com/api-client-library/java/google-api-java-client/errors for an example in java.", + "description": "Uploads an app bundle to internal app sharing.\nIf you are using the Google API client libraries, please increase the\ntimeout of the http request before calling this endpoint\n(a timeout of 2 minutes is recommended).\n\nSee [Timeouts and\nErrors](https://developers.google.com/api-client-library/java/google-api-java-client/errors)\nfor an example in java.", + "flatPath": "androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/bundle", "httpMethod": "POST", "id": "androidpublisher.internalappsharingartifacts.uploadbundle", "mediaUpload": { "accept": [ "application/octet-stream" ], - "maxSize": "2GB", + "maxSize": "10737418240", "protocols": { - "resumable": { - "multipart": true, - "path": "/resumable/upload/androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/bundle" - }, "simple": { "multipart": true, "path": "/upload/androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/bundle" @@ -1879,13 +1876,13 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" } }, - "path": "internalappsharing/{packageName}/artifacts/bundle", + "path": "androidpublisher/v3/applications/internalappsharing/{packageName}/artifacts/bundle", "response": { "$ref": "InternalAppSharingArtifact" }, @@ -1900,6 +1897,7 @@ "methods": { "refund": { "description": "Refund a user's subscription or in-app purchase order.", + "flatPath": "androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund", "httpMethod": "POST", "id": "androidpublisher.orders.refund", "parameterOrder": [ @@ -1908,24 +1906,24 @@ ], "parameters": { "orderId": { - "description": "The order ID provided to the user when the subscription or in-app order was purchased.", + "description": "The order ID provided to the user when the subscription or in-app order was\npurchased.", "location": "path", "required": true, "type": "string" }, "packageName": { - "description": "The package name of the application for which this subscription or in-app item was purchased (for example, 'com.some.thing').", + "description": "The package name of the application for which this subscription or in-app\nitem was purchased (for example, 'com.some.thing').", "location": "path", "required": true, "type": "string" }, "revoke": { - "description": "Whether to revoke the purchased item. If set to true, access to the subscription or in-app item will be terminated immediately. If the item is a recurring subscription, all future payments will also be terminated. Consumed in-app items need to be handled by developer's app. (optional)", + "description": "Whether to revoke the purchased item. If set to true, access to the\nsubscription or in-app item will be terminated immediately. If the item is\na recurring subscription, all future payments will also be terminated.\nConsumed in-app items need to be handled by developer's app. (optional).", "location": "query", "type": "boolean" } }, - "path": "{packageName}/orders/{orderId}:refund", + "path": "androidpublisher/v3/applications/{packageName}/orders/{orderId}:refund", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] @@ -1938,6 +1936,7 @@ "methods": { "acknowledge": { "description": "Acknowledges a purchase of an inapp item.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:acknowledge", "httpMethod": "POST", "id": "androidpublisher.purchases.products.acknowledge", "parameterOrder": [ @@ -1947,7 +1946,7 @@ ], "parameters": { "packageName": { - "description": "The package name of the application the inapp product was sold in (for example, 'com.some.thing').", + "description": "The package name of the application the inapp product was sold in (for\nexample, 'com.some.thing').", "location": "path", "required": true, "type": "string" @@ -1959,13 +1958,13 @@ "type": "string" }, "token": { - "description": "The token provided to the user's device when the subscription was purchased.", + "description": "The token provided to the user's device when the inapp product was\npurchased.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/purchases/products/{productId}/tokens/{token}:acknowledge", + "path": "androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}:acknowledge", "request": { "$ref": "ProductPurchasesAcknowledgeRequest" }, @@ -1975,6 +1974,7 @@ }, "get": { "description": "Checks the purchase and consumption status of an inapp item.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}", "httpMethod": "GET", "id": "androidpublisher.purchases.products.get", "parameterOrder": [ @@ -1984,7 +1984,7 @@ ], "parameters": { "packageName": { - "description": "The package name of the application the inapp product was sold in (for example, 'com.some.thing').", + "description": "The package name of the application the inapp product was sold in (for\nexample, 'com.some.thing').", "location": "path", "required": true, "type": "string" @@ -1996,13 +1996,13 @@ "type": "string" }, "token": { - "description": "The token provided to the user's device when the inapp product was purchased.", + "description": "The token provided to the user's device when the inapp product was\npurchased.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/purchases/products/{productId}/tokens/{token}", + "path": "androidpublisher/v3/applications/{packageName}/purchases/products/{productId}/tokens/{token}", "response": { "$ref": "ProductPurchase" }, @@ -2016,6 +2016,7 @@ "methods": { "acknowledge": { "description": "Acknowledges a subscription purchase.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:acknowledge", "httpMethod": "POST", "id": "androidpublisher.purchases.subscriptions.acknowledge", "parameterOrder": [ @@ -2025,7 +2026,7 @@ ], "parameters": { "packageName": { - "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').", + "description": "The package name of the application for which this subscription was\npurchased (for example, 'com.some.thing').", "location": "path", "required": true, "type": "string" @@ -2037,13 +2038,13 @@ "type": "string" }, "token": { - "description": "The token provided to the user's device when the subscription was purchased.", + "description": "The token provided to the user's device when the subscription was\npurchased.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:acknowledge", + "path": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:acknowledge", "request": { "$ref": "SubscriptionPurchasesAcknowledgeRequest" }, @@ -2052,7 +2053,8 @@ ] }, "cancel": { - "description": "Cancels a user's subscription purchase. The subscription remains valid until its expiration time.", + "description": "Cancels a user's subscription purchase. The subscription remains valid\nuntil its expiration time.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel", "httpMethod": "POST", "id": "androidpublisher.purchases.subscriptions.cancel", "parameterOrder": [ @@ -2062,7 +2064,7 @@ ], "parameters": { "packageName": { - "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').", + "description": "The package name of the application for which this subscription was\npurchased (for example, 'com.some.thing').", "location": "path", "required": true, "type": "string" @@ -2074,19 +2076,20 @@ "type": "string" }, "token": { - "description": "The token provided to the user's device when the subscription was purchased.", + "description": "The token provided to the user's device when the subscription was\npurchased.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel", + "path": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:cancel", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] }, "defer": { - "description": "Defers a user's subscription purchase until a specified future expiration time.", + "description": "Defers a user's subscription purchase until a specified future expiration\ntime.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer", "httpMethod": "POST", "id": "androidpublisher.purchases.subscriptions.defer", "parameterOrder": [ @@ -2096,7 +2099,7 @@ ], "parameters": { "packageName": { - "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').", + "description": "The package name of the application for which this subscription was\npurchased (for example, 'com.some.thing').", "location": "path", "required": true, "type": "string" @@ -2108,13 +2111,13 @@ "type": "string" }, "token": { - "description": "The token provided to the user's device when the subscription was purchased.", + "description": "The token provided to the user's device when the subscription was\npurchased.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer", + "path": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:defer", "request": { "$ref": "SubscriptionPurchasesDeferRequest" }, @@ -2126,7 +2129,8 @@ ] }, "get": { - "description": "Checks whether a user's subscription purchase is valid and returns its expiry time.", + "description": "Checks whether a user's subscription purchase is valid and returns its\nexpiry time.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}", "httpMethod": "GET", "id": "androidpublisher.purchases.subscriptions.get", "parameterOrder": [ @@ -2136,7 +2140,7 @@ ], "parameters": { "packageName": { - "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').", + "description": "The package name of the application for which this subscription was\npurchased (for example, 'com.some.thing').", "location": "path", "required": true, "type": "string" @@ -2148,13 +2152,13 @@ "type": "string" }, "token": { - "description": "The token provided to the user's device when the subscription was purchased.", + "description": "The token provided to the user's device when the subscription was\npurchased.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}", + "path": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}", "response": { "$ref": "SubscriptionPurchase" }, @@ -2163,7 +2167,8 @@ ] }, "refund": { - "description": "Refunds a user's subscription purchase, but the subscription remains valid until its expiration time and it will continue to recur.", + "description": "Refunds a user's subscription purchase, but the subscription remains valid\nuntil its expiration time and it will continue to recur.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund", "httpMethod": "POST", "id": "androidpublisher.purchases.subscriptions.refund", "parameterOrder": [ @@ -2173,31 +2178,32 @@ ], "parameters": { "packageName": { - "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').", + "description": "The package name of the application for which this subscription was\npurchased (for example, 'com.some.thing').", "location": "path", "required": true, "type": "string" }, "subscriptionId": { - "description": "The purchased subscription ID (for example, 'monthly001').", + "description": "\"The purchased subscription ID (for example, 'monthly001').", "location": "path", "required": true, "type": "string" }, "token": { - "description": "The token provided to the user's device when the subscription was purchased.", + "description": "The token provided to the user's device when the subscription was\npurchased.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund", + "path": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:refund", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] }, "revoke": { - "description": "Refunds and immediately revokes a user's subscription purchase. Access to the subscription will be terminated immediately and it will stop recurring.", + "description": "Refunds and immediately revokes a user's subscription purchase. Access to\nthe subscription will be terminated immediately and it will stop recurring.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke", "httpMethod": "POST", "id": "androidpublisher.purchases.subscriptions.revoke", "parameterOrder": [ @@ -2207,7 +2213,7 @@ ], "parameters": { "packageName": { - "description": "The package name of the application for which this subscription was purchased (for example, 'com.some.thing').", + "description": "The package name of the application for which this subscription was\npurchased (for example, 'com.some.thing').", "location": "path", "required": true, "type": "string" @@ -2219,13 +2225,13 @@ "type": "string" }, "token": { - "description": "The token provided to the user's device when the subscription was purchased.", + "description": "The token provided to the user's device when the subscription was\npurchased.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke", + "path": "androidpublisher/v3/applications/{packageName}/purchases/subscriptions/{subscriptionId}/tokens/{token}:revoke", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ] @@ -2236,6 +2242,7 @@ "methods": { "list": { "description": "Lists the purchases that were canceled, refunded or charged-back.", + "flatPath": "androidpublisher/v3/applications/{packageName}/purchases/voidedpurchases", "httpMethod": "GET", "id": "androidpublisher.purchases.voidedpurchases.list", "parameterOrder": [ @@ -2243,45 +2250,48 @@ ], "parameters": { "endTime": { - "description": "The time, in milliseconds since the Epoch, of the newest voided purchase that you want to see in the response. The value of this parameter cannot be greater than the current time and is ignored if a pagination token is set. Default value is current time. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response.", + "description": "The time, in milliseconds since the Epoch, of the newest voided purchase\nthat you want to see in the response. The value of this parameter cannot\nbe greater than the current time and is ignored if a pagination token is\nset. Default value is current time.\nNote: This filter is applied on the time at which the record is seen as\nvoided by our systems and not the actual voided time returned in the\nresponse.", "format": "int64", "location": "query", "type": "string" }, "maxResults": { + "description": "Defines how many results the list operation should return.\nThe default number depends on the resource collection.", "format": "uint32", "location": "query", "type": "integer" }, "packageName": { - "description": "The package name of the application for which voided purchases need to be returned (for example, 'com.some.thing').", + "description": "The package name of the application for which voided purchases need to be\nreturned (for example, 'com.some.thing').", "location": "path", "required": true, "type": "string" }, "startIndex": { + "description": "Defines the index of the first element to return.\nThis can only be used if indexed paging is enabled.", "format": "uint32", "location": "query", "type": "integer" }, "startTime": { - "description": "The time, in milliseconds since the Epoch, of the oldest voided purchase that you want to see in the response. The value of this parameter cannot be older than 30 days and is ignored if a pagination token is set. Default value is current time minus 30 days. Note: This filter is applied on the time at which the record is seen as voided by our systems and not the actual voided time returned in the response.", + "description": "The time, in milliseconds since the Epoch, of the oldest voided purchase\nthat you want to see in the response. The value of this parameter cannot\nbe older than 30 days and is ignored if a pagination token is set.\nDefault value is current time minus 30 days.\nNote: This filter is applied on the time at which the record is seen as\nvoided by our systems and not the actual voided time returned in the\nresponse.", "format": "int64", "location": "query", "type": "string" }, "token": { + "description": "Defines the token of the page to return, usually taken from\nTokenPagination.\nThis can only be used if token paging is enabled.", "location": "query", "type": "string" }, "type": { - "description": "The type of voided purchases that you want to see in the response. Possible values are: \n- 0: Only voided in-app product purchases will be returned in the response. This is the default value.\n- 1: Both voided in-app purchases and voided subscription purchases will be returned in the response. Note: Before requesting to receive voided subscription purchases, you must switch to use orderId in the response which uniquely identifies one-time purchases and subscriptions. Otherwise, you will receive multiple subscription orders with the same PurchaseToken, because subscription renewal orders share the same PurchaseToken.", + "description": "The type of voided purchases that you want to see in the response.\nPossible values are:\n0. Only voided in-app product purchases will be returned in the\n response. This is the default value.\n1. Both voided in-app purchases and voided subscription purchases\n will be returned in the response.\n\nNote: Before requesting to receive voided subscription purchases, you\nmust switch to use orderId in the response which uniquely identifies\none-time purchases and subscriptions. Otherwise, you will receive multiple\nsubscription orders with the same PurchaseToken, because subscription\nrenewal orders share the same PurchaseToken.", "format": "int32", "location": "query", "type": "integer" } }, - "path": "{packageName}/purchases/voidedpurchases", + "path": "androidpublisher/v3/applications/{packageName}/purchases/voidedpurchases", "response": { "$ref": "VoidedPurchasesListResponse" }, @@ -2296,7 +2306,8 @@ "reviews": { "methods": { "get": { - "description": "Returns a single review.", + "description": "Gets a single review.", + "flatPath": "androidpublisher/v3/applications/{packageName}/reviews/{reviewId}", "httpMethod": "GET", "id": "androidpublisher.reviews.get", "parameterOrder": [ @@ -2305,22 +2316,24 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app for which we want reviews; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "reviewId": { + "description": "Unique identifier for a review.", "location": "path", "required": true, "type": "string" }, "translationLanguage": { + "description": "Language localization code.", "location": "query", "type": "string" } }, - "path": "{packageName}/reviews/{reviewId}", + "path": "androidpublisher/v3/applications/{packageName}/reviews/{reviewId}", "response": { "$ref": "Review" }, @@ -2329,7 +2342,8 @@ ] }, "list": { - "description": "Returns a list of reviews. Only reviews from last week will be returned.", + "description": "Lists all reviews.", + "flatPath": "androidpublisher/v3/applications/{packageName}/reviews", "httpMethod": "GET", "id": "androidpublisher.reviews.list", "parameterOrder": [ @@ -2337,31 +2351,35 @@ ], "parameters": { "maxResults": { + "description": "How many results the list operation should return.", "format": "uint32", "location": "query", "type": "integer" }, "packageName": { - "description": "Unique identifier for the Android app for which we want reviews; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "startIndex": { + "description": "The index of the first element to return.", "format": "uint32", "location": "query", "type": "integer" }, "token": { + "description": "Pagination token. If empty, list starts at the first review.", "location": "query", "type": "string" }, "translationLanguage": { + "description": "Language localization code.", "location": "query", "type": "string" } }, - "path": "{packageName}/reviews", + "path": "androidpublisher/v3/applications/{packageName}/reviews", "response": { "$ref": "ReviewsListResponse" }, @@ -2370,7 +2388,8 @@ ] }, "reply": { - "description": "Reply to a single review, or update an existing reply.", + "description": "Replies to a single review, or updates an existing reply.", + "flatPath": "androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply", "httpMethod": "POST", "id": "androidpublisher.reviews.reply", "parameterOrder": [ @@ -2379,18 +2398,19 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app for which we want reviews; for example, \"com.spiffygame\".", + "description": "Package name of the app.", "location": "path", "required": true, "type": "string" }, "reviewId": { + "description": "Unique identifier for a review.", "location": "path", "required": true, "type": "string" } }, - "path": "{packageName}/reviews/{reviewId}:reply", + "path": "androidpublisher/v3/applications/{packageName}/reviews/{reviewId}:reply", "request": { "$ref": "ReviewsReplyRequest" }, @@ -2408,7 +2428,8 @@ "variants": { "methods": { "create": { - "description": "Creates a new variant of APK which is suitable for inclusion in a system image.", + "description": "Creates an APK which is suitable for inclusion in a system image from an\nalready uploaded Android App Bundle.", + "flatPath": "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants", "httpMethod": "POST", "id": "androidpublisher.systemapks.variants.create", "parameterOrder": [ @@ -2417,7 +2438,7 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app; for example, \"com.spiffygame\".", + "description": "Unique identifier of the Android app.", "location": "path", "required": true, "type": "string" @@ -2430,9 +2451,9 @@ "type": "string" } }, - "path": "{packageName}/systemApks/{versionCode}/variants", + "path": "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants", "request": { - "$ref": "SystemApkVariantsCreateRequest" + "$ref": "Variant" }, "response": { "$ref": "Variant" @@ -2442,7 +2463,8 @@ ] }, "download": { - "description": "Download a previously created APK which is suitable for inclusion in a system image.", + "description": "Downloads a previously created system APK which is suitable for inclusion\nin a system image.", + "flatPath": "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}:download", "httpMethod": "GET", "id": "androidpublisher.systemapks.variants.download", "parameterOrder": [ @@ -2452,12 +2474,13 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app; for example, \"com.spiffygame\".", + "description": "Unique identifier of the Android app.", "location": "path", "required": true, "type": "string" }, "variantId": { + "description": "The ID of a previously created system APK variant.", "format": "uint32", "location": "path", "required": true, @@ -2471,7 +2494,7 @@ "type": "string" } }, - "path": "{packageName}/systemApks/{versionCode}/variants/{variantId}:download", + "path": "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}:download", "scopes": [ "https://www.googleapis.com/auth/androidpublisher" ], @@ -2480,6 +2503,7 @@ }, "get": { "description": "Returns a previously created system APK variant.", + "flatPath": "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}", "httpMethod": "GET", "id": "androidpublisher.systemapks.variants.get", "parameterOrder": [ @@ -2489,13 +2513,13 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app; for example, \"com.spiffygame\".", + "description": "Unique identifier of the Android app.", "location": "path", "required": true, "type": "string" }, "variantId": { - "description": "Unique identifier for this variant.", + "description": "The ID of a previously created system APK variant.", "format": "uint32", "location": "path", "required": true, @@ -2509,7 +2533,7 @@ "type": "string" } }, - "path": "{packageName}/systemApks/{versionCode}/variants/{variantId}", + "path": "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants/{variantId}", "response": { "$ref": "Variant" }, @@ -2519,6 +2543,7 @@ }, "list": { "description": "Returns the list of previously created system APK variants.", + "flatPath": "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants", "httpMethod": "GET", "id": "androidpublisher.systemapks.variants.list", "parameterOrder": [ @@ -2527,7 +2552,7 @@ ], "parameters": { "packageName": { - "description": "Unique identifier for the Android app; for example, \"com.spiffygame\".", + "description": "Unique identifier of the Android app.", "location": "path", "required": true, "type": "string" @@ -2540,9 +2565,9 @@ "type": "string" } }, - "path": "{packageName}/systemApks/{versionCode}/variants", + "path": "androidpublisher/v3/applications/{packageName}/systemApks/{versionCode}/variants", "response": { - "$ref": "SystemApkVariantsListResponse" + "$ref": "SystemApksListResponse" }, "scopes": [ "https://www.googleapis.com/auth/androidpublisher" @@ -2553,21 +2578,19 @@ } } }, - "revision": "20200331", + "revision": "20200709", "rootUrl": "https://www.googleapis.com/", "schemas": { "Apk": { + "description": "Information about an APK. The resource for ApksService.", "id": "Apk", "properties": { "binary": { "$ref": "ApkBinary", "description": "Information about the binary payload of this APK." }, - "testBinary": { - "$ref": "ApkBinary" - }, "versionCode": { - "description": "The version code of the APK, as specified in the APK's manifest file.", + "description": "The version code of the APK, as specified in the manifest file.", "format": "int32", "type": "integer" } @@ -2579,17 +2602,18 @@ "id": "ApkBinary", "properties": { "sha1": { - "description": "A sha1 hash of the APK payload, encoded as a hex string and matching the output of the sha1sum command.", + "description": "A sha1 hash of the APK payload, encoded as a hex string and matching the\noutput of the sha1sum command.", "type": "string" }, "sha256": { - "description": "A sha256 hash of the APK payload, encoded as a hex string and matching the output of the sha256sum command.", + "description": "A sha256 hash of the APK payload, encoded as a hex string and matching\nthe output of the sha256sum command.", "type": "string" } }, "type": "object" }, "ApksAddExternallyHostedRequest": { + "description": "Request to create a new externally hosted APK.", "id": "ApksAddExternallyHostedRequest", "properties": { "externallyHostedApk": { @@ -2600,6 +2624,7 @@ "type": "object" }, "ApksAddExternallyHostedResponse": { + "description": "Response for creating a new externally hosted APK.", "id": "ApksAddExternallyHostedResponse", "properties": { "externallyHostedApk": { @@ -2610,23 +2635,25 @@ "type": "object" }, "ApksListResponse": { + "description": "Response listing all APKs.", "id": "ApksListResponse", "properties": { "apks": { + "description": "All APKs.", "items": { "$ref": "Apk" }, "type": "array" }, "kind": { - "default": "androidpublisher#apksListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#apksListResponse\".", + "description": "The kind of this response (\"androidpublisher#apksListResponse\").", "type": "string" } }, "type": "object" }, "AppDetails": { + "description": "The app details. The resource for DetailsService.", "id": "AppDetails", "properties": { "contactEmail": { @@ -2649,33 +2676,34 @@ "type": "object" }, "AppEdit": { - "description": "Represents an edit of an app. An edit allows clients to make multiple changes before committing them in one operation.", + "description": "An app edit. The resource for EditsService.", "id": "AppEdit", "properties": { "expiryTimeSeconds": { - "description": "The time at which the edit will expire and will be no longer valid for use in any subsequent API calls (encoded as seconds since the Epoch).", + "description": "Output only. The time (as seconds since Epoch) at which the edit will expire and\nwill be no longer valid for use.", "type": "string" }, "id": { - "description": "The ID of the edit that can be used in subsequent API calls.", + "description": "Output only. Identifier of the edit. Can be used in subsequent API calls.", "type": "string" } }, "type": "object" }, "Bundle": { + "description": "Information about a bundle. The resource for BundlesService.", "id": "Bundle", "properties": { "sha1": { - "description": "A sha1 hash of the upload payload, encoded as a hex string and matching the output of the sha1sum command.", + "description": "A sha1 hash of the upload payload, encoded as a hex string and matching\nthe output of the sha1sum command.", "type": "string" }, "sha256": { - "description": "A sha256 hash of the upload payload, encoded as a hex string and matching the output of the sha256sum command.", + "description": "A sha256 hash of the upload payload, encoded as a hex string and matching\nthe output of the sha256sum command.", "type": "string" }, "versionCode": { - "description": "The version code of the Android App Bundle. As specified in the Android App Bundle's base module APK manifest file.", + "description": "The version code of the Android App Bundle, as specified in the Android App\nBundle's base module APK manifest file.", "format": "int32", "type": "integer" } @@ -2683,23 +2711,25 @@ "type": "object" }, "BundlesListResponse": { + "description": "Response listing all bundles.", "id": "BundlesListResponse", "properties": { "bundles": { + "description": "All bundles.", "items": { "$ref": "Bundle" }, "type": "array" }, "kind": { - "default": "androidpublisher#bundlesListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#bundlesListResponse\".", + "description": "The kind of this response (\"androidpublisher#bundlesListResponse\").", "type": "string" } }, "type": "object" }, "Comment": { + "description": "An entry of conversation between user and developer.", "id": "Comment", "properties": { "developerComment": { @@ -2713,41 +2743,19 @@ }, "type": "object" }, - "Control": { - "id": "Control", - "properties": { - "modRanges": { - "items": { - "$ref": "ModRange" - }, - "type": "array" - }, - "stratifiedSamplings": { - "items": { - "$ref": "StratifiedSampling" - }, - "type": "array" - }, - "versionCodes": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, "CountryTargeting": { + "description": "Country targeting specification.", "id": "CountryTargeting", "properties": { "countries": { + "description": "Countries to target, specified as two letter [CLDR\ncodes](https://unicode.org/cldr/charts/latest/supplemental/territory_containment_un_m_49.html).", "items": { "type": "string" }, "type": "array" }, "includeRestOfWorld": { + "description": "Include \"rest of world\" as well as explicitly targeted countries.", "type": "boolean" } }, @@ -2759,21 +2767,34 @@ "properties": { "symbolType": { "description": "The type of the deobfuscation file.", + "enum": [ + "deobfuscationFileTypeUnspecified", + "proguard", + "nativeCode" + ], + "enumDescriptions": [ + "Unspecified deobfuscation file type.", + "Proguard deobfuscation file type.", + "Native debugging symbols file type." + ], "type": "string" } }, "type": "object" }, "DeobfuscationFilesUploadResponse": { + "description": "Responses for the upload.", "id": "DeobfuscationFilesUploadResponse", "properties": { "deobfuscationFile": { - "$ref": "DeobfuscationFile" + "$ref": "DeobfuscationFile", + "description": "The uploaded Deobfuscation File configuration." } }, "type": "object" }, "DeveloperComment": { + "description": "Developer entry from conversation between user and developer.", "id": "DeveloperComment", "properties": { "lastModified": { @@ -2788,14 +2809,15 @@ "type": "object" }, "DeviceMetadata": { + "description": "Characteristics of the user's device.", "id": "DeviceMetadata", "properties": { "cpuMake": { - "description": "Device CPU make e.g. \"Qualcomm\"", + "description": "Device CPU make, e.g. \"Qualcomm\"", "type": "string" }, "cpuModel": { - "description": "Device CPU model e.g. \"MSM8974\"", + "description": "Device CPU model, e.g. \"MSM8974\"", "type": "string" }, "deviceClass": { @@ -2820,7 +2842,7 @@ "type": "string" }, "ramMb": { - "description": "Device RAM in Megabytes e.g. \"2048\"", + "description": "Device RAM in Megabytes, e.g. \"2048\"", "format": "int32", "type": "integer" }, @@ -2843,19 +2865,23 @@ "type": "object" }, "DeviceSpec": { + "description": "The device spec used to generate a system APK.", "id": "DeviceSpec", "properties": { "screenDensity": { + "description": "Screen dpi.", "format": "uint32", "type": "integer" }, "supportedAbis": { + "description": "Supported ABI architectures in the order of preference.\nThe values should be the string as reported by the platform, e.g.\n\"armeabi-v7a\", \"x86_64\".", "items": { "type": "string" }, "type": "array" }, "supportedLocales": { + "description": "All installed locales represented as BCP-47 strings, e.g. \"en-US\".", "items": { "type": "string" }, @@ -2865,15 +2891,16 @@ "type": "object" }, "ExpansionFile": { + "description": "An expansion file. The resource for ExpansionFilesService.", "id": "ExpansionFile", "properties": { "fileSize": { - "description": "If set this field indicates that this APK has an Expansion File uploaded to it: this APK does not reference another APK's Expansion File. The field's value is the size of the uploaded Expansion File in bytes.", + "description": "If set, this field indicates that this APK has an expansion file uploaded\nto it: this APK does not reference another APK's expansion file.\nThe field's value is the size of the uploaded expansion file in bytes.", "format": "int64", "type": "string" }, "referencesVersion": { - "description": "If set this APK's Expansion File references another APK's Expansion File. The file_size field will not be set.", + "description": "If set, this APK's expansion file references another APK's expansion file.\nThe file_size field will not be set.", "format": "int32", "type": "integer" } @@ -2881,16 +2908,18 @@ "type": "object" }, "ExpansionFilesUploadResponse": { + "description": "Response for uploading an expansion file.", "id": "ExpansionFilesUploadResponse", "properties": { "expansionFile": { - "$ref": "ExpansionFile" + "$ref": "ExpansionFile", + "description": "The uploaded expansion file configuration." } }, "type": "object" }, "ExternallyHostedApk": { - "description": "Defines an APK available for this application that is hosted externally and not uploaded to Google Play. This function is only available to enterprises who are using Google Play for Work, and whos application is restricted to the enterprise private channel", + "description": "Defines an APK available for this application that is hosted externally\nand not uploaded to Google Play.\nThis function is only available to organizations using Managed Play whose\napplication is configured to restrict distribution to the organizations.", "id": "ExternallyHostedApk", "properties": { "applicationLabel": { @@ -2898,7 +2927,7 @@ "type": "string" }, "certificateBase64s": { - "description": "A certificate (or array of certificates if a certificate-chain is used) used to signed this APK, represented as a base64 encoded byte array.", + "description": "A certificate (or array of certificates if a certificate-chain is used)\nused to sign this APK, represented as a base64 encoded byte array.", "items": { "type": "string" }, @@ -2909,11 +2938,11 @@ "type": "string" }, "fileSha1Base64": { - "description": "The SHA1 checksum of this APK, represented as a base64 encoded byte array.", + "description": "The sha1 checksum of this APK, represented as a base64 encoded byte\narray.", "type": "string" }, "fileSha256Base64": { - "description": "The SHA256 checksum of this APK, represented as a base64 encoded byte array.", + "description": "The sha256 checksum of this APK, represented as a base64 encoded byte\narray.", "type": "string" }, "fileSize": { @@ -2956,7 +2985,7 @@ "usesPermissions": { "description": "The permissions requested by this APK.", "items": { - "$ref": "ExternallyHostedApkUsesPermission" + "$ref": "UsesPermission" }, "type": "array" }, @@ -2972,23 +3001,8 @@ }, "type": "object" }, - "ExternallyHostedApkUsesPermission": { - "description": "A permission used by this APK.", - "id": "ExternallyHostedApkUsesPermission", - "properties": { - "maxSdkVersion": { - "description": "Optionally, the maximum SDK version for which the permission is required.", - "format": "int32", - "type": "integer" - }, - "name": { - "description": "The name of the permission requested.", - "type": "string" - } - }, - "type": "object" - }, "Image": { + "description": "An uploaded image. The resource for ImagesService.", "id": "Image", "properties": { "id": { @@ -2996,11 +3010,11 @@ "type": "string" }, "sha1": { - "description": "A sha1 hash of the image that was uploaded.", + "description": "A sha1 hash of the image.", "type": "string" }, "sha256": { - "description": "A sha256 hash of the image that was uploaded.", + "description": "A sha256 hash of the image.", "type": "string" }, "url": { @@ -3011,9 +3025,11 @@ "type": "object" }, "ImagesDeleteAllResponse": { + "description": "Response for deleting all images.", "id": "ImagesDeleteAllResponse", "properties": { "deleted": { + "description": "The deleted images.", "items": { "$ref": "Image" }, @@ -3023,9 +3039,11 @@ "type": "object" }, "ImagesListResponse": { + "description": "Response listing all images.", "id": "ImagesListResponse", "properties": { "images": { + "description": "All listed Images.", "items": { "$ref": "Image" }, @@ -3035,120 +3053,155 @@ "type": "object" }, "ImagesUploadResponse": { + "description": "Response for uploading an image.", "id": "ImagesUploadResponse", "properties": { "image": { - "$ref": "Image" + "$ref": "Image", + "description": "The uploaded image." } }, "type": "object" }, "InAppProduct": { + "description": "An in-app product. The resource for InappproductsService.", "id": "InAppProduct", "properties": { "defaultLanguage": { - "description": "The default language of the localized data, as defined by BCP 47. e.g. \"en-US\", \"en-GB\".", + "description": "Default language of the localized data, as defined by BCP-47. e.g. \"en-US\".", "type": "string" }, "defaultPrice": { "$ref": "Price", - "description": "Default price cannot be zero. In-app products can never be free. Default price is always in the developer's Checkout merchant currency." + "description": "Default price. Cannot be zero, as in-app products are never free.\nAlways in the developer's Checkout merchant currency." }, "gracePeriod": { - "description": "Grace period of the subscription, specified in ISO 8601 format. It will allow developers to give their subscribers a grace period when the payment for the new recurrence period is declined. Acceptable values = \"P3D\" (three days), \"P7D\" (seven days), \"P14D\" (fourteen days), and \"P30D\" (thirty days)", + "description": "Grace period of the subscription, specified in ISO 8601 format. Allows\ndevelopers to give their subscribers a grace period when the payment\nfor the new recurrence period is declined.\nAcceptable values are P0D (zero days), P3D (three days), P7D (seven days),\nP14D (14 days), and P30D (30 days).", "type": "string" }, "listings": { "additionalProperties": { - "$ref": "InAppProductListing", - "description": "The language of the localized data, as defined by BCP 47. i.e.: \"en-US\", \"en-GB\"." + "$ref": "InAppProductListing" }, - "description": "List of localized title and description data.", + "description": "List of localized title and description data. Map key is the language of\nthe localized data, as defined by BCP-47, e.g. \"en-US\".", "type": "object" }, "packageName": { - "description": "The package name of the parent app.", + "description": "Package name of the parent app.", "type": "string" }, "prices": { "additionalProperties": { - "$ref": "Price", - "description": "Region code, as defined by ISO 3166-2." + "$ref": "Price" }, - "description": "Prices per buyer region. None of these prices should be zero. In-app products can never be free.", + "description": "Prices per buyer region. None of these can be zero, as in-app products are\nnever free. Map key is region code, as defined by ISO 3166-2.", "type": "object" }, "purchaseType": { - "description": "Purchase type enum value. Unmodifiable after creation.", + "description": "The type of the product, e.g. a recurring subscription.", + "enum": [ + "purchaseTypeUnspecified", + "managedUser", + "subscription" + ], + "enumDescriptions": [ + "Unspecified purchase type.", + "The default product type - one time purchase.", + "In-app product with a recurring period." + ], "type": "string" }, "sku": { - "description": "The stock-keeping-unit (SKU) of the product, unique within an app.", + "description": "Stock-keeping-unit (SKU) of the product, unique within an app.", "type": "string" }, "status": { + "description": "The status of the product, e.g. whether it's active.", + "enum": [ + "statusUnspecified", + "active", + "inactive" + ], + "enumDescriptions": [ + "Unspecified status.", + "The product is published and active in the store.", + "The product is not published and therefore inactive in the store." + ], "type": "string" }, "subscriptionPeriod": { - "description": "Subscription period, specified in ISO 8601 format. Acceptable values are \"P1W\" (one week), \"P1M\" (one month), \"P3M\" (three months), \"P6M\" (six months), and \"P1Y\" (one year).", + "description": "Subscription period, specified in ISO 8601 format. Acceptable values are\nP1W (one week), P1M (one month), P3M (three months), P6M (six months),\nand P1Y (one year).", "type": "string" }, "trialPeriod": { - "description": "Trial period, specified in ISO 8601 format. Acceptable values are anything between \"P7D\" (seven days) and \"P999D\" (999 days). Seasonal subscriptions cannot have a trial period.", + "description": "Trial period, specified in ISO 8601 format. Acceptable values are anything\nbetween P7D (seven days) and P999D (999 days).", "type": "string" } }, "type": "object" }, "InAppProductListing": { + "description": "Store listing of a single in-app product.", "id": "InAppProductListing", "properties": { + "benefits": { + "description": "Localized entitlement benefits for a subscription.", + "items": { + "type": "string" + }, + "type": "array" + }, "description": { + "description": "Description for the store listing.", "type": "string" }, "title": { + "description": "Title for the store listing.", "type": "string" } }, "type": "object" }, "InappproductsListResponse": { + "description": "Response listing all in-app products.", "id": "InappproductsListResponse", "properties": { "inappproduct": { + "description": "All in-app products.", "items": { "$ref": "InAppProduct" }, "type": "array" }, "kind": { - "default": "androidpublisher#inappproductsListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#inappproductsListResponse\".", + "description": "The kind of this response (\"androidpublisher#inappproductsListResponse\").", "type": "string" }, "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "Information about the current page." }, "tokenPagination": { - "$ref": "TokenPagination" + "$ref": "TokenPagination", + "description": "Pagination token, to handle a number of products that is over one page." } }, "type": "object" }, "InternalAppSharingArtifact": { - "description": "An artifact resource which gets created when uploading an APK or Android App Bundle through internal app sharing.", + "description": "An artifact resource which gets created when uploading an APK or Android\nApp Bundle through internal app sharing.", "id": "InternalAppSharingArtifact", "properties": { "certificateFingerprint": { - "description": "The SHA256 fingerprint of the certificate used to signed the generated artifact.", + "description": "The sha256 fingerprint of the certificate used to sign the generated\nartifact.", "type": "string" }, "downloadUrl": { - "description": "The download URL generated for the uploaded artifact. Users that are authorized to download can follow the link to the Play Store app to install it.", + "description": "The download URL generated for the uploaded artifact.\nUsers that are authorized to download can follow the link to the Play\nStore app to install it.", "type": "string" }, "sha256": { - "description": "The SHA-256 hash of the artifact represented as a lowercase hexadecimal number, matching the output of the sha256sum command.", + "description": "The sha256 hash of the artifact represented as a lowercase hexadecimal\nnumber, matching the output of the sha256sum command.", "type": "string" } }, @@ -3159,12 +3212,12 @@ "id": "IntroductoryPriceInfo", "properties": { "introductoryPriceAmountMicros": { - "description": "Introductory price of the subscription, not including tax. The currency is the same as price_currency_code. Price is expressed in micro-units, where 1,000,000 micro-units represents one unit of the currency. For example, if the subscription price is \u20ac1.99, price_amount_micros is 1990000.", + "description": "Introductory price of the subscription, not including tax.\nThe currency is the same as price_currency_code. Price is\nexpressed in micro-units, where 1,000,000 micro-units represents one unit\nof the currency. For example, if the subscription price is \u20ac1.99,\nprice_amount_micros is 1990000.", "format": "int64", "type": "string" }, "introductoryPriceCurrencyCode": { - "description": "ISO 4217 currency code for the introductory subscription price. For example, if the price is specified in British pounds sterling, price_currency_code is \"GBP\".", + "description": "ISO 4217 currency code for the introductory subscription price.\nFor example, if the price is specified in British pounds sterling,\nprice_currency_code is \"GBP\".", "type": "string" }, "introductoryPriceCycles": { @@ -3173,29 +3226,30 @@ "type": "integer" }, "introductoryPricePeriod": { - "description": "Introductory price period, specified in ISO 8601 format. Common values are (but not limited to) \"P1W\" (one week), \"P1M\" (one month), \"P3M\" (three months), \"P6M\" (six months), and \"P1Y\" (one year).", + "description": "Introductory price period, specified in ISO 8601 format.\nCommon values are (but not limited to) \"P1W\" (one\nweek), \"P1M\" (one month), \"P3M\" (three months), \"P6M\" (six months),\nand \"P1Y\" (one year).", "type": "string" } }, "type": "object" }, "Listing": { + "description": "A localized store listing. The resource for ListingsService.", "id": "Listing", "properties": { "fullDescription": { - "description": "Full description of the app; this may be up to 4000 characters in length.", + "description": "Full description of the app.", "type": "string" }, "language": { - "description": "Language localization code (for example, \"de-AT\" for Austrian German).", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).", "type": "string" }, "shortDescription": { - "description": "Short description of the app (previously known as promo text); this may be up to 80 characters in length.", + "description": "Short description of the app.", "type": "string" }, "title": { - "description": "App's localized title.", + "description": "Localized title of the app.", "type": "string" }, "video": { @@ -3206,14 +3260,15 @@ "type": "object" }, "ListingsListResponse": { + "description": "Response listing all localized listings.", "id": "ListingsListResponse", "properties": { "kind": { - "default": "androidpublisher#listingsListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#listingsListResponse\".", + "description": "The kind of this response (\"androidpublisher#listingsListResponse\").", "type": "string" }, "listings": { + "description": "All localized listings.", "items": { "$ref": "Listing" }, @@ -3223,45 +3278,36 @@ "type": "object" }, "LocalizedText": { + "description": "Release notes specification, i.e. language and text.", "id": "LocalizedText", "properties": { "language": { - "description": "The language code, in BCP 47 format (eg \"en-US\").", + "description": "Language localization code (a BCP-47 language tag; for example, \"de-AT\"\nfor Austrian German).", "type": "string" }, "text": { - "description": "The text in the given `language`.", - "type": "string" - } - }, - "type": "object" - }, - "ModRange": { - "id": "ModRange", - "properties": { - "end": { - "format": "int64", - "type": "string" - }, - "start": { - "format": "int64", + "description": "The text in the given language.", "type": "string" } }, "type": "object" }, "PageInfo": { + "description": "Information about the current page.\n\nList operations that supports paging return only one \"page\" of results. This\nprotocol buffer message describes the page that has been returned.", "id": "PageInfo", "properties": { "resultPerPage": { + "description": "Maximum number of results returned in one page.\n! The number of results included in the API response.", "format": "int32", "type": "integer" }, "startIndex": { + "description": "Index of the first result returned in the current page.", "format": "int32", "type": "integer" }, "totalResults": { + "description": "Total number of results available on the backend\n! The total number of results in the result set.", "format": "int32", "type": "integer" } @@ -3269,40 +3315,48 @@ "type": "object" }, "Price": { + "description": "Definition of a price, i.e. currency and units.", "id": "Price", "properties": { "currency": { - "description": "3 letter Currency code, as defined by ISO 4217.", + "description": "3 letter Currency code, as defined by ISO 4217.\nSee java/com/google/common/money/CurrencyCode.java", "type": "string" }, "priceMicros": { - "description": "The price in millionths of the currency base unit represented as a string.", + "description": "Price in 1/million of the currency base unit, represented as a string.", "type": "string" } }, "type": "object" }, "ProductPurchase": { - "description": "A ProductPurchase resource indicates the status of a user's inapp product purchase.", + "description": "A ProductPurchase resource indicates the status of a user's inapp\nproduct purchase.", "id": "ProductPurchase", "properties": { "acknowledgementState": { - "description": "The acknowledgement state of the inapp product. Possible values are: \n- Yet to be acknowledged \n- Acknowledged", + "description": "The acknowledgement state of the inapp product. Possible values are:\n0. Yet to be acknowledged\n1. Acknowledged", "format": "int32", "type": "integer" }, "consumptionState": { - "description": "The consumption state of the inapp product. Possible values are: \n- Yet to be consumed \n- Consumed", + "description": "The consumption state of the inapp product. Possible values are:\n0. Yet to be consumed\n1. Consumed", "format": "int32", "type": "integer" }, "developerPayload": { - "description": "A developer-specified string that contains supplemental information about an order.", + "description": "A developer-specified string that contains supplemental\ninformation about an order.", "type": "string" }, "kind": { - "default": "androidpublisher#productPurchase", - "description": "This kind represents an inappPurchase object in the androidpublisher service.", + "description": "This kind represents an inappPurchase object in the androidpublisher\nservice.", + "type": "string" + }, + "obfuscatedExternalAccountId": { + "description": "An obfuscated version of the id that is uniquely associated with the\nuser's account in your app. Only present if specified using\nhttps://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid\nwhen the purchase was made.", + "type": "string" + }, + "obfuscatedExternalProfileId": { + "description": "An obfuscated version of the id that is uniquely associated with the\nuser's profile in your app. Only present if specified using\nhttps://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid\nwhen the purchase was made.", "type": "string" }, "orderId": { @@ -3314,12 +3368,12 @@ "type": "string" }, "purchaseState": { - "description": "The purchase state of the order. Possible values are: \n- Purchased \n- Canceled \n- Pending", + "description": "The purchase state of the order. Possible values are:\n0. Purchased\n1. Canceled\n2. Pending", "format": "int32", "type": "integer" }, "purchaseTimeMillis": { - "description": "The time the product was purchased, in milliseconds since the epoch (Jan 1, 1970).", + "description": "The time the product was purchased, in milliseconds since the\nepoch (Jan 1, 1970).", "format": "int64", "type": "string" }, @@ -3328,7 +3382,7 @@ "type": "string" }, "purchaseType": { - "description": "The type of purchase of the inapp product. This field is only set if this purchase was not made using the standard in-app billing flow. Possible values are: \n- Test (i.e. purchased from a license testing account) \n- Promo (i.e. purchased using a promo code) \n- Rewarded (i.e. from watching a video ad instead of paying)", + "description": "The type of purchase of the inapp product. This field is only set if\nthis purchase was not made using the standard in-app billing flow.\nPossible values are:\n0. Test (i.e. purchased from a license testing account)\n1. Promo (i.e. purchased using a promo code)\n2. Rewarded (i.e. from watching a video ad instead of paying)", "format": "int32", "type": "integer" }, @@ -3341,6 +3395,7 @@ "type": "object" }, "ProductPurchasesAcknowledgeRequest": { + "description": "Request for the product.purchases.acknowledge API.", "id": "ProductPurchasesAcknowledgeRequest", "properties": { "developerPayload": { @@ -3351,6 +3406,7 @@ "type": "object" }, "Review": { + "description": "An Android app review.", "id": "Review", "properties": { "authorName": { @@ -3372,6 +3428,7 @@ "type": "object" }, "ReviewReplyResult": { + "description": "The result of replying/updating a reply to review.", "id": "ReviewReplyResult", "properties": { "lastEdited": { @@ -3386,122 +3443,76 @@ "type": "object" }, "ReviewsListResponse": { + "description": "Response listing reviews.", "id": "ReviewsListResponse", "properties": { "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "Information about the current page." }, "reviews": { + "description": "List of reviews.", "items": { "$ref": "Review" }, "type": "array" }, "tokenPagination": { - "$ref": "TokenPagination" + "$ref": "TokenPagination", + "description": "Pagination token, to handle a number of products that is over one page." } }, "type": "object" }, "ReviewsReplyRequest": { + "description": "Request to reply to review or update existing reply.", "id": "ReviewsReplyRequest", "properties": { "replyText": { - "description": "The text to set as the reply. Replies of more than approximately 350 characters will be rejected. HTML tags will be stripped.", + "description": "The text to set as the reply. Replies of more than approximately 350\ncharacters will be rejected. HTML tags will be stripped.", "type": "string" } }, "type": "object" }, "ReviewsReplyResponse": { + "description": "Response on status of replying to a review.", "id": "ReviewsReplyResponse", "properties": { "result": { - "$ref": "ReviewReplyResult" - } - }, - "type": "object" - }, - "Sampling": { - "id": "Sampling", - "properties": { - "modRanges": { - "items": { - "$ref": "ModRange" - }, - "type": "array" - }, - "modulus": { - "format": "int64", - "type": "string" - }, - "salt": { - "format": "int32", - "type": "integer" - }, - "stratifiedSamplings": { - "items": { - "$ref": "StratifiedSampling" - }, - "type": "array" - }, - "useAndroidId": { - "type": "boolean" - } - }, - "type": "object" - }, - "StratifiedSampling": { - "id": "StratifiedSampling", - "properties": { - "modRanges": { - "items": { - "$ref": "ModRange" - }, - "type": "array" - }, - "stratum": { - "$ref": "Stratum" - } - }, - "type": "object" - }, - "Stratum": { - "id": "Stratum", - "properties": { - "brand": { - "type": "string" + "$ref": "ReviewReplyResult", + "description": "The result of replying/updating a reply to review." } }, "type": "object" }, "SubscriptionCancelSurveyResult": { - "description": "Information provided by the user when they complete the subscription cancellation flow (cancellation reason survey).", + "description": "Information provided by the user when they complete the subscription\ncancellation flow (cancellation reason survey).", "id": "SubscriptionCancelSurveyResult", "properties": { "cancelSurveyReason": { - "description": "The cancellation reason the user chose in the survey. Possible values are: \n- Other \n- I don't use this service enough \n- Technical issues \n- Cost-related reasons \n- I found a better app", + "description": "The cancellation reason the user chose in the survey.\nPossible values are:\n0. Other\n1. I don't use this service enough\n2. Technical issues\n3. Cost-related reasons\n4. I found a better app", "format": "int32", "type": "integer" }, "userInputCancelReason": { - "description": "The customized input cancel reason from the user. Only present when cancelReason is 0.", + "description": "The customized input cancel reason from the user. Only present when\ncancelReason is 0.", "type": "string" } }, "type": "object" }, "SubscriptionDeferralInfo": { - "description": "A SubscriptionDeferralInfo contains the data needed to defer a subscription purchase to a future expiry time.", + "description": "A SubscriptionDeferralInfo contains the data needed to defer a\nsubscription purchase to a future expiry time.", "id": "SubscriptionDeferralInfo", "properties": { "desiredExpiryTimeMillis": { - "description": "The desired next expiry time to assign to the subscription, in milliseconds since the Epoch. The given time must be later/greater than the current expiry time for the subscription.", + "description": "The desired next expiry time to assign to the subscription, in\nmilliseconds since the Epoch. The given time must be later/greater\nthan the current expiry time for the subscription.", "format": "int64", "type": "string" }, "expectedExpiryTimeMillis": { - "description": "The expected expiry time for the subscription. If the current expiry time for the subscription is not the value specified here, the deferral will not occur.", + "description": "The expected expiry time for the subscription. If the current\nexpiry time for the subscription is not the value specified\nhere, the deferral will not occur.", "format": "int64", "type": "string" } @@ -3509,15 +3520,15 @@ "type": "object" }, "SubscriptionPriceChange": { - "description": "Contains the price change information for a subscription that can be used to control the user journey for the price change in the app. This can be in the form of seeking confirmation from the user or tailoring the experience for a successful conversion.", + "description": "Contains the price change information for a subscription that can be used to\ncontrol the user journey for the price change in the app. This can be in the\nform of seeking confirmation from the user or tailoring the experience for a\nsuccessful conversion.", "id": "SubscriptionPriceChange", "properties": { "newPrice": { "$ref": "Price", - "description": "The new price the subscription will renew with if the price change is accepted by the user." + "description": "The new price the subscription will renew with if the price change is\naccepted by the user." }, "state": { - "description": "The current state of the price change. Possible values are: \n- Outstanding: State for a pending price change waiting for the user to agree. In this state, you can optionally seek confirmation from the user using the In-App API. \n- Accepted: State for an accepted price change that the subscription will renew with unless it's canceled. The price change takes effect on a future date when the subscription renews. Note that the change might not occur when the subscription is renewed next.", + "description": "The current state of the price change. Possible values are:\n0. Outstanding: State for a pending price change waiting for the user to\n agree. In this state, you can optionally seek confirmation from the\n user using the In-App API.\n1. Accepted: State for an accepted price change that the subscription\n will renew with unless it's canceled. The price change takes effect on\n a future date when the subscription renews. Note that the change might\n not occur when the subscription is renewed next.", "format": "int32", "type": "integer" } @@ -3525,125 +3536,132 @@ "type": "object" }, "SubscriptionPurchase": { - "description": "A SubscriptionPurchase resource indicates the status of a user's subscription purchase.", + "description": "A SubscriptionPurchase resource indicates the status of a user's\nsubscription purchase.", "id": "SubscriptionPurchase", "properties": { "acknowledgementState": { - "description": "The acknowledgement state of the subscription product. Possible values are: \n- Yet to be acknowledged \n- Acknowledged", + "description": "The acknowledgement state of the subscription product. Possible values\nare:\n0. Yet to be acknowledged\n1. Acknowledged", "format": "int32", "type": "integer" }, "autoRenewing": { - "description": "Whether the subscription will automatically be renewed when it reaches its current expiry time.", + "description": "Whether the subscription will automatically be renewed when it\nreaches its current expiry time.", "type": "boolean" }, "autoResumeTimeMillis": { - "description": "Time at which the subscription will be automatically resumed, in milliseconds since the Epoch. Only present if the user has requested to pause the subscription.", + "description": "Time at which the subscription will be automatically resumed, in\nmilliseconds since the Epoch. Only present if the user has requested to\npause the subscription.", "format": "int64", "type": "string" }, "cancelReason": { - "description": "The reason why a subscription was canceled or is not auto-renewing. Possible values are: \n- User canceled the subscription \n- Subscription was canceled by the system, for example because of a billing problem \n- Subscription was replaced with a new subscription \n- Subscription was canceled by the developer", + "description": "The reason why a subscription was canceled or is not auto-renewing.\nPossible values are:\n0. User canceled the subscription\n1. Subscription was canceled by the system,\n for example because of a billing problem\n2. Subscription was replaced with a new subscription\n3. Subscription was canceled by the developer", "format": "int32", "type": "integer" }, "cancelSurveyResult": { "$ref": "SubscriptionCancelSurveyResult", - "description": "Information provided by the user when they complete the subscription cancellation flow (cancellation reason survey)." + "description": "Information provided by the user when they complete the subscription\ncancellation flow (cancellation reason survey)." }, "countryCode": { - "description": "ISO 3166-1 alpha-2 billing country/region code of the user at the time the subscription was granted.", + "description": "ISO 3166-1 alpha-2 billing country/region code of the user at the time\nthe subscription was granted.", "type": "string" }, "developerPayload": { - "description": "A developer-specified string that contains supplemental information about an order.", + "description": "A developer-specified string that contains supplemental\ninformation about an order.", "type": "string" }, "emailAddress": { - "description": "The email address of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.", + "description": "The email address of the user when the subscription was purchased.\nOnly present for purchases made with 'Subscribe with Google'.", "type": "string" }, "expiryTimeMillis": { - "description": "Time at which the subscription will expire, in milliseconds since the Epoch.", + "description": "Time at which the subscription will expire, in milliseconds\nsince the Epoch.", "format": "int64", "type": "string" }, "externalAccountId": { - "description": "User account identifier in the third-party service. Only present if account linking happened as part of the subscription purchase flow.", + "description": "User account identifier in the third-party service.\nOnly present if account linking happened as part of the subscription\npurchase flow.", "type": "string" }, "familyName": { - "description": "The family name of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.", + "description": "The family name of the user when the subscription was purchased.\nOnly present for purchases made with 'Subscribe with Google'.", "type": "string" }, "givenName": { - "description": "The given name of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.", + "description": "The given name of the user when the subscription was purchased.\nOnly present for purchases made with 'Subscribe with Google'.", "type": "string" }, "introductoryPriceInfo": { "$ref": "IntroductoryPriceInfo", - "description": "Introductory price information of the subscription. This is only present when the subscription was purchased with an introductory price.\n\nThis field does not indicate the subscription is currently in introductory price period." + "description": "Introductory price information of the subscription. This is only present\nwhen the subscription was purchased with an introductory price.\n\nThis field does not indicate the subscription is currently in introductory\nprice period." }, "kind": { - "default": "androidpublisher#subscriptionPurchase", - "description": "This kind represents a subscriptionPurchase object in the androidpublisher service.", + "description": "This kind represents a subscriptionPurchase object in the androidpublisher\nservice.", "type": "string" }, "linkedPurchaseToken": { - "description": "The purchase token of the originating purchase if this subscription is one of the following: \n- Re-signup of a canceled but non-lapsed subscription \n- Upgrade/downgrade from a previous subscription For example, suppose a user originally signs up and you receive purchase token X, then the user cancels and goes through the resignup flow (before their subscription lapses) and you receive purchase token Y, and finally the user upgrades their subscription and you receive purchase token Z. If you call this API with purchase token Z, this field will be set to Y. If you call this API with purchase token Y, this field will be set to X. If you call this API with purchase token X, this field will not be set.", + "description": "The purchase token of the originating purchase if this subscription\nis one of the following:\n0. Re-signup of a canceled but non-lapsed subscription\n1. Upgrade/downgrade from a previous subscription\n\nFor example, suppose a user originally signs up and you receive\npurchase token X, then the user cancels and goes through the\nresignup flow (before their subscription lapses) and you receive\npurchase token Y, and finally the user upgrades their subscription\nand you receive purchase token Z. If you call this API with purchase\ntoken Z, this field will be set to Y. If you call this API with\npurchase token Y, this field will be set to X. If you call this API\nwith purchase token X, this field will not be set.", + "type": "string" + }, + "obfuscatedExternalAccountId": { + "description": "An obfuscated version of the id that is uniquely associated with the\nuser's account in your app. Present for the following purchases:\n * If account linking happened as part of the subscription purchase flow.\n * It was specified using\n https://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedaccountid\n when the purchase was made.", + "type": "string" + }, + "obfuscatedExternalProfileId": { + "description": "An obfuscated version of the id that is uniquely associated with the\nuser's profile in your app. Only present if specified using\nhttps://developer.android.com/reference/com/android/billingclient/api/BillingFlowParams.Builder#setobfuscatedprofileid\nwhen the purchase was made.", "type": "string" }, "orderId": { - "description": "The order id of the latest recurring order associated with the purchase of the subscription.", + "description": "The order id of the latest recurring order associated with\nthe purchase of the subscription.", "type": "string" }, "paymentState": { - "description": "The payment state of the subscription. Possible values are: \n- Payment pending \n- Payment received \n- Free trial \n- Pending deferred upgrade/downgrade", + "description": "The payment state of the subscription. Possible values are:\n0. Payment pending\n1. Payment received\n2. Free trial\n3. Pending deferred upgrade/downgrade", "format": "int32", "type": "integer" }, "priceAmountMicros": { - "description": "Price of the subscription, not including tax. Price is expressed in micro-units, where 1,000,000 micro-units represents one unit of the currency. For example, if the subscription price is \u20ac1.99, price_amount_micros is 1990000.", + "description": "Price of the subscription, not including tax. Price is expressed\nin micro-units, where 1,000,000 micro-units represents one unit of\nthe currency. For example, if the subscription price is €1.99,\nprice_amount_micros is 1990000.", "format": "int64", "type": "string" }, "priceChange": { "$ref": "SubscriptionPriceChange", - "description": "The latest price change information available. This is present only when there is an upcoming price change for the subscription yet to be applied.\n\nOnce the subscription renews with the new price or the subscription is canceled, no price change information will be returned." + "description": "The latest price change information available. This is present only when\nthere is an upcoming price change for the subscription yet to be applied.\n\nOnce the subscription renews with the new price or the subscription is\ncanceled, no price change information will be returned." }, "priceCurrencyCode": { - "description": "ISO 4217 currency code for the subscription price. For example, if the price is specified in British pounds sterling, price_currency_code is \"GBP\".", + "description": "ISO 4217 currency code for the subscription price. For example,\nif the price is specified in British pounds sterling,\nprice_currency_code is \"GBP\".", "type": "string" }, "profileId": { - "description": "The Google profile id of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.", + "description": "The Google profile id of the user when the subscription was purchased.\nOnly present for purchases made with 'Subscribe with Google'.", "type": "string" }, "profileName": { - "description": "The profile name of the user when the subscription was purchased. Only present for purchases made with 'Subscribe with Google'.", + "description": "The profile name of the user when the subscription was purchased.\nOnly present for purchases made with 'Subscribe with Google'.", "type": "string" }, "promotionCode": { - "description": "The promotion code applied on this purchase. This field is only set if a vanity code promotion is applied when the subscription was purchased.", + "description": "The promotion code applied on this purchase. This field is only set if\na vanity code promotion is applied when the subscription was purchased.", "type": "string" }, "promotionType": { - "description": "The type of promotion applied on this purchase. This field is only set if a promotion is applied when the subscription was purchased. Possible values are: \n- One time code \n- Vanity code", + "description": "The type of promotion applied on this purchase. This field is only set if\na promotion is applied when the subscription was purchased. Possible\nvalues are:\n0. One time code\n1. Vanity code", "format": "int32", "type": "integer" }, "purchaseType": { - "description": "The type of purchase of the subscription. This field is only set if this purchase was not made using the standard in-app billing flow. Possible values are: \n- Test (i.e. purchased from a license testing account) \n- Promo (i.e. purchased using a promo code)", + "description": "The type of purchase of the subscription. This field is only set if\nthis purchase was not made using the standard in-app billing flow.\nPossible values are:\n0. Test (i.e. purchased from a license testing account)\n1. Promo (i.e. purchased using a promo code)", "format": "int32", "type": "integer" }, "startTimeMillis": { - "description": "Time at which the subscription was granted, in milliseconds since the Epoch.", + "description": "Time at which the subscription was granted, in milliseconds\nsince the Epoch.", "format": "int64", "type": "string" }, "userCancellationTimeMillis": { - "description": "The time at which the subscription was canceled by the user, in milliseconds since the epoch. Only present if cancelReason is 0.", + "description": "The time at which the subscription was canceled by the user, in\nmilliseconds since the epoch. Only present if cancelReason is 0.", "format": "int64", "type": "string" } @@ -3651,6 +3669,7 @@ "type": "object" }, "SubscriptionPurchasesAcknowledgeRequest": { + "description": "Request for the purchases.subscriptions.acknowledge API.", "id": "SubscriptionPurchasesAcknowledgeRequest", "properties": { "developerPayload": { @@ -3661,6 +3680,7 @@ "type": "object" }, "SubscriptionPurchasesDeferRequest": { + "description": "Request for the purchases.subscriptions.defer API.", "id": "SubscriptionPurchasesDeferRequest", "properties": { "deferralInfo": { @@ -3671,6 +3691,7 @@ "type": "object" }, "SubscriptionPurchasesDeferResponse": { + "description": "Response for the purchases.subscriptions.defer API.", "id": "SubscriptionPurchasesDeferResponse", "properties": { "newExpiryTimeMillis": { @@ -3681,19 +3702,12 @@ }, "type": "object" }, - "SystemApkVariantsCreateRequest": { - "id": "SystemApkVariantsCreateRequest", - "properties": { - "deviceSpec": { - "$ref": "DeviceSpec" - } - }, - "type": "object" - }, - "SystemApkVariantsListResponse": { - "id": "SystemApkVariantsListResponse", + "SystemApksListResponse": { + "description": "Response to list previously created system APK variants.", + "id": "SystemApksListResponse", "properties": { "variants": { + "description": "All system APK variants created.", "items": { "$ref": "Variant" }, @@ -3703,28 +3717,11 @@ "type": "object" }, "Testers": { + "description": "The testers of an app. The resource for TestersService.", "id": "Testers", "properties": { - "autoEnrolledAndroidGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "autoEnrolledGoogleGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, - "excludedGoogleGroups": { - "items": { - "type": "string" - }, - "type": "array" - }, "googleGroups": { - "description": "A list of all Google Groups, as email addresses, that define testers for this track.", + "description": "All testing Google Groups, as email addresses.", "items": { "type": "string" }, @@ -3734,13 +3731,16 @@ "type": "object" }, "Timestamp": { + "description": "A Timestamp represents a point in time independent of any time zone or local\ncalendar, encoded as a count of seconds and fractions of seconds at\nnanosecond resolution. The count is relative to an epoch at UTC midnight on\nJanuary 1, 1970.", "id": "Timestamp", "properties": { "nanos": { + "description": "Non-negative fractions of a second at nanosecond resolution.\nMust be from 0 to 999,999,999 inclusive.", "format": "int32", "type": "integer" }, "seconds": { + "description": "Represents seconds of UTC time since Unix epoch.", "format": "int64", "type": "string" } @@ -3748,9 +3748,11 @@ "type": "object" }, "TokenPagination": { + "description": "Pagination information returned by a List operation when token pagination\nis enabled.\n\nList operations that supports paging return only one \"page\" of results. This\nprotocol buffer message describes the page that has been returned.\n\nWhen using token pagination, clients should use the next/previous token\nto get another page of the result. The presence or absence of next/previous\ntoken indicates whether a next/previous page is available and provides a\nmean of accessing this page. ListRequest.page_token should be set to either\nnext_page_token or previous_page_token to access another page.", "id": "TokenPagination", "properties": { "nextPageToken": { + "description": "Tokens to pass to the standard list field 'page_token'. Whenever available,\ntokens are preferred over manipulating start_index.", "type": "string" }, "previousPageToken": { @@ -3760,73 +3762,72 @@ "type": "object" }, "Track": { + "description": "A track configuration. The resource for TracksService.", "id": "Track", "properties": { "releases": { - "description": "A list of all active releases in this track during a read request. On an update request, it represents desired changes.", + "description": "In a read request, represents all active releases in the track.\nIn an update request, represents desired changes.", "items": { "$ref": "TrackRelease" }, "type": "array" }, "track": { - "description": "Identifier for this track.", + "description": "Identifier of the track.", "type": "string" } }, "type": "object" }, "TrackRelease": { + "description": "A release within a track.", "id": "TrackRelease", "properties": { - "controls": { - "items": { - "$ref": "Control" - }, - "type": "array" - }, "countryTargeting": { - "$ref": "CountryTargeting" + "$ref": "CountryTargeting", + "description": "Restricts a release to a specific set of countries." }, "inAppUpdatePriority": { - "description": "In-app update priority of the release. All newly added APKs in the release will be considered at this priority. in_app_update_priority can take values between [0, 5]. 5 is the highest priority. Default priority is 0. See https://developer.android.com/guide/playcore/in-app-updates.", + "description": "In-app update priority of the release. All newly added APKs in the\nrelease will be considered at this priority. Can take values in the range\n[0, 5], with 5 the highest priority. Defaults to 0.\nin_app_update_priority can not be updated once the release is rolled out.\nSee https://developer.android.com/guide/playcore/in-app-updates.", "format": "int32", "type": "integer" }, "name": { - "description": "The release name, used to identify this release in the Play Console UI. Not required to be unique. This is optional, if not set it will be generated from the version_name in the APKs.", + "description": "The release name. Not required to be unique. If not set, the name is\ngenerated from the APK's version_name. If the release contains multiple\nAPKs, the name is generated from the date.", "type": "string" }, - "pinnedVersions": { - "items": { - "$ref": "TrackReleasePin" - }, - "type": "array" - }, "releaseNotes": { - "description": "The description of what is new in the app in this release.", + "description": "A description of what is new in this release.", "items": { "$ref": "LocalizedText" }, "type": "array" }, - "rollbackEnabled": { - "type": "boolean" - }, - "sampling": { - "$ref": "Sampling" - }, "status": { - "description": "The desired status of this release.", + "description": "The status of the release.", + "enum": [ + "statusUnspecified", + "draft", + "inProgress", + "halted", + "completed" + ], + "enumDescriptions": [ + "Unspecified status.", + "The release's APKs are not being served to users.", + "The release's APKs are being served to a fraction of users, determined by\n'user_fraction'.", + "The release's APKs will no longer be served to users. Users who already\nhave these APKs are unaffected.", + "The release will have no further changes. Its APKs are being served to\nall users, unless they are eligible to APKs of a more recent release." + ], "type": "string" }, "userFraction": { - "description": "Fraction of users who are eligible to receive the release. 0 < fraction < 1. To be set, release status must be \"inProgress\" or \"halted\".", + "description": "Fraction of users who are eligible for a staged release. 0 < fraction < 1.\nCan only be set when status is \"inProgress\" or \"halted\".", "format": "double", "type": "number" }, "versionCodes": { - "description": "A list of all version codes of APKs that will be exposed to the users of this track when this release is rolled out. Note that this list should contain all versions you wish to be active, including those you wish to retain from previous releases.", + "description": "Version codes of all APKs in the release. Must include version codes to\nretain from previous releases.", "items": { "format": "int64", "type": "string" @@ -3836,81 +3837,16 @@ }, "type": "object" }, - "TrackReleasePin": { - "id": "TrackReleasePin", - "properties": { - "targetings": { - "items": { - "$ref": "TrackReleasePinPinTargeting" - }, - "type": "array" - }, - "versionCodes": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - } - }, - "type": "object" - }, - "TrackReleasePinPinTargeting": { - "id": "TrackReleasePinPinTargeting", - "properties": { - "countryCodes": { - "items": { - "type": "string" - }, - "type": "array" - }, - "devices": { - "items": { - "$ref": "TrackReleasePinPinTargetingDevicePin" - }, - "type": "array" - }, - "phoneskyVersions": { - "items": { - "format": "int64", - "type": "string" - }, - "type": "array" - }, - "sdkVersions": { - "items": { - "format": "int32", - "type": "integer" - }, - "type": "array" - } - }, - "type": "object" - }, - "TrackReleasePinPinTargetingDevicePin": { - "id": "TrackReleasePinPinTargetingDevicePin", - "properties": { - "brand": { - "type": "string" - }, - "device": { - "type": "string" - }, - "product": { - "type": "string" - } - }, - "type": "object" - }, "TracksListResponse": { + "description": "Response listing all tracks.", "id": "TracksListResponse", "properties": { "kind": { - "default": "androidpublisher#tracksListResponse", - "description": "Identifies what kind of resource this is. Value: the fixed string \"androidpublisher#tracksListResponse\".", + "description": "The kind of this response (\"androidpublisher#tracksListResponse\").", "type": "string" }, "tracks": { + "description": "All tracks.", "items": { "$ref": "Track" }, @@ -3920,20 +3856,21 @@ "type": "object" }, "UserComment": { + "description": "User entry from conversation between user and developer.", "id": "UserComment", "properties": { "androidOsVersion": { - "description": "Integer Android SDK version of the user's device at the time the review was written, e.g. 23 is Marshmallow. May be absent.", + "description": "Integer Android SDK version of the user's device at the time the\nreview was written, e.g. 23 is Marshmallow. May be absent.", "format": "int32", "type": "integer" }, "appVersionCode": { - "description": "Integer version code of the app as installed at the time the review was written. May be absent.", + "description": "Integer version code of the app as installed at the time the\nreview was written. May be absent.", "format": "int32", "type": "integer" }, "appVersionName": { - "description": "String version name of the app as installed at the time the review was written. May be absent.", + "description": "String version name of the app as installed at the time the\nreview was written. May be absent.", "type": "string" }, "device": { @@ -3942,18 +3879,18 @@ }, "deviceMetadata": { "$ref": "DeviceMetadata", - "description": "Some information about the characteristics of the user's device" + "description": "Information about the characteristics of the user's device." }, "lastModified": { "$ref": "Timestamp", "description": "The last time at which this comment was updated." }, "originalText": { - "description": "Untranslated text of the review, in the case where the review has been translated. If the review has not been translated this is left blank.", + "description": "Untranslated text of the review, where the review was translated.\nIf the review was not translated this is left blank.", "type": "string" }, "reviewerLanguage": { - "description": "Language code for the reviewer. This is taken from the device settings so is not guaranteed to match the language the review is written in. May be absent.", + "description": "Language code for the reviewer. This is taken from the device\nsettings so is not guaranteed to match the language the review\nis written in. May be absent.", "type": "string" }, "starRating": { @@ -3962,30 +3899,48 @@ "type": "integer" }, "text": { - "description": "The content of the comment, i.e. review body. In some cases users have been able to write a review with separate title and body; in those cases the title and body are concatenated and separated by a tab character.", + "description": "The content of the comment, i.e. review body. In some cases\nusers have been able to write a review with separate title and\nbody; in those cases the title and body are concatenated and\nseparated by a tab character.", "type": "string" }, "thumbsDownCount": { - "description": "Number of users who have given this review a thumbs down", + "description": "Number of users who have given this review a thumbs down.", "format": "int32", "type": "integer" }, "thumbsUpCount": { - "description": "Number of users who have given this review a thumbs up", + "description": "Number of users who have given this review a thumbs up.", "format": "int32", "type": "integer" } }, "type": "object" }, + "UsesPermission": { + "description": "A permission used by this APK.", + "id": "UsesPermission", + "properties": { + "maxSdkVersion": { + "description": "Optionally, the maximum SDK version for which the permission is\nrequired.", + "format": "int32", + "type": "integer" + }, + "name": { + "description": "The name of the permission requested.", + "type": "string" + } + }, + "type": "object" + }, "Variant": { - "description": "Represents the variant of a generated system APK from an uploaded App Bundle.", + "description": "APK that is suitable for inclusion in a system image. The resource of\nSystemApksService.", "id": "Variant", "properties": { "deviceSpec": { - "$ref": "DeviceSpec" + "$ref": "DeviceSpec", + "description": "The device spec used to generate the APK." }, "variantId": { + "description": "Output only. The ID of a previously created system APK variant.", "format": "uint32", "type": "integer" } @@ -3993,39 +3948,38 @@ "type": "object" }, "VoidedPurchase": { - "description": "A VoidedPurchase resource indicates a purchase that was either canceled/refunded/charged-back.", + "description": "A VoidedPurchase resource indicates a purchase that was either\ncanceled/refunded/charged-back.", "id": "VoidedPurchase", "properties": { "kind": { - "default": "androidpublisher#voidedPurchase", - "description": "This kind represents a voided purchase object in the androidpublisher service.", + "description": "This kind represents a voided purchase object in the androidpublisher\nservice.", "type": "string" }, "orderId": { - "description": "The order id which uniquely identifies a one-time purchase, subscription purchase, or subscription renewal.", + "description": "The order id which uniquely identifies a one-time purchase, subscription\npurchase, or subscription renewal.", "type": "string" }, "purchaseTimeMillis": { - "description": "The time at which the purchase was made, in milliseconds since the epoch (Jan 1, 1970).", + "description": "The time at which the purchase was made, in milliseconds since the\nepoch (Jan 1, 1970).", "format": "int64", "type": "string" }, "purchaseToken": { - "description": "The token which uniquely identifies a one-time purchase or subscription. To uniquely identify subscription renewals use order_id (available starting from version 3 of the API).", + "description": "The token which uniquely identifies a one-time purchase or subscription.\nTo uniquely identify subscription renewals use order_id (available\nstarting from version 3 of the API).", "type": "string" }, "voidedReason": { - "description": "The reason why the purchase was voided, possible values are: \n- Other \n- Remorse \n- Not_received \n- Defective \n- Accidental_purchase \n- Fraud \n- Friendly_fraud \n- Chargeback", + "description": "The reason why the purchase was voided, possible values are:\n0. Other\n1. Remorse\n2. Not_received\n3. Defective\n4. Accidental_purchase\n5. Fraud\n6. Friendly_fraud\n7. Chargeback", "format": "int32", "type": "integer" }, "voidedSource": { - "description": "The initiator of voided purchase, possible values are: \n- User \n- Developer \n- Google", + "description": "The initiator of voided purchase, possible values are:\n0. User\n1. Developer\n2. Google", "format": "int32", "type": "integer" }, "voidedTimeMillis": { - "description": "The time at which the purchase was canceled/refunded/charged-back, in milliseconds since the epoch (Jan 1, 1970).", + "description": "The time at which the purchase was canceled/refunded/charged-back,\nin milliseconds since the epoch (Jan 1, 1970).", "format": "int64", "type": "string" } @@ -4033,13 +3987,16 @@ "type": "object" }, "VoidedPurchasesListResponse": { + "description": "Response for the voidedpurchases.list API.", "id": "VoidedPurchasesListResponse", "properties": { "pageInfo": { - "$ref": "PageInfo" + "$ref": "PageInfo", + "description": "General pagination information." }, "tokenPagination": { - "$ref": "TokenPagination" + "$ref": "TokenPagination", + "description": "Pagination information for token pagination." }, "voidedPurchases": { "items": { @@ -4051,7 +4008,7 @@ "type": "object" } }, - "servicePath": "androidpublisher/v3/applications/", - "title": "Google Play Developer API", + "servicePath": "", + "title": "Google Play Android Developer API", "version": "v3" } \ No newline at end of file diff --git a/etc/api/api-list.yaml b/etc/api/api-list.yaml index 25c9a0ca07..e118dbc1d9 100644 --- a/etc/api/api-list.yaml +++ b/etc/api/api-list.yaml @@ -8,6 +8,7 @@ api: acceleratedmobilepageurl: - v1 accessapproval: + - v1 - v1beta1 accesscontextmanager: - v1 @@ -24,6 +25,8 @@ api: admin: - directory_v1 - reports_v1 + admob: + - v1 adsense: - v1.4 adsensehost: @@ -43,6 +46,8 @@ api: androidpublisher: - v2 - v3 + apigee: + - v1 appengine: - v1 - v1beta4 @@ -51,17 +56,26 @@ api: - v1 appstate: - v1 + artifactregistry: + - v1beta1 audit: - v1 autoscaler: - v1beta2 bigquery: - v2 + bigqueryconnection: + - v1beta1 bigquerydatatransfer: - v1 + bigqueryreservation: + - v1 bigtableadmin: - v2 + billingbudgets: + - v1beta1 binaryauthorization: + - v1 - v1beta1 blogger: - v3 @@ -71,6 +85,8 @@ api: - v3 chat: - v1 + chromeuxreport: + - v1 civicinfo: - v2 classroom: @@ -144,6 +160,8 @@ api: - v1 customsearch: - v1 + datacatalog: + - v1beta1 dataflow: - v1b4 datafusion: @@ -161,6 +179,7 @@ api: - v3.0 - v3.2 - v3.3 + - v3.4 dialogflow: - v2 - v2beta1 @@ -168,13 +187,22 @@ api: - v1 discovery: - v1 + displayvideo: + - v1 dlp: - v2 - v2beta1 dns: - v1 + docs: + - v1 + documentai: + - v1beta2 + domainsrdap: + - v1 doubleclickbidmanager: - v1 + - v1.1 doubleclicksearch: - v2 drive: @@ -194,7 +222,10 @@ api: firebasedynamiclinks: - v1 firebasehosting: + - v1 - v1beta1 + firebaseml: + - v1 firebaseremoteconfig: - v1 firebaserules: @@ -212,6 +243,8 @@ api: - v1 gamesconfiguration: - v1configuration + gameservices: + - v1 gamesmanagement: - v1management gan: @@ -220,12 +253,17 @@ api: - v1 gmail: - v1 + gmailpostmastertools: + - v1beta1 groupsmigration: - v1 groupssettings: - v1 healthcare: + - v1 - v1beta1 + homegraph: + - v1 iam: - v1 iamcredentials: @@ -248,15 +286,21 @@ api: - v1 licensing: - v1 + lifesciences: + - v2beta logging: - v2 - v2beta1 + managedidentities: + - v1 manager: - v1beta2 manufacturers: - v1 mapsengine: - v1 + memcache: + - v1beta2 mirror: - v1 ml: @@ -265,10 +309,14 @@ api: - v3 mybusiness: - v4 + networkmanagement: + - v1 oauth2: - v2 osconfig: + - v1 - v1alpha2 + - v1beta oslogin: - v1 - v1beta @@ -282,6 +330,8 @@ api: - v1 photoslibrary: - v1 + playablelocations: + - v3 playcustomapp: - v1 playmoviespartner: @@ -290,10 +340,14 @@ api: - v1 plusdomains: - v1 + policytroubleshooter: + - v1 poly: - v1 prediction: - v1.6 + prod_tt_sasportal: + - v1alpha1 proximitybeacon: - v1beta1 pubsub: @@ -301,6 +355,11 @@ api: - v1beta2 qpxexpress: - v1 + realtimebidding: + - v1 + recommender: + - v1 + - v1beta1 redis: - v1 remotebuildexecution: @@ -320,10 +379,15 @@ api: - v1beta1 safebrowsing: - v4 + sasportal: + - v1alpha1 script: - v1 searchconsole: - v1 + secretmanager: + - v1 + - v1beta1 securitycenter: - v1 servicebroker: @@ -332,6 +396,9 @@ api: - v1 servicecontrol: - v1 + - v2 + servicedirectory: + - v1beta1 servicemanagement: - v1 servicenetworking: @@ -358,6 +425,8 @@ api: speech: - v1 - v1beta1 + sql: + - v1beta4 sqladmin: - v1beta4 storage: @@ -380,16 +449,24 @@ api: texttospeech: - v1 toolresults: + - v1 - v1beta3 tpu: - v1 - v1alpha1 + trafficdirector: + - v2 translate: - v2 + - v3 urlshortener: - v1 vault: - v1 + vectortile: + - v1 + verifiedaccess: + - v1 videointelligence: - v1 - v1beta1 diff --git a/etc/api/apigee/v1/apigee-api.json b/etc/api/apigee/v1/apigee-api.json new file mode 100644 index 0000000000..b83c10dbdb --- /dev/null +++ b/etc/api/apigee/v1/apigee-api.json @@ -0,0 +1,7568 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://apigee.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Apigee", + "description": "The Apigee API lets you programmatically manage Apigee hybrid with a set of RESTful operations, including:
  • Create, edit, and delete API proxies
  • Manage users
  • Deploy and undeploy proxy revisions
  • Configure environments

For information on using the APIs described in this section, see Get started using the APIs.

Note: This product is available as a free trial for a time period of 60 days.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/apigee-api-management/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "apigee:v1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://apigee.mtls.googleapis.com/", + "name": "apigee", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "hybrid": { + "resources": { + "issuers": { + "methods": { + "list": { + "description": "Lists hybrid services and its trusted issuers service account ids.\nThis api is authenticated and unauthorized(allow all the users) and used by\nruntime authn-authz service to query control plane's issuer service account\nids.", + "flatPath": "v1/hybrid/issuers", + "httpMethod": "GET", + "id": "apigee.hybrid.issuers.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Must be of the form `hybrid/issuers`.", + "location": "path", + "pattern": "^hybrid/issuers$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ListHybridIssuersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "organizations": { + "methods": { + "create": { + "description": "Creates an Apigee organization. See\n[Create an\norganization](https://docs.apigee.com/hybrid/latest/precog-provision).", + "flatPath": "v1/organizations", + "httpMethod": "POST", + "id": "apigee.organizations.create", + "parameterOrder": [], + "parameters": { + "parent": { + "description": "Required. Name of the GCP project in which to associate the Apigee organization.\nPass the information as a query parameter using the following structure\nin your request:\n `projects/`", + "location": "query", + "type": "string" + } + }, + "path": "v1/organizations", + "request": { + "$ref": "GoogleCloudApigeeV1Organization" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the profile for an Apigee organization.\nSee\n[Organizations](https://docs.apigee.com/hybrid/latest/terminology#organizations).", + "flatPath": "v1/organizations/{organizationsId}", + "httpMethod": "GET", + "id": "apigee.organizations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Apigee organization name in the following format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Organization" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getSyncAuthorization": { + "description": "Lists the service accounts with the permissions required to allow\nthe Synchronizer to download environment data from the control plane.\n\nAn ETag is returned in the response to `getSyncAuthorization`.\nPass that ETag when calling [setSyncAuthorization](setSyncAuthorization)\nto ensure that you are updating the correct version. If you don't pass the\nETag in the call to `setSyncAuthorization`, then the existing authorization\nis overwritten indiscriminately.\n\nFor more information, see\n[Enable Synchronizer\naccess](https://docs.apigee.com/hybrid/latest/synchronizer-access#enable-synchronizer-access).\n\n**Note**: Available to Apigee hybrid only.", + "flatPath": "v1/organizations/{organizationsId}:getSyncAuthorization", + "httpMethod": "POST", + "id": "apigee.organizations.getSyncAuthorization", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the Apigee organization. Use the following structure in your\nrequest:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:getSyncAuthorization", + "request": { + "$ref": "GoogleCloudApigeeV1GetSyncAuthorizationRequest" + }, + "response": { + "$ref": "GoogleCloudApigeeV1SyncAuthorization" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the Apigee organizations and associated GCP projects that you have\npermission to access. See\n[Organizations](https://docs.apigee.com/hybrid/latest/terminology#organizations).", + "flatPath": "v1/organizations", + "httpMethod": "GET", + "id": "apigee.organizations.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Use the following structure in your request:\n `organizations`", + "location": "path", + "pattern": "^organizations$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}", + "response": { + "$ref": "GoogleCloudApigeeV1ListOrganizationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setSyncAuthorization": { + "description": "Sets the permissions required to allow the Synchronizer to download\nenvironment data from the control plane. You must call this API to enable\nproper functioning of hybrid.\n\nPass the ETag when calling `setSyncAuthorization` to ensure that\nyou are updating the correct version. To get an ETag,\ncall [getSyncAuthorization](getSyncAuthorization).\nIf you don't pass the ETag in the call to `setSyncAuthorization`, then the\nexisting authorization is overwritten indiscriminately.\n\nFor more information, see\n[Enable Synchronizer\naccess](https://docs.apigee.com/hybrid/latest/synchronizer-access#enable-synchronizer-access).\n\n**Note**: Available to Apigee hybrid only.", + "flatPath": "v1/organizations/{organizationsId}:setSyncAuthorization", + "httpMethod": "POST", + "id": "apigee.organizations.setSyncAuthorization", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the Apigee organization. Use the following structure in your\nrequest:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}:setSyncAuthorization", + "request": { + "$ref": "GoogleCloudApigeeV1SyncAuthorization" + }, + "response": { + "$ref": "GoogleCloudApigeeV1SyncAuthorization" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates the properties for an Apigee organization. No other fields in the\norganization profile will be updated.", + "flatPath": "v1/organizations/{organizationsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Apigee organization name in the following format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Organization" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Organization" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apiproducts": { + "methods": { + "attributes": { + "description": "Updates or creates API product attributes. This API **replaces** the\ncurrent list of attributes with the attributes specified in the request\nbody. In this way, you can update existing attributes, add new attributes,\nor delete existing attributes by omitting them from the request body.\n\nOAuth access tokens and Key Management Service (KMS) entities (apps,\ndevelopers, and API products) are cached for 180 seconds (current default).\nAny custom attributes associated with entities also get cached for at least\n180 seconds after entity is accessed during runtime.\nIn this case, the `ExpiresIn` element on the OAuthV2 policy won't be able\nto expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes", + "httpMethod": "POST", + "id": "apigee.organizations.apiproducts.attributes", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n

organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/attributes", + "request": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates an API product in an organization.\nYou create API products after\nyou have proxied backend services using API proxies.\nAn API product is a\ncollection of API resources combined with quota settings and metadata that\nyou can use to deliver customized and productized API bundles to your\ndeveloper community. This metadata can include:\n\n- Scope\n- Environments\n- API proxies\n- Extensible profile\n\nAPI products enable you repackage APIs\non-the-fly, without having to do any additional coding or configuration.\nApigee recommends that you start with a simple API product including only\nrequired elements. You then provision credentials to apps to enable them to\nstart testing your APIs.\n\nAfter you have authentication and authorization\nworking against a simple API product, you can iterate to create finer\ngrained API products, defining different sets of API resources for each API\nproduct.\n\n\n\nFor more information, see {{what_api_product}}", + "flatPath": "v1/organizations/{organizationsId}/apiproducts", + "httpMethod": "POST", + "id": "apigee.organizations.apiproducts.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent organization name under which the API product will\nbe created. Must be in the following form:\n
organizations/organization_ID
", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apiproducts", + "request": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an API product from an organization.\n\nDeleting an API product\ncauses app requests to the resource URIs defined in the API product to\nfail.\n\nEnsure that you create a new API product to serve existing apps, unless\nyour intention is to disable access to the resources defined in the API\nproduct.\n\nThe API product name required in the request URL is the internal name of\nthe product, not the display name. While they may be the same, it depends\non whether the API product was created via the UI or the API. View the list\nof API products to verify the internal name.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apiproducts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets configuration details for an API product.\n\nThe API product name required in the request URL is the internal name of\nthe product, not the display name. While they may be the same, it depends\non whether the API product was created via the UI or the API. View the list\nof API products to verify the internal name.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all API product names for an organization.\nFilter the list by passing an `attributename` and `attibutevalue`.\n\nThe limit on the number of API products returned by the API is 1000. You\ncan paginate the list of API products returned using the `startKey` and\n`count` query parameters.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "attributename": { + "description": "The name of the attribute to search.", + "location": "query", + "type": "string" + }, + "attributevalue": { + "description": "The value of the attribute.", + "location": "query", + "type": "string" + }, + "count": { + "description": "Enter the number of API products you want returned in the API call. The\nlimit is 1000.", + "format": "int64", + "location": "query", + "type": "string" + }, + "expand": { + "description": "Set to `true` to get expanded details about each API.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "**Required.** The parent organization name in the following form:\n
organizations/organization_ID
", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "startKey": { + "description": "Gets a list of API products starting with a specific API product in the\nlist. For example, if you're returning 50 API products at a time (using the\n`count` query parameter), you can view products 50-99 by entering the name\nof the 50th API product in the first API (without using `startKey`).\nProduct name is case sensitive.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/apiproducts", + "response": { + "$ref": "GoogleCloudApigeeV1ListApiProductsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing API product. You must include all required values,\nwhether or not you are updating them, as well as any optional values that\nyou are updating.\n\nThe API product name required in the request URL is the\ninternal name of the product, not the Display Name. While they may be the\nsame, it depends on whether the API product was created via UI or API. View\nthe list of API products to identify their internal names.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.apiproducts.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "attributes": { + "methods": { + "delete": { + "description": "Deletes an API product attribute.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes/{attributesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apiproducts.attributes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name/attributes/attribute_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the value of an API product attribute.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes/{attributesId}", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.attributes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name/attributes/attribute_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns a list of all API product attributes.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes", + "httpMethod": "GET", + "id": "apigee.organizations.apiproducts.attributes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent organization name. Must be in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attributes", + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateApiProductAttribute": { + "description": "Updates the value of an API product attribute. Limitations are:\n\nOAuth access tokens and Key Management Service (KMS) entities (apps,\ndevelopers, and API products) are cached for 180 seconds (current default).\nAny custom attributes associated with entities also get cached for at least\n180 seconds after entity is accessed during runtime.\nIn this case, the `ExpiresIn` element on the OAuthV2 policy won't be able\nto expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/apiproducts/{apiproductsId}/attributes/{attributesId}", + "httpMethod": "POST", + "id": "apigee.organizations.apiproducts.attributes.updateApiProductAttribute", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "**Required.** API product name in the following form:\n
organizations/organization_ID/apiproducts/api_product_name
", + "location": "path", + "pattern": "^organizations/[^/]+/apiproducts/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "apis": { + "methods": { + "create": { + "description": "Creates an API proxy.\nThe API proxy created will not be accessible at runtime until it is\ndeployed to an environment.\n\nCreate a new API proxy by setting the `name` query parameter to the\nname of the API proxy.\n\nImport an API proxy configuration bundle stored in zip format\non your local machine to your organization by doing the following:\n\n* Set the `name` query parameter to the name of the API proxy.\n* Set the `action` query parameter to `import`.\n* Set the `Content-Type` header to `multipart/form-data`.\n* Pass as a file the name of API proxy\n configuration bundle stored in zip format on your local machine using\n the `file` form field.\n\n**Note**: To validate the API proxy configuration bundle only\n without importing it, set the `action` query\n parameter to `validate`.\n\nWhen importing an API proxy configuration bundle, if the API proxy\ndoes not exist, it will be created.\nIf the API proxy exists, then a new revision is created. Invalid API\nproxy configurations are rejected, and a list of validation errors is\nreturned to the client.", + "flatPath": "v1/organizations/{organizationsId}/apis", + "httpMethod": "POST", + "id": "apigee.organizations.apis.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "action": { + "description": "Action to perform when importing an API proxy configuration bundle. Set\nthis parameter to one of the following values:\n\n* `import` to import the API proxy configuration bundle.\n* `validate` to validate the API proxy configuration bundle without\n importing it.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Name of the API proxy. Restrict the characters used to: A-Za-z0-9._-", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the organization in the following format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "validate": { + "description": "Ignored. All uploads are validated regardless of the value of this\nfield. Maintained for compatibility with Apigee Edge API.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/apis", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxyRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an API proxy and all associated endpoints, policies, resources, and\nrevisions. The API proxy must be undeployed before you can delete it.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apis.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the API proxy in the following format:\n `organizations/{org}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an API proxy including a list of existing revisions.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}", + "httpMethod": "GET", + "id": "apigee.organizations.apis.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the API proxy in the following format:\n `organizations/{org}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists the names of all API proxies in an organization. The names returned\ncorrespond to the names defined in the configuration files for each API\nproxy.", + "flatPath": "v1/organizations/{organizationsId}/apis", + "httpMethod": "GET", + "id": "apigee.organizations.apis.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "includeMetaData": { + "description": "Flag that specifies whether to include API proxy metadata in the response.", + "location": "query", + "type": "boolean" + }, + "includeRevisions": { + "description": "Flag that specifies whether to include a list of revisions in the response.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. Name of the organization in the following format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apis", + "response": { + "$ref": "GoogleCloudApigeeV1ListApiProxiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of an API proxy.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.apis.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the API proxy for which to return deployment information in the\nfollowing format:\n `organizations/{org}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "keyvaluemaps": { + "methods": { + "create": { + "description": "Creates a key value map in an api proxy.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps", + "httpMethod": "POST", + "id": "apigee.organizations.apis.keyvaluemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the environment in which to create the key value map.\nMust be of the form\n`organizations/{organization}/apis/{api}`.", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keyvaluemaps", + "request": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a key value map in an api proxy.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/keyvaluemaps/{keyvaluemapsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apis.keyvaluemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the key value map.\nMust be of the form\n`organizations/{organization}/apis/{api}/keyvaluemaps/{keyvaluemap}`.", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/keyvaluemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "revisions": { + "methods": { + "delete": { + "description": "Deletes an API proxy revision and all policies, resources, endpoints,\nand revisions associated with it. The API proxy revision must be undeployed\nbefore you can delete it.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.apis.revisions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API proxy revision in the following format:\n `organizations/{org}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxyRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an API proxy revision.\n\nTo download the API proxy configuration bundle for the specified revision\nas a zip file, do the following:\n\n * Set the `format` query parameter to `bundle`.\n * Set the `Accept` header to `application/zip`.\n\nIf you are using curl, specify `-o filename.zip` to save the output to a\nfile; otherwise, it displays to `stdout`. Then, develop the API proxy\nconfiguration locally and upload the updated API proxy configuration\nrevision, as described in\n[updateApiProxyRevision](updateApiProxyRevision).", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}", + "httpMethod": "GET", + "id": "apigee.organizations.apis.revisions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "format": { + "description": "Format used when downloading the API proxy configuration revision.\nSet to `bundle` to download the API proxy configuration revision as a zip\nfile.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. API proxy revision in the following format:\n `organizations/{org}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateApiProxyRevision": { + "description": "Updates an existing API proxy revision by uploading the API proxy\nconfiguration bundle as a zip file from your local machine.\n\nYou can update only API proxy revisions\nthat have never been deployed. After deployment, an API proxy revision\nbecomes immutable, even if it is undeployed.\n\nSet the `Content-Type` header to either\n`multipart/form-data` or `application/octet-stream`.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}", + "httpMethod": "POST", + "id": "apigee.organizations.apis.revisions.updateApiProxyRevision", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. API proxy revision to update in the following format:\n `organizations/{org}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "validate": { + "description": "Ignored. All uploads are validated regardless of the value of this field.\nMaintained for compatibility with Apigee Edge API.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ApiProxyRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of an API proxy revision.", + "flatPath": "v1/organizations/{organizationsId}/apis/{apisId}/revisions/{revisionsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.apis.revisions.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the API proxy revision for which to return deployment information\nin the following format:\n `organizations/{org}/apis/{api}/revisions/{rev}`.", + "location": "path", + "pattern": "^organizations/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "apps": { + "methods": { + "get": { + "description": "Gets the app profile for the specified app ID.", + "flatPath": "v1/organizations/{organizationsId}/apps/{appsId}", + "httpMethod": "GET", + "id": "apigee.organizations.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. App ID in the following format:\n `organizations/{org}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1App" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists IDs of apps within an organization that have the specified app status\n(approved or revoked) or are of the specified app type\n(developer or company).", + "flatPath": "v1/organizations/{organizationsId}/apps", + "httpMethod": "GET", + "id": "apigee.organizations.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "apiProduct": { + "description": "API product.", + "location": "query", + "type": "string" + }, + "apptype": { + "description": "Optional. Filter by the type of the app. Valid values are `company` or\n`developer`. Defaults to `developer`.", + "location": "query", + "type": "string" + }, + "expand": { + "description": "Optional. Flag that specifies whether to return an expanded list of\napps for the organization. Defaults to `false`.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Optional. Comma-separated list of app IDs on which to filter.", + "location": "query", + "type": "string" + }, + "includeCred": { + "description": "Optional. Flag that specifies whether to include credentials in the\nresponse.", + "location": "query", + "type": "boolean" + }, + "keyStatus": { + "description": "Optional. Key status of the app. Valid values include `approved` or\n`revoked`. Defaults to `approved`.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Resource path of the parent in the following format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "rows": { + "description": "Optional. Maximum number of app IDs to return. Defaults to 10000.", + "format": "int64", + "location": "query", + "type": "string" + }, + "startKey": { + "description": "Returns the list of apps starting from the specified app ID.", + "location": "query", + "type": "string" + }, + "status": { + "description": "Optional. Filter by the status of the app. Valid values are `approved`\nor `revoked`. Defaults to `approved`.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "response": { + "$ref": "GoogleCloudApigeeV1ListAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of API proxies or shared flows.", + "flatPath": "v1/organizations/{organizationsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the organization for which to return deployment information in the\nfollowing format:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "sharedFlows": { + "description": "Optional. Flag that specifies whether to return shared flow or API proxy deployments.\nSet to `true` to return shared flow deployments; set to `false`\nto return API proxy deployments. Defaults to `false`.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "developers": { + "methods": { + "attributes": { + "description": "Updates developer attributes.\n\nThis API replaces the\nexisting attributes with those specified in the request.\nAdd new attributes, and include or exclude any existing\nattributes that you want to retain or\nremove, respectively.\n\nThe custom attribute limit is 18.\n\n**Note**: OAuth access tokens and Key Management Service (KMS) entities\n(apps, developers, and API products) are cached for 180 seconds\n(default). Any custom attributes associated with these entities\nare cached for at least 180 seconds after the entity is accessed at\nruntime. Therefore, an `ExpiresIn` element on the OAuthV2 policy\nwon't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes", + "httpMethod": "POST", + "id": "apigee.organizations.developers.attributes", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Email address of the developer for which attributes are being updated in\nthe following format:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attributes", + "request": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates a developer. Once created,\nthe developer can register an app and obtain an API key.\n\nAt creation time, a developer is set as `active`. To change the developer\nstatus, use the SetDeveloperStatus API.", + "flatPath": "v1/organizations/{organizationsId}/developers", + "httpMethod": "POST", + "id": "apigee.organizations.developers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the Apigee organization in which the developer is created.\nUse the following structure in your request:\n `organizations/{org}`.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/developers", + "request": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a developer. All apps and API keys associated\nwith the developer are also removed.\n\n**Warning**: This API will permanently delete the developer\nand related artifacts.\n\nTo avoid permanently deleting developers and their artifacts,\nset the developer status to `inactive` using\nthe SetDeveloperStatus API.\n\n**Note**: The delete operation is asynchronous. The developer app is\ndeleted immediately,\nbut its associated resources, such as apps and API keys, may take anywhere\nfrom a few seconds to a few minutes to be deleted.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Email address of the developer. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the developer details, including the\ndeveloper's name, email address, apps, and other information.\n\n**Note**: The response includes only the first 100 developer apps.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Status of the developer. Valid values are `active` or `inactive`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Email address of the developer. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all developers in an organization by email address.\n\nBy default,\nthe response does not include company developers. Set the `includeCompany`\nquery parameter to `true` to include company developers.\n\n**Note**: A maximum of 1000 developers are returned in the response. You\npaginate the list of developers returned using the `startKey` and `count`\nquery parameters.", + "flatPath": "v1/organizations/{organizationsId}/developers", + "httpMethod": "GET", + "id": "apigee.organizations.developers.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "count": { + "description": "Optional. Number of developers to return in the API call. Use with the `startKey`\nparameter to provide more targeted filtering.\nThe limit is 1000.", + "format": "int64", + "location": "query", + "type": "string" + }, + "expand": { + "description": "Specifies whether to expand the results. Set to `true`\nto expand the results. This query parameter is not valid if you use\nthe `count` or `startKey` query parameters.", + "location": "query", + "type": "boolean" + }, + "ids": { + "description": "Optional. List of IDs to include, separated by commas.", + "location": "query", + "type": "string" + }, + "includeCompany": { + "description": "Flag that specifies whether to include company details in the response.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. Name of the Apigee organization. Use the following structure in your\nrequest:\n `organizations/{org}`.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "startKey": { + "description": "**Note**: Must be used in conjunction with the `count` parameter.\n\nEmail address of the developer from which to start displaying the list of\ndevelopers. For example, if the an unfiltered list returns:\n\n```\nwestley@example.com\nfezzik@example.com\nbuttercup@example.com\n```\n\nand your `startKey` is `fezzik@example.com`, the list returned will be\n\n```\nfezzik@example.com\nbuttercup@example.com\n```", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/developers", + "response": { + "$ref": "GoogleCloudApigeeV1ListOfDevelopersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setDeveloperStatus": { + "description": "Sets the status of a developer. Valid values are `active` or `inactive`.\n\nA developer is `active` by default. If you set a developer's status to\n`inactive`, the API keys assigned to the developer apps are no longer valid\neven though the API keys are set to `approved`. Inactive developers\ncan still sign in to the developer portal and create apps; however, any\nnew API keys generated during app creation won't work.\n\nIf successful, the API call returns the\nfollowing HTTP status code: `204 No Content`", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.setDeveloperStatus", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Status of the developer. Valid values are `active` and `inactive`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Email address of the developer. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates a developer.\n\nThis API replaces the existing developer details with those specified\nin the request. Include or exclude any existing details that\nyou want to retain or delete, respectively.\n\nThe custom attribute limit is 18.\n\n**Note**: OAuth access tokens and Key Management Service (KMS) entities\n(apps, developers, and API products) are cached for 180 seconds\n(current default). Any custom attributes associated with these entities\nare cached for at least 180 seconds after the entity is accessed at\nruntime. Therefore, an `ExpiresIn` element on the OAuthV2 policy\nwon't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}", + "httpMethod": "PUT", + "id": "apigee.organizations.developers.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Email address of the developer. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apps": { + "methods": { + "attributes": { + "description": "Updates attributes for a developer app. This API replaces the\ncurrent attributes with those specified in the request.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.attributes", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/attributes", + "request": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "description": "Creates an app associated with a developer. This API associates the\ndeveloper app with the specified API\nproduct and auto-generates an API key for the app to use in calls to API\nproxies inside that API product.\n\nThe `name` is the unique ID of the app\nthat you can use in API calls. The `DisplayName` (set as an\nattribute) appears in the UI. If you don't set the\n`DisplayName` attribute, the `name` appears in the UI.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the developer. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a developer app.\n\n**Note**: The delete operation is asynchronous. The developer app is\ndeleted immediately,\nbut its associated resources, such as app\nkeys or access tokens, may take anywhere from a few seconds to a\nfew minutes to be deleted.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.apps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "generateKeyPairOrUpdateDeveloperAppStatus": { + "description": "Manages access to a developer app by enabling you to:\n\n* Approve or revoke a developer app\n* Generate a new consumer key and secret for a developer app\n\nTo approve or revoke a developer app, set the `action` query parameter to\n`approved` or `revoked`, respectively, and the\n`Content-Type` header to `application/octet-stream`. If a developer app is\nrevoked, none of its API keys are valid for API calls even though\nthe keys are still `approved`. If successful, the API call returns the\nfollowing HTTP status code: `204 No Content`\n\nTo generate a new consumer key and secret for a developer\napp, pass the new key/secret details. Rather than\nreplace an existing key, this API generates a new\nkey. In this case, multiple key\npairs may be associated with a single developer app. Each key pair has an\nindependent status (`approved` or `revoked`) and expiration time.\nAny approved, non-expired key can be used in an API call.\n\nFor example, if you're using API key rotation, you can generate new\nkeys with expiration times that overlap keys that are going to expire.\nYou might also generate a new consumer key/secret if the security of the\noriginal key/secret is compromised.\n\nThe `keyExpiresIn` property defines the\nexpiration time for the API key in milliseconds. If you don't set\nthis property or set it to `-1`, the API key never expires.\n\n**Notes**:\n\n* When generating a new key/secret, this API replaces the\nexisting attributes, notes, and callback URLs with those specified in the\nrequest. Include or exclude any existing information that you want to\nretain or delete, respectively.\n* To migrate existing consumer keys and secrets to hybrid from another\nsystem, see the\nCreateDeveloperAppKey API.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.generateKeyPairOrUpdateDeveloperAppStatus", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Action. Valid values are `approve` or `revoke`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the details for a developer app.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "entity": { + "description": "**Note**: Must be used in conjunction with the `query` parameter.\n\nSet to `apiresources`\nto return the number of API resources\nthat have been approved for access by a developer app in the\nspecified Apigee organization.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + }, + "query": { + "description": "**Note**: Must be used in conjunction with the `entity` parameter.\n\nSet to `count` to return the number of API resources\nthat have been approved for access by a developer app in the\nspecified Apigee organization.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all apps created by a developer in an Apigee organization.\nOptionally, you can request an expanded view of the developer apps.\n\nA maximum of 100 developer apps are returned per API call. You can paginate\nthe list of deveoper apps returned using the `startKey` and `count` query\nparameters.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "count": { + "description": "Number of developer apps to return in the API call. Use with the `startKey`\nparameter to provide more targeted filtering.\nThe limit is 1000.", + "format": "int64", + "location": "query", + "type": "string" + }, + "expand": { + "description": "Optional. Specifies whether to expand the results. Set to `true`\nto expand the results. This query parameter is not valid if you use\nthe `count` or `startKey` query parameters.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. Name of the developer. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + }, + "shallowExpand": { + "description": "Optional. Specifies whether to expand the results in shallow mode.\nSet to `true` to expand the results in shallow mode.", + "location": "query", + "type": "boolean" + }, + "startKey": { + "description": "**Note**: Must be used in conjunction with the `count` parameter.\n\nName of the developer app from which to start displaying the list of\ndeveloper apps. For example, if you're returning 50 developer apps at\na time (using the `count` query parameter), you can view developer apps\n50-99 by entering the name of the 50th developer app.\nThe developer app name is case sensitive.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/apps", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeveloperAppsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates the details for a developer app. In addition, you can\nadd an API product to a developer app and automatically generate\nan API key for the app to use when calling APIs in the API product.\n\nIf you want to use an existing API key for the API product,\nadd the API product to the API key using the\nUpdateDeveloperAppKey\nAPI.\n\nUsing this API, you cannot update the following:\n\n* App name as it is the primary key used to identify the app and cannot\n be changed.\n* Scopes associated with the app. Instead, use the\n ReplaceDeveloperAppKey API.\n\nThis API replaces the\nexisting attributes with those specified in the request.\nInclude or exclude any existing attributes that you want to retain or\ndelete, respectively.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.developers.apps.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "attributes": { + "methods": { + "delete": { + "description": "Deletes a developer app attribute.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes/{attributesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.apps.attributes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps/{app}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns a developer app attribute.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes/{attributesId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.attributes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps/{app}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns a list of all developer app attributes.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.attributes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the developer app. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attributes", + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDeveloperAppAttribute": { + "description": "Updates a developer app attribute.\n\n**Note**: OAuth access tokens and Key Management Service (KMS) entities\n(apps, developers, and API products) are cached for 180 seconds\n(current default). Any custom attributes associated with these entities\nare cached for at least 180 seconds after the entity is accessed at\nruntime. Therefore, an `ExpiresIn` element on the OAuthV2 policy\nwon't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/attributes/{attributesId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.attributes.updateDeveloperAppAttribute", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer app attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps/{app}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "keys": { + "methods": { + "create": { + "description": "Creates a custom consumer key and secret for a developer app. This is\nparticularly useful if you want to migrate existing consumer keys and\nsecrets to Apigee hybrid from another system.\n\nConsumer keys and secrets can contain letters, numbers, underscores, and\nhyphens. No other special characters are allowed. To avoid service\ndisruptions, a consumer key and secret should not exceed 2 KBs each.\n\n**Note**: When creating the consumer key and secret, an association to\nAPI products will not be made. Therefore, you should not specify the\nassociated API products in your request. Instead, use the\nUpdateDeveloperAppKey API to\nmake the association after the consumer key and secret are created.\n\nIf a consumer key and secret already exist, you can keep them or\ndelete them using the\nDeleteDeveloperAppKey API.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.keys.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Parent of the developer app key. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keys", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an app's consumer key and removes all API products\nassociated with the app. After the consumer key is deleted,\nit cannot be used to access any APIs.\n\n**Note**: After you delete a consumer key, you may want to:\n1. Create a new consumer key and secret for the developer app using the\nCreateDeveloperAppKey API, and\nsubsequently add an API product to the key using the\nUpdateDeveloperAppKey API.\n2. Delete the developer app, if it is no longer required.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.apps.keys.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the developer app key. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns details for a consumer key for a developer app, including the key\nand secret value, associated API products, and other information.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.apps.keys.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the developer app key. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "replaceDeveloperAppKey": { + "description": "Updates the scope of an app.\n\nThis API replaces the\nexisting scopes with those specified in the request.\nInclude or exclude any existing scopes that you want to retain or\ndelete, respectively. The specified scopes must already\nbe defined for the API products associated with the app.\n\nThis API sets the `scopes` element\nunder the `apiProducts` element in the attributes of the app.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "PUT", + "id": "apigee.organizations.developers.apps.keys.replaceDeveloperAppKey", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the developer app key. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDeveloperAppKey": { + "description": "Adds an API product to a developer app key, enabling the app that holds\nthe key to access the API resources bundled in the API product.\n\nIn addition, you can add\nattributes to a developer app key. This API replaces the\nexisting attributes with those specified in the request.\nInclude or exclude any existing attributes that you want to retain or\ndelete, respectively.\n\nYou can use the same key to access all API products\nassociated with the app.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.keys.updateDeveloperAppKey", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Approve or revoke the consumer key by setting this value to\n`approve` or `revoke`, respectively.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Name of the developer app key. Use the following structure in your request:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "apiproducts": { + "methods": { + "delete": { + "description": "Removes an API product from an app's consumer key. After the API product is\nremoved, the app cannot access the API resources defined in\nthat API product.\n\n**Note**: The consumer key is not removed, only its association with the\nAPI product.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.apps.keys.apiproducts.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the API product in the developer app key in the following\nformat:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}/apiproducts/{apiproduct}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDeveloperAppKeyApiProduct": { + "description": "Approve or revoke an app's consumer key. After a consumer key is approved,\nthe app can use it to access APIs.\n\nA consumer key that is revoked or pending cannot be used to access an API.\nAny access tokens associated with a revoked consumer key will remain\nactive. However, Apigee hybrid checks the status of the consumer key and\nif set to `revoked` will not allow access to the API.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/{keysId}/apiproducts/{apiproductsId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.keys.apiproducts.updateDeveloperAppKeyApiProduct", + "parameterOrder": [ + "name" + ], + "parameters": { + "action": { + "description": "Approve or revoke the consumer key by setting this value to\n`approve` or `revoke`, respectively.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Name of the API product in the developer app key in the following\nformat:\n `organizations/{org}/developers/{developer_email}/apps/{app}/keys/{key}/apiproducts/{apiproduct}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+/keys/[^/]+/apiproducts/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "create": { + "methods": { + "create": { + "description": "Creates a custom consumer key and secret for a developer app. This is\nparticularly useful if you want to migrate existing consumer keys and\nsecrets to Apigee hybrid from another system.\n\nConsumer keys and secrets can contain letters, numbers, underscores, and\nhyphens. No other special characters are allowed. To avoid service\ndisruptions, a consumer key and secret should not exceed 2 KBs each.\n\n**Note**: When creating the consumer key and secret, an association to\nAPI products will not be made. Therefore, you should not specify the\nassociated API products in your request. Instead, use the\nUpdateDeveloperAppKey API to\nmake the association after the consumer key and secret are created.\n\nIf a consumer key and secret already exist, you can keep them or\ndelete them using the\nDeleteDeveloperAppKey API.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/apps/{appsId}/keys/create", + "httpMethod": "POST", + "id": "apigee.organizations.developers.apps.keys.create.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Parent of the developer app key. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/apps`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/apps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keys/create", + "request": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DeveloperAppKey" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + }, + "attributes": { + "methods": { + "delete": { + "description": "Deletes a developer attribute.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes/{attributesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.developers.attributes.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the value of the specified developer attribute.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes/{attributesId}", + "httpMethod": "GET", + "id": "apigee.organizations.developers.attributes.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Returns a list of all developer attributes.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes", + "httpMethod": "GET", + "id": "apigee.organizations.developers.attributes.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Email address of the developer for which attributes are being listed in the\nfollowing format:\n `organizations/{org}/developers/{developer_email}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/attributes", + "response": { + "$ref": "GoogleCloudApigeeV1Attributes" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDeveloperAttribute": { + "description": "Updates a developer attribute.\n\n**Note**: OAuth access tokens and Key Management Service (KMS) entities\n(apps, developers, and API products) are cached for 180 seconds\n(default). Any custom attributes associated with these entities\nare cached for at least 180 seconds after the entity is accessed at\nruntime. Therefore, an `ExpiresIn` element on the OAuthV2 policy\nwon't be able to expire an access token in less than 180 seconds.", + "flatPath": "v1/organizations/{organizationsId}/developers/{developersId}/attributes/{attributesId}", + "httpMethod": "POST", + "id": "apigee.organizations.developers.attributes.updateDeveloperAttribute", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the developer attribute. Use the following structure in your\nrequest:\n `organizations/{org}/developers/{developer_email}/attributes/{attribute}`", + "location": "path", + "pattern": "^organizations/[^/]+/developers/[^/]+/attributes/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "environments": { + "methods": { + "create": { + "description": "Creates an environment in an organization.", + "flatPath": "v1/organizations/{organizationsId}/environments", + "httpMethod": "POST", + "id": "apigee.organizations.environments.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "name": { + "description": "Optional. Name of the environment. Alternatively, the name may\nbe specified in the request body in the\nname field.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the organization in which the environment will\nbe created. Use the following structure in your request:\n `organizations/{org}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/environments", + "request": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an environment from an organization.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment. Use the following structure in your\nrequest:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets environment details.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDebugmask": { + "description": "Gets the debug mask singleton resource for an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/debugmask", + "httpMethod": "GET", + "id": "apigee.organizations.environments.getDebugmask", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the debug mask. Use the following structure in your request:\n `organizations/{org}/environments/{env}/debugmask`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/debugmask$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DebugMask" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDeployedConfig": { + "description": "Gets the deployed configuration for an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/deployedConfig", + "httpMethod": "GET", + "id": "apigee.organizations.environments.getDeployedConfig", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment deployed configuration resource. Use the following\nstructure in your request:\n `organizations/{org}/environments/{env}/deployedConfig`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/deployedConfig$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1EnvironmentConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM policy on an environment. For more information, see\n[Manage users, roles, and permissions\nusing the API](https://docs.apigee.com/hybrid/latest/manage-users-roles).\n\nYou must have the `apigee.environments.getIamPolicy` permission to call\nthis API.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:getIamPolicy", + "httpMethod": "GET", + "id": "apigee.organizations.environments.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:getIamPolicy", + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Sets the IAM policy on an environment, if the policy already\nexists it will be replaced. For more information, see\n[Manage users, roles, and permissions\nusing the API](https://docs.apigee.com/hybrid/latest/manage-users-roles).\n\nYou must have the `apigee.environments.setIamPolicy` permission to\ncall this API.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:setIamPolicy", + "httpMethod": "POST", + "id": "apigee.organizations.environments.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:setIamPolicy", + "request": { + "$ref": "GoogleIamV1SetIamPolicyRequest" + }, + "response": { + "$ref": "GoogleIamV1Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "subscribe": { + "description": "Creates a subscription for the environment's Pub/Sub topic.\nThe server will assign a random name for this subscription.\nThe \"name\" and \"push_config\" must *not* be specified.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:subscribe", + "httpMethod": "POST", + "id": "apigee.organizations.environments.subscribe", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:subscribe", + "response": { + "$ref": "GoogleCloudApigeeV1Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests the permissions of a user on an environment,\nand returns a subset of permissions that the user has on the environment.\nIf the environment does not exist, an empty permission set is returned\n(a NOT_FOUND error is not returned).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:testIamPermissions", + "httpMethod": "POST", + "id": "apigee.organizations.environments.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+resource}:testIamPermissions", + "request": { + "$ref": "GoogleIamV1TestIamPermissionsRequest" + }, + "response": { + "$ref": "GoogleIamV1TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "unsubscribe": { + "description": "Deletes a subscription for the environment's Pub/Sub topic.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}:unsubscribe", + "httpMethod": "POST", + "id": "apigee.organizations.environments.unsubscribe", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}:unsubscribe", + "request": { + "$ref": "GoogleCloudApigeeV1Subscription" + }, + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing environment.\n\nWhen updating properties, you must pass all existing properties to the API,\neven if they are not being changed. If you omit properties from the\npayload, the properties are removed. To get the current list of\nproperties for the environment, use the [Get Environment API](get).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateDebugmask": { + "description": "Updates the debug mask singleton resource for an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/debugmask", + "httpMethod": "PATCH", + "id": "apigee.organizations.environments.updateDebugmask", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Name of the debug mask.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/debugmask$", + "required": true, + "type": "string" + }, + "replaceRepeatedFields": { + "description": "Boolean flag that specifies whether to replace existing values in the debug\nmask when doing an update. Set to true to replace existing values.\nThe default behavior is to append the values (false).", + "location": "query", + "type": "boolean" + }, + "updateMask": { + "description": "Field debug mask to support partial updates.", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1DebugMask" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DebugMask" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateEnvironment": { + "description": "Updates an existing environment.\n\nWhen updating properties, you must pass all existing properties to the API,\neven if they are not being changed. If you omit properties from the\npayload, the properties are removed. To get the current list of\nproperties for the environment, use the [Get Environment API](get).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}", + "httpMethod": "POST", + "id": "apigee.organizations.environments.updateEnvironment", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the environment. Use the following structure in your request:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Environment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "analytics": { + "resources": { + "admin": { + "methods": { + "getSchemav2": { + "description": "Get a list of metrics and dimensions which can be used for creating\nanalytics queries and reports.\nEach schema element contains the name of the field with its associated type\nand if it is either custom field or standard field.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/analytics/admin/schemav2", + "httpMethod": "GET", + "id": "apigee.organizations.environments.analytics.admin.getSchemav2", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The parent organization and environment names. Must be of the\nform `organizations/{org}/environments/{env}/analytics/admin/schemav2`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/analytics/admin/schemav2$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Type refers to the dataset name whose schema needs to be\nretrieved E.g. type=fact or type=agg_cus1", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Schema" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "apis": { + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of an API proxy in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name representing an API proxy in an environment in the following\nformat:\n `organizations/{org}/environments/{env}/apis/{api}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "revisions": { + "methods": { + "deployments": { + "description": "Undeploys an API proxy revision from an environment.\n\nBecause multiple revisions of the same API proxy can be deployed in\nthe same environment if the base paths are different, you must specify the\nrevision number of the API proxy.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.apis.revisions.deployments", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the API proxy revision deployment in the following format:\n `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/deployments", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDeployments": { + "description": "Gets the deployment of an API proxy revision and actual state reported by\nruntime pods.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.revisions.getDeployments", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name representing an API proxy revision in an\nenvironment in the following format:\n `organizations/{org}/environments/{env}/apis/{api}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "debugsessions": { + "methods": { + "create": { + "description": "Creates a debug session for a deployed API Proxy revision.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions", + "httpMethod": "POST", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The resource name of the API Proxy revision deployment for which\nto create the DebugSession. Must be of the form\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "timeout": { + "description": "Optional. The time in seconds after which this DebugSession should end.\nA timeout specified in DebugSession will overwrite this value.", + "format": "int64", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/debugsessions", + "request": { + "$ref": "GoogleCloudApigeeV1DebugSession" + }, + "response": { + "$ref": "GoogleCloudApigeeV1DebugSession" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "deleteData": { + "description": "Deletes the data from a debug session. This does not cancel the debug\nsession or prevent further data from being collected if the session is\nstill active in runtime pods.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}/data", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.deleteData", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the debug session to delete.\nMust be of the form:\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{debugsession}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/data", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieves a debug session.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the debug session to retrieve.\nMust be of the form:\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DebugSession" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists debug sessions that are currently active in the given API Proxy\nrevision.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "Maximum number of debug sessions to return. The page size defaults\nto 25.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "Page token, returned from a previous ListDebugSessions call, that you\ncan use to retrieve the next page.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the API Proxy revision deployment for which\nto list debug sessions. Must be of the form:\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/debugsessions", + "response": { + "$ref": "GoogleCloudApigeeV1ListDebugSessionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "data": { + "methods": { + "get": { + "description": "Gets the debug data from a transaction.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/apis/{apisId}/revisions/{revisionsId}/debugsessions/{debugsessionsId}/data/{dataId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.apis.revisions.debugsessions.data.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the debug session transaction. Must be of the form:\n `organizations/{organization}/environments/{environment}/apis/{api}/revisions/{revision}/debugsessions/{session}/data/{transaction}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/apis/[^/]+/revisions/[^/]+/debugsessions/[^/]+/data/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DebugSessionTransaction" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + }, + "caches": { + "methods": { + "delete": { + "description": "Deletes a cache.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/caches/{cachesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.caches.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Cache resource name of the form:\n `organizations/{organization_id}/environments/{environment_id}/caches/{cache_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/caches/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of API proxies or shared flows in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment for which to return deployment information in the\nfollowing format:\n `organizations/{org}/environments/{env}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "sharedFlows": { + "description": "Optional. Flag that specifies whether to return shared flow or API proxy deployments.\nSet to `true` to return shared flow deployments; set to `false`\nto return API proxy deployments. Defaults to `false`.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "flowhooks": { + "methods": { + "attachSharedFlowToFlowHook": { + "description": "Attaches a shared flow to a flow hook.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/flowhooks/{flowhooksId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.flowhooks.attachSharedFlowToFlowHook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the flow hook to which the shared flow should be\nattached in the following format:\n `organizations/{org}/environments/{env}/flowhooks/{flowhook}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/flowhooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1FlowHook" + }, + "response": { + "$ref": "GoogleCloudApigeeV1FlowHook" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "detachSharedFlowFromFlowHook": { + "description": "Detaches a shared flow from a flow hook.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/flowhooks/{flowhooksId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.flowhooks.detachSharedFlowFromFlowHook", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the flow hook to detach in the following format:\n `organizations/{org}/environments/{env}/flowhooks/{flowhook}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/flowhooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1FlowHook" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Returns the name of the shared flow attached to the specified flow hook. If\nthere's no shared flow attached to the flow hook, the API does not return\nan error; it simply does not return a name in the response.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/flowhooks/{flowhooksId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.flowhooks.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the flow hook in the following format:\n `organizations/{org}/environments/{env}/flowhooks/{flowhook}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/flowhooks/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1FlowHook" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "keystores": { + "methods": { + "create": { + "description": "Creates a keystore or truststore:\n * Keystore: Contains certificates and their associated keys.\n * Truststore: Contains trusted certificates used to validate a\n server's certificate. These certificates are typically self-signed\n certificates or certificates that are not signed by a trusted CA.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores", + "httpMethod": "POST", + "id": "apigee.organizations.environments.keystores.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "name": { + "description": "Optional. Overrides the value in Keystore.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the environment in which to create the keystore.\nMust be of the form\n`organizations/{organization}/environments/{environment}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keystores", + "request": { + "$ref": "GoogleCloudApigeeV1Keystore" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Keystore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a keystore or truststore.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.keystores.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of keystore to delete. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Keystore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a keystore or truststore.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.keystores.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of keystore. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Keystore" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "aliases": { + "methods": { + "create": { + "description": "Creates an alias from a key, certificate pair.\nThe structure of the request is controlled by the `format` query parameter:\n * `keycertfile` - Separate PEM-encoded key and certificate files are\n uploaded. The request must have `Content-Type: multipart/form-data` and\n include fields `keyFile` and `certFile`. If uploading to a truststore,\n omit `keyFile`.\n* `pkcs12` - A PKCS12 file is uploaded. The request must have\n`Content-Type: multipart/form-data` with the file provided in the only\nfield.\n* `selfsignedcert` - A new private key and certificate are generated. The\nrequest must have `Content-Type: application/json` and a body of\nCertificateGenerationSpec.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases", + "httpMethod": "POST", + "id": "apigee.organizations.environments.keystores.aliases.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "_password": { + "description": "The password for the private key file, if it exists.", + "location": "query", + "type": "string" + }, + "alias": { + "description": "The alias for the key, certificate pair. Values must match\nregular expression `[\\w\\s-.]{1,255}`. This must be provided for all formats\nexcept 'selfsignedcert'; self-signed certs may specify the alias in either\nthis parameter or the JSON body.", + "location": "query", + "type": "string" + }, + "format": { + "description": "Required. The format of the data. Must be either `selfsignedcert`,\n`keycertfile`, or `pkcs12`.", + "location": "query", + "type": "string" + }, + "ignoreExpiryValidation": { + "description": "If `true`, no expiry validation will be performed.", + "location": "query", + "type": "boolean" + }, + "ignoreNewlineValidation": { + "description": "If `true`, do not throw an error when the file contains a chain with no\nnewline between each certificate. By default, a newline is needed between\neach certificate in a chain.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The name of the keystore. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/aliases", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Alias" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "csr": { + "description": "Generates a PKCS #10 Certificate Signing Request for the private key in\nan alias.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}/csr", + "httpMethod": "GET", + "id": "apigee.organizations.environments.keystores.aliases.csr", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/csr", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an alias.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.keystores.aliases.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Alias" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets an alias.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.keystores.aliases.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Alias" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getCertificate": { + "description": "Gets the certificate from an alias in PEM-encoded form.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}/certificate", + "httpMethod": "GET", + "id": "apigee.organizations.environments.keystores.aliases.getCertificate", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/certificate", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates the certificate in an alias.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keystores/{keystoresId}/aliases/{aliasesId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.keystores.aliases.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "ignoreExpiryValidation": { + "description": "Required. If `true`, no expiry validation will be performed.", + "location": "query", + "type": "boolean" + }, + "ignoreNewlineValidation": { + "description": "If `true`, do not throw an error when the file contains a chain with no\nnewline between each certificate. By default, a newline is needed between\neach certificate in a chain.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "Required. The name of the alias. Must be of the form\n`organizations/{organization}/environments/{environment}/keystores/{keystore}/aliases/{alias}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keystores/[^/]+/aliases/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Alias" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "keyvaluemaps": { + "methods": { + "create": { + "description": "Creates a key value map in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps", + "httpMethod": "POST", + "id": "apigee.organizations.environments.keyvaluemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the environment in which to create the key value map.\nMust be of the form\n`organizations/{organization}/environments/{environment}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keyvaluemaps", + "request": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a key value map in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/keyvaluemaps/{keyvaluemapsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.keyvaluemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the key value map.\nMust be of the form\n`organizations/{organization}/environments/{environment}/keyvaluemaps/{keyvaluemap}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/keyvaluemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "optimizedStats": { + "methods": { + "get": { + "description": "This api is similar to GetStats\nexcept that the response is less verbose.\nIn the current scheme, a query parameter _optimized instructs\nEdge Analytics to change the response but since this behavior\nis not possible with protocol buffer and since this parameter is\npredominantly used by Edge UI, we are introducing a separate api.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/optimizedStats/{optimizedStatsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.optimizedStats.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "accuracy": { + "description": "Legacy field: not used anymore.", + "location": "query", + "type": "string" + }, + "aggTable": { + "description": "If customers want to query custom aggregate tables, then this parameter\ncan be used to specify the table name. If this parameter is skipped, then\nEdge Query will try to retrieve the data from fact tables which will be\nexpensive.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Enables drill-down on specific dimension values.", + "location": "query", + "type": "string" + }, + "limit": { + "description": "This parameter is used to limit the number of result items.\nDefault and the max value is 14400.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name for which the interactive query will be executed.\nMust be of the form\n `organizations/{organization_id}/environments/{environment_id/stats/{dimensions}`\nDimensions let you view metrics in meaningful groupings. E.g. apiproxy,\ntarget_host. The value of dimensions should be comma separated list as\nshown below\n`organizations/{org}/environments/{env}/stats/apiproxy,request_verb`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/optimizedStats/.*$", + "required": true, + "type": "string" + }, + "offset": { + "description": "Use offset with limit to enable pagination of results. For example,\nto display results 11-20, set limit to '10' and offset to '10'.", + "location": "query", + "type": "string" + }, + "realtime": { + "description": "Legacy field: not used anymore.", + "location": "query", + "type": "boolean" + }, + "select": { + "description": "Required. The select parameter contains a comma separated list of metrics.\nE.g. sum(message_count),sum(error_count)", + "location": "query", + "type": "string" + }, + "sonar": { + "description": "This parameter routes the query to api monitoring service for last hour.", + "location": "query", + "type": "boolean" + }, + "sort": { + "description": "This parameter specifies if the sort order should be ascending or\ndescending Supported values are DESC and ASC.", + "location": "query", + "type": "string" + }, + "sortby": { + "description": "Comma separated list of columns to sort the final result.", + "location": "query", + "type": "string" + }, + "timeRange": { + "description": "Required. Time interval for the interactive query.\nTime range is specified as start~end E.g. 04/15/2017 00:00~05/15/2017 23:59", + "location": "query", + "type": "string" + }, + "timeUnit": { + "description": "A value of second, minute, hour, day, week, month.\nTime Unit specifies the granularity of metrics returned.", + "location": "query", + "type": "string" + }, + "topk": { + "description": "Take 'top k' results from results, for example, to return the top 5\nresults 'topk=5'.", + "location": "query", + "type": "string" + }, + "tsAscending": { + "description": "Lists timestamps in ascending order if set to true. Recommend setting\nthis value to true if you are using sortby with sort=DESC.", + "location": "query", + "type": "boolean" + }, + "tzo": { + "description": "This parameters contains the timezone offset value.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1OptimizedStats" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "queries": { + "methods": { + "create": { + "description": "Submit a query to be processed in the background.\nIf the submission of the query succeeds, the API returns a 201 status and\nan ID that refer to the query. In addition to the HTTP status 201, the\n`state` of \"enqueued\" means that the request succeeded.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/queries", + "httpMethod": "POST", + "id": "apigee.organizations.environments.queries.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent resource name.\nMust be of the form `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/queries", + "request": { + "$ref": "GoogleCloudApigeeV1Query" + }, + "response": { + "$ref": "GoogleCloudApigeeV1AsyncQuery" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Get query status\nIf the query is still in progress, the `state` is set to \"running\"\nAfter the query has completed successfully, `state` is set to \"completed\"", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.queries.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the asynchronous query to get. Must be of the form\n`organizations/{org}/environments/{env}/queries/{queryId}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/queries/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1AsyncQuery" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getResult": { + "description": "After the query is completed, use this API to retrieve the results.\nIf the request succeeds, and there is a non-zero result set, the result is\ndownloaded to the client as a zipped JSON file.\nThe name of the downloaded file will be:\n OfflineQueryResult-.zip\n\nExample: `OfflineQueryResult-9cfc0d85-0f30-46d6-ae6f-318d0cb961bd.zip`", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/queries/{queriesId}/result", + "httpMethod": "GET", + "id": "apigee.organizations.environments.queries.getResult", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the asynchronous query result to get. Must be of the\nform `organizations/{org}/environments/{env}/queries/{queryId}/result`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/queries/[^/]+/result$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Return a list of Asynchronous Queries", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/queries", + "httpMethod": "GET", + "id": "apigee.organizations.environments.queries.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "dataset": { + "description": "Filter response list by dataset.\n\nExample: `api`, `mint`", + "location": "query", + "type": "string" + }, + "from": { + "description": "Filter response list by returning asynchronous queries that\ncreated after this date time.\nTime must be in ISO date-time format like '2011-12-03T10:15:30Z'.", + "location": "query", + "type": "string" + }, + "inclQueriesWithoutReport": { + "description": "Flag to include asynchronous queries that don't have a report denifition.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent resource name.\nMust be of the form `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "status": { + "description": "Filter response list by asynchronous query status.", + "location": "query", + "type": "string" + }, + "submittedBy": { + "description": "Filter response list by user who submitted queries.", + "location": "query", + "type": "string" + }, + "to": { + "description": "Filter response list by returning asynchronous queries that\ncreated before this date time.\nTime must be in ISO date-time format like '2011-12-03T10:16:30Z'.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/queries", + "response": { + "$ref": "GoogleCloudApigeeV1ListAsyncQueriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "references": { + "methods": { + "create": { + "description": "Creates a Reference in the specified environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/references", + "httpMethod": "POST", + "id": "apigee.organizations.environments.references.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent environment name under which the Reference will\nbe created. Must be of the form `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/references", + "request": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a Reference from an environment. Returns the deleted\nReference resource.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/references/{referencesId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.references.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Reference to delete. Must be\nof the form `organizations/{org}/environments/{env}/references/{ref}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/references/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a Reference resource.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/references/{referencesId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.references.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Reference to get. Must be of the form\n`organizations/{org}/environments/{env}/references/{ref}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/references/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing Reference. Note that this operation has PUT\nsemantics; it will replace the entirety of the existing Reference with\nthe resource in the request body.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/references/{referencesId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.references.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the Reference to update. Must be of the form\n`organizations/{org}/environments/{env}/references/{ref}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/references/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "response": { + "$ref": "GoogleCloudApigeeV1Reference" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "resourcefiles": { + "methods": { + "create": { + "description": "Creates a resource file.\n\nSpecify the `Content-Type` as `application/octet-stream` or\n`multipart/form-data`.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles", + "httpMethod": "POST", + "id": "apigee.organizations.environments.resourcefiles.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "name": { + "description": "Required. Name of the resource file. Must match the regular expression:\n[a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255}", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. Name of the environment in which to create the resource file in the\nfollowing format:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Resource file type. {{ resource_file_type }}", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a resource file.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}/{name}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.resourcefiles.delete", + "parameterOrder": [ + "parent", + "type", + "name" + ], + "parameters": { + "name": { + "description": "Required. ID of the resource file to delete. Must match the regular\nexpression: [a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255}", + "location": "path", + "required": true, + "type": "string" + }, + "parent": { + "description": "Required. Name of the environment in the following format:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Resource file type. {{ resource_file_type }}", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles/{type}/{name}", + "response": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets the contents of a resource file.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}/{name}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.resourcefiles.get", + "parameterOrder": [ + "parent", + "type", + "name" + ], + "parameters": { + "name": { + "description": "Required. ID of the resource file. Must match the regular\nexpression: [a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255}", + "location": "path", + "required": true, + "type": "string" + }, + "parent": { + "description": "Required. Name of the environment in the following format:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Resource file type. {{ resource_file_type }}", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles/{type}/{name}", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all resource files.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles", + "httpMethod": "GET", + "id": "apigee.organizations.environments.resourcefiles.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment in which to list resource files in the following\nformat:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Optional. Type of resource files to list.\n{{ resource_file_type }}", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles", + "response": { + "$ref": "GoogleCloudApigeeV1ListEnvironmentResourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "listEnvironmentResources": { + "description": "Lists all resource files.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.resourcefiles.listEnvironmentResources", + "parameterOrder": [ + "parent", + "type" + ], + "parameters": { + "parent": { + "description": "Required. Name of the environment in which to list resource files in the following\nformat:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Optional. Type of resource files to list.\n{{ resource_file_type }}", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles/{type}", + "response": { + "$ref": "GoogleCloudApigeeV1ListEnvironmentResourcesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates a resource file.\n\nSpecify the `Content-Type` as `application/octet-stream` or\n`multipart/form-data`.\n\nFor more information about resource files, see\n[Resource files](/api-platform/develop/resource-files).", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/resourcefiles/{type}/{name}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.resourcefiles.update", + "parameterOrder": [ + "parent", + "type", + "name" + ], + "parameters": { + "name": { + "description": "Required. ID of the resource file to update. Must match the regular\nexpression: [a-zA-Z0-9:/\\\\!@#$%^&{}\\[\\]()+\\-=,.~'` ]{1,255}", + "location": "path", + "required": true, + "type": "string" + }, + "parent": { + "description": "Required. Name of the environment in the following format:\n `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + }, + "type": { + "description": "Required. Resource file type. {{ resource_file_type }}", + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/resourcefiles/{type}/{name}", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sharedflows": { + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of a shared flow in an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.sharedflows.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name representing a shared flow in an environment in the following\nformat:\n `organizations/{org}/environments/{env}/sharedflows/{sharedflow}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "revisions": { + "methods": { + "deployments": { + "description": "Undeploys a shared flow revision from an environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.sharedflows.revisions.deployments", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name of the shared flow revision to undeploy in the following format:\n `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/deployments", + "response": { + "$ref": "GoogleProtobufEmpty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getDeployments": { + "description": "Gets the deployment of a shared flow revision and actual state reported by\nruntime pods.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.environments.sharedflows.revisions.getDeployments", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Name representing a shared flow in an environment in the following\nformat:\n `organizations/{org}/environments/{env}/sharedflows/{sharedflow}/revisions/{rev}`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "stats": { + "methods": { + "get": { + "description": "Retrieve metrics grouped by dimensions.\nThe types of metrics you can retrieve include traffic, message counts,\nAPI call latency, response size, and cache hits and counts.\nDimensions let you view metrics in meaningful groups.\nThe stats api does accept dimensions as path params. The dimensions are\noptional in which case the metrics are computed on the entire data\nfor the given timerange.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/stats/{statsId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.stats.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "accuracy": { + "description": "Legacy field: not used anymore.\nThis field is present to support UI calls which still use this parameter.", + "location": "query", + "type": "string" + }, + "aggTable": { + "description": "If customers want to query custom aggregate tables, then this parameter\ncan be used to specify the table name. If this parameter is skipped, then\nEdge Query will try to retrieve the data from fact tables which will be\nexpensive.", + "location": "query", + "type": "string" + }, + "filter": { + "description": "Enables drill-down on specific dimension values", + "location": "query", + "type": "string" + }, + "limit": { + "description": "This parameter is used to limit the number of result items.\nDefault and the max value is 14400.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The resource name for which the interactive query will be executed.\nMust be of the form\n `organizations/{organization_id}/environments/{environment_id/stats/{dimensions}`\nDimensions let you view metrics in meaningful groupings. E.g. apiproxy,\ntarget_host. The value of dimensions should be comma separated list as\nshown below\n`organizations/{org}/environments/{env}/stats/apiproxy,request_verb`", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/stats/.*$", + "required": true, + "type": "string" + }, + "offset": { + "description": "Use offset with limit to enable pagination of results. For example,\nto display results 11-20, set limit to '10' and offset to '10'.", + "location": "query", + "type": "string" + }, + "realtime": { + "description": "Legacy field: not used anymore.", + "location": "query", + "type": "boolean" + }, + "select": { + "description": "The select parameter contains a comma separated list of metrics.\nE.g. sum(message_count),sum(error_count)", + "location": "query", + "type": "string" + }, + "sonar": { + "description": "This parameter routes the query to api monitoring service for last hour.", + "location": "query", + "type": "boolean" + }, + "sort": { + "description": "This parameter specifies if the sort order should be ascending or\ndescending Supported values are DESC and ASC.", + "location": "query", + "type": "string" + }, + "sortby": { + "description": "Comma separated list of columns to sort the final result.", + "location": "query", + "type": "string" + }, + "timeRange": { + "description": "Time interval for the interactive query.\nTime range is specified as start~end E.g. 04/15/2017 00:00~05/15/2017 23:59", + "location": "query", + "type": "string" + }, + "timeUnit": { + "description": "A value of second, minute, hour, day, week, month.\nTime Unit specifies the granularity of metrics returned.", + "location": "query", + "type": "string" + }, + "topk": { + "description": "Take 'top k' results from results, for example, to return the top 5\nresults 'topk=5'.", + "location": "query", + "type": "string" + }, + "tsAscending": { + "description": "Lists timestamps in ascending order if set to true. Recommend setting\nthis value to true if you are using sortby with sort=DESC.", + "location": "query", + "type": "boolean" + }, + "tzo": { + "description": "This parameters contains the timezone offset value.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1Stats" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "targetservers": { + "methods": { + "create": { + "description": "Creates a TargetServer in the specified environment.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers", + "httpMethod": "POST", + "id": "apigee.organizations.environments.targetservers.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "name": { + "description": "Optional. The ID to give the TargetServer. This will overwrite the\nvalue in TargetServer.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The parent environment name under which the TargetServer will\nbe created. Must be of the form `organizations/{org}/environments/{env}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/targetservers", + "request": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "response": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a TargetServer from an environment. Returns the deleted\nTargetServer resource.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers/{targetserversId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.environments.targetservers.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the TargetServer to delete. Must be\nof the form\n`organizations/{org}/environments/{env}/targetservers/{target_server_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/targetservers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a TargetServer resource.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers/{targetserversId}", + "httpMethod": "GET", + "id": "apigee.organizations.environments.targetservers.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the TargetServer to get. Must be of the form\n`organizations/{org}/environments/{env}/targetservers/{target_server_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/targetservers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Updates an existing TargetServer. Note that this operation has PUT\nsemantics; it will replace the entirety of the existing TargetServer with\nthe resource in the request body.", + "flatPath": "v1/organizations/{organizationsId}/environments/{environmentsId}/targetservers/{targetserversId}", + "httpMethod": "PUT", + "id": "apigee.organizations.environments.targetservers.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the TargetServer to replace. Must be of the form\n`organizations/{org}/environments/{env}/targetservers/{target_server_id}`.", + "location": "path", + "pattern": "^organizations/[^/]+/environments/[^/]+/targetservers/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "response": { + "$ref": "GoogleCloudApigeeV1TargetServer" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "keyvaluemaps": { + "methods": { + "create": { + "description": "Creates a key value map in an organization.", + "flatPath": "v1/organizations/{organizationsId}/keyvaluemaps", + "httpMethod": "POST", + "id": "apigee.organizations.keyvaluemaps.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The name of the organization in which to create the key value map\nfile. Must be of the form `organizations/{organization}`.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/keyvaluemaps", + "request": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Delete a key value map in an organization.", + "flatPath": "v1/organizations/{organizationsId}/keyvaluemaps/{keyvaluemapsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.keyvaluemaps.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the key value map.\nMust be of the form\n`organizations/{organization}/keyvaluemaps/{keyvaluemap}`.", + "location": "path", + "pattern": "^organizations/[^/]+/keyvaluemaps/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1KeyValueMap" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1/organizations/{organizationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "apigee.organizations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^organizations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleLongrunningOperation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1/organizations/{organizationsId}/operations", + "httpMethod": "GET", + "id": "apigee.organizations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+name}/operations", + "response": { + "$ref": "GoogleLongrunningListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "reports": { + "methods": { + "create": { + "description": "Creates a Custom Report for an Organization. A Custom Report\nprovides Apigee Customers to create custom dashboards in addition\nto the standard dashboards which are provided. The Custom Report in its\nsimplest form contains specifications about metrics, dimensions and\nfilters. It is important to note that the custom report by itself does not\nprovide an executable entity. The Edge UI converts the custom report\ndefinition into an analytics query and displays the result in a chart.", + "flatPath": "v1/organizations/{organizationsId}/reports", + "httpMethod": "POST", + "id": "apigee.organizations.reports.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. The parent organization name under which the Custom Report will\nbe created. Must be of the form:\n `organizations/{organization_id}/reports`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports", + "request": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "response": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes an existing custom report definition", + "flatPath": "v1/organizations/{organizationsId}/reports/{reportsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.reports.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Custom Report name of the form:\n `organizations/{organization_id}/reports/{report_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1DeleteCustomReportResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Retrieve a custom report definition.", + "flatPath": "v1/organizations/{organizationsId}/reports/{reportsId}", + "httpMethod": "GET", + "id": "apigee.organizations.reports.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Custom Report name of the form:\n `organizations/{organization_id}/reports/{report_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Return a list of Custom Reports", + "flatPath": "v1/organizations/{organizationsId}/reports", + "httpMethod": "GET", + "id": "apigee.organizations.reports.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "expand": { + "description": "Set to 'true' to get expanded details about each custom report.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The parent organization name under which the API product will\nbe listed\n `organizations/{organization_id}/reports`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/reports", + "response": { + "$ref": "GoogleCloudApigeeV1ListCustomReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "description": "Update an existing custom report definition", + "flatPath": "v1/organizations/{organizationsId}/reports/{reportsId}", + "httpMethod": "PUT", + "id": "apigee.organizations.reports.update", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. Custom Report name of the form:\n `organizations/{organization_id}/reports/{report_name}`", + "location": "path", + "pattern": "^organizations/[^/]+/reports/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "response": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "sharedflows": { + "methods": { + "create": { + "description": "Uploads a ZIP-formatted shared flow configuration bundle to an\norganization. If the shared flow already exists, this creates a new\nrevision of it. If the shared flow does not exist, this creates it.\n\nOnce imported, the shared flow revision must be deployed before it can be\naccessed at runtime.\n\nThe size limit of a shared flow bundle is 15 MB.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows", + "httpMethod": "POST", + "id": "apigee.organizations.sharedflows.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "action": { + "description": "Required. Must be set to either `import` or `validate`.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name to give the shared flow", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The name of the parent organization under which to create the\nshared flow. Must be of the form:\n `organizations/{organization_id}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sharedflows", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlowRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a shared flow and all it's revisions. The shared flow must be\nundeployed before you can delete it.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.sharedflows.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. shared flow name of the form:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlow" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a shared flow by name, including a list of its revisions.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the shared flow to get. Must be of the\nform:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlow" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "description": "Lists all shared flows in the organization.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "includeMetaData": { + "description": "Indicates whether to include shared flow metadata in the response.", + "location": "query", + "type": "boolean" + }, + "includeRevisions": { + "description": "Indicates whether to include a list of revisions in the response.", + "location": "query", + "type": "boolean" + }, + "parent": { + "description": "Required. The name of the parent organization under which to get shared\nflows. Must be of the form:\n `organizations/{organization_id}`", + "location": "path", + "pattern": "^organizations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/sharedflows", + "response": { + "$ref": "GoogleCloudApigeeV1ListSharedFlowsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of a shared flow.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the shared flow for which to return deployment information in the\nfollowing format:\n `organizations/{org}/sharedflows/{sharedflow}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "revisions": { + "methods": { + "delete": { + "description": "Deletes a shared flow and all associated policies, resources, and\nrevisions. You must undeploy the shared flow before deleting it.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}", + "httpMethod": "DELETE", + "id": "apigee.organizations.sharedflows.revisions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the shared flow revision to delete. Must be of the\nform:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlowRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a revision of a shared flow.\n\nIf `format=bundle` is passed, it instead outputs a shared flow revision as\na ZIP-formatted bundle of code and config files.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.revisions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "format": { + "description": "Specify `bundle` to export the contents of the shared flow bundle.\nOtherwise, the bundle metadata is returned.", + "location": "query", + "type": "string" + }, + "name": { + "description": "Required. The name of the shared flow revision to get. Must be of the\nform:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+name}", + "response": { + "$ref": "GoogleApiHttpBody" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateSharedFlowRevision": { + "description": "Updates a shared flow revision. This operation is only allowed on revisions\nwhich have never been deployed. After deployment a revision becomes\nimmutable, even if it becomes undeployed.\n\nThe payload is a ZIP-formatted shared flow. Content type must be either\nmultipart/form-data or application/octet-stream.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}", + "httpMethod": "POST", + "id": "apigee.organizations.sharedflows.revisions.updateSharedFlowRevision", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Required. The name of the shared flow revision to update.\nMust be of the form:\n `organizations/{organization_id}/sharedflows/{shared_flow_id}/revisions/{revision_id}`", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + }, + "validate": { + "description": "Ignored. All uploads are validated regardless of the value of this field.\nIt is kept for compatibility with existing APIs. Must be `true` or `false`\nif provided.", + "location": "query", + "type": "boolean" + } + }, + "path": "v1/{+name}", + "request": { + "$ref": "GoogleApiHttpBody" + }, + "response": { + "$ref": "GoogleCloudApigeeV1SharedFlowRevision" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "deployments": { + "methods": { + "list": { + "description": "Lists all deployments of a shared flow revision.", + "flatPath": "v1/organizations/{organizationsId}/sharedflows/{sharedflowsId}/revisions/{revisionsId}/deployments", + "httpMethod": "GET", + "id": "apigee.organizations.sharedflows.revisions.deployments.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "Required. Name of the API proxy revision for which to return deployment information\nin the following format:\n `organizations/{org}/sharedflows/{sharedflow}/revisions/{rev}`.", + "location": "path", + "pattern": "^organizations/[^/]+/sharedflows/[^/]+/revisions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1/{+parent}/deployments", + "response": { + "$ref": "GoogleCloudApigeeV1ListDeploymentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } + } + }, + "revision": "20200625", + "rootUrl": "https://apigee.googleapis.com/", + "schemas": { + "GoogleApiHttpBody": { + "description": "Message that represents an arbitrary HTTP body. It should only be used for\npayload formats that can't be represented as JSON, such as raw binary or\nan HTML page.\n\n\nThis message can be used both in streaming and non-streaming API methods in\nthe request as well as the response.\n\nIt can be used as a top-level request field, which is convenient if one\nwants to extract parameters from either the URL or HTTP template into the\nrequest fields and also want access to the raw HTTP body.\n\nExample:\n\n message GetResourceRequest {\n // A unique request id.\n string request_id = 1;\n\n // The raw HTTP body is bound to this field.\n google.api.HttpBody http_body = 2;\n }\n\n service ResourceService {\n rpc GetResource(GetResourceRequest) returns (google.api.HttpBody);\n rpc UpdateResource(google.api.HttpBody) returns\n (google.protobuf.Empty);\n }\n\nExample with streaming methods:\n\n service CaldavService {\n rpc GetCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n rpc UpdateCalendar(stream google.api.HttpBody)\n returns (stream google.api.HttpBody);\n }\n\nUse of this type only changes how the request and response bodies are\nhandled, all other features will continue to work unchanged.", + "id": "GoogleApiHttpBody", + "properties": { + "contentType": { + "description": "The HTTP Content-Type header value specifying the content type of the body.", + "type": "string" + }, + "data": { + "description": "The HTTP request/response body as raw binary.", + "format": "byte", + "type": "string" + }, + "extensions": { + "description": "Application specific response metadata. Must be set in the first response\nfor streaming APIs.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Access": { + "id": "GoogleCloudApigeeV1Access", + "properties": { + "Get": { + "$ref": "GoogleCloudApigeeV1AccessGet" + }, + "Remove": { + "$ref": "GoogleCloudApigeeV1AccessRemove" + }, + "Set": { + "$ref": "GoogleCloudApigeeV1AccessSet" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AccessGet": { + "description": "Get action. For example,\n\"Get\" : {\n \"name\" : \"target.name\",\n \"value\" : \"default\"\n}", + "id": "GoogleCloudApigeeV1AccessGet", + "properties": { + "name": { + "type": "string" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AccessRemove": { + "description": "Remove action. For example,\n\"Remove\" : {\n \"name\" : \"target.name\",\n \"success\" : true\n}", + "id": "GoogleCloudApigeeV1AccessRemove", + "properties": { + "name": { + "type": "string" + }, + "success": { + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AccessSet": { + "description": "Set action. For example,\n\"Set\" : {\n \"name\" : \"target.name\",\n \"success\" : true,\n \"value\" : \"default\"\n}", + "id": "GoogleCloudApigeeV1AccessSet", + "properties": { + "name": { + "type": "string" + }, + "success": { + "type": "boolean" + }, + "value": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Alias": { + "description": "A reference to a certificate or key, certificate pair.", + "id": "GoogleCloudApigeeV1Alias", + "properties": { + "alias": { + "description": "The resource ID for this alias. Values must match regular expression\n`[^/]{1,255}`.", + "type": "string" + }, + "certsInfo": { + "$ref": "GoogleCloudApigeeV1Certificate", + "description": "The chain of certificates under this alias." + }, + "type": { + "description": "The type of alias.", + "enum": [ + "ALIAS_TYPE_UNSPECIFIED", + "CERT", + "KEY_CERT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AliasRevisionConfig": { + "id": "GoogleCloudApigeeV1AliasRevisionConfig", + "properties": { + "location": { + "description": "The location of the alias file, e.g. a GCS URI.", + "type": "string" + }, + "name": { + "description": "The name of the alias revision included in the keystore. Must be of the\nform:\n'organizations/{org}/environments/{env}/keystores/{keystore}/aliases/{alias}/revisions/{rev}'.", + "type": "string" + }, + "type": { + "enum": [ + "ALIAS_TYPE_UNSPECIFIED", + "CERT", + "KEY_CERT" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiProduct": { + "id": "GoogleCloudApigeeV1ApiProduct", + "properties": { + "apiResources": { + "description": "Comma-separated list of API resources to be bundled in the API Product.\n\nBy default, the resource paths are mapped from the `proxy.pathsuffix`\nvariable.\n\nThe proxy path suffix is defined as the URI fragment following the\nProxyEndpoint base path.\nFor example, if the `apiResources` element is defined to be\n`/forecastrss` and the base path defined for the API proxy is\n`/weather`, then only requests to `/weather/forecastrss` are permitted by\nthe API product.\n\nYou can select a specific path, or you can select all subpaths with the\nfollowing wildcard:\n\n- /**: Indicates that all sub-URIs are included.\n- /* : Indicates that only URIs one level down are included.\n\nBy default, / supports the same resources as /** as well as the base path\ndefined by the API proxy.\n\nFor example, if the base path of the API proxy is `/v1/weatherapikey`,\nthen the API product supports requests to `/v1/weatherapikey` and to any\nsub-URIs, such as `/v1/weatherapikey/forecastrss`,\n`/v1/weatherapikey/region/CA`, and so on.\nFor more information, see:\n\n- Manage API\nproducts\n- Managing\na transaction recording policy using the API", + "items": { + "type": "string" + }, + "type": "array" + }, + "approvalType": { + "description": "Specifies how API keys are approved to access the APIs defined by the API\nproduct.\n\nIf set to `manual`, the consumer key is generated and returned in \"pending\"\nstate. In this case, the API keys won't work until they have been\nexplicitly approved.\n\nIf set to `auto`, the consumer key is generated and returned in \"approved\"\nstate and can be used immediately.\n\n", + "type": "string" + }, + "attributes": { + "description": "Array of attributes that may be used to extend the default API product\nprofile with customer-specific metadata. You can specify a maximum of 18\nattributes.\n\nUse this property to specify the access level of the API product as either\n`public`, `private`, or `internal`.\n\nOnly products marked `public` are available to developers in the Apigee\ndeveloper portal. For example, you can set a product to `internal` while it\nis in development and then change access to `public` when it is ready to\nrelease on the portal.\n\nAPI products marked as `private` do not appear on the portal but\ncan be accessed by external developers.\n\nFor monetization, you can use the attributes field to:\n\n- Specify transaction success criteria\n- Specify custom attributes on which you base rate plan\ncharges.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "createdAt": { + "description": "Response only. Creation time of this environment as milliseconds since\nepoch.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "An overview of the API product. Include key information about the API\nproduct that is not captured by other fields.", + "type": "string" + }, + "displayName": { + "description": "The name to be displayed in the UI or developer portal to developers\nregistering for API access.", + "type": "string" + }, + "environments": { + "description": "A comma-separated list of environment names to which the API product is\nbound. Requests to environments that are not listed are rejected.\n\nBy specifying one or more environments, you can bind the resources listed\nin the API product to a specific environment, preventing developers from\naccessing those resources through API proxies deployed in another\nenvironment.\n\nThis setting is used, for example, to prevent resources associated with\nAPI proxies in 'prod' from being accessed by API proxies deployed in\n'test'.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastModifiedAt": { + "description": "Response only. Modified time of this environment as milliseconds since\nepoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The internal name of the API Product. Characters you can use in the name\nare restricted to: A-Z0-9._\\-$ %.\n\n", + "type": "string" + }, + "proxies": { + "description": "A comma-separated list of API proxy names to which this API product is\nbound. By specifying API proxies, you can associate resources in the API\nproduct with specific API proxies, preventing developers from accessing\nthose resources through other API proxies.\n\nEdge rejects requests to API proxies that are not listed.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "quota": { + "description": "The number of request messages permitted per app by this API product for\nthe specified `quotaInterval` and `quotaTimeUnit`.\n\nFor example, a `quota` of 50, for a `quotaInterval` of 12 and a\n`quotaTimeUnit` of hours means 50 requests are allowed every 12 hours.", + "type": "string" + }, + "quotaInterval": { + "description": "The time interval over which the number of request messages is calculated.", + "type": "string" + }, + "quotaTimeUnit": { + "description": "The time unit defined for the `quotaInterval`. Valid values include minute,\nhour, day, or month.", + "type": "string" + }, + "scopes": { + "description": "A comma-separated list of OAuth scopes that are validated at runtime.\nEdge validates that the scopes in any access token presented match the\nscopes defined in the OAuth policy assoicated with the API product.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiProductRef": { + "id": "GoogleCloudApigeeV1ApiProductRef", + "properties": { + "apiproduct": { + "description": "Name of the API product.", + "type": "string" + }, + "status": { + "description": "Status of the API product.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiProxy": { + "description": "Metadata describing the API proxy", + "id": "GoogleCloudApigeeV1ApiProxy", + "properties": { + "latestRevisionId": { + "description": "The id of the most recently created revision for this api proxy.", + "type": "string" + }, + "metaData": { + "$ref": "GoogleCloudApigeeV1EntityMetadata", + "description": "Metadata describing the API proxy." + }, + "name": { + "description": "Name of the API proxy.", + "type": "string" + }, + "revision": { + "description": "List of revisons defined for the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ApiProxyRevision": { + "description": "API proxy revision.", + "id": "GoogleCloudApigeeV1ApiProxyRevision", + "properties": { + "basepaths": { + "description": "Base URL of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "configurationVersion": { + "$ref": "GoogleCloudApigeeV1ConfigVersion", + "description": "Version of the API proxy configuration schema to which the API proxy\nconforms. Currently, the only supported value is 4.0\n(`majorVersion.minorVersion`). This setting may be used in the future to\ntrack the evolution of the API proxy format." + }, + "contextInfo": { + "description": "Revision number, app name, and organization for the API proxy.", + "type": "string" + }, + "createdAt": { + "description": "Time that the API proxy revision was created in milliseconds since\nepoch.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "Description of the API proxy revision.", + "type": "string" + }, + "displayName": { + "description": "Human-readable name of the API proxy.", + "type": "string" + }, + "entityMetaDataAsProperties": { + "additionalProperties": { + "type": "string" + }, + "description": "Metadata describing the API proxy revision as a key-value map.", + "type": "object" + }, + "lastModifiedAt": { + "description": "Time that the API proxy revision was last modified in\nmilliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of the API proxy.", + "type": "string" + }, + "policies": { + "description": "List of policy names included in the API proxy revision..", + "items": { + "type": "string" + }, + "type": "array" + }, + "proxies": { + "description": "List of proxy names included in the API proxy revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "proxyEndpoints": { + "description": "List of ProxyEndpoints in the `/proxies` directory of the API proxy.\nTypically, this element is included only when the API proxy was created\nusing the Edge UI. This is a 'manifest' setting designed to\nprovide visibility into the contents of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceFiles": { + "$ref": "GoogleCloudApigeeV1ResourceFiles", + "description": "List of resource files included in the API proxy revision." + }, + "resources": { + "description": "List of the resources included in the API proxy revision formatted as\n\"{type}://{name}\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "revision": { + "description": "API proxy revision.", + "type": "string" + }, + "sharedFlows": { + "description": "List of the shared flows included in the API proxy revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "spec": { + "description": "OpenAPI Specification that is associated with the API proxy.\nThe value is set to a URL or to a path in the specification store.", + "type": "string" + }, + "targetEndpoints": { + "description": "List of TargetEndpoints in the `/targets` directory of the API proxy.\nTypically, this element is included only when the API proxy was created\nusing the Edge UI. This is a 'manifest' setting designed to\nprovide visibility into the contents of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targetServers": { + "description": "List of TargetServers referenced in any TargetEndpoint in the API\nproxy. Typically, you will see this element only when the API proxy was\ncreated using the Edge UI. This is a 'manifest' setting\ndesigned to provide visibility into the contents of the API proxy.", + "items": { + "type": "string" + }, + "type": "array" + }, + "targets": { + "description": "List of the targets included in the API proxy revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "teams": { + "description": "List of the teams included in the API proxy revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "Type. Set to `Application`. Maintained for compatibility with\nthe Apigee Edge API.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1App": { + "id": "GoogleCloudApigeeV1App", + "properties": { + "apiProducts": { + "description": "List of API products associated with the app.", + "items": { + "$ref": "GoogleCloudApigeeV1ApiProductRef" + }, + "type": "array" + }, + "appId": { + "description": "ID of the app.", + "type": "string" + }, + "attributes": { + "description": "List of attributes.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "callbackUrl": { + "description": "Callback URL used by OAuth 2.0 authorization servers to communicate\nauthorization codes back to apps.", + "type": "string" + }, + "companyName": { + "description": "Name of the company that owns the app.", + "type": "string" + }, + "createdAt": { + "description": "Output only. Unix time when the app was created.", + "format": "int64", + "type": "string" + }, + "credentials": { + "description": "Output only. Set of credentials for the app. Credentials are API\nkey/secret pairs associated with API products.", + "items": { + "$ref": "GoogleCloudApigeeV1Credential" + }, + "type": "array" + }, + "developerId": { + "description": "ID of the developer.", + "type": "string" + }, + "keyExpiresIn": { + "description": "Duration, in milliseconds, of the consumer key that will\nbe generated for the app. The default value, -1, indicates an\ninfinite validity period. Once set, the expiration can't be updated.\njson key: keyExpiresIn", + "format": "int64", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Last modified time as milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of the app.", + "type": "string" + }, + "scopes": { + "description": "Scopes to apply to the app. The specified scope names must already\nexist on the API product that you associate with the app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AsyncQuery": { + "id": "GoogleCloudApigeeV1AsyncQuery", + "properties": { + "created": { + "description": "Creation time of the query.", + "type": "string" + }, + "error": { + "description": "Error is set when query fails.", + "type": "string" + }, + "executionTime": { + "description": "ExecutionTime is available only after the query is completed.", + "type": "string" + }, + "name": { + "description": "Asynchronous Query Name.", + "type": "string" + }, + "queryParams": { + "$ref": "GoogleCloudApigeeV1QueryMetadata", + "description": "Contains information like metrics, dimenstions etc of the AsyncQuery." + }, + "reportDefinitionId": { + "description": "Asynchronous Report ID.", + "type": "string" + }, + "result": { + "$ref": "GoogleCloudApigeeV1AsyncQueryResult", + "description": "Result is available only after the query is completed." + }, + "resultFileSize": { + "description": "ResultFileSize is available only after the query is completed.", + "type": "string" + }, + "resultRows": { + "description": "ResultRows is available only after the query is completed.", + "format": "int64", + "type": "string" + }, + "self": { + "description": "Self link of the query.\n\nExample:\n`/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd`", + "type": "string" + }, + "state": { + "description": "Query state could be \"enqueued\", \"running\", \"completed\", \"failed\".", + "type": "string" + }, + "updated": { + "description": "Last updated timestamp for the query.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1AsyncQueryResult": { + "id": "GoogleCloudApigeeV1AsyncQueryResult", + "properties": { + "expires": { + "description": "Query result will be unaccessable after this time.", + "type": "string" + }, + "self": { + "description": "Self link of the query results.\n\nExample:\n`/organizations/myorg/environments/myenv/queries/9cfc0d85-0f30-46d6-ae6f-318d0cb961bd/result`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Attribute": { + "description": "Key-value pair to store extra metadata.", + "id": "GoogleCloudApigeeV1Attribute", + "properties": { + "name": { + "description": "API key of the attribute.", + "type": "string" + }, + "value": { + "description": "Value of the attribute.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Attributes": { + "id": "GoogleCloudApigeeV1Attributes", + "properties": { + "attribute": { + "description": "List of attributes.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CertInfo": { + "description": "An X.509 certificate as defined in RFC 5280.", + "id": "GoogleCloudApigeeV1CertInfo", + "properties": { + "basicConstraints": { + "description": "The X.509 basic constraints extension.", + "type": "string" + }, + "expiryDate": { + "description": "The X.509 validity / notAfter in milliseconds since the epoch.", + "format": "int64", + "type": "string" + }, + "isValid": { + "description": "\"Yes\" if certificate is valid, \"No\" if expired and \"Not yet\"\nif not yet valid.", + "type": "string" + }, + "issuer": { + "description": "The X.509 issuer.", + "type": "string" + }, + "publicKey": { + "description": "The public key component of the X.509 subject public key info.", + "type": "string" + }, + "serialNumber": { + "description": "The X.509 serial number.", + "type": "string" + }, + "sigAlgName": { + "description": "The X.509 signatureAlgorithm.", + "type": "string" + }, + "subject": { + "description": "The X.509 subject.", + "type": "string" + }, + "subjectAlternativeNames": { + "description": "The X.509 subject alternative names (SANs) extension.", + "items": { + "type": "string" + }, + "type": "array" + }, + "validFrom": { + "description": "The X.509 validity / notBefore in milliseconds since the\nepoch.", + "format": "int64", + "type": "string" + }, + "version": { + "description": "The X.509 version.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Certificate": { + "id": "GoogleCloudApigeeV1Certificate", + "properties": { + "certInfo": { + "description": "The chain of certificates under this name.", + "items": { + "$ref": "GoogleCloudApigeeV1CertInfo" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CommonNameConfig": { + "id": "GoogleCloudApigeeV1CommonNameConfig", + "properties": { + "matchWildCards": { + "type": "boolean" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ConfigVersion": { + "description": "Version of the API proxy configuration schema. Currently, only 4.0 is\nsupported.", + "id": "GoogleCloudApigeeV1ConfigVersion", + "properties": { + "majorVersion": { + "description": "Major version of the API proxy configuration schema.", + "format": "int32", + "type": "integer" + }, + "minorVersion": { + "description": "Minor version of the API proxy configuration schema.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Credential": { + "id": "GoogleCloudApigeeV1Credential", + "properties": { + "apiProducts": { + "description": "List of API products this credential can be used for.", + "items": { + "$ref": "GoogleCloudApigeeV1ApiProductRef" + }, + "type": "array" + }, + "attributes": { + "description": "List of attributes associated with this credential.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "consumerKey": { + "description": "Consumer key.", + "type": "string" + }, + "consumerSecret": { + "description": "Secret key.", + "type": "string" + }, + "expiresAt": { + "description": "Time the credential will expire in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "issuedAt": { + "description": "Time the credential was issued in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "scopes": { + "description": "List of scopes to apply to the app. Specified scopes must already\nexist on the API product that you associate with the app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CustomReport": { + "id": "GoogleCloudApigeeV1CustomReport", + "properties": { + "chartType": { + "description": "This field contains the chart type for the report", + "type": "string" + }, + "comments": { + "description": "Legacy field: not used. This field contains a list of comments associated\nwith custom report", + "items": { + "type": "string" + }, + "type": "array" + }, + "createdAt": { + "description": "Output only. Unix time when the app was created\njson key: createdAt", + "format": "int64", + "type": "string" + }, + "dimensions": { + "description": "This contains the list of dimensions for the report", + "items": { + "type": "string" + }, + "type": "array" + }, + "displayName": { + "description": "This is the display name for the report", + "type": "string" + }, + "environment": { + "description": "Output only. Environment name", + "type": "string" + }, + "filter": { + "description": "This field contains the filter expression", + "type": "string" + }, + "fromTime": { + "description": "Legacy field: not used. Contains the from time for the report", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Modified time of this entity as milliseconds since epoch.\njson key: lastModifiedAt", + "format": "int64", + "type": "string" + }, + "lastViewedAt": { + "description": "Output only. Last viewed time of this entity as milliseconds since epoch", + "format": "int64", + "type": "string" + }, + "limit": { + "description": "Legacy field: not used This field contains the limit for the result\nretrieved", + "type": "string" + }, + "metrics": { + "description": "Required. This contains the list of metrics", + "items": { + "$ref": "GoogleCloudApigeeV1CustomReportMetric" + }, + "type": "array" + }, + "name": { + "description": "Required. Unique identifier for the report\nT his is a legacy field used to encode custom report unique id", + "type": "string" + }, + "offset": { + "description": "Legacy field: not used. This field contains the offset for the data", + "type": "string" + }, + "organization": { + "description": "Output only. Organization name", + "type": "string" + }, + "properties": { + "description": "This field contains report properties such as ui metadata etc.", + "items": { + "$ref": "GoogleCloudApigeeV1ReportProperty" + }, + "type": "array" + }, + "sortByCols": { + "description": "Legacy field: not used much. Contains the list of sort by columns", + "items": { + "type": "string" + }, + "type": "array" + }, + "sortOrder": { + "description": "Legacy field: not used much. Contains the sort order for the sort columns", + "type": "string" + }, + "tags": { + "description": "Legacy field: not used. This field contains a list of tags associated with\ncustom report", + "items": { + "type": "string" + }, + "type": "array" + }, + "timeUnit": { + "description": "This field contains the time unit of aggregation for the report", + "type": "string" + }, + "toTime": { + "description": "Legacy field: not used. Contains the end time for the report", + "type": "string" + }, + "topk": { + "description": "Legacy field: not used. This field contains the top k parameter value\nfor restricting the result", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1CustomReportMetric": { + "description": "This encapsulates a metric property of the form sum(message_count)\nwhere name is message_count and function is sum", + "id": "GoogleCloudApigeeV1CustomReportMetric", + "properties": { + "function": { + "description": "aggregate function", + "type": "string" + }, + "name": { + "description": "name of the metric", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DataCollectorConfig": { + "description": "A DataCollector and its configuration.", + "id": "GoogleCloudApigeeV1DataCollectorConfig", + "properties": { + "name": { + "description": "The name of the data collector. Must be of the form\n'organizations/{org}/datacollectors/{dc}'.", + "type": "string" + }, + "type": { + "description": "The data type this DataCollector accepts.", + "enum": [ + "TYPE_UNSPECIFIED", + "INTEGER", + "FLOAT", + "STRING", + "BOOLEAN", + "DATETIME" + ], + "enumDescriptions": [ + "For future compatibility.", + "For integer values.", + "For float values.", + "For string values.", + "For boolean values.", + "For datetime values." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DebugMask": { + "id": "GoogleCloudApigeeV1DebugMask", + "properties": { + "faultJSONPaths": { + "description": "List of JSON paths that specify the JSON elements to be filtered from JSON\npayloads in error flows.", + "items": { + "type": "string" + }, + "type": "array" + }, + "faultXPaths": { + "description": "List of XPaths that specify the XML elements to be filtered from XML\npayloads in error flows.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Name of the debug mask.", + "type": "string" + }, + "namespaces": { + "additionalProperties": { + "type": "string" + }, + "description": "Map of namespaces to URIs.", + "type": "object" + }, + "requestJSONPaths": { + "description": "List of JSON paths that specify the JSON elements to be filtered from JSON\nrequest message payloads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "requestXPaths": { + "description": "List of XPaths that specify the XML elements to be filtered from XML\nrequest message payloads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "responseJSONPaths": { + "description": "List of JSON paths that specify the JSON elements to be filtered from JSON\nresponse message payloads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "responseXPaths": { + "description": "List of XPaths that specify the XML elements to be filtered from XML\nresponse message payloads.", + "items": { + "type": "string" + }, + "type": "array" + }, + "variables": { + "description": "List of variables that should be masked from the debug output.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DebugSession": { + "id": "GoogleCloudApigeeV1DebugSession", + "properties": { + "count": { + "description": "Optional. The number of request to be traced. Min = 1, Max = 15, Default\n= 10.", + "format": "int32", + "type": "integer" + }, + "filter": { + "description": "Optional. A conditional statement which is evaluated against the request\nmessage to determine if it should be traced. Syntax matches that of on\nAPI Proxy bundle flow Condition.", + "type": "string" + }, + "name": { + "description": "A unique ID for this DebugSession.", + "type": "string" + }, + "timeout": { + "description": "Optional. The time in seconds after which this DebugSession should end.\nThis value will override the value in query param, if both are provided.", + "format": "int64", + "type": "string" + }, + "tracesize": { + "description": "Optional. The maximum number of bytes captured from the response payload.\nMin = 0, Max = 5120, Default = 5120.", + "format": "int32", + "type": "integer" + }, + "validity": { + "description": "Optional. The length of time, in seconds, that this debug session is valid,\nstarting from when it's received in the control plane. Min = 1, Max = 15,\nDefault = 10.", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DebugSessionTransaction": { + "description": "A transaction contains all of the debug information of the entire message\nflow of an API call processed by the runtime plane. The information is\ncollected and recorded at critical points of the message flow in the runtime\napiproxy.", + "id": "GoogleCloudApigeeV1DebugSessionTransaction", + "properties": { + "completed": { + "description": "Flag indicating whether a transaction is completed or not", + "type": "boolean" + }, + "point": { + "description": "List of debug data collected by runtime plane at various defined points in\nthe flow.", + "items": { + "$ref": "GoogleCloudApigeeV1Point" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeleteCustomReportResponse": { + "id": "GoogleCloudApigeeV1DeleteCustomReportResponse", + "properties": { + "message": { + "description": "The response contains only a message field.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Deployment": { + "id": "GoogleCloudApigeeV1Deployment", + "properties": { + "apiProxy": { + "description": "API proxy.", + "type": "string" + }, + "basePath": { + "description": "Base path for the deployment.", + "type": "string" + }, + "deployStartTime": { + "description": "Time the API proxy was marked `deployed` in the control plane in\nmillisconds since epoch.", + "format": "int64", + "type": "string" + }, + "environment": { + "description": "Environment.", + "type": "string" + }, + "pods": { + "description": "Status reported by runtime pods.", + "items": { + "$ref": "GoogleCloudApigeeV1PodStatus" + }, + "type": "array" + }, + "revision": { + "description": "API proxy revision.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeploymentConfig": { + "id": "GoogleCloudApigeeV1DeploymentConfig", + "properties": { + "attributes": { + "additionalProperties": { + "type": "string" + }, + "description": "Additional key-value metadata about the deployment.", + "type": "object" + }, + "basePath": { + "description": "Base path where the application needs to be hosted. Default value is\nassumed to be \"/\".", + "type": "string" + }, + "location": { + "description": "The location of the proxy bundle, as a uri.", + "type": "string" + }, + "name": { + "description": "The name of the API or shared flow revision to be deployed. Must be of the\nform 'organizations/{org}/apis/{api}/revisions/{rev}' or\n'organizations/{org}/sharedflows/{sf}/revisions/{rev}'.", + "type": "string" + }, + "proxyUid": { + "description": "The uid of the proxy revision.", + "type": "string" + }, + "uid": { + "description": "A unique id that will only change if the deployment is deleted and\nrecreated.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Developer": { + "id": "GoogleCloudApigeeV1Developer", + "properties": { + "accessType": { + "description": "Access type.", + "type": "string" + }, + "appFamily": { + "description": "Developer app family.", + "type": "string" + }, + "apps": { + "description": "List of apps associated with the developer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "attributes": { + "description": "Optional. Developer attributes (name/value pairs). The custom attribute limit is 18.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "companies": { + "description": "List of companies associated with the developer.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createdAt": { + "description": "Output only. Time at which the developer was created in milliseconds\nsince epoch.", + "format": "int64", + "type": "string" + }, + "developerId": { + "description": "ID of the developer.\n\n**Note**: IDs are generated internally by Apigee and are not\nguaranteed to stay the same over time.", + "type": "string" + }, + "email": { + "description": "Required. Email address of the developer. This value is used to uniquely identify\nthe developer in Apigee hybrid.", + "type": "string" + }, + "firstName": { + "description": "Required. First name of the developer.", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Time at which the developer was last modified in\nmilliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "lastName": { + "description": "Required. Last name of the developer.", + "type": "string" + }, + "organizationName": { + "description": "Output only. Name of the Apigee organization in which the developer resides.", + "type": "string" + }, + "status": { + "description": "Output only. Status of the developer. Valid values are `active` and `inactive`.", + "type": "string" + }, + "userName": { + "description": "Required. User name of the developer. Not used by Apigee hybrid.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeveloperApp": { + "id": "GoogleCloudApigeeV1DeveloperApp", + "properties": { + "apiProducts": { + "description": "List of API products associated with the developer app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "appFamily": { + "description": "Developer app family.", + "type": "string" + }, + "appId": { + "description": "ID of the developer app.", + "type": "string" + }, + "attributes": { + "description": "List of attributes for the developer app.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "callbackUrl": { + "description": "Callback URL used by OAuth 2.0 authorization servers to communicate\nauthorization codes back to developer apps.", + "type": "string" + }, + "createdAt": { + "description": "Output only. Time the developer app was created in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "credentials": { + "description": "Output only. Set of credentials for the developer app consisting of the\nconsumer key/secret pairs associated with the API products.", + "items": { + "$ref": "GoogleCloudApigeeV1Credential" + }, + "type": "array" + }, + "developerId": { + "description": "ID of the developer.", + "type": "string" + }, + "keyExpiresIn": { + "description": "Expiration time, in milliseconds, for the consumer key that\nis generated for the developer app. If not set or left to the default\nvalue of `-1`, the API key never expires.\nThe expiration time can't be updated after it is set.", + "format": "int64", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Time the developer app was modified in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Name of the developer app.", + "type": "string" + }, + "scopes": { + "description": "Scopes to apply to the developer app. The specified scopes must\nalready exist for the API product that you associate with the developer\napp.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential. Valid values include `approved` or `revoked`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DeveloperAppKey": { + "id": "GoogleCloudApigeeV1DeveloperAppKey", + "properties": { + "apiProducts": { + "description": "List of API products for which the credential can be used.\n\n**Note**: Do not specify the list of API products when creating a consumer\nkey and secret for a developer app. Instead, use the\nUpdateDeveloperAppKey API to\nmake the association after the consumer key and secret are created.", + "items": { + "type": "any" + }, + "type": "array" + }, + "attributes": { + "description": "List of attributes associated with the credential.", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + }, + "consumerKey": { + "description": "Consumer key.", + "type": "string" + }, + "consumerSecret": { + "description": "Secret key.", + "type": "string" + }, + "expiresAt": { + "description": "Time the developer app expires in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "issuedAt": { + "description": "Time the developer app was created in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "scopes": { + "description": "Scopes to apply to the app. The specified scope names must already\nbe defined for the API product that you associate with the app.", + "items": { + "type": "string" + }, + "type": "array" + }, + "status": { + "description": "Status of the credential. Valid values include `approved` or `revoked`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1DimensionMetric": { + "description": "This message type encapsulates a metric grouped by dimension.", + "id": "GoogleCloudApigeeV1DimensionMetric", + "properties": { + "metrics": { + "description": "This field contains a list of metrics.", + "items": { + "$ref": "GoogleCloudApigeeV1Metric" + }, + "type": "array" + }, + "name": { + "description": "This field contains the name of the dimension.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1EntityMetadata": { + "description": "Metadata common to many entities in this API.", + "id": "GoogleCloudApigeeV1EntityMetadata", + "properties": { + "createdAt": { + "description": "Time at which the API proxy was created, in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "lastModifiedAt": { + "description": "Time at which the API proxy was most recently modified, in milliseconds\nsince epoch.", + "format": "int64", + "type": "string" + }, + "subType": { + "description": "The type of entity described", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Environment": { + "id": "GoogleCloudApigeeV1Environment", + "properties": { + "createdAt": { + "description": "Output only. Creation time of this environment as milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "Optional. Description of the environment.", + "type": "string" + }, + "displayName": { + "description": "Optional. Display name for this environment.", + "type": "string" + }, + "lastModifiedAt": { + "description": "Output only. Last modification time of this environment as milliseconds\nsince epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Required. Name of the environment. Values must match the\nregular expression `^[.\\\\p{Alnum}-_]{1,255}$`", + "type": "string" + }, + "properties": { + "$ref": "GoogleCloudApigeeV1Properties", + "description": "Optional. Key-value pairs that may be used for customizing the environment." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1EnvironmentConfig": { + "id": "GoogleCloudApigeeV1EnvironmentConfig", + "properties": { + "createTime": { + "description": "The time at which this environment config was created.", + "format": "google-datetime", + "type": "string" + }, + "dataCollectors": { + "description": "The list of Data Collectors used by deployments in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1DataCollectorConfig" + }, + "type": "array" + }, + "debugMask": { + "$ref": "GoogleCloudApigeeV1DebugMask", + "description": "Debug mask that applies to all deployments in the environment." + }, + "deployments": { + "description": "A list of deployments in the environment", + "items": { + "$ref": "GoogleCloudApigeeV1DeploymentConfig" + }, + "type": "array" + }, + "featureFlags": { + "additionalProperties": { + "type": "string" + }, + "description": "Feature flags inherited from the org and environment parents.", + "type": "object" + }, + "flowhooks": { + "description": "A list of flow hooks in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1FlowHookConfig" + }, + "type": "array" + }, + "keystores": { + "description": "A list of keystores in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1KeystoreConfig" + }, + "type": "array" + }, + "name": { + "description": "The name of the environment config. Must be of the form\n'organizations/{org}/environments/{env}/configs/{config_id}", + "type": "string" + }, + "provider": { + "description": "This field can be used by the control plane to add some context\ninformation about itself. This information could help detect the source of\nthe document during diagnostics and debugging.", + "type": "string" + }, + "pubsubTopic": { + "description": "Name of the pubsub topic for this environment.", + "type": "string" + }, + "resourceReferences": { + "description": "A list of resource references in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1ReferenceConfig" + }, + "type": "array" + }, + "resources": { + "description": "A list of resource versions in the environment.", + "items": { + "$ref": "GoogleCloudApigeeV1ResourceConfig" + }, + "type": "array" + }, + "revisionId": { + "description": "Revision id that defines the ordering on the environment config.\nThe higher the revision, the more recently the configuration\nwas deployed.", + "format": "int64", + "type": "string" + }, + "sequenceNumber": { + "description": "DEPRECATED: use revision_id", + "format": "int64", + "type": "string" + }, + "targets": { + "description": "A list of target servers in the environment. Disabled target servers are\nnot included.", + "items": { + "$ref": "GoogleCloudApigeeV1TargetServerConfig" + }, + "type": "array" + }, + "uid": { + "description": "A unique id for the environment config that will only change if the\nenvironment is deleted and recreated.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1FlowHook": { + "id": "GoogleCloudApigeeV1FlowHook", + "properties": { + "continueOnError": { + "description": "Optional. Flag that specifies whether execution should continue if the flow hook\nthrows an exception. Set to `true` to continue execution. Set to\n`false` to stop execution if the flow hook throws an exception.Defaults\nto `true`.", + "type": "boolean" + }, + "description": { + "description": "Description of the flow hook.", + "type": "string" + }, + "flowHookPoint": { + "description": "Output only. Where in the API call flow the flow hook is invoked. Must be one of\n`PreProxyFlowHook`, `PostProxyFlowHook`, `PreTargetFlowHook`, or\n`PostTargetFlowHook`.", + "type": "string" + }, + "sharedFlow": { + "description": "Shared flow attached to this flow hook, or empty if there is none attached.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1FlowHookConfig": { + "id": "GoogleCloudApigeeV1FlowHookConfig", + "properties": { + "continueOnError": { + "description": "Should the flow abort after an error in the flow hook.\nShould default to true if unset.", + "type": "boolean" + }, + "name": { + "description": "The name of the flow hook. Must be of the form\n'organizations/{org}/environments/{env}/flowhooks/{point}'.\nKnown points are PreProxyFlowHook, PostProxyFlowHook, PreTargetFlowHook,\nand PostTargetFlowHook", + "type": "string" + }, + "sharedFlowName": { + "description": "The name of the shared flow to invoke. Must be of the form\n'organizations/{org}/sharedflows/{sharedflow}'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1GetSyncAuthorizationRequest": { + "description": "Request for\nGetSyncAuthorization.", + "id": "GoogleCloudApigeeV1GetSyncAuthorizationRequest", + "properties": {}, + "type": "object" + }, + "GoogleCloudApigeeV1KeyAliasReference": { + "id": "GoogleCloudApigeeV1KeyAliasReference", + "properties": { + "aliasId": { + "description": "The alias id. Must exist in the keystore referred to by reference.", + "type": "string" + }, + "reference": { + "description": "The reference name. Must be of the form:\norganizations/{org}/environments/{env}/references/{ref}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1KeyValueMap": { + "description": "A collection of key, value string pairs", + "id": "GoogleCloudApigeeV1KeyValueMap", + "properties": { + "encrypted": { + "description": "Optional. If `true` entry values will be encrypted.", + "type": "boolean" + }, + "name": { + "description": "Required. The id of the key value map.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Keystore": { + "description": "A datastore for Certificates and Aliases", + "id": "GoogleCloudApigeeV1Keystore", + "properties": { + "aliases": { + "description": "Output only. The aliases in this keystore.", + "items": { + "type": "string" + }, + "type": "array" + }, + "name": { + "description": "Required. The resource ID for this keystore. Values must match the\nregular expression `[\\w[:space:]-.]{1,255}`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1KeystoreConfig": { + "id": "GoogleCloudApigeeV1KeystoreConfig", + "properties": { + "aliases": { + "description": "Aliases in the keystore.", + "items": { + "$ref": "GoogleCloudApigeeV1AliasRevisionConfig" + }, + "type": "array" + }, + "name": { + "description": "The resource name. Must be of the\nform:\n'organizations/{org}/environments/{env}/keystores/{keystore}'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListApiProductsResponse": { + "id": "GoogleCloudApigeeV1ListApiProductsResponse", + "properties": { + "apiProduct": { + "description": "Lists all API product names defined for an organization.", + "items": { + "$ref": "GoogleCloudApigeeV1ApiProduct" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListApiProxiesResponse": { + "id": "GoogleCloudApigeeV1ListApiProxiesResponse", + "properties": { + "proxies": { + "items": { + "$ref": "GoogleCloudApigeeV1ApiProxy" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListAppsResponse": { + "id": "GoogleCloudApigeeV1ListAppsResponse", + "properties": { + "app": { + "items": { + "$ref": "GoogleCloudApigeeV1App" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListAsyncQueriesResponse": { + "description": "The response for ListAsyncQueries.", + "id": "GoogleCloudApigeeV1ListAsyncQueriesResponse", + "properties": { + "queries": { + "description": "The asynchronous queries belong to requested resource name.", + "items": { + "$ref": "GoogleCloudApigeeV1AsyncQuery" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListCustomReportsResponse": { + "description": "This message encapsulates a list of custom report definitions", + "id": "GoogleCloudApigeeV1ListCustomReportsResponse", + "properties": { + "qualifier": { + "items": { + "$ref": "GoogleCloudApigeeV1CustomReport" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListDebugSessionsResponse": { + "id": "GoogleCloudApigeeV1ListDebugSessionsResponse", + "properties": { + "nextPageToken": { + "description": "Page token that you can include in a ListDebugSessionsRequest to\nretrieve the next page. If omitted, no subsequent pages exist.", + "type": "string" + }, + "sessions": { + "description": "Session info that includes debug session ID and the first transaction\ncreation timestamp.", + "items": { + "$ref": "GoogleCloudApigeeV1Session" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListDeploymentsResponse": { + "id": "GoogleCloudApigeeV1ListDeploymentsResponse", + "properties": { + "deployments": { + "description": "List of deployments.", + "items": { + "$ref": "GoogleCloudApigeeV1Deployment" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListDeveloperAppsResponse": { + "id": "GoogleCloudApigeeV1ListDeveloperAppsResponse", + "properties": { + "app": { + "description": "List of developer apps and their credentials.", + "items": { + "$ref": "GoogleCloudApigeeV1DeveloperApp" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListEnvironmentResourcesResponse": { + "description": "Response for\nListEnvironmentResources", + "id": "GoogleCloudApigeeV1ListEnvironmentResourcesResponse", + "properties": { + "resourceFile": { + "description": "List of resources files.", + "items": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListHybridIssuersResponse": { + "id": "GoogleCloudApigeeV1ListHybridIssuersResponse", + "properties": { + "issuers": { + "description": "Lists of hybrid services and its trusted issuer email ids.", + "items": { + "$ref": "GoogleCloudApigeeV1ServiceIssuersMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListOfDevelopersResponse": { + "id": "GoogleCloudApigeeV1ListOfDevelopersResponse", + "properties": { + "developer": { + "description": "List of developers.", + "items": { + "$ref": "GoogleCloudApigeeV1Developer" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListOrganizationsResponse": { + "id": "GoogleCloudApigeeV1ListOrganizationsResponse", + "properties": { + "organizations": { + "description": "List of Apigee organizations and associated GCP projects.", + "items": { + "$ref": "GoogleCloudApigeeV1OrganizationProjectMapping" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ListSharedFlowsResponse": { + "id": "GoogleCloudApigeeV1ListSharedFlowsResponse", + "properties": { + "sharedFlows": { + "items": { + "$ref": "GoogleCloudApigeeV1SharedFlow" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Metadata": { + "description": "This message type encapsulates additional information about query execution.", + "id": "GoogleCloudApigeeV1Metadata", + "properties": { + "errors": { + "description": "List of error messages as strings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "notices": { + "description": "List of additional information such as data source, if result was\ntruncated etc.\nE.g\n\"notices\": [\n \"Source:Postgres\",\n \"PG Host:uappg0rw.e2e.apigeeks.net\",\n \"query served by:4b64601e-40de-4eb1-bfb9-eeee7ac929ed\",\n \"Table used: edge.api.uapgroup2.agg_api\"\n ]", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Metric": { + "description": "This message type encapsulates the metric data point.\nExample:\n{\n \"name\": \"sum(message_count)\",\n \"values\" : [ {\n \"timestamp\": 1549004400000,\n \"value\": \"39.0\"\n },\n {\n \"timestamp\" : 1548997200000,\n \"value\" : \"0.0\"\n } ]\n}\nor\n{\n \"name\": \"sum(message_count)\",\n \"values\" : [\"39.0\"]\n}", + "id": "GoogleCloudApigeeV1Metric", + "properties": { + "name": { + "description": "This field contains the metric name.", + "type": "string" + }, + "values": { + "description": "List of metric values.\nPossible value format:\n\"values\":[\"39.0\"] or\n\"values\":[ { \"value\": \"39.0\", \"timestamp\": 1232434354} ]", + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OperationMetadata": { + "description": "Metadata describing an Operation.", + "id": "GoogleCloudApigeeV1OperationMetadata", + "properties": { + "operationType": { + "enum": [ + "OPERATION_TYPE_UNSPECIFIED", + "INSERT", + "DELETE", + "UPDATE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "state": { + "enum": [ + "STATE_UNSPECIFIED", + "NOT_STARTED", + "IN_PROGRESS", + "FINISHED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "targetResourceName": { + "description": "Name of the resource for which the operation is operating on.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OptimizedStats": { + "id": "GoogleCloudApigeeV1OptimizedStats", + "properties": { + "Response": { + "$ref": "GoogleCloudApigeeV1OptimizedStatsResponse", + "description": "This field wraps the stats response for Js Optimized Scenario\nwith a Response key.\nE.g.\n{\n \"Response\": {\n \"TimeUnit\": [],\n \"metaData\": {\n \"errors\": [],\n \"notices\": [\n \"Source:Postgres\",\n \"Table used: edge.api.aaxgroup001.agg_api\",\n \"PG Host:ruappg08-ro.production.apigeeks.net\",\n \"query served by:80c4ebca-6a10-4a2e-8faf-c60c1ee306ca\"\n ]\n },\n \"resultTruncated\": false,\n \"stats\": {\n \"data\": [\n {\n \"identifier\": {\n \"names\": [\n \"apiproxy\"\n ],\n \"values\": [\n \"sirjee\"\n ]\n },\n \"metric\": [\n {\n \"env\": \"prod\",\n \"name\": \"sum(message_count)\",\n \"values\": [\n 36.0\n ]\n },\n {\n \"env\": \"prod\",\n \"name\": \"sum(is_error)\",\n \"values\": [\n 36.0\n ]\n }\n ]\n }\n ]\n }\n }\n}" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OptimizedStatsNode": { + "description": "This message type encapsulates a data node as represented below:\n {\n \"identifier\": {\n \"names\": [\n \"apiproxy\"\n ],\n \"values\": [\n \"sirjee\"\n ]\n },\n \"metric\": [\n {\n \"env\": \"prod\",\n \"name\": \"sum(message_count)\",\n \"values\": [\n 36.0\n ]\n }\n ]\n }\n\n OR\n {\n \"env\": \"prod\",\n \"name\": \"sum(message_count)\",\n \"values\": [\n 36.0\n ]\n }\nDepending on whether a dimension is present in the query or not\nthe data node type can be a simple metric value or dimension identifier\nwith list of metrics.", + "id": "GoogleCloudApigeeV1OptimizedStatsNode", + "properties": { + "data": { + "items": { + "type": "any" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OptimizedStatsResponse": { + "description": "This message type encapsulates a response format for Js Optimized Scenario.", + "id": "GoogleCloudApigeeV1OptimizedStatsResponse", + "properties": { + "TimeUnit": { + "description": "This field contains a list of time unit values. Time unit refers to\nan epoch timestamp value.", + "items": { + "format": "int64", + "type": "string" + }, + "type": "array" + }, + "metaData": { + "$ref": "GoogleCloudApigeeV1Metadata", + "description": "This field contains metadata information about the query executed" + }, + "resultTruncated": { + "description": "This ia a boolean field to indicate if the results were truncated\nbased on the limit parameter.", + "type": "boolean" + }, + "stats": { + "$ref": "GoogleCloudApigeeV1OptimizedStatsNode", + "description": "This field contains a stats results." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Organization": { + "id": "GoogleCloudApigeeV1Organization", + "properties": { + "analyticsRegion": { + "description": "Required. Primary GCP region for analytics data storage. For valid values, see\n[Create an\norganization](https://docs.apigee.com/hybrid/latest/precog-provision).", + "type": "string" + }, + "attributes": { + "description": "Not used by Apigee.", + "items": { + "type": "string" + }, + "type": "array" + }, + "createdAt": { + "description": "Output only. Time that the Apigee organization was created in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "customerName": { + "description": "Not used by Apigee.", + "type": "string" + }, + "description": { + "description": "Description of the Apigee organization.", + "type": "string" + }, + "displayName": { + "type": "string" + }, + "environments": { + "description": "Output only. List of environments in the Apigee organization.", + "items": { + "type": "string" + }, + "type": "array" + }, + "lastModifiedAt": { + "description": "Output only. Time that the Apigee organization was last modified in milliseconds\nsince epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "Output only. Name of the Apigee organization.", + "type": "string" + }, + "projectId": { + "description": "The project ID associated with the Apigee organization.", + "type": "string" + }, + "properties": { + "$ref": "GoogleCloudApigeeV1Properties", + "description": "Properties defined in the Apigee organization profile." + }, + "runtimeType": { + "description": "Output only. Runtime type of the Apigee organization based on the Apigee subscription\npurchased.", + "enum": [ + "RUNTIME_TYPE_UNSPECIFIED", + "CLOUD", + "HYBRID" + ], + "enumDescriptions": [ + "", + "Google-managed Apigee runtime.", + "User-managed Apigee hybrid runtime." + ], + "type": "string" + }, + "subscriptionType": { + "description": "Output only. Subscription type of the Apigee organization. Valid values include trial\n(free, limited, and for evaluation purposes only) or paid (full\nsubscription has been purchased). See\n[Apigee pricing](https://cloud.google.com/apigee/pricing/).", + "enum": [ + "SUBSCRIPTION_TYPE_UNSPECIFIED", + "PAID", + "TRIAL" + ], + "enumDescriptions": [ + "", + "Full subscription to Apigee has been purchased.", + "Subscription to Apigee is free, limited, and used for evaluation purposes\nonly." + ], + "type": "string" + }, + "type": { + "description": "Not used by Apigee.", + "enum": [ + "TYPE_UNSPECIFIED", + "TYPE_TRIAL", + "TYPE_PAID", + "TYPE_INTERNAL" + ], + "enumDescriptions": [ + "Subscription type not specified.", + "Subscription to Apigee is free, limited, and used for evaluation purposes\nonly.", + "Full subscription to Apigee has been purchased. See\n[Apigee pricing](https://cloud.google.com/apigee/pricing/).", + "For internal users only." + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1OrganizationProjectMapping": { + "id": "GoogleCloudApigeeV1OrganizationProjectMapping", + "properties": { + "organization": { + "description": "Name of the Apigee organization.", + "type": "string" + }, + "projectIds": { + "description": "List of GCP projects associated with the Apigee organization.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1PodStatus": { + "id": "GoogleCloudApigeeV1PodStatus", + "properties": { + "appVersion": { + "description": "Version of the application running in the pod.", + "type": "string" + }, + "deploymentStatus": { + "description": "Status of the deployment. Valid values\ninclude:\n- `deployed`: Successful.\n- `error` : Failed.\n- `pending` : Pod has not yet reported on the deployment.", + "type": "string" + }, + "deploymentStatusTime": { + "description": "Time the deployment status was reported in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "deploymentTime": { + "description": "Time the proxy was deployed in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "podName": { + "description": "Name of the pod which is reporting the status.", + "type": "string" + }, + "podStatus": { + "description": "Overall status of the pod (not this specific deployment). Valid values\ninclude:\n- `active`: Up to date.\n- `stale` : Recently out of date.\n\nPods that have not reported status in a\nlong time are excluded from the output.", + "type": "string" + }, + "podStatusTime": { + "description": "Time the pod status was reported in milliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "statusCode": { + "description": "Code associated with the deployment status.", + "type": "string" + }, + "statusCodeDetails": { + "description": "Human-readable message associated with the status code.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Point": { + "description": "Point is a group of information collected by runtime plane at critical points\nof the message flow of the processed API request.\nThis is a list of supported point IDs, categorized to three major buckets.\nFor each category, debug points that we are currently supporting are listed\nbelow:\n- Flow status debug points:\n StateChange\n FlowInfo\n Condition\n Execution\n DebugMask\n Error\n- Flow control debug points:\n FlowCallout\n Paused\n Resumed\n FlowReturn\n BreakFlow\n Error\n- Runtime debug points:\n ScriptExecutor\n FlowCalloutStepDefinition\n CustomTarget\n StepDefinition\n Oauth2ServicePoint\n RaiseFault\n NodeJS\n\nThe detail information of the given debug point is stored in a list of\nresults.", + "id": "GoogleCloudApigeeV1Point", + "properties": { + "id": { + "description": "Name of a step in the transaction.", + "type": "string" + }, + "results": { + "description": "List of results extracted from a given debug point.", + "items": { + "$ref": "GoogleCloudApigeeV1Result" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Properties": { + "description": "Message for compatibility with legacy Edge specification for Java Properties\nobject in JSON.", + "id": "GoogleCloudApigeeV1Properties", + "properties": { + "property": { + "description": "List of all properties in the object", + "items": { + "$ref": "GoogleCloudApigeeV1Property" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Property": { + "description": "A single property entry in the Properties message.", + "id": "GoogleCloudApigeeV1Property", + "properties": { + "name": { + "description": "The property key", + "type": "string" + }, + "value": { + "description": "The property value", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Query": { + "id": "GoogleCloudApigeeV1Query", + "properties": { + "csvDelimiter": { + "description": "Delimiter used in the CSV file, if `outputFormat` is set\nto `csv`. Defaults to the `,` (comma) character.\nSupported delimiter characters include comma (`,`), pipe (`|`),\nand tab (`\\t`).", + "type": "string" + }, + "dimensions": { + "description": "A list of dimensions.\nhttps://docs.apigee.com/api-platform/analytics/analytics-reference#dimensions", + "items": { + "type": "string" + }, + "type": "array" + }, + "filter": { + "description": "Boolean expression that can be used to filter data.\nFilter expressions can be combined using AND/OR terms and should be fully\nparenthesized to avoid ambiguity. See Analytics metrics, dimensions, and\nfilters reference\nhttps://docs.apigee.com/api-platform/analytics/analytics-reference\nfor more information on the fields available to filter\non. For more information on the tokens that you use to build filter\nexpressions, see Filter expression syntax.\nhttps://docs.apigee.com/api-platform/analytics/asynch-reports-api#filter-expression-syntax", + "type": "string" + }, + "groupByTimeUnit": { + "description": "Time unit used to group the result set.\nValid values include: second, minute, hour, day, week, or month.\nIf a query includes groupByTimeUnit, then the result is an aggregation\nbased on the specified time unit and the resultant timestamp does not\ninclude milliseconds precision.\nIf a query omits groupByTimeUnit, then the resultant timestamp includes\nmilliseconds precision.", + "type": "string" + }, + "limit": { + "description": "Maximum number of rows that can be returned in the result.", + "format": "int32", + "type": "integer" + }, + "metrics": { + "description": "A list of Metrics.", + "items": { + "$ref": "GoogleCloudApigeeV1QueryMetric" + }, + "type": "array" + }, + "name": { + "description": "Asynchronous Query Name.", + "type": "string" + }, + "outputFormat": { + "description": "Valid values include: `csv` or `json`. Defaults to `json`.\nNote: Configure the delimiter for CSV output using the csvDelimiter\nproperty.", + "type": "string" + }, + "reportDefinitionId": { + "description": "Asynchronous Report ID.", + "type": "string" + }, + "timeRange": { + "description": "Required. Time range for the query.\nCan use the following predefined strings to specify the time range:\n `last60minutes`\n `last24hours`\n `last7days`\nOr, specify the timeRange as a structure describing start and end\ntimestamps in the ISO format: yyyy-mm-ddThh:mm:ssZ.\n\nExample:\n \"timeRange\": {\n \"start\": \"2018-07-29T00:13:00Z\",\n \"end\": \"2018-08-01T00:18:00Z\"\n }", + "type": "any" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1QueryMetadata": { + "id": "GoogleCloudApigeeV1QueryMetadata", + "properties": { + "dimensions": { + "description": "Dimensions of the AsyncQuery.", + "items": { + "type": "string" + }, + "type": "array" + }, + "endTimestamp": { + "description": "End timestamp of the query range.", + "type": "string" + }, + "metrics": { + "description": "Metrics of the AsyncQuery.\n\nExample: [\"name:message_count,func:sum,alias:sum_message_count\"]", + "items": { + "type": "string" + }, + "type": "array" + }, + "outputFormat": { + "description": "Output format.", + "type": "string" + }, + "startTimestamp": { + "description": "Start timestamp of the query range.", + "type": "string" + }, + "timeUnit": { + "description": "Query GroupBy time unit.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1QueryMetric": { + "description": "More info about Metric:\nhttps://docs.apigee.com/api-platform/analytics/analytics-reference#metrics", + "id": "GoogleCloudApigeeV1QueryMetric", + "properties": { + "alias": { + "description": "Alias for the metric. Alias will be used to replace metric name\nin query results.", + "type": "string" + }, + "function": { + "description": "Aggregation function: avg, min, max, or sum.", + "type": "string" + }, + "name": { + "description": "Required. Metric name.", + "type": "string" + }, + "operator": { + "description": "One of `+`, `-`, `/`, `%`, `*`.", + "type": "string" + }, + "value": { + "description": "Operand value should be provided when operator is set.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Reference": { + "description": "A Reference configuration. References must refer to a keystore\nthat also exists in the parent environment.", + "id": "GoogleCloudApigeeV1Reference", + "properties": { + "description": { + "description": "Optional. A human-readable description of this reference.", + "type": "string" + }, + "name": { + "description": "Required. The resource id of this reference. Values must match the\nregular expression [\\w\\s\\-.]+.", + "type": "string" + }, + "refers": { + "description": "Required. The id of the resource to which this reference refers.\nMust be the id of a resource that exists in the parent environment and is\nof the given resource_type.", + "type": "string" + }, + "resourceType": { + "description": "The type of resource referred to by this reference. Valid values\nare 'KeyStore' or 'TrustStore'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ReferenceConfig": { + "id": "GoogleCloudApigeeV1ReferenceConfig", + "properties": { + "name": { + "description": "The name of the reference. Must be of the form\n'organizations/{org}/environments/{env}/references/{ref}'.", + "type": "string" + }, + "resourceName": { + "description": "The name of the referred resource. Only references to keystore resources\nare supported. Must be of the form\n'organizations/{org}/environments/{env}/keystores/{ks}'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ReportProperty": { + "id": "GoogleCloudApigeeV1ReportProperty", + "properties": { + "property": { + "description": "name of the property", + "type": "string" + }, + "value": { + "description": "property values", + "items": { + "$ref": "GoogleCloudApigeeV1Attribute" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ResourceConfig": { + "id": "GoogleCloudApigeeV1ResourceConfig", + "properties": { + "location": { + "description": "The location of the resource as a URI.", + "type": "string" + }, + "name": { + "description": "The resource name. Only environment-scoped resource files are supported.\nMust be of the form\n'organizations/{org}/environments/{env}/resourcefiles/{type}/{file}/revisions/{rev}'.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ResourceFile": { + "description": "Metadata about a resource file.", + "id": "GoogleCloudApigeeV1ResourceFile", + "properties": { + "name": { + "description": "ID of the resource file.", + "type": "string" + }, + "type": { + "description": "Resource file type. {{ resource_file_type }}", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ResourceFiles": { + "description": "List of resource files.", + "id": "GoogleCloudApigeeV1ResourceFiles", + "properties": { + "resourceFile": { + "description": "List of resource files.", + "items": { + "$ref": "GoogleCloudApigeeV1ResourceFile" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Result": { + "description": "Result is short for \"action result\", could be different types identified by\n\"action_result\" field. Supported types:\n1. DebugInfo : generic debug info collected by runtime recorded as a list of\nproperties. For example, the contents could be virtual host info, state\nchange result, or execution metadata. Required fields : properties, timestamp\n\n2. RequestMessage: information of a http request. Contains headers, request\nURI and http methods type.Required fields : headers, uri, verb\n\n3. ResponseMessage: information of a http response. Contains headers, reason\nphrase and http status code. Required fields : headers, reasonPhrase,\nstatusCode\n\n4. ErrorMessage: information of a http error message. Contains detail error\nmessage, reason phrase and status code. Required fields : content, headers,\nreasonPhrase, statusCode\n\n5. VariableAccess: a list of variable access actions, can be Get, Set and\nRemove. Required fields : accessList", + "id": "GoogleCloudApigeeV1Result", + "properties": { + "ActionResult": { + "description": "Type of the action result. Can be one of the five: DebugInfo,\nRequestMessage, ResponseMessage, ErrorMessage, VariableAccess", + "type": "string" + }, + "accessList": { + "description": "A list of variable access actions agaist the api proxy.\nSupported values: Get, Set, Remove.", + "items": { + "$ref": "GoogleCloudApigeeV1Access" + }, + "type": "array" + }, + "content": { + "description": "Error message content. for example,\n\"content\" : \"{\\\"fault\\\":{\\\"faultstring\\\":\\\"API timed\nout\\\",\\\"detail\\\":{\\\"errorcode\\\":\\\"flow.APITimedOut\\\"}}}\"", + "type": "string" + }, + "headers": { + "description": "A list of HTTP headers.\nfor example,\n'\"headers\" : [ {\n \"name\" : \"Content-Length\",\n \"value\" : \"83\"\n}, {\n \"name\" : \"Content-Type\",\n \"value\" : \"application/json\"\n} ]'", + "items": { + "$ref": "GoogleCloudApigeeV1Property" + }, + "type": "array" + }, + "properties": { + "$ref": "GoogleCloudApigeeV1Properties", + "description": "Name value pairs used for DebugInfo ActionResult." + }, + "reasonPhrase": { + "description": "HTTP response phrase", + "type": "string" + }, + "statusCode": { + "description": "HTTP response code", + "type": "string" + }, + "timestamp": { + "description": "Timestamp of when the result is recorded. Its format is dd-mm-yy\nhh:mm:ss:xxx. For example, `\"timestamp\" : \"12-08-19 00:31:59:960\"`", + "type": "string" + }, + "uRI": { + "description": "The relative path of the api proxy.\nfor example, `\"uRI\" : \"/iloveapis\"`", + "type": "string" + }, + "verb": { + "description": "HTTP method verb", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Schema": { + "description": "Response for Schema call", + "id": "GoogleCloudApigeeV1Schema", + "properties": { + "dimensions": { + "description": "List of schema fiels grouped as dimensions.", + "items": { + "$ref": "GoogleCloudApigeeV1SchemaSchemaElement" + }, + "type": "array" + }, + "meta": { + "description": "Additional metadata associated with schema. This is\na legacy field and usually consists of an empty array of strings.", + "items": { + "type": "string" + }, + "type": "array" + }, + "metrics": { + "description": "List of schema fields grouped as dimensions. These are fields\nthat can be used with an aggregate function such as sum, avg, min, max.", + "items": { + "$ref": "GoogleCloudApigeeV1SchemaSchemaElement" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SchemaSchemaElement": { + "description": "Message type for the schema element", + "id": "GoogleCloudApigeeV1SchemaSchemaElement", + "properties": { + "name": { + "description": "Name of the field", + "type": "string" + }, + "properties": { + "$ref": "GoogleCloudApigeeV1SchemaSchemaProperty", + "description": "Property of the schema field\nE.g.\n{\n \"createTime\": \"2016-02-26T10:23:09.592Z\",\n \"custom\": \"false\",\n \"type\": \"string\"\n}" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SchemaSchemaProperty": { + "description": "Message type for schema property", + "id": "GoogleCloudApigeeV1SchemaSchemaProperty", + "properties": { + "createTime": { + "description": "Creation time of the field", + "type": "string" + }, + "custom": { + "description": "Custom is a flag signifying if the field was provided as\npart of the standard dataset or a custom field created by the customer", + "type": "string" + }, + "type": { + "description": "Data type of the field.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1ServiceIssuersMapping": { + "id": "GoogleCloudApigeeV1ServiceIssuersMapping", + "properties": { + "emailIds": { + "description": "List of trusted issuer email ids.", + "items": { + "type": "string" + }, + "type": "array" + }, + "service": { + "description": "String indicating the Apigee service name.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Session": { + "description": "Session carries the debug session id and its creation time.", + "id": "GoogleCloudApigeeV1Session", + "properties": { + "id": { + "description": "The debug session ID.", + "type": "string" + }, + "timestampMs": { + "description": "The first transaction creation timestamp in millisecond, recoreded by UAP.", + "format": "int64", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SharedFlow": { + "description": "The metadata describing a shared flow", + "id": "GoogleCloudApigeeV1SharedFlow", + "properties": { + "latestRevisionId": { + "description": "The id of the most recently created revision for this shared flow.", + "type": "string" + }, + "metaData": { + "$ref": "GoogleCloudApigeeV1EntityMetadata", + "description": "Metadata describing the shared flow." + }, + "name": { + "description": "The ID of the shared flow.", + "type": "string" + }, + "revision": { + "description": "A list of revisions of this shared flow.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SharedFlowRevision": { + "description": "The metadata describing a shared flow revision.", + "id": "GoogleCloudApigeeV1SharedFlowRevision", + "properties": { + "configurationVersion": { + "$ref": "GoogleCloudApigeeV1ConfigVersion", + "description": "The version of the configuration schema to which this shared flow conforms.\nThe only supported value currently is majorVersion 4 and minorVersion 0.\nThis setting may be used in the future to enable evolution of the shared\nflow format." + }, + "contextInfo": { + "description": "A textual description of the shared flow revision.", + "type": "string" + }, + "createdAt": { + "description": "Time at which this shared flow revision was created, in milliseconds since\nepoch.", + "format": "int64", + "type": "string" + }, + "description": { + "description": "Description of the shared flow revision.", + "type": "string" + }, + "displayName": { + "description": "The human readable name of this shared flow.", + "type": "string" + }, + "entityMetaDataAsProperties": { + "additionalProperties": { + "type": "string" + }, + "description": "A Key-Value map of metadata about this shared flow revision.", + "type": "object" + }, + "lastModifiedAt": { + "description": "Time at which this shared flow revision was most recently modified, in\nmilliseconds since epoch.", + "format": "int64", + "type": "string" + }, + "name": { + "description": "The resource ID of the parent shared flow.", + "type": "string" + }, + "policies": { + "description": "A list of policy names included in this shared flow revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "resourceFiles": { + "$ref": "GoogleCloudApigeeV1ResourceFiles", + "description": "The resource files included in this shared flow revision." + }, + "resources": { + "description": "A list of the resources included in this shared flow revision formatted as\n\"{type}://{name}\".", + "items": { + "type": "string" + }, + "type": "array" + }, + "revision": { + "description": "The resource ID of this revision.", + "type": "string" + }, + "sharedFlows": { + "description": "A list of the shared flow names included in this shared flow revision.", + "items": { + "type": "string" + }, + "type": "array" + }, + "type": { + "description": "The string \"Application\"", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Stats": { + "description": "This message type encapsulates a stats response.", + "id": "GoogleCloudApigeeV1Stats", + "properties": { + "environments": { + "description": "This field contains a list of query results on environment level.", + "items": { + "$ref": "GoogleCloudApigeeV1StatsEnvironmentStats" + }, + "type": "array" + }, + "metaData": { + "$ref": "GoogleCloudApigeeV1Metadata", + "description": "This field contains the metadata information." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1StatsEnvironmentStats": { + "description": "This message type encapsulates the environment wrapper:\n \"environments\": [\n {\n \"metrics\": [\n {\n \"name\": \"sum(message_count)\",\n \"values\": [\n \"2.52056245E8\"\n ]\n }\n ],\n \"name\": \"prod\"\n }\n ]", + "id": "GoogleCloudApigeeV1StatsEnvironmentStats", + "properties": { + "dimensions": { + "description": "This field contains the list of metrics grouped under dimensions.", + "items": { + "$ref": "GoogleCloudApigeeV1DimensionMetric" + }, + "type": "array" + }, + "metrics": { + "description": "In the final response, only one of the following fields will be present\nbased on the dimensions provided. If no dimensions are provided, then\nonly a top level metrics is provided. If dimensions are included, then\nthere will be a top level dimensions field under environments which will\ncontain metrics values and the dimension name.\nExample:\n \"environments\": [\n {\n \"dimensions\": [\n {\n \"metrics\": [\n {\n \"name\": \"sum(message_count)\",\n \"values\": [\n \"2.14049521E8\"\n ]\n }\n ],\n \"name\": \"nit_proxy\"\n }\n ],\n \"name\": \"prod\"\n }\n ]\n\n OR\n \"environments\": [\n {\n \"metrics\": [\n {\n \"name\": \"sum(message_count)\",\n \"values\": [\n \"2.19026331E8\"\n ]\n }\n ],\n \"name\": \"prod\"\n }\n ]\nThis field contains the list of metric values.", + "items": { + "$ref": "GoogleCloudApigeeV1Metric" + }, + "type": "array" + }, + "name": { + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1Subscription": { + "description": "Pub/Sub subscription of an environment.", + "id": "GoogleCloudApigeeV1Subscription", + "properties": { + "name": { + "description": "Full name of the Pub/Sub subcription. Use the following structure in your\nrequest:\n `subscription \"projects/foo/subscription/bar\"`", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1SyncAuthorization": { + "id": "GoogleCloudApigeeV1SyncAuthorization", + "properties": { + "etag": { + "description": "Entity tag (ETag) used for optimistic concurrency control as a way to help\nprevent simultaneous updates from overwriting each other.\n\nFor example, when you call [getSyncAuthorization](getSyncAuthorization)\nan ETag is returned in the response. Pass that ETag when calling\nthe [setSyncAuthorization](setSyncAuthorization) to ensure\nthat you are updating the correct version. If you don't pass the\nETag in the call to `setSyncAuthorization`, then the\nexisting authorization is overwritten indiscriminately.\n\n**Note**: We strongly recommend that you use the ETag in the\nread-modify-write cycle to avoid race conditions.", + "format": "byte", + "type": "string" + }, + "identities": { + "description": "Required. Array of service accounts to grant access to control plane\nresources, each specified using the following\nformat: `serviceAccount:`service-account-name.\n\nThe service-account-name is formatted like an email address. For\nexample:\n`my-synchronizer-manager-service_account@my_project_id.iam.gserviceaccount.com`\n\nYou might specify multiple service accounts, for example, if you have\nmultiple environments and wish to assign a unique service account to each\none.\n\nThe service accounts must have **Apigee Synchronizer Manager** role.\nSee also [Create service\naccounts](https://docs.apigee.com/hybrid/latest/sa-about#create-the-service-accounts).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TargetServer": { + "description": "TargetServer configuration. TargetServers are used to decouple a proxy's\nTargetEndpoint HTTPTargetConnections from concrete URLs for backend services.", + "id": "GoogleCloudApigeeV1TargetServer", + "properties": { + "description": { + "description": "Optional. A human-readable description of this TargetServer.", + "type": "string" + }, + "host": { + "description": "Required. The host name this target connects to. Value must be a valid\nhostname as described by RFC-1123.", + "type": "string" + }, + "isEnabled": { + "description": "Optional. Enabling/disabling a TargetServer is useful when TargetServers\nare used in load balancing configurations, and one or more TargetServers\nneed to taken out of rotation periodically. Defaults to true.", + "type": "boolean" + }, + "name": { + "description": "Required. The resource id of this target server. Values must match the\nregular expression ", + "type": "string" + }, + "port": { + "description": "Required. The port number this target connects to on the given host. Value\nmust be between 1 and 65535, inclusive.", + "format": "int32", + "type": "integer" + }, + "sSLInfo": { + "$ref": "GoogleCloudApigeeV1TlsInfo", + "description": "Optional. Specifies TLS configuration info for this TargetServer. The JSON\nname is `sSLInfo` for legacy/backwards compatibility reasons -- Edge\noriginally supported SSL, and the name is still used for TLS configuration." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TargetServerConfig": { + "id": "GoogleCloudApigeeV1TargetServerConfig", + "properties": { + "host": { + "description": "Target host name.", + "type": "string" + }, + "name": { + "description": "The target server revision name. Must be of the form\n'organizations/{org}/environments/{env}/targetservers/{ts_id}/revisions/{rev}'.", + "type": "string" + }, + "port": { + "description": "Target port.", + "format": "int32", + "type": "integer" + }, + "tlsInfo": { + "$ref": "GoogleCloudApigeeV1TlsInfoConfig", + "description": "TLS settings for the target." + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TlsInfo": { + "description": "TLS configuration information for\nVirtualHosts and\nTargetServers.", + "id": "GoogleCloudApigeeV1TlsInfo", + "properties": { + "ciphers": { + "description": "The SSL/TLS cipher suites to be used. Must be one of the cipher suite names\nlisted in:\nhttp://docs.oracle.com/javase/8/docs/technotes/guides/security/StandardNames.html#ciphersuites", + "items": { + "type": "string" + }, + "type": "array" + }, + "clientAuthEnabled": { + "description": "Optional. Enables two-way TLS.", + "type": "boolean" + }, + "commonName": { + "$ref": "GoogleCloudApigeeV1TlsInfoCommonName", + "description": "The TLS Common Name of the certificate." + }, + "enabled": { + "description": "Required. Enables one-way TLS.", + "type": "boolean" + }, + "ignoreValidationErrors": { + "description": "If true, Edge ignores TLS certificate errors. Valid when configuring TLS\nfor target servers and target endpoints, and when configuring virtual hosts\nthat use 2-way TLS.\n\nWhen used with a target endpoint/target server, if the backend system uses\nSNI and returns a cert with a subject Distinguished Name (DN) that does not\nmatch the hostname, there is no way to ignore the error and the connection\nfails.", + "type": "boolean" + }, + "keyAlias": { + "description": "Required if `client_auth_enabled` is true. The resource ID for the\nalias containing the private key and cert.", + "type": "string" + }, + "keyStore": { + "description": "Required if `client_auth_enabled` is true. The resource ID of the\nkeystore. References not yet supported.", + "type": "string" + }, + "protocols": { + "description": "The TLS versioins to be used.", + "items": { + "type": "string" + }, + "type": "array" + }, + "trustStore": { + "description": "The resource ID of the truststore.\nReferences not yet supported.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TlsInfoCommonName": { + "id": "GoogleCloudApigeeV1TlsInfoCommonName", + "properties": { + "value": { + "description": "The TLS Common Name string of the certificate.", + "type": "string" + }, + "wildcardMatch": { + "description": "Indicates whether the cert should be matched against as a wildcard cert.", + "type": "boolean" + } + }, + "type": "object" + }, + "GoogleCloudApigeeV1TlsInfoConfig": { + "id": "GoogleCloudApigeeV1TlsInfoConfig", + "properties": { + "ciphers": { + "description": "Whitelist of supported ciphers.", + "items": { + "type": "string" + }, + "type": "array" + }, + "clientAuthEnabled": { + "description": "Indicates if client auth is enabled for the target. Enables two-way TLS.", + "type": "boolean" + }, + "commonName": { + "$ref": "GoogleCloudApigeeV1CommonNameConfig", + "description": "Common name to validate the target against." + }, + "enabled": { + "description": "Enables one-way TLS.", + "type": "boolean" + }, + "ignoreValidationErrors": { + "description": "If true, ignore TLS certificate validation errors.", + "type": "boolean" + }, + "keyAlias": { + "description": "The name of the Alias used for client side auth. It must be of the form:\norganizations/{org}/environments/{env}/keystores/{keystore}/aliases/{alias}", + "type": "string" + }, + "keyAliasReference": { + "$ref": "GoogleCloudApigeeV1KeyAliasReference", + "description": "A pair of reference name and alias to use for client side auth." + }, + "protocols": { + "description": "Whitelist of supported TLS protocols.", + "items": { + "type": "string" + }, + "type": "array" + }, + "trustStore": { + "description": "The name of the Keystore or keystore reference containing trusted\ncertificates for the server. It must be of either the form\norganizations/{org}/environments/{env}/keystores/{keystore} or\norganizations/{org}/environments/{env}/references/{reference}.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "GoogleIamV1AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "GoogleIamV1AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "GoogleIamV1AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Binding": { + "description": "Associates `members` with a `role`.", + "id": "GoogleIamV1Binding", + "properties": { + "condition": { + "$ref": "GoogleTypeExpr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "GoogleIamV1Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "GoogleIamV1AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "GoogleIamV1Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "GoogleIamV1SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "GoogleIamV1SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "GoogleIamV1Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleIamV1TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "GoogleIamV1TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleLongrunningListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "GoogleLongrunningListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "GoogleLongrunningOperation" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleLongrunningOperation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "GoogleLongrunningOperation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "GoogleRpcStatus", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "GoogleProtobufEmpty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "GoogleProtobufEmpty", + "properties": {}, + "type": "object" + }, + "GoogleRpcStatus": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "GoogleRpcStatus", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "GoogleTypeExpr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "GoogleTypeExpr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Apigee API", + "version": "v1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/appengine/v1/appengine-api.json b/etc/api/appengine/v1/appengine-api.json index af0d3dcd39..72570d6917 100644 --- a/etc/api/appengine/v1/appengine-api.json +++ b/etc/api/appengine/v1/appengine-api.json @@ -1573,7 +1573,7 @@ } } }, - "revision": "20200403", + "revision": "20200701", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -1662,6 +1662,22 @@ "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", "type": "string" }, + "databaseType": { + "description": "The type of the Cloud Firestore or Cloud Datastore database associated with this application.", + "enum": [ + "DATABASE_TYPE_UNSPECIFIED", + "CLOUD_DATASTORE", + "CLOUD_FIRESTORE", + "CLOUD_DATASTORE_COMPATIBILITY" + ], + "enumDescriptions": [ + "Database type is unspecified.", + "Cloud Datastore", + "Cloud Firestore Native", + "Cloud Firestore in Datastore Mode" + ], + "type": "string" + }, "defaultBucket": { "description": "Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly", "type": "string" diff --git a/etc/api/appengine/v1alpha/appengine-api.json b/etc/api/appengine/v1alpha/appengine-api.json index bbbe1ed66a..c261aad491 100644 --- a/etc/api/appengine/v1alpha/appengine-api.json +++ b/etc/api/appengine/v1alpha/appengine-api.json @@ -695,7 +695,7 @@ } } }, - "revision": "20200403", + "revision": "20200701", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "AuthorizedCertificate": { diff --git a/etc/api/appengine/v1beta/appengine-api.json b/etc/api/appengine/v1beta/appengine-api.json index fc71ed3b20..75e45697d0 100644 --- a/etc/api/appengine/v1beta/appengine-api.json +++ b/etc/api/appengine/v1beta/appengine-api.json @@ -1573,7 +1573,7 @@ } } }, - "revision": "20200403", + "revision": "20200701", "rootUrl": "https://appengine.googleapis.com/", "schemas": { "ApiConfigHandler": { @@ -1662,6 +1662,22 @@ "description": "Google Cloud Storage bucket that can be used for storing files associated with this application. This bucket is associated with the application and can be used by the gcloud deployment commands.@OutputOnly", "type": "string" }, + "databaseType": { + "description": "The type of the Cloud Firestore or Cloud Datastore database associated with this application.", + "enum": [ + "DATABASE_TYPE_UNSPECIFIED", + "CLOUD_DATASTORE", + "CLOUD_FIRESTORE", + "CLOUD_DATASTORE_COMPATIBILITY" + ], + "enumDescriptions": [ + "Database type is unspecified.", + "Cloud Datastore", + "Cloud Firestore Native", + "Cloud Firestore in Datastore Mode" + ], + "type": "string" + }, "defaultBucket": { "description": "Google Cloud Storage bucket that can be used by this application to store content.@OutputOnly", "type": "string" diff --git a/etc/api/appsactivity/v1/appsactivity-api.json b/etc/api/appsactivity/v1/appsactivity-api.json index e6eccf3119..859cdf5bfb 100644 --- a/etc/api/appsactivity/v1/appsactivity-api.json +++ b/etc/api/appsactivity/v1/appsactivity-api.json @@ -14,7 +14,7 @@ "description": "Provides a historical view of activity.", "discoveryVersion": "v1", "documentationLink": "https://developers.google.com/google-apps/activity/", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/rwk4WL3MtQtqWL81CbRykDH0ZLo\"", + "etag": "\"-2NioU2H8y8siEzrBOV_qzRI6kQ/taM_2jThRCVPrSu6zXaiRaqPiXA\"", "icons": { "x16": "https://www.gstatic.com/images/branding/product/1x/googleg_16dp.png", "x32": "https://www.gstatic.com/images/branding/product/1x/googleg_32dp.png" @@ -137,7 +137,7 @@ } } }, - "revision": "20200405", + "revision": "20200628", "rootUrl": "https://www.googleapis.com/", "schemas": { "Activity": { diff --git a/etc/api/artifactregistry/v1beta1/artifactregistry-api.json b/etc/api/artifactregistry/v1beta1/artifactregistry-api.json new file mode 100644 index 0000000000..4f976a1e38 --- /dev/null +++ b/etc/api/artifactregistry/v1beta1/artifactregistry-api.json @@ -0,0 +1,1565 @@ +{ + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + }, + "https://www.googleapis.com/auth/cloud-platform.read-only": { + "description": "View your data across Google Cloud Platform services" + } + } + } + }, + "basePath": "", + "baseUrl": "https://artifactregistry.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Artifact Registry", + "description": "Store and manage build artifacts in a scalable and integrated service built on Google infrastructure.", + "discoveryVersion": "v1", + "documentationLink": "https://cloud.google.com/artifacts/docs/", + "fullyEncodeReservedExpansion": true, + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "id": "artifactregistry:v1beta1", + "kind": "discovery#restDescription", + "mtlsRootUrl": "https://artifactregistry.mtls.googleapis.com/", + "name": "artifactregistry", + "ownerDomain": "google.com", + "ownerName": "Google", + "parameters": { + "$.xgafv": { + "description": "V1 error format.", + "enum": [ + "1", + "2" + ], + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query", + "type": "string" + }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, + "fields": { + "description": "Selector specifying which fields to include in a partial response.", + "location": "query", + "type": "string" + }, + "key": { + "description": "API key. Your API key identifies your project and provides you with API access, quota, and reports. Required unless you provide an OAuth 2.0 token.", + "location": "query", + "type": "string" + }, + "oauth_token": { + "description": "OAuth 2.0 token for the current user.", + "location": "query", + "type": "string" + }, + "prettyPrint": { + "default": "true", + "description": "Returns response with indentations and line breaks.", + "location": "query", + "type": "boolean" + }, + "quotaUser": { + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", + "location": "query", + "type": "string" + }, + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query", + "type": "string" + } + }, + "protocol": "rest", + "resources": { + "projects": { + "resources": { + "locations": { + "methods": { + "get": { + "description": "Gets information about a location.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "Resource name for the location.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Location" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists information about the supported locations for this service.", + "flatPath": "v1beta1/projects/{projectsId}/locations", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The resource that owns the locations collection, if applicable.", + "location": "path", + "pattern": "^projects/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/locations", + "response": { + "$ref": "ListLocationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, + "resources": { + "operations": { + "methods": { + "get": { + "description": "Gets the latest state of a long-running operation. Clients can use this\nmethod to poll the operation result at intervals as recommended by the API\nservice.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations/{operationsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.operations.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the operation resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/operations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists operations that match the specified filter in the request. If the\nserver doesn't support this method, it returns `UNIMPLEMENTED`.\n\nNOTE: the `name` binding allows API services to override the binding\nto use different resource name schemes, such as `users/*/operations`. To\noverride the binding, API services can add a binding such as\n`\"/v1/{name=users/*}/operations\"` to their service configuration.\nFor backwards compatibility, the default name includes the operations\ncollection id, however overriding users must ensure the name binding\nis the parent resource, without the operations collection id.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/operations", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.operations.list", + "parameterOrder": [ + "name" + ], + "parameters": { + "filter": { + "description": "The standard list filter.", + "location": "query", + "type": "string" + }, + "name": { + "description": "The name of the operation's parent resource.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "pageSize": { + "description": "The standard list page size.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The standard list page token.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}/operations", + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, + "repositories": { + "methods": { + "create": { + "description": "Creates a repository. The returned Operation will finish once the\nrepository has been created. Its response will be the created Repository.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the repository will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "repositoryId": { + "description": "The repository id to use for this repository.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/repositories", + "request": { + "$ref": "Repository" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a repository and all of its contents. The returned Operation will\nfinish once the repository has been deleted. It will not have any Operation\nmetadata and will return a google.protobuf.Empty response.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the repository to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a repository.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the repository to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Repository" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "getIamPolicy": { + "description": "Gets the IAM policy for a given resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:getIamPolicy", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "options.requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "location": "query", + "type": "integer" + }, + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:getIamPolicy", + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists repositories.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of repositories to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose repositories will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/repositories", + "response": { + "$ref": "ListRepositoriesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "patch": { + "description": "Updates a repository.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}", + "httpMethod": "PATCH", + "id": "artifactregistry.projects.locations.repositories.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the repository, for example:\n\"projects/p1/locations/us-central1/repositories/repo1\".", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Repository" + }, + "response": { + "$ref": "Repository" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "description": "Updates the IAM policy for a given resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:setIamPolicy", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Tests if the caller has a list of permissions on a resource.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}:testIamPermissions", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, + "resources": { + "files": { + "methods": { + "get": { + "description": "Gets a file.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/files/{filesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.files.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the file to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/files/.*$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists files.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/files", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.files.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n * `name`\n * `owner`\n\n An example of using a filter:\n\n * `name=\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/*\"` --> Files with an\n ID starting with \"a/b/\".\n * `owner=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"` -->\n Files owned by the version `1.0` in package `pkg1`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of files to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose files will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/files", + "response": { + "$ref": "ListFilesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + }, + "packages": { + "methods": { + "delete": { + "description": "Deletes a package and all of its versions and tags. The returned operation\nwill complete once the package has been deleted.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the package to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a package.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the package to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Package" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists packages.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of packages to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose packages will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/packages", + "response": { + "$ref": "ListPackagesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + }, + "resources": { + "tags": { + "methods": { + "create": { + "description": "Creates a tag.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags", + "httpMethod": "POST", + "id": "artifactregistry.projects.locations.repositories.packages.tags.create", + "parameterOrder": [ + "parent" + ], + "parameters": { + "parent": { + "description": "The name of the parent resource where the tag will be created.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + }, + "tagId": { + "description": "The tag id to use for this repository.", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/tags", + "request": { + "$ref": "Tag" + }, + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "description": "Deletes a tag.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.tags.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a tag.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.tags.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists tags.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.tags.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "filter": { + "description": "An expression for filtering the results of the request. Filter rules are\ncase insensitive. The fields eligible for filtering are:\n\n * `version`\n\n An example of using a filter:\n\n * `version=\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/1.0\"`\n --> Tags that are applied to the version `1.0` in package `pkg1`.", + "location": "query", + "type": "string" + }, + "pageSize": { + "description": "The maximum number of tags to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose tags will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+parent}/tags", + "response": { + "$ref": "ListTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "patch": { + "description": "Updates a tag.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/tags/{tagsId}", + "httpMethod": "PATCH", + "id": "artifactregistry.projects.locations.repositories.packages.tags.patch", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the tag, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/tags/[^/]+$", + "required": true, + "type": "string" + }, + "updateMask": { + "description": "The update mask applies to the resource. For the `FieldMask` definition,\nsee\nhttps://developers.google.com/protocol-buffers/docs/reference/google.protobuf#fieldmask", + "format": "google-fieldmask", + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "request": { + "$ref": "Tag" + }, + "response": { + "$ref": "Tag" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "versions": { + "methods": { + "delete": { + "description": "Deletes a version and all of its content. The returned operation will\ncomplete once the version has been deleted.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "id": "artifactregistry.projects.locations.repositories.packages.versions.delete", + "parameterOrder": [ + "name" + ], + "parameters": { + "force": { + "description": "By default, a version that is tagged may not be deleted. If force=true, the\nversion and any tags pointing to the version are deleted.", + "location": "query", + "type": "boolean" + }, + "name": { + "description": "The name of the version to delete.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "description": "Gets a version", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions/{versionsId}", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.versions.get", + "parameterOrder": [ + "name" + ], + "parameters": { + "name": { + "description": "The name of the version to retrieve.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+/versions/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The view that should be returned in the response.", + "enum": [ + "VERSION_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+name}", + "response": { + "$ref": "Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, + "list": { + "description": "Lists versions.", + "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/repositories/{repositoriesId}/packages/{packagesId}/versions", + "httpMethod": "GET", + "id": "artifactregistry.projects.locations.repositories.packages.versions.list", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of versions to return.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous list request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "The name of the parent resource whose versions will be listed.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+/repositories/[^/]+/packages/[^/]+$", + "required": true, + "type": "string" + }, + "view": { + "description": "The view that should be returned in the response.", + "enum": [ + "VERSION_VIEW_UNSPECIFIED", + "BASIC", + "FULL" + ], + "location": "query", + "type": "string" + } + }, + "path": "v1beta1/{+parent}/versions", + "response": { + "$ref": "ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + } + } + } + } + } + } + } + } + } + } + } + }, + "revision": "20200703", + "rootUrl": "https://artifactregistry.googleapis.com/", + "schemas": { + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, + "Empty": { + "description": "A generic empty message that you can re-use to avoid defining duplicated\nempty messages in your APIs. A typical example is to use it as the request\nor the response type of an API method. For instance:\n\n service Foo {\n rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty);\n }\n\nThe JSON representation for `Empty` is empty JSON object `{}`.", + "id": "Empty", + "properties": {}, + "type": "object" + }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, + "File": { + "description": "Files store content that is potentially associated with Packages or Versions.", + "id": "File", + "properties": { + "createTime": { + "description": "The time when the File was created.", + "format": "google-datetime", + "type": "string" + }, + "hashes": { + "description": "The hashes of the file content.", + "items": { + "$ref": "Hash" + }, + "type": "array" + }, + "name": { + "description": "The name of the file, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/files/a/b/c.txt\".", + "type": "string" + }, + "owner": { + "description": "The name of the Package or Version that owns this file, if any.", + "type": "string" + }, + "sizeBytes": { + "description": "The size of the File in bytes.", + "format": "int64", + "type": "string" + }, + "updateTime": { + "description": "The time when the File was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "GoogleDevtoolsArtifactregistryV1alpha1ErrorInfo": { + "description": "Error information explaining why a package was not imported.", + "id": "GoogleDevtoolsArtifactregistryV1alpha1ErrorInfo", + "properties": { + "error": { + "$ref": "Status", + "description": "The detailed error status." + }, + "gcsSource": { + "$ref": "GoogleDevtoolsArtifactregistryV1alpha1GcsSource", + "description": "Google Cloud Storage location requested." + } + }, + "type": "object" + }, + "GoogleDevtoolsArtifactregistryV1alpha1GcsSource": { + "description": "Google Cloud Storage location for the input content.", + "id": "GoogleDevtoolsArtifactregistryV1alpha1GcsSource", + "properties": { + "uris": { + "description": "Cloud Storage paths URI (e.g., gs://my_bucket//my_object).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleDevtoolsArtifactregistryV1alpha1ImportArtifactsResponse": { + "description": "The response message from importing artifacts.", + "id": "GoogleDevtoolsArtifactregistryV1alpha1ImportArtifactsResponse", + "properties": { + "errors": { + "description": "Detailed error info for packages that were not imported.", + "items": { + "$ref": "GoogleDevtoolsArtifactregistryV1alpha1ErrorInfo" + }, + "type": "array" + }, + "packages": { + "description": "The packages updated.", + "items": { + "$ref": "GoogleDevtoolsArtifactregistryV1alpha1Package" + }, + "type": "array" + } + }, + "type": "object" + }, + "GoogleDevtoolsArtifactregistryV1alpha1Package": { + "description": "Packages are named collections of versions.", + "id": "GoogleDevtoolsArtifactregistryV1alpha1Package", + "properties": { + "createTime": { + "description": "The time when the package was created.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "The display name of the package.", + "type": "string" + }, + "name": { + "description": "The name of the package, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".", + "type": "string" + }, + "updateTime": { + "description": "The time when the package was last updated. This includes publishing a new\nversion of the package.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Hash": { + "description": "A hash of file content.", + "id": "Hash", + "properties": { + "type": { + "description": "The algorithm used to compute the hash value.", + "enum": [ + "HASH_TYPE_UNSPECIFIED", + "SHA256" + ], + "enumDescriptions": [ + "Unspecified.", + "SHA256 hash." + ], + "type": "string" + }, + "value": { + "description": "The hash value.", + "format": "byte", + "type": "string" + } + }, + "type": "object" + }, + "ListFilesResponse": { + "description": "The response from listing files.", + "id": "ListFilesResponse", + "properties": { + "files": { + "description": "The files returned.", + "items": { + "$ref": "File" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The token to retrieve the next page of files, or empty if there are no\nmore files to return.", + "type": "string" + } + }, + "type": "object" + }, + "ListLocationsResponse": { + "description": "The response message for Locations.ListLocations.", + "id": "ListLocationsResponse", + "properties": { + "locations": { + "description": "A list of locations that matches the specified filter in the request.", + "items": { + "$ref": "Location" + }, + "type": "array" + }, + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + } + }, + "type": "object" + }, + "ListOperationsResponse": { + "description": "The response message for Operations.ListOperations.", + "id": "ListOperationsResponse", + "properties": { + "nextPageToken": { + "description": "The standard List next-page token.", + "type": "string" + }, + "operations": { + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListPackagesResponse": { + "description": "The response from listing packages.", + "id": "ListPackagesResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of packages, or empty if there are no\nmore packages to return.", + "type": "string" + }, + "packages": { + "description": "The packages returned.", + "items": { + "$ref": "Package" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListRepositoriesResponse": { + "description": "The response from listing repositories.", + "id": "ListRepositoriesResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of repositories, or empty if there are\nno more repositories to return.", + "type": "string" + }, + "repositories": { + "description": "The repositories returned.", + "items": { + "$ref": "Repository" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListTagsResponse": { + "description": "The response from listing tags.", + "id": "ListTagsResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of tags, or empty if there are no\nmore tags to return.", + "type": "string" + }, + "tags": { + "description": "The tags returned.", + "items": { + "$ref": "Tag" + }, + "type": "array" + } + }, + "type": "object" + }, + "ListVersionsResponse": { + "description": "The response from listing versions.", + "id": "ListVersionsResponse", + "properties": { + "nextPageToken": { + "description": "The token to retrieve the next page of versions, or empty if there are no\nmore versions to return.", + "type": "string" + }, + "versions": { + "description": "The versions returned.", + "items": { + "$ref": "Version" + }, + "type": "array" + } + }, + "type": "object" + }, + "Location": { + "description": "A resource that represents Google Cloud Platform location.", + "id": "Location", + "properties": { + "displayName": { + "description": "The friendly name for this location, typically a nearby city name.\nFor example, \"Tokyo\".", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Cross-service attributes for the location. For example\n\n {\"cloud.googleapis.com/region\": \"us-east1\"}", + "type": "object" + }, + "locationId": { + "description": "The canonical id for this location. For example: `\"us-east1\"`.", + "type": "string" + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata. For example the available capacity at the given\nlocation.", + "type": "object" + }, + "name": { + "description": "Resource name for the location, which may vary between implementations.\nFor example: `\"projects/example-project/locations/us-east1\"`", + "type": "string" + } + }, + "type": "object" + }, + "Operation": { + "description": "This resource represents a long-running operation that is the result of a\nnetwork API call.", + "id": "Operation", + "properties": { + "done": { + "description": "If the value is `false`, it means the operation is still in progress.\nIf `true`, the operation is completed, and either `error` or `response` is\navailable.", + "type": "boolean" + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure or cancellation." + }, + "metadata": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "Service-specific metadata associated with the operation. It typically\ncontains progress information and common metadata such as create time.\nSome services might not provide such metadata. Any method that returns a\nlong-running operation should document the metadata type, if any.", + "type": "object" + }, + "name": { + "description": "The server-assigned name, which is only unique within the same service that\noriginally returns it. If you use the default HTTP mapping, the\n`name` should be a resource name ending with `operations/{unique_id}`.", + "type": "string" + }, + "response": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "description": "The normal response of the operation in case of success. If the original\nmethod returns no data on success, such as `Delete`, the response is\n`google.protobuf.Empty`. If the original method is standard\n`Get`/`Create`/`Update`, the response should be the resource. For other\nmethods, the response should have the type `XxxResponse`, where `Xxx`\nis the original method name. For example, if the original method name\nis `TakeSnapshot()`, the inferred response type is\n`TakeSnapshotResponse`.", + "type": "object" + } + }, + "type": "object" + }, + "Package": { + "description": "Packages are named collections of versions.", + "id": "Package", + "properties": { + "createTime": { + "description": "The time when the package was created.", + "format": "google-datetime", + "type": "string" + }, + "displayName": { + "description": "The display name of the package.", + "type": "string" + }, + "name": { + "description": "The name of the package, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1\".", + "type": "string" + }, + "updateTime": { + "description": "The time when the package was last updated. This includes publishing a new\nversion of the package.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, + "Repository": { + "description": "A Repository for storing artifacts with a specific format.", + "id": "Repository", + "properties": { + "createTime": { + "description": "The time when the repository was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "The user-provided description of the repository.", + "type": "string" + }, + "format": { + "description": "The format of packages that are stored in the repository.", + "enum": [ + "FORMAT_UNSPECIFIED", + "DOCKER", + "MAVEN", + "NPM", + "APT" + ], + "enumDescriptions": [ + "Unspecified package format.", + "Docker package format.", + "Maven package format.", + "NPM package format.", + "APT package format." + ], + "type": "string" + }, + "kmsKeyName": { + "description": "The Cloud KMS resource name of the customer managed encryption key that\u2019s\nused to encrypt the contents of the Repository. Has the form:\n`projects/my-project/locations/my-region/keyRings/my-kr/cryptoKeys/my-key`.\nThis value may not be changed after the Repository has been created.", + "type": "string" + }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "Labels with user-defined metadata.\nThis field may contain up to 64 entries. Label keys and values may be no\nlonger than 63 characters. Label keys must begin with a lowercase letter\nand may only contain lowercase letters, numeric characters, underscores,\nand dashes.", + "type": "object" + }, + "name": { + "description": "The name of the repository, for example:\n\"projects/p1/locations/us-central1/repositories/repo1\".", + "type": "string" + }, + "updateTime": { + "description": "The time when the repository was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + } + }, + "type": "object" + }, + "Status": { + "description": "The `Status` type defines a logical error model that is suitable for\ndifferent programming environments, including REST APIs and RPC APIs. It is\nused by [gRPC](https://github.com/grpc). Each `Status` message contains\nthree pieces of data: error code, error message, and error details.\n\nYou can find out more about this error model and how to work with it in the\n[API Design Guide](https://cloud.google.com/apis/design/errors).", + "id": "Status", + "properties": { + "code": { + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32", + "type": "integer" + }, + "details": { + "description": "A list of messages that carry the error details. There is a common set of\nmessage types for APIs to use.", + "items": { + "additionalProperties": { + "description": "Properties of the object. Contains field @type with type URL.", + "type": "any" + }, + "type": "object" + }, + "type": "array" + }, + "message": { + "description": "A developer-facing error message, which should be in English. Any\nuser-facing error message should be localized and sent in the\ngoogle.rpc.Status.details field, or localized by the client.", + "type": "string" + } + }, + "type": "object" + }, + "Tag": { + "description": "Tags point to a version and represent an alternative name that can be used\nto access the version.", + "id": "Tag", + "properties": { + "name": { + "description": "The name of the tag, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/tags/tag1\".", + "type": "string" + }, + "version": { + "description": "The name of the version the tag refers to, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/sha256:5243811\"", + "type": "string" + } + }, + "type": "object" + }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "Version": { + "description": "The body of a version resource. A version resource represents a\ncollection of components, such as files and other data. This may correspond\nto a version in many package management schemes.", + "id": "Version", + "properties": { + "createTime": { + "description": "The time when the version was created.", + "format": "google-datetime", + "type": "string" + }, + "description": { + "description": "Optional. Description of the version, as specified in its metadata.", + "type": "string" + }, + "name": { + "description": "The name of the version, for example:\n\"projects/p1/locations/us-central1/repositories/repo1/packages/pkg1/versions/art1\".", + "type": "string" + }, + "relatedTags": { + "description": "Output only. A list of related tags. Will contain up to 100 tags that\nreference this version.", + "items": { + "$ref": "Tag" + }, + "type": "array" + }, + "updateTime": { + "description": "The time when the version was last updated.", + "format": "google-datetime", + "type": "string" + } + }, + "type": "object" + } + }, + "servicePath": "", + "title": "Artifact Registry API", + "version": "v1beta1", + "version_module": true +} \ No newline at end of file diff --git a/etc/api/bigquery/v2/bigquery-api.json b/etc/api/bigquery/v2/bigquery-api.json index 93c455343c..ae1d8b2adb 100644 --- a/etc/api/bigquery/v2/bigquery-api.json +++ b/etc/api/bigquery/v2/bigquery-api.json @@ -1265,6 +1265,37 @@ "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, + "getIamPolicy": { + "description": "Gets the access control policy for a resource.\nReturns an empty policy if the resource exists and does not have a policy\nset.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:getIamPolicy", + "httpMethod": "POST", + "id": "bigquery.tables.getIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+resource}:getIamPolicy", + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/bigquery.readonly", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "insert": { "description": "Creates a new, empty table in the dataset.", "httpMethod": "POST", @@ -1384,6 +1415,66 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "setIamPolicy": { + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:setIamPolicy", + "httpMethod": "POST", + "id": "bigquery.tables.setIamPolicy", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy is being specified.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+resource}:setIamPolicy", + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "flatPath": "projects/{projectsId}/datasets/{datasetsId}/tables/{tablesId}:testIamPermissions", + "httpMethod": "POST", + "id": "bigquery.tables.testIamPermissions", + "parameterOrder": [ + "resource" + ], + "parameters": { + "resource": { + "description": "REQUIRED: The resource for which the policy detail is being requested.\nSee the operation documentation for the appropriate value for this field.", + "location": "path", + "pattern": "^projects/[^/]+/datasets/[^/]+/tables/[^/]+$", + "required": true, + "type": "string" + } + }, + "path": "{+resource}:testIamPermissions", + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/bigquery.readonly", + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" + ] + }, "update": { "description": "Updates information in an existing table. The update method replaces the entire table resource, whereas the patch method only replaces fields that are provided in the submitted table resource.", "httpMethod": "PUT", @@ -1428,7 +1519,7 @@ } } }, - "revision": "20200330", + "revision": "20200625", "rootUrl": "https://bigquery.googleapis.com/", "schemas": { "AggregateClassificationMetrics": { @@ -1551,17 +1642,17 @@ "id": "ArimaFittingMetrics", "properties": { "aic": { - "description": "AIC", + "description": "AIC.", "format": "double", "type": "number" }, "logLikelihood": { - "description": "log-likelihood", + "description": "Log-likelihood.", "format": "double", "type": "number" }, "variance": { - "description": "variance.", + "description": "Variance.", "format": "double", "type": "number" } @@ -1580,9 +1671,42 @@ "$ref": "ArimaFittingMetrics", "description": "Arima fitting metrics." }, + "hasDrift": { + "description": "Whether Arima model fitted with drift or not. It is always false\nwhen d is not 1.", + "type": "boolean" + }, "nonSeasonalOrder": { "$ref": "ArimaOrder", "description": "Non-seasonal order." + }, + "seasonalPeriods": { + "description": "Seasonal periods. Repeated because multiple periods are supported\nfor one time series.", + "enumDescriptions": [ + "", + "No seasonality", + "Daily period, 24 hours.", + "Weekly period, 7 days.", + "Monthly period, 30 days or irregular.", + "Quarterly period, 90 days or irregular.", + "Yearly period, 365 days or irregular." + ], + "items": { + "enum": [ + "SEASONAL_PERIOD_TYPE_UNSPECIFIED", + "NO_SEASONALITY", + "DAILY", + "WEEKLY", + "MONTHLY", + "QUARTERLY", + "YEARLY" + ], + "type": "string" + }, + "type": "array" + }, + "timeSeriesId": { + "description": "The id to indicate different time series.", + "type": "string" } }, "type": "object" @@ -1627,9 +1751,9 @@ "No seasonality", "Daily period, 24 hours.", "Weekly period, 7 days.", - "Monthly period, can be as 30 days or irregular.", - "Quarterly period, can be as 90 days or irregular.", - "Yearly period, can be as 365 days or irregular." + "Monthly period, 30 days or irregular.", + "Quarterly period, 90 days or irregular.", + "Yearly period, 365 days or irregular." ], "items": { "enum": [ @@ -1648,6 +1772,54 @@ }, "type": "object" }, + "AuditConfig": { + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "id": "AuditConfig", + "properties": { + "auditLogConfigs": { + "description": "The configuration for logging of each type of permission.", + "items": { + "$ref": "AuditLogConfig" + }, + "type": "array" + }, + "service": { + "description": "Specifies a service that will be enabled for audit logging.\nFor example, `storage.googleapis.com`, `cloudsql.googleapis.com`.\n`allServices` is a special value that covers all services.", + "type": "string" + } + }, + "type": "object" + }, + "AuditLogConfig": { + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "id": "AuditLogConfig", + "properties": { + "exemptedMembers": { + "description": "Specifies the identities that do not cause logging for this type of\npermission.\nFollows the same format of Binding.members.", + "items": { + "type": "string" + }, + "type": "array" + }, + "logType": { + "description": "The log type that this config enables.", + "enum": [ + "LOG_TYPE_UNSPECIFIED", + "ADMIN_READ", + "DATA_WRITE", + "DATA_READ" + ], + "enumDescriptions": [ + "Default case. Should never be this.", + "Admin reads. Example: CloudIAM getIamPolicy", + "Data writes. Example: CloudSQL Users create", + "Data reads. Example: CloudSQL Users list" + ], + "type": "string" + } + }, + "type": "object" + }, "BigQueryModelTraining": { "id": "BigQueryModelTraining", "properties": { @@ -1822,6 +1994,28 @@ }, "type": "object" }, + "Binding": { + "description": "Associates `members` with a `role`.", + "id": "Binding", + "properties": { + "condition": { + "$ref": "Expr", + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." + }, + "members": { + "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", + "items": { + "type": "string" + }, + "type": "array" + }, + "role": { + "description": "Role that is assigned to `members`.\nFor example, `roles/viewer`, `roles/editor`, or `roles/owner`.", + "type": "string" + } + }, + "type": "object" + }, "BqmlIterationResult": { "id": "BqmlIterationResult", "properties": { @@ -2046,6 +2240,20 @@ }, "type": "object" }, + "ConnectionProperty": { + "id": "ConnectionProperty", + "properties": { + "key": { + "description": "[Required] Name of the connection property to set.", + "type": "string" + }, + "value": { + "description": "[Required] Value of the connection property.", + "type": "string" + } + }, + "type": "object" + }, "CsvOptions": { "id": "CsvOptions", "properties": { @@ -2552,6 +2760,29 @@ }, "type": "object" }, + "Expr": { + "description": "Represents a textual expression in the Common Expression Language (CEL)\nsyntax. CEL is a C-like expression language. The syntax and semantics of CEL\nare documented at https://github.com/google/cel-spec.\n\nExample (Comparison):\n\n title: \"Summary size limit\"\n description: \"Determines if a summary is less than 100 chars\"\n expression: \"document.summary.size() < 100\"\n\nExample (Equality):\n\n title: \"Requestor is owner\"\n description: \"Determines if requestor is the document owner\"\n expression: \"document.owner == request.auth.claims.email\"\n\nExample (Logic):\n\n title: \"Public documents\"\n description: \"Determine whether the document should be publicly visible\"\n expression: \"document.type != 'private' && document.type != 'internal'\"\n\nExample (Data Manipulation):\n\n title: \"Notification string\"\n description: \"Create a notification string with a timestamp.\"\n expression: \"'New message received at ' + string(document.create_time)\"\n\nThe exact variables and functions that may be referenced within an expression\nare determined by the service that evaluates it. See the service\ndocumentation for additional information.", + "id": "Expr", + "properties": { + "description": { + "description": "Optional. Description of the expression. This is a longer text which\ndescribes the expression, e.g. when hovered over it in a UI.", + "type": "string" + }, + "expression": { + "description": "Textual representation of an expression in Common Expression Language\nsyntax.", + "type": "string" + }, + "location": { + "description": "Optional. String indicating the location of the expression for error\nreporting, e.g. a file name and a position in the file.", + "type": "string" + }, + "title": { + "description": "Optional. Title for the expression, i.e. a short string describing\nits purpose. This can be used e.g. in UIs which allow to enter the\nexpression.", + "type": "string" + } + }, + "type": "object" + }, "ExternalDataConfiguration": { "id": "ExternalDataConfiguration", "properties": { @@ -2567,6 +2798,10 @@ "description": "[Optional] The compression type of the data source. Possible values include GZIP and NONE. The default value is NONE. This setting is ignored for Google Cloud Bigtable, Google Cloud Datastore backups and Avro formats.", "type": "string" }, + "connectionId": { + "description": "[Optional, Trusted Tester] Connection for external data source.", + "type": "string" + }, "csvOptions": { "$ref": "CsvOptions", "description": "Additional properties to set if sourceFormat is set to CSV." @@ -2575,10 +2810,6 @@ "$ref": "GoogleSheetsOptions", "description": "[Optional] Additional options if sourceFormat is set to GOOGLE_SHEETS." }, - "hivePartitioningMode": { - "description": "[Optional, Trusted Tester] Deprecated, do not use. Please set hivePartitioningOptions instead.", - "type": "string" - }, "hivePartitioningOptions": { "$ref": "HivePartitioningOptions", "description": "[Optional, Trusted Tester] Options to configure hive partitioning support." @@ -2630,6 +2861,29 @@ }, "type": "object" }, + "GetIamPolicyRequest": { + "description": "Request message for `GetIamPolicy` method.", + "id": "GetIamPolicyRequest", + "properties": { + "options": { + "$ref": "GetPolicyOptions", + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." + } + }, + "type": "object" + }, + "GetPolicyOptions": { + "description": "Encapsulates settings provided to GetIamPolicy.", + "id": "GetPolicyOptions", + "properties": { + "requestedPolicyVersion": { + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "GetQueryResultsResponse": { "id": "GetQueryResultsResponse", "properties": { @@ -2969,10 +3223,6 @@ "description": "[Optional] The separator for fields in a CSV file. The separator can be any ISO-8859-1 single-byte character. To use a character in the range 128-255, you must encode the character as UTF8. BigQuery converts the string to ISO-8859-1 encoding, and then uses the first byte of the encoded string to split the data in its raw, binary state. BigQuery also supports the escape sequence \"\\t\" to specify a tab separator. The default value is a comma (',').", "type": "string" }, - "hivePartitioningMode": { - "description": "[Optional, Trusted Tester] Deprecated, do not use. Please set hivePartitioningOptions instead.", - "type": "string" - }, "hivePartitioningOptions": { "$ref": "HivePartitioningOptions", "description": "[Optional, Trusted Tester] Options to configure hive partitioning support." @@ -3072,7 +3322,7 @@ "connectionProperties": { "description": "Connection properties.", "items": { - "type": "any" + "$ref": "ConnectionProperty" }, "type": "array" }, @@ -3188,10 +3438,18 @@ "$ref": "EncryptionConfiguration", "description": "Custom encryption configuration (e.g., Cloud KMS keys)." }, + "destinationExpirationTime": { + "description": "[Optional] The time when the destination table expires. Expired tables will be deleted and their storage reclaimed.", + "type": "any" + }, "destinationTable": { "$ref": "TableReference", "description": "[Required] The destination table" }, + "operationType": { + "description": "[Optional] Supported operation types in table copy job.", + "type": "string" + }, "sourceTable": { "$ref": "TableReference", "description": "[Pick one] Source table to copy." @@ -3866,6 +4124,37 @@ }, "type": "object" }, + "Policy": { + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "id": "Policy", + "properties": { + "auditConfigs": { + "description": "Specifies cloud audit logging configuration for this policy.", + "items": { + "$ref": "AuditConfig" + }, + "type": "array" + }, + "bindings": { + "description": "Associates a list of `members` to a `role`. Optionally, may specify a\n`condition` that determines how and when the `bindings` are applied. Each\nof the `bindings` must contain at least one member.", + "items": { + "$ref": "Binding" + }, + "type": "array" + }, + "etag": { + "description": "`etag` is used for optimistic concurrency control as a way to help\nprevent simultaneous updates of a policy from overwriting each other.\nIt is strongly suggested that systems make use of the `etag` in the\nread-modify-write cycle to perform policy updates in order to avoid race\nconditions: An `etag` is returned in the response to `getIamPolicy`, and\nsystems are expected to put that etag in the request to `setIamPolicy` to\nensure that their change will be applied to the same version of the policy.\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.", + "format": "byte", + "type": "string" + }, + "version": { + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", + "format": "int32", + "type": "integer" + } + }, + "type": "object" + }, "ProjectList": { "id": "ProjectList", "properties": { @@ -4014,7 +4303,7 @@ "connectionProperties": { "description": "Connection properties.", "items": { - "type": "any" + "$ref": "ConnectionProperty" }, "type": "array" }, @@ -4031,6 +4320,13 @@ "description": "The resource type of the request.", "type": "string" }, + "labels": { + "additionalProperties": { + "type": "string" + }, + "description": "The labels associated with this job. You can use these to organize and group your jobs. Label keys and values can be no longer than 63 characters, can only contain lowercase letters, numeric characters, underscores and dashes. International characters are allowed. Label values are optional. Label keys must start with a letter and each label in the list must have a different key.", + "type": "object" + }, "location": { "description": "The geographic location where the job should run. See details at https://cloud.google.com/bigquery/docs/locations#specifying_your_location.", "type": "string" @@ -4040,6 +4336,11 @@ "format": "uint32", "type": "integer" }, + "maximumBytesBilled": { + "description": "[Optional] Limits the bytes billed for this job. Queries that will have bytes billed beyond this limit will fail (without incurring a charge). If unspecified, this will be set to your project default.", + "format": "int64", + "type": "string" + }, "parameterMode": { "description": "Standard SQL only. Set to POSITIONAL to use positional (?) query parameters or to NAMED to use named (@myparam) query parameters in this query.", "type": "string" @@ -4064,6 +4365,10 @@ }, "type": "array" }, + "requestId": { + "description": "A unique user provided identifier to ensure idempotent behavior for queries. Note that this is different from the job_id. It has the following properties: 1. It is case-sensitive, limited to up to 36 ASCII characters. A UUID is recommended. 2. Read only queries can ignore this token since they are nullipotent by definition. 3. For the purposes of idempotency ensured by the request_id, a request is considered duplicate of another only if they have the same request_id and are actually duplicates. When determining whether a request is a duplicate of the previous request, all parameters in the request that may affect the behavior are considered. For example, query, connection_properties, query_parameters, use_legacy_sql are parameters that affect the result and are considered when determining whether a request is a duplicate, but properties like timeout_ms don't affect the result and are thus not considered. Dry run query requests are never considered duplicate of another request. 4. When a duplicate mutating query request is detected, it returns: a. the results of the mutation if it completes successfully within the timeout. b. the running operation if it is still in progress at the end of the timeout. 5. Its lifetime is limited to 15 minutes. In other words, if two requests are sent with the same request_id, but more than 15 minutes apart, idempotency is not guaranteed.", + "type": "string" + }, "timeoutMs": { "description": "[Optional] How long to wait for the query to complete, in milliseconds, before the request times out and returns. Note that this is only a timeout for the request, not the query. If the query takes longer to run than the timeout value, the call returns without any results and with the 'jobComplete' flag set to false. You can call GetQueryResults() to wait for the query to complete and read the results. The default value is 10000 milliseconds (10 seconds).", "format": "uint32", @@ -4287,6 +4592,20 @@ "description": "Optional. [Experimental] The description of the routine if defined.", "type": "string" }, + "determinismLevel": { + "description": "Optional. [Experimental] The determinism level of the JavaScript UDF if defined.", + "enum": [ + "DETERMINISM_LEVEL_UNSPECIFIED", + "DETERMINISTIC", + "NOT_DETERMINISTIC" + ], + "enumDescriptions": [ + "The determinism of the UDF is unspecified.", + "The UDF is deterministic, meaning that 2 function calls with the same\ninputs always produce the same result, even across 2 query runs.", + "The UDF is not deterministic." + ], + "type": "string" + }, "etag": { "description": "Output only. A hash of this resource.", "type": "string" @@ -4461,6 +4780,22 @@ }, "type": "object" }, + "SetIamPolicyRequest": { + "description": "Request message for `SetIamPolicy` method.", + "id": "SetIamPolicyRequest", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." + }, + "updateMask": { + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", + "format": "google-fieldmask", + "type": "string" + } + }, + "type": "object" + }, "StandardSqlDataType": { "description": "The type of a variable, e.g., a function argument.\nExamples:\nINT64: {type_kind=\"INT64\"}\nARRAY: {type_kind=\"ARRAY\", array_element_type=\"STRING\"}\nSTRUCT>:\n {type_kind=\"STRUCT\",\n struct_type={fields=[\n {name=\"x\", type={type_kind=\"STRING\"}},\n {name=\"y\", type={type_kind=\"ARRAY\", array_element_type=\"DATE\"}}\n ]}}", "id": "StandardSqlDataType", @@ -4488,6 +4823,7 @@ "DATETIME", "GEOGRAPHY", "NUMERIC", + "BIGNUMERIC", "ARRAY", "STRUCT" ], @@ -4504,6 +4840,7 @@ "Encoded as RFC 3339 full-date \"T\" partial-time: 1985-04-12T23:20:50.52", "Encoded as WKT", "Encoded as a decimal string.", + "Encoded as a decimal string.", "Encoded as a list with types matching Type.array_type.", "Encoded as a list with fields of type Type.struct_type[i]. List is used\nbecause a JSON object cannot have duplicate field names." ], @@ -5008,6 +5345,34 @@ }, "type": "object" }, + "TestIamPermissionsRequest": { + "description": "Request message for `TestIamPermissions` method.", + "id": "TestIamPermissionsRequest", + "properties": { + "permissions": { + "description": "The set of permissions to check for the `resource`. Permissions with\nwildcards (such as '*' or 'storage.*') are not allowed. For more\ninformation see\n[IAM Overview](https://cloud.google.com/iam/docs/overview#permissions).", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, + "TestIamPermissionsResponse": { + "description": "Response message for `TestIamPermissions` method.", + "id": "TestIamPermissionsResponse", + "properties": { + "permissions": { + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is\nallowed.", + "items": { + "type": "string" + }, + "type": "array" + } + }, + "type": "object" + }, "TimePartitioning": { "id": "TimePartitioning", "properties": { @@ -5247,6 +5612,10 @@ ], "type": "string" }, + "preserveInputStructs": { + "description": "Whether to preserve the input structs in output feature names.\nSuppose there is a struct A with field b.\nWhen false (default), the output feature name is A_b.\nWhen true, the output feature name is A.b.", + "type": "boolean" + }, "subsample": { "description": "Subsample fraction of the training data to grow tree to prevent\noverfitting for boosted tree models.", "format": "double", @@ -5300,6 +5669,7 @@ "type": "object" }, "UserDefinedFunctionResource": { + "description": "This is used for defining User Defined Function (UDF) resources only when using legacy SQL. Users of Standard SQL should leverage either DDL (e.g. CREATE [TEMPORARY] FUNCTION ... ) or the Routines API to define UDF resources. For additional information on migrating, see: https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy-sql#differences_in_user-defined_javascript_functions", "id": "UserDefinedFunctionResource", "properties": { "inlineCode": { diff --git a/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json b/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json index 035b174efe..4c7d72d1e7 100644 --- a/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json +++ b/etc/api/bigqueryconnection/v1beta1/bigqueryconnection-api.json @@ -302,7 +302,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:setIamPolicy", "httpMethod": "POST", "id": "bigqueryconnection.projects.locations.connections.setIamPolicy", @@ -331,7 +331,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/connections/{connectionsId}:testIamPermissions", "httpMethod": "POST", "id": "bigqueryconnection.projects.locations.connections.testIamPermissions", @@ -395,11 +395,11 @@ } } }, - "revision": "20200331", + "revision": "20200626", "rootUrl": "https://bigqueryconnection.googleapis.com/", "schemas": { "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -417,7 +417,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -452,7 +452,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -599,7 +599,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -609,7 +609,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -635,7 +635,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -658,7 +658,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -674,7 +674,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } diff --git a/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json b/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json index ac4bb68df4..55edd69047 100644 --- a/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json +++ b/etc/api/bigquerydatatransfer/v1/bigquerydatatransfer-api.json @@ -1265,7 +1265,7 @@ } } }, - "revision": "20200326", + "revision": "20200502", "rootUrl": "https://bigquerydatatransfer.googleapis.com/", "schemas": { "CheckValidCredsRequest": { diff --git a/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json b/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json index c4f6309588..ba54a1e55b 100644 --- a/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json +++ b/etc/api/bigqueryreservation/v1/bigqueryreservation-api.json @@ -210,17 +210,17 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, - "searchAssignments": { - "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n 1) Assignments created on the project will be returned if they exist.\n 2) Otherwise assignments created on the closest ancestor will be\n returned. 3) Assignments for different JobTypes will all be returned.\nSame logic applies if the request is about a folder.\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\nComparing to ListAssignments, there are some behavior\ndifferences:\n 1) permission on the assignee will be verified in this API.\n 2) Hierarchy lookup (project->folder->organization) happens in this API.\n 3) Parent here is projects/*/locations/*, instead of\n projects/*/locations/*reservations/*.\nNote \"-\" cannot be used for projects\nnor locations.", - "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchAssignments", + "searchAllAssignments": { + "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n\n1. Assignments created on the project will be returned if they exist.\n2. Otherwise assignments created on the closest ancestor will be\n returned.\n3. Assignments for different JobTypes will all be returned.\n\nThe same logic applies if the request is about a folder.\n\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\n\nComparing to ListAssignments, there are some behavior\ndifferences:\n\n1. permission on the assignee will be verified in this API.\n2. Hierarchy lookup (project->folder->organization) happens in this API.\n3. Parent here is `projects/*/locations/*`, instead of\n `projects/*/locations/*reservations/*`.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchAllAssignments", "httpMethod": "GET", - "id": "bigqueryreservation.projects.locations.searchAssignments", + "id": "bigqueryreservation.projects.locations.searchAllAssignments", "parameterOrder": [ "parent" ], "parameters": { "pageSize": { - "description": "The maximum number of items to return.", + "description": "The maximum number of items to return per page.", "format": "int32", "location": "query", "type": "integer" @@ -231,14 +231,56 @@ "type": "string" }, "parent": { - "description": "Required. The resource name of the admin project(containing project and location),\ne.g.:\n \"projects/myproject/locations/US\".", + "description": "Required. The resource name with location (project name could be the wildcard '-'),\ne.g.:\n `projects/-/locations/US`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "query": { - "description": "Please specify resource name as assignee in the query.\ne.g., \"assignee=projects/myproject\"\n \"assignee=folders/123\"\n \"assignee=organizations/456\"", + "description": "Please specify resource name as assignee in the query.\n\nExamples:\n\n* `assignee=projects/myproject`\n* `assignee=folders/123`\n* `assignee=organizations/456`", + "location": "query", + "type": "string" + } + }, + "path": "v1/{+parent}:searchAllAssignments", + "response": { + "$ref": "SearchAllAssignmentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/bigquery", + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "searchAssignments": { + "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n\n1. Assignments created on the project will be returned if they exist.\n2. Otherwise assignments created on the closest ancestor will be\n returned.\n3. Assignments for different JobTypes will all be returned.\n\nThe same logic applies if the request is about a folder.\n\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\n\nComparing to ListAssignments, there are some behavior\ndifferences:\n\n1. permission on the assignee will be verified in this API.\n2. Hierarchy lookup (project->folder->organization) happens in this API.\n3. Parent here is `projects/*/locations/*`, instead of\n `projects/*/locations/*reservations/*`.\n\n**Note** \"-\" cannot be used for projects\nnor locations.", + "flatPath": "v1/projects/{projectsId}/locations/{locationsId}:searchAssignments", + "httpMethod": "GET", + "id": "bigqueryreservation.projects.locations.searchAssignments", + "parameterOrder": [ + "parent" + ], + "parameters": { + "pageSize": { + "description": "The maximum number of items to return per page.", + "format": "int32", + "location": "query", + "type": "integer" + }, + "pageToken": { + "description": "The next_page_token value returned from a previous List request, if any.", + "location": "query", + "type": "string" + }, + "parent": { + "description": "Required. The resource name of the admin project(containing project and location),\ne.g.:\n `projects/myproject/locations/US`.", + "location": "path", + "pattern": "^projects/[^/]+/locations/[^/]+$", + "required": true, + "type": "string" + }, + "query": { + "description": "Please specify resource name as assignee in the query.\n\nExamples:\n\n* `assignee=projects/myproject`\n* `assignee=folders/123`\n* `assignee=organizations/456`", "location": "query", "type": "string" } @@ -253,7 +295,7 @@ ] }, "updateBiReservation": { - "description": "Updates a BI reservation.\nOnly fields specified in the field_mask are updated.\nSingleton BI reservation always exists with default size 0.\nIn order to reserve BI capacity it needs to be updated to an amount\ngreater than 0. In order to release BI capacity reservation size\nmust be set to 0.", + "description": "Updates a BI reservation.\n\nOnly fields specified in the `field_mask` are updated.\n\nA singleton BI reservation always exists with default size 0.\nIn order to reserve BI capacity it needs to be updated to an amount\ngreater than 0. In order to release BI capacity reservation size\nmust be set to 0.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/biReservation", "httpMethod": "PATCH", "id": "bigqueryreservation.projects.locations.updateBiReservation", @@ -306,7 +348,7 @@ "type": "boolean" }, "parent": { - "description": "Required. Resource name of the parent reservation. E.g.,\n projects/myproject/locations/US", + "description": "Required. Resource name of the parent reservation. E.g.,\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -335,7 +377,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the capacity commitment to delete. E.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. Resource name of the capacity commitment to delete. E.g.,\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -361,7 +403,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the capacity commitment to retrieve. E.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. Resource name of the capacity commitment to retrieve. E.g.,\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -398,7 +440,7 @@ "type": "string" }, "parent": { - "description": "Required. Resource name of the parent reservation. E.g.,\n projects/myproject/locations/US", + "description": "Required. Resource name of the parent reservation. E.g.,\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -415,7 +457,7 @@ ] }, "merge": { - "description": "Merges capacity commitments of the same plan into one. Resulting capacity\ncommitment has the longer commitment_end_time out of the two. Attempting to\nmerge capacity commitments of different plan will fail with the error code\n`google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Merges capacity commitments of the same plan into a single commitment.\n\nThe resulting capacity commitment has the greater commitment_end_time\nout of the to-be-merged capacity commitments.\n\nAttempting to merge capacity commitments of different plan will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments:merge", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.capacityCommitments.merge", @@ -424,7 +466,7 @@ ], "parameters": { "parent": { - "description": "Parent resource that identifies admin project and location e.g.,\nprojects/myproject/locations/us", + "description": "Parent resource that identifies admin project and location e.g.,\n `projects/myproject/locations/us`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -444,7 +486,7 @@ ] }, "patch": { - "description": "Updates an existing capacity commitment.\n\nOnly plan and renewal_plan fields can be updated.\nPlan can only be changed to a plan of a longer commitment period.\nAttempting to change to a plan with shorter commitment period will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Updates an existing capacity commitment.\n\nOnly `plan` and `renewal_plan` fields can be updated.\n\nPlan can only be changed to a plan of a longer commitment period.\nAttempting to change to a plan with shorter commitment period will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", "httpMethod": "PATCH", "id": "bigqueryreservation.projects.locations.capacityCommitments.patch", @@ -453,7 +495,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the capacity commitment, e.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Output only. The resource name of the capacity commitment, e.g.,\n`projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -479,7 +521,7 @@ ] }, "split": { - "description": "Splits capacity commitment to two commitments of the same plan and\ncommitment_end_time. A common use case to do that is to perform a downgrade\ne.g., in order to downgrade from 10000 slots to 8000, one might split 10000\ncapacity commitment to 2000 and 8000, change the plan of the first one to\nflex and then delete it.", + "description": "Splits capacity commitment to two commitments of the same plan and\n`commitment_end_time`.\n\nA common use case is to enable downgrading commitments.\n\nFor example, in order to downgrade from 10000 slots to 8000, you might\nsplit a 10000 capacity commitment into commitments of 2000 and 8000. Then,\nyou would change the plan of the first one to `FLEX` and then delete it.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}:split", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.capacityCommitments.split", @@ -488,7 +530,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name e.g.,:\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. The resource name e.g.,:\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -521,7 +563,7 @@ ], "parameters": { "parent": { - "description": "Required. Project, location. E.g.,\n projects/myproject/locations/US", + "description": "Required. Project, location. E.g.,\n`projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -555,7 +597,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the reservation to retrieve. E.g.,\n projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. Resource name of the reservation to retrieve. E.g.,\n `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -581,7 +623,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the reservation to retrieve. E.g.,\n projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. Resource name of the reservation to retrieve. E.g.,\n `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -607,7 +649,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of items to return.", + "description": "The maximum number of items to return per page.", "format": "int32", "location": "query", "type": "integer" @@ -618,7 +660,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name containing project and location, e.g.:\n \"projects/myproject/locations/US\"", + "description": "Required. The parent resource name containing project and location, e.g.:\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -644,7 +686,7 @@ ], "parameters": { "name": { - "description": "The resource name of the reservation, e.g.,\n\"projects/*/locations/*/reservations/team1-prod\".", + "description": "The resource name of the reservation, e.g.,\n`projects/*/locations/*/reservations/team1-prod`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -674,7 +716,7 @@ "assignments": { "methods": { "create": { - "description": "Creates an object which allows the given project to submit jobs\nof a certain type using slots from the specified reservation. Currently a\nresource (project, folder, organization) can only have one assignment per\n{job_type, location}, and that reservation will be used for all jobs of the\nmatching type. Within the organization, different assignments can be\ncreated on projects, folders or organization level. During query execution,\nthe assignment is looked up at the project, folder and organization levels\nin that order. The first assignment found is applied to the query. When\ncreating assignments, it does not matter if other assignments exist at\nhigher levels. E.g: organizationA contains project1, project2. Assignments\nfor organizationA, project1 and project2 could all be created, mapping to\nthe same or different reservations.\nReturns `google.rpc.Code.PERMISSION_DENIED` if user does not have\n'bigquery.admin' permissions on the project using the reservation\nand the project that owns this reservation.\nReturns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment\ndoes not match location of the reservation.", + "description": "Creates an assignment object which allows the given project to submit jobs\nof a certain type using slots from the specified reservation.\n\nCurrently a\nresource (project, folder, organization) can only have one assignment per\neach (job_type, location) combination, and that reservation will be used\nfor all jobs of the matching type.\n\nDifferent assignments can be created on different levels of the\nprojects, folders or organization hierarchy. During query execution,\nthe assignment is looked up at the project, folder and organization levels\nin that order. The first assignment found is applied to the query.\n\nWhen creating assignments, it does not matter if other assignments exist at\nhigher levels.\n\nExample:\n\n* The organization `organizationA` contains two projects, `project1`\n and `project2`.\n* Assignments for all three entities (`organizationA`, `project1`, and\n `project2`) could all be created and mapped to the same or different\n reservations.\n\nReturns `google.rpc.Code.PERMISSION_DENIED` if user does not have\n'bigquery.admin' permissions on the project using the reservation\nand the project that owns this reservation.\n\nReturns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment\ndoes not match location of the reservation.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.assignments.create", @@ -683,7 +725,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name of the assignment\nE.g.: projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. The parent resource name of the assignment\nE.g. `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -703,7 +745,7 @@ ] }, "delete": { - "description": "Deletes a assignment. No expansion will happen.\nE.g:\norganizationA contains project1 and project2. Reservation res1 exists.\nCreateAssignment was invoked previously and following assignments were\ncreated explicitly:\n \n \nThen deletion of won't affect . After\ndeletion of , queries from project1 will still use\nres1, while queries from project2 will use on-demand mode.", + "description": "Deletes a assignment. No expansion will happen.\n\nExample:\n\n* Organization `organizationA` contains two projects, `project1` and\n `project2`.\n* Reservation `res1` exists and was created previously.\n* CreateAssignment was used previously to define the following\n associations between entities and reservations: ``\n and ``\n\nIn this example, deletion of the `` assignment won't\naffect the other assignment ``. After said deletion,\nqueries from `project1` will still use `res1` while queries from\n`project2` will switch to use on-demand mode.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}", "httpMethod": "DELETE", "id": "bigqueryreservation.projects.locations.reservations.assignments.delete", @@ -712,7 +754,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource, e.g.:\n projects/myproject/locations/US/reservations/team1-prod/assignments/123", + "description": "Required. Name of the resource, e.g.\n `projects/myproject/locations/US/reservations/team1-prod/assignments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", "required": true, @@ -729,7 +771,7 @@ ] }, "list": { - "description": "Lists assignments.\nOnly explicitly created assignments will be returned. E.g:\norganizationA contains project1 and project2. Reservation res1 exists.\nCreateAssignment was invoked previously and following assignments were\ncreated explicitly:\n \n \nThen this API will just return the above two assignments for reservation\nres1, and no expansion/merge will happen. Wildcard \"-\" can be used for\nreservations in the request. In that case all assignments belongs to the\nspecified project and location will be listed. Note\n\"-\" cannot be used for projects nor locations.", + "description": "Lists assignments.\n\nOnly explicitly created assignments will be returned.\n\nExample:\n\n* Organization `organizationA` contains two projects, `project1` and\n `project2`.\n* Reservation `res1` exists and was created previously.\n* CreateAssignment was used previously to define the following\n associations between entities and reservations: ``\n and ``\n\nIn this example, ListAssignments will just return the above two assignments\nfor reservation `res1`, and no expansion/merge will happen.\n\nThe wildcard \"-\" can be used for\nreservations in the request. In that case all assignments belongs to the\nspecified project and location will be listed.\n\n**Note** \"-\" cannot be used for projects nor locations.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", "httpMethod": "GET", "id": "bigqueryreservation.projects.locations.reservations.assignments.list", @@ -738,7 +780,7 @@ ], "parameters": { "pageSize": { - "description": "The maximum number of items to return.", + "description": "The maximum number of items to return per page.", "format": "int32", "location": "query", "type": "integer" @@ -749,7 +791,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name e.g.:\nprojects/myproject/locations/US/reservations/team1-prod\nOr:\nprojects/myproject/locations/US/reservations/-", + "description": "Required. The parent resource name e.g.:\n\n`projects/myproject/locations/US/reservations/team1-prod`\n\nOr:\n\n`projects/myproject/locations/US/reservations/-`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -766,7 +808,7 @@ ] }, "move": { - "description": "Moves a assignment under a new reservation. Customers can do this by\ndeleting the existing assignment followed by creating another assignment\nunder the new reservation, but this method provides a transactional way to\ndo so, to make sure the assignee always has an associated reservation.\nWithout the method customers might see some queries run on-demand which\nmight be unexpected.", + "description": "Moves an assignment under a new reservation.\n\nThis differs from removing an existing assignment and recreating a new one\nby providing a transactional change that ensures an assignee always has an\nassociated reservation.", "flatPath": "v1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}:move", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.assignments.move", @@ -775,7 +817,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the assignment,\ne.g.:\n projects/myproject/locations/US/reservations/team1-prod/assignments/123", + "description": "Required. The resource name of the assignment,\ne.g.\n`projects/myproject/locations/US/reservations/team1-prod/assignments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", "required": true, @@ -803,7 +845,7 @@ } } }, - "revision": "20200403", + "revision": "20200702", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { @@ -811,7 +853,7 @@ "id": "Assignment", "properties": { "assignee": { - "description": "The resource which will use the reservation. E.g.\nprojects/myproject, folders/123, organizations/456.", + "description": "The resource which will use the reservation. E.g.\n`projects/myproject`, `folders/123`, or `organizations/456`.", "type": "string" }, "jobType": { @@ -819,17 +861,19 @@ "enum": [ "JOB_TYPE_UNSPECIFIED", "PIPELINE", - "QUERY" + "QUERY", + "ML_EXTERNAL" ], "enumDescriptions": [ "Invalid type. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Pipeline (load/export) jobs from the project will use the reservation.", - "Query jobs from the project will use the reservation." + "Query jobs from the project will use the reservation.", + "BigQuery ML jobs that use services external to BigQuery for model\ntraining. These jobs will not utilize idle slots from other reservations." ], "type": "string" }, "name": { - "description": "Output only. Name of the resource. E.g.:\nprojects/myproject/locations/US/reservations/team1-prod/assignments/123.", + "description": "Output only. Name of the resource. E.g.:\n`projects/myproject/locations/US/reservations/team1-prod/assignments/123`.", "type": "string" }, "state": { @@ -871,7 +915,7 @@ "type": "object" }, "CapacityCommitment": { - "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs\n(in the form of slots) with some committed period of usage. Monthly and\nannual commitments renew by default. Only flex commitments can be removed. In\norder to remove monthly or annual commitments, their plan needs to be changed\nto flex first.\n\nA capacity commitment resource exists as a child resource of the admin\nproject.", + "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs\n(in the form of slots) with some committed period of usage. Annual\ncommitments renew by default. Commitments can be removed after their\ncommitment end time passes.\n\nIn order to remove annual commitment, its plan needs to be changed\nto monthly or flex first.\n\nA capacity commitment resource exists as a child resource of the admin\nproject.", "id": "CapacityCommitment", "properties": { "commitmentEndTime": { @@ -879,12 +923,17 @@ "format": "google-datetime", "type": "string" }, + "commitmentStartTime": { + "description": "Output only. The start of the current commitment period. It is applicable only for\nACTIVE capacity commitments.", + "format": "google-datetime", + "type": "string" + }, "failureStatus": { "$ref": "Status", "description": "Output only. For FAILED commitment plan, provides the reason of failure." }, "name": { - "description": "Output only. The resource name of the capacity commitment, e.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Output only. The resource name of the capacity commitment, e.g.,\n`projects/myproject/locations/US/capacityCommitments/123`", "type": "string" }, "plan": { @@ -892,30 +941,34 @@ "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Flex commitments have committed period of 1 minute after becoming ACTIVE.\nAfter that, they are not in a committed period anymore and can be removed\nany time.", - "Monthly commitments have a committed period of 30 days after becoming\nACTIVE.", - "Annual commitments have a committed period of 365 days after becoming\nACTIVE." + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\n`renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so\nthat it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming\nACTIVE. After that, they are not in a committed period anymore and can be\nremoved any time.", + "Annual commitments have a committed period of 365 days after becoming\nACTIVE. After that they are converted to a new commitment based on the\nrenewal_plan." ], "type": "string" }, "renewalPlan": { - "description": "The plan this capacity commitment is converted to after commitment_end_time\npasses. Once the plan is changed, committed period is extended according to\ncommitment plan. Only applicable for ANNUAL commitments.", + "description": "The plan this capacity commitment is converted to after commitment_end_time\npasses. Once the plan is changed, committed period is extended according to\ncommitment plan. Only applicable for ANNUAL and TRIAL commitments.", "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Flex commitments have committed period of 1 minute after becoming ACTIVE.\nAfter that, they are not in a committed period anymore and can be removed\nany time.", - "Monthly commitments have a committed period of 30 days after becoming\nACTIVE.", - "Annual commitments have a committed period of 365 days after becoming\nACTIVE." + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\n`renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so\nthat it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming\nACTIVE. After that, they are not in a committed period anymore and can be\nremoved any time.", + "Annual commitments have a committed period of 365 days after becoming\nACTIVE. After that they are converted to a new commitment based on the\nrenewal_plan." ], "type": "string" }, @@ -1037,7 +1090,7 @@ "id": "MergeCapacityCommitmentsRequest", "properties": { "capacityCommitmentIds": { - "description": "Ids of capacity commitments to merge.\nThese capacity commitments must exist under admin project and location\nspecified in the parent.", + "description": "Ids of capacity commitments to merge.\nThese capacity commitments must exist under admin project and location\nspecified in the parent.\nID is the last portion of capacity commitment name e.g., 'abc' for\nprojects/myproject/locations/US/capacityCommitments/abc", "items": { "type": "string" }, @@ -1047,11 +1100,11 @@ "type": "object" }, "MoveAssignmentRequest": { - "description": "The request for\nReservationService.MoveAssignment.\nNote: \"bigquery.reservationAssignments.create\" permission is required on the\ndestination_id. Note: \"bigquery.reservationAssignments.create\" and\n\"bigquery.reservationAssignments.delete\" permission is required on the\nrelated assignee.", + "description": "The request for\nReservationService.MoveAssignment.\n\n**Note**: \"bigquery.reservationAssignments.create\" permission is required on\nthe destination_id.\n\n**Note**: \"bigquery.reservationAssignments.create\" and\n\"bigquery.reservationAssignments.delete\" permission are required on the\nrelated assignee.", "id": "MoveAssignmentRequest", "properties": { "destinationId": { - "description": "The new reservation ID, e.g.:\n projects/myotherproject/locations/US/reservations/team2-prod", + "description": "The new reservation ID, e.g.:\n `projects/myotherproject/locations/US/reservations/team2-prod`", "type": "string" } }, @@ -1101,17 +1154,35 @@ "type": "boolean" }, "name": { - "description": "The resource name of the reservation, e.g.,\n\"projects/*/locations/*/reservations/team1-prod\".", + "description": "The resource name of the reservation, e.g.,\n`projects/*/locations/*/reservations/team1-prod`.", "type": "string" }, "slotCapacity": { - "description": "Minimum slots available to this reservation. A slot is a unit of\ncomputational power in BigQuery, and serves as the unit of parallelism.\nQueries using this reservation might use more slots during runtime if\nignore_idle_slots is set to false.\nIf the new reservation's slot capacity exceed the parent's slot capacity or\nif total slot capacity of the new reservation and its siblings exceeds the\nparent's slot capacity, the request will fail with\n`google.rpc.Code.RESOURCE_EXHAUSTED`.", + "description": "Minimum slots available to this reservation. A slot is a unit of\ncomputational power in BigQuery, and serves as the unit of parallelism.\n\nQueries using this reservation might use more slots during runtime if\nignore_idle_slots is set to false.\n\nIf the new reservation's slot capacity exceed the parent's slot capacity or\nif total slot capacity of the new reservation and its siblings exceeds the\nparent's slot capacity, the request will fail with\n`google.rpc.Code.RESOURCE_EXHAUSTED`.", "format": "int64", "type": "string" } }, "type": "object" }, + "SearchAllAssignmentsResponse": { + "description": "The response for ReservationService.SearchAllAssignments.", + "id": "SearchAllAssignmentsResponse", + "properties": { + "assignments": { + "description": "List of assignments visible to the user.", + "items": { + "$ref": "Assignment" + }, + "type": "array" + }, + "nextPageToken": { + "description": "Token to retrieve the next page of results, or empty if there are no\nmore results in the list.", + "type": "string" + } + }, + "type": "object" + }, "SearchAssignmentsResponse": { "description": "The response for ReservationService.SearchAssignments.", "id": "SearchAssignmentsResponse", diff --git a/etc/api/bigqueryreservation/v1alpha2/bigqueryreservation-api.json b/etc/api/bigqueryreservation/v1alpha2/bigqueryreservation-api.json index 9b78a64758..724d430559 100644 --- a/etc/api/bigqueryreservation/v1alpha2/bigqueryreservation-api.json +++ b/etc/api/bigqueryreservation/v1alpha2/bigqueryreservation-api.json @@ -614,7 +614,7 @@ } } }, - "revision": "20200403", + "revision": "20200702", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "CreateSlotPoolMetadata": { @@ -830,12 +830,14 @@ "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Slot pool can be removed at any point, even after becoming ACTIVE.", + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\nrenewal_plan. Default renewal_plan for Trial commitment is Flex so that\nit can be deleted right after committed period ends.", "Slot pool cannot be removed for 30 days after becoming ACTIVE.", "Slot pool cannot be removed for 365 days after becoming ACTIVE.\nNote: annual commitments are automatically downgraded to monthly after\n365 days." ], diff --git a/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json b/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json index 2941fa9dd6..ed2412e519 100644 --- a/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json +++ b/etc/api/bigqueryreservation/v1beta1/bigqueryreservation-api.json @@ -139,7 +139,7 @@ ] }, "searchAssignments": { - "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n 1) Assignments created on the project will be returned if they exist.\n 2) Otherwise assignments created on the closest ancestor will be\n returned. 3) Assignments for different JobTypes will all be returned.\nSame logic applies if the request is about a folder.\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\nComparing to ListAssignments, there are some behavior\ndifferences:\n 1) permission on the assignee will be verified in this API.\n 2) Hierarchy lookup (project->folder->organization) happens in this API.\n 3) Parent here is projects/*/locations/*, instead of\n projects/*/locations/*reservations/*.\nNote \"-\" cannot be used for projects\nnor locations.", + "description": "Looks up assignments for a specified resource for a particular region.\nIf the request is about a project:\n\n1. Assignments created on the project will be returned if they exist.\n2. Otherwise assignments created on the closest ancestor will be\n returned.\n3. Assignments for different JobTypes will all be returned.\n\nThe same logic applies if the request is about a folder.\n\nIf the request is about an organization, then assignments created on the\norganization will be returned (organization doesn't have ancestors).\n\nComparing to ListAssignments, there are some behavior\ndifferences:\n\n1. permission on the assignee will be verified in this API.\n2. Hierarchy lookup (project->folder->organization) happens in this API.\n3. Parent here is `projects/*/locations/*`, instead of\n `projects/*/locations/*reservations/*`.\n\n**Note** \"-\" cannot be used for projects\nnor locations.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}:searchAssignments", "httpMethod": "GET", "id": "bigqueryreservation.projects.locations.searchAssignments", @@ -159,14 +159,14 @@ "type": "string" }, "parent": { - "description": "Required. The resource name of the admin project(containing project and location),\ne.g.:\n \"projects/myproject/locations/US\".", + "description": "Required. The resource name of the admin project(containing project and location),\ne.g.:\n `projects/myproject/locations/US`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, "type": "string" }, "query": { - "description": "Please specify resource name as assignee in the query.\ne.g., \"assignee=projects/myproject\"\n \"assignee=folders/123\"\n \"assignee=organizations/456\"", + "description": "Please specify resource name as assignee in the query.\n\nExamples:\n\n* `assignee=projects/myproject`\n* `assignee=folders/123`\n* `assignee=organizations/456`", "location": "query", "type": "string" } @@ -181,7 +181,7 @@ ] }, "updateBiReservation": { - "description": "Updates a BI reservation.\nOnly fields specified in the field_mask are updated.\nSingleton BI reservation always exists with default size 0.\nIn order to reserve BI capacity it needs to be updated to an amount\ngreater than 0. In order to release BI capacity reservation size\nmust be set to 0.", + "description": "Updates a BI reservation.\n\nOnly fields specified in the `field_mask` are updated.\n\nA singleton BI reservation always exists with default size 0.\nIn order to reserve BI capacity it needs to be updated to an amount\ngreater than 0. In order to release BI capacity reservation size\nmust be set to 0.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/biReservation", "httpMethod": "PATCH", "id": "bigqueryreservation.projects.locations.updateBiReservation", @@ -234,7 +234,7 @@ "type": "boolean" }, "parent": { - "description": "Required. Resource name of the parent reservation. E.g.,\n projects/myproject/locations/US", + "description": "Required. Resource name of the parent reservation. E.g.,\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -263,7 +263,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the capacity commitment to delete. E.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. Resource name of the capacity commitment to delete. E.g.,\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -289,7 +289,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the capacity commitment to retrieve. E.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. Resource name of the capacity commitment to retrieve. E.g.,\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -326,7 +326,7 @@ "type": "string" }, "parent": { - "description": "Required. Resource name of the parent reservation. E.g.,\n projects/myproject/locations/US", + "description": "Required. Resource name of the parent reservation. E.g.,\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -343,7 +343,7 @@ ] }, "merge": { - "description": "Merges capacity commitments of the same plan into one. Resulting capacity\ncommitment has the longer commitment_end_time out of the two. Attempting to\nmerge capacity commitments of different plan will fail with the error code\n`google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Merges capacity commitments of the same plan into a single commitment.\n\nThe resulting capacity commitment has the greater commitment_end_time\nout of the to-be-merged capacity commitments.\n\nAttempting to merge capacity commitments of different plan will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments:merge", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.capacityCommitments.merge", @@ -352,7 +352,7 @@ ], "parameters": { "parent": { - "description": "Parent resource that identifies admin project and location e.g.,\nprojects/myproject/locations/us", + "description": "Parent resource that identifies admin project and location e.g.,\n `projects/myproject/locations/us`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -372,7 +372,7 @@ ] }, "patch": { - "description": "Updates an existing capacity commitment.\n\nOnly plan and renewal_plan fields can be updated.\nPlan can only be changed to a plan of a longer commitment period.\nAttempting to change to a plan with shorter commitment period will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", + "description": "Updates an existing capacity commitment.\n\nOnly `plan` and `renewal_plan` fields can be updated.\n\nPlan can only be changed to a plan of a longer commitment period.\nAttempting to change to a plan with shorter commitment period will fail\nwith the error code `google.rpc.Code.FAILED_PRECONDITION`.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}", "httpMethod": "PATCH", "id": "bigqueryreservation.projects.locations.capacityCommitments.patch", @@ -381,7 +381,7 @@ ], "parameters": { "name": { - "description": "Output only. The resource name of the capacity commitment, e.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Output only. The resource name of the capacity commitment, e.g.,\n`projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -407,7 +407,7 @@ ] }, "split": { - "description": "Splits capacity commitment to two commitments of the same plan and\ncommitment_end_time. A common use case to do that is to perform a downgrade\ne.g., in order to downgrade from 10000 slots to 8000, one might split 10000\ncapacity commitment to 2000 and 8000, change the plan of the first one to\nflex and then delete it.", + "description": "Splits capacity commitment to two commitments of the same plan and\n`commitment_end_time`.\n\nA common use case is to enable downgrading commitments.\n\nFor example, in order to downgrade from 10000 slots to 8000, you might\nsplit a 10000 capacity commitment into commitments of 2000 and 8000. Then,\nyou would change the plan of the first one to `FLEX` and then delete it.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/capacityCommitments/{capacityCommitmentsId}:split", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.capacityCommitments.split", @@ -416,7 +416,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name e.g.,:\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Required. The resource name e.g.,:\n `projects/myproject/locations/US/capacityCommitments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/capacityCommitments/[^/]+$", "required": true, @@ -449,7 +449,7 @@ ], "parameters": { "parent": { - "description": "Required. Project, location. E.g.,\n projects/myproject/locations/US", + "description": "Required. Project, location. E.g.,\n`projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -483,7 +483,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the reservation to retrieve. E.g.,\n projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. Resource name of the reservation to retrieve. E.g.,\n `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -509,7 +509,7 @@ ], "parameters": { "name": { - "description": "Required. Resource name of the reservation to retrieve. E.g.,\n projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. Resource name of the reservation to retrieve. E.g.,\n `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -551,7 +551,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name containing project and location, e.g.:\n \"projects/myproject/locations/US\"", + "description": "Required. The parent resource name containing project and location, e.g.:\n `projects/myproject/locations/US`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+$", "required": true, @@ -577,7 +577,7 @@ ], "parameters": { "name": { - "description": "The resource name of the reservation, e.g.,\n\"projects/*/locations/*/reservations/team1-prod\".", + "description": "The resource name of the reservation, e.g.,\n`projects/*/locations/*/reservations/team1-prod`.", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -607,7 +607,7 @@ "assignments": { "methods": { "create": { - "description": "Returns `google.rpc.Code.PERMISSION_DENIED` if user does not have\n'bigquery.admin' permissions on the project using the reservation\nand the project that owns this reservation.\nReturns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment\ndoes not match location of the reservation.", + "description": "Creates an assignment object which allows the given project to submit jobs\nof a certain type using slots from the specified reservation.\n\nCurrently a\nresource (project, folder, organization) can only have one assignment per\neach (job_type, location) combination, and that reservation will be used\nfor all jobs of the matching type.\n\nDifferent assignments can be created on different levels of the\nprojects, folders or organization hierarchy. During query execution,\nthe assignment is looked up at the project, folder and organization levels\nin that order. The first assignment found is applied to the query.\n\nWhen creating assignments, it does not matter if other assignments exist at\nhigher levels.\n\nExample:\n\n* The organization `organizationA` contains two projects, `project1`\n and `project2`.\n* Assignments for all three entities (`organizationA`, `project1`, and\n `project2`) could all be created and mapped to the same or different\n reservations.\n\nReturns `google.rpc.Code.PERMISSION_DENIED` if user does not have\n'bigquery.admin' permissions on the project using the reservation\nand the project that owns this reservation.\n\nReturns `google.rpc.Code.INVALID_ARGUMENT` when location of the assignment\ndoes not match location of the reservation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.assignments.create", @@ -616,7 +616,7 @@ ], "parameters": { "parent": { - "description": "Required. The parent resource name of the assignment\nE.g.: projects/myproject/locations/US/reservations/team1-prod", + "description": "Required. The parent resource name of the assignment\nE.g. `projects/myproject/locations/US/reservations/team1-prod`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -636,7 +636,7 @@ ] }, "delete": { - "description": "Deletes a assignment. No expansion will happen.\nE.g:\norganizationA contains project1 and project2. Reservation res1 exists.\nCreateAssignment was invoked previously and following assignments were\ncreated explicitly:\n \n \nThen deletion of won't affect . After\ndeletion of , queries from project1 will still use\nres1, while queries from project2 will use on-demand mode.", + "description": "Deletes a assignment. No expansion will happen.\n\nExample:\n\n* Organization `organizationA` contains two projects, `project1` and\n `project2`.\n* Reservation `res1` exists and was created previously.\n* CreateAssignment was used previously to define the following\n associations between entities and reservations: ``\n and ``\n\nIn this example, deletion of the `` assignment won't\naffect the other assignment ``. After said deletion,\nqueries from `project1` will still use `res1` while queries from\n`project2` will switch to use on-demand mode.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}", "httpMethod": "DELETE", "id": "bigqueryreservation.projects.locations.reservations.assignments.delete", @@ -645,7 +645,7 @@ ], "parameters": { "name": { - "description": "Required. Name of the resource, e.g.:\n projects/myproject/locations/US/reservations/team1-prod/assignments/123", + "description": "Required. Name of the resource, e.g.\n `projects/myproject/locations/US/reservations/team1-prod/assignments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", "required": true, @@ -662,7 +662,7 @@ ] }, "list": { - "description": "Lists assignments.\nOnly explicitly created assignments will be returned. E.g:\norganizationA contains project1 and project2. Reservation res1 exists.\nCreateAssignment was invoked previously and following assignments were\ncreated explicitly:\n \n \nThen this API will just return the above two assignments for reservation\nres1, and no expansion/merge will happen. Wildcard \"-\" can be used for\nreservations in the request. In that case all assignments belongs to the\nspecified project and location will be listed. Note\n\"-\" cannot be used for projects nor locations.", + "description": "Lists assignments.\n\nOnly explicitly created assignments will be returned.\n\nExample:\n\n* Organization `organizationA` contains two projects, `project1` and\n `project2`.\n* Reservation `res1` exists and was created previously.\n* CreateAssignment was used previously to define the following\n associations between entities and reservations: ``\n and ``\n\nIn this example, ListAssignments will just return the above two assignments\nfor reservation `res1`, and no expansion/merge will happen.\n\nThe wildcard \"-\" can be used for\nreservations in the request. In that case all assignments belongs to the\nspecified project and location will be listed.\n\n**Note** \"-\" cannot be used for projects nor locations.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments", "httpMethod": "GET", "id": "bigqueryreservation.projects.locations.reservations.assignments.list", @@ -682,7 +682,7 @@ "type": "string" }, "parent": { - "description": "Required. The parent resource name e.g.:\nprojects/myproject/locations/US/reservations/team1-prod\nOr:\nprojects/myproject/locations/US/reservations/-", + "description": "Required. The parent resource name e.g.:\n\n`projects/myproject/locations/US/reservations/team1-prod`\n\nOr:\n\n`projects/myproject/locations/US/reservations/-`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+$", "required": true, @@ -699,7 +699,7 @@ ] }, "move": { - "description": "Moves a assignment under a new reservation. Customers can do this by\ndeleting the existing assignment followed by creating another assignment\nunder the new reservation, but this method provides a transactional way to\ndo so, to make sure the assignee always has an associated reservation.\nWithout the method customers might see some queries run on-demand which\nmight be unexpected.", + "description": "Moves an assignment under a new reservation.\n\nThis differs from removing an existing assignment and recreating a new one\nby providing a transactional change that ensures an assignee always has an\nassociated reservation.", "flatPath": "v1beta1/projects/{projectsId}/locations/{locationsId}/reservations/{reservationsId}/assignments/{assignmentsId}:move", "httpMethod": "POST", "id": "bigqueryreservation.projects.locations.reservations.assignments.move", @@ -708,7 +708,7 @@ ], "parameters": { "name": { - "description": "Required. The resource name of the assignment,\ne.g.:\n projects/myproject/locations/US/reservations/team1-prod/assignments/123", + "description": "Required. The resource name of the assignment,\ne.g.\n`projects/myproject/locations/US/reservations/team1-prod/assignments/123`", "location": "path", "pattern": "^projects/[^/]+/locations/[^/]+/reservations/[^/]+/assignments/[^/]+$", "required": true, @@ -736,7 +736,7 @@ } } }, - "revision": "20200403", + "revision": "20200702", "rootUrl": "https://bigqueryreservation.googleapis.com/", "schemas": { "Assignment": { @@ -744,7 +744,7 @@ "id": "Assignment", "properties": { "assignee": { - "description": "The resource which will use the reservation. E.g.\nprojects/myproject, folders/123, organizations/456.", + "description": "The resource which will use the reservation. E.g.\n`projects/myproject`, `folders/123`, or `organizations/456`.", "type": "string" }, "jobType": { @@ -752,17 +752,19 @@ "enum": [ "JOB_TYPE_UNSPECIFIED", "PIPELINE", - "QUERY" + "QUERY", + "ML_EXTERNAL" ], "enumDescriptions": [ "Invalid type. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Pipeline (load/export) jobs from the project will use the reservation.", - "Query jobs from the project will use the reservation." + "Query jobs from the project will use the reservation.", + "BigQuery ML jobs that use services external to BigQuery for model\ntraining. These jobs will not utilize idle slots from other reservations." ], "type": "string" }, "name": { - "description": "Output only. Name of the resource. E.g.:\nprojects/myproject/locations/US/reservations/team1-prod/assignments/123.", + "description": "Output only. Name of the resource. E.g.:\n`projects/myproject/locations/US/reservations/team1-prod/assignments/123`.", "type": "string" }, "state": { @@ -782,23 +784,6 @@ }, "type": "object" }, - "Autoscale": { - "description": "Auto scaling settings and current situation.\nSystem will create a dedicated FLEX capacity commitment to hold the slots\nfor auto-scale. Users won't be able to manage it,to avoid conflicts.\nScale-up will happen, if there are always pending tasks for the past 10\nminutes.\nScale-down will happen, if the system knows that scale-up won't be\ntriggered again.\nNote this is an alpha feature.", - "id": "Autoscale", - "properties": { - "currentSlots": { - "description": "Output only. The slot capacity added to this reservation when autoscale happens. Will\nbe between [0, max_slots].", - "format": "int64", - "type": "string" - }, - "maxSlots": { - "description": "Number of slots to be scaled when needed.", - "format": "int64", - "type": "string" - } - }, - "type": "object" - }, "BiReservation": { "description": "Represents a BI Reservation.", "id": "BiReservation", @@ -821,7 +806,7 @@ "type": "object" }, "CapacityCommitment": { - "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs\n(in the form of slots) with some committed period of usage. Monthly and\nannual commitments renew by default. Only flex commitments can be removed. In\norder to remove monthly or annual commitments, their plan needs to be changed\nto flex first.\n\nA capacity commitment resource exists as a child resource of the admin\nproject.", + "description": "Capacity commitment is a way to purchase compute capacity for BigQuery jobs\n(in the form of slots) with some committed period of usage. Annual\ncommitments renew by default. Commitments can be removed after their\ncommitment end time passes.\n\nIn order to remove annual commitment, its plan needs to be changed\nto monthly or flex first.\n\nA capacity commitment resource exists as a child resource of the admin\nproject.", "id": "CapacityCommitment", "properties": { "commitmentEndTime": { @@ -829,12 +814,17 @@ "format": "google-datetime", "type": "string" }, + "commitmentStartTime": { + "description": "Output only. The start of the current commitment period. It is applicable only for\nACTIVE capacity commitments.", + "format": "google-datetime", + "type": "string" + }, "failureStatus": { "$ref": "Status", "description": "Output only. For FAILED commitment plan, provides the reason of failure." }, "name": { - "description": "Output only. The resource name of the capacity commitment, e.g.,\n projects/myproject/locations/US/capacityCommitments/123", + "description": "Output only. The resource name of the capacity commitment, e.g.,\n`projects/myproject/locations/US/capacityCommitments/123`", "type": "string" }, "plan": { @@ -842,14 +832,16 @@ "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Flex commitments have committed period of 1 minute after becoming ACTIVE.\nAfter that, they are not in a committed period anymore and can be removed\nany time.", - "Monthly commitments have a committed period of 30 days after becoming\nACTIVE.", - "Annual commitments have a committed period of 365 days after becoming\nACTIVE." + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\n`renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so\nthat it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming\nACTIVE. After that, they are not in a committed period anymore and can be\nremoved any time.", + "Annual commitments have a committed period of 365 days after becoming\nACTIVE. After that they are converted to a new commitment based on the\nrenewal_plan." ], "type": "string" }, @@ -858,14 +850,16 @@ "enum": [ "COMMITMENT_PLAN_UNSPECIFIED", "FLEX", + "TRIAL", "MONTHLY", "ANNUAL" ], "enumDescriptions": [ "Invalid plan value. Requests with this value will be rejected with\nerror code `google.rpc.Code.INVALID_ARGUMENT`.", "Flex commitments have committed period of 1 minute after becoming ACTIVE.\nAfter that, they are not in a committed period anymore and can be removed\nany time.", - "Monthly commitments have a committed period of 30 days after becoming\nACTIVE.", - "Annual commitments have a committed period of 365 days after becoming\nACTIVE." + "Trial commitments have a committed period of 182 days after becoming\nACTIVE. After that, they are converted to a new commitment based on the\n`renewal_plan`. Default `renewal_plan` for Trial commitment is Flex so\nthat it can be deleted right after committed period ends.", + "Monthly commitments have a committed period of 30 days after becoming\nACTIVE. After that, they are not in a committed period anymore and can be\nremoved any time.", + "Annual commitments have a committed period of 365 days after becoming\nACTIVE. After that they are converted to a new commitment based on the\nrenewal_plan." ], "type": "string" }, @@ -969,7 +963,7 @@ "id": "MergeCapacityCommitmentsRequest", "properties": { "capacityCommitmentIds": { - "description": "Ids of capacity commitments to merge.\nThese capacity commitments must exist under admin project and location\nspecified in the parent.", + "description": "Ids of capacity commitments to merge.\nThese capacity commitments must exist under admin project and location\nspecified in the parent.\nID is the last portion of capacity commitment name e.g., 'abc' for\nprojects/myproject/locations/US/capacityCommitments/abc", "items": { "type": "string" }, @@ -979,11 +973,11 @@ "type": "object" }, "MoveAssignmentRequest": { - "description": "The request for\nReservationService.MoveAssignment.\nNote: \"bigquery.reservationAssignments.create\" permission is required on the\ndestination_id. Note: \"bigquery.reservationAssignments.create\" and\n\"bigquery.reservationAssignments.delete\" permission is required on the\nrelated assignee.", + "description": "The request for\nReservationService.MoveAssignment.\n\n**Note**: \"bigquery.reservationAssignments.create\" permission is required on\nthe destination_id.\n\n**Note**: \"bigquery.reservationAssignments.create\" and\n\"bigquery.reservationAssignments.delete\" permission are required on the\nrelated assignee.", "id": "MoveAssignmentRequest", "properties": { "destinationId": { - "description": "The new reservation ID, e.g.:\n projects/myotherproject/locations/US/reservations/team2-prod", + "description": "The new reservation ID, e.g.:\n `projects/myotherproject/locations/US/reservations/team2-prod`", "type": "string" } }, @@ -993,20 +987,16 @@ "description": "A reservation is a mechanism used to guarantee slots to users.", "id": "Reservation", "properties": { - "autoscale": { - "$ref": "Autoscale", - "description": "The configuration parameters for the auto scaling feature. Note this is an\nalpha feature." - }, "ignoreIdleSlots": { "description": "If false, any query using this reservation will use idle slots from other\nreservations within the same admin project. If true, a query using this\nreservation will execute with the slot capacity specified above at most.", "type": "boolean" }, "name": { - "description": "The resource name of the reservation, e.g.,\n\"projects/*/locations/*/reservations/team1-prod\".", + "description": "The resource name of the reservation, e.g.,\n`projects/*/locations/*/reservations/team1-prod`.", "type": "string" }, "slotCapacity": { - "description": "Minimum slots available to this reservation. A slot is a unit of\ncomputational power in BigQuery, and serves as the unit of parallelism.\nQueries using this reservation might use more slots during runtime if\nignore_idle_slots is set to false.\nIf the new reservation's slot capacity exceed the parent's slot capacity or\nif total slot capacity of the new reservation and its siblings exceeds the\nparent's slot capacity, the request will fail with\n`google.rpc.Code.RESOURCE_EXHAUSTED`.", + "description": "Minimum slots available to this reservation. A slot is a unit of\ncomputational power in BigQuery, and serves as the unit of parallelism.\n\nQueries using this reservation might use more slots during runtime if\nignore_idle_slots is set to false.\n\nIf the new reservation's slot capacity exceed the parent's slot capacity or\nif total slot capacity of the new reservation and its siblings exceeds the\nparent's slot capacity, the request will fail with\n`google.rpc.Code.RESOURCE_EXHAUSTED`.", "format": "int64", "type": "string" } diff --git a/etc/api/bigtableadmin/v1/bigtableadmin-api.json b/etc/api/bigtableadmin/v1/bigtableadmin-api.json index 66c186c74f..ee3bc03015 100644 --- a/etc/api/bigtableadmin/v1/bigtableadmin-api.json +++ b/etc/api/bigtableadmin/v1/bigtableadmin-api.json @@ -96,7 +96,7 @@ }, "protocol": "rest", "resources": {}, - "revision": "20200211", + "revision": "20200609", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "Cluster": { @@ -104,7 +104,7 @@ "id": "Cluster", "properties": { "defaultStorageType": { - "description": "(`CreationOnly`)\nThe type of storage used by this cluster to serve its\nparent instance's tables, unless explicitly overridden.", + "description": "Immutable. The type of storage used by this cluster to serve its\nparent instance's tables, unless explicitly overridden.", "enum": [ "STORAGE_TYPE_UNSPECIFIED", "SSD", @@ -118,11 +118,11 @@ "type": "string" }, "location": { - "description": "(`CreationOnly`)\nThe location where this cluster's nodes and storage reside. For best\nperformance, clients should be located as close as possible to this\ncluster. Currently only zones are supported, so values should be of the\nform `projects/{project}/locations/{zone}`.", + "description": "Immutable. The location where this cluster's nodes and storage reside. For best\nperformance, clients should be located as close as possible to this\ncluster. Currently only zones are supported, so values should be of the\nform `projects/{project}/locations/{zone}`.", "type": "string" }, "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", + "description": "The unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", "type": "string" }, "serveNodes": { @@ -131,7 +131,7 @@ "type": "integer" }, "state": { - "description": "(`OutputOnly`)\nThe current state of the cluster.", + "description": "Output only. The current state of the cluster.", "enum": [ "STATE_NOT_KNOWN", "READY", @@ -261,11 +261,11 @@ "type": "object" }, "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", + "description": "The unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", "type": "string" }, "state": { - "description": "(`OutputOnly`)\nThe current state of the instance.", + "description": "Output only. The current state of the instance.", "enum": [ "STATE_NOT_KNOWN", "READY", @@ -288,7 +288,7 @@ "enumDescriptions": [ "The type of the instance is unspecified. If set when creating an\ninstance, a `PRODUCTION` instance will be created. If set when updating\nan instance, the type will be left unchanged.", "An instance meant for production use. `serve_nodes` must be set\non the cluster.", - "The instance is meant for development and testing purposes only; it has\nno performance or uptime guarantees and is not covered by SLA.\nAfter a development instance is created, it can be upgraded by\nupdating the instance to type `PRODUCTION`. An instance created\nas a production instance cannot be changed to a development instance.\nWhen creating a development instance, `serve_nodes` on the cluster must\nnot be set." + "DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces\na higher minimum node count than DEVELOPMENT." ], "type": "string" } diff --git a/etc/api/bigtableadmin/v2/bigtableadmin-api.json b/etc/api/bigtableadmin/v2/bigtableadmin-api.json index 9e34686048..d7aa86b6a9 100644 --- a/etc/api/bigtableadmin/v2/bigtableadmin-api.json +++ b/etc/api/bigtableadmin/v2/bigtableadmin-api.json @@ -143,7 +143,7 @@ "name": { "description": "The name of the operation resource to be cancelled.", "location": "path", - "pattern": "^operations/.+$", + "pattern": "^operations/.*$", "required": true, "type": "string" } @@ -173,7 +173,7 @@ "name": { "description": "The name of the operation resource to be deleted.", "location": "path", - "pattern": "^operations/.+$", + "pattern": "^operations/.*$", "required": true, "type": "string" } @@ -203,7 +203,7 @@ "name": { "description": "The name of the operation resource.", "location": "path", - "pattern": "^operations/.+$", + "pattern": "^operations/.*$", "required": true, "type": "string" } @@ -245,7 +245,7 @@ "name": { "description": "The name of the operation's parent resource.", "location": "path", - "pattern": "^operations/projects/.+$", + "pattern": "^operations/projects/.*$", "required": true, "type": "string" }, @@ -458,7 +458,7 @@ ], "parameters": { "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", + "description": "The unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+$", "required": true, @@ -563,7 +563,7 @@ ], "parameters": { "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", + "description": "The unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+$", "required": true, @@ -755,7 +755,7 @@ "type": "boolean" }, "name": { - "description": "(`OutputOnly`)\nThe unique name of the app profile. Values are of the form\n`projects//instances//appProfiles/_a-zA-Z0-9*`.", + "description": "The unique name of the app profile. Values are of the form\n`projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+/appProfiles/[^/]+$", "required": true, @@ -933,7 +933,7 @@ ], "parameters": { "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", + "description": "The unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", "location": "path", "pattern": "^projects/[^/]+/instances/[^/]+/clusters/[^/]+$", "required": true, @@ -961,7 +961,7 @@ "backups": { "methods": { "getIamPolicy": { - "description": "Gets the access control policy for a Table or Backup resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.", + "description": "Gets the access control policy for a Table resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:getIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.clusters.backups.getIamPolicy", @@ -993,7 +993,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a Table or Backup resource.\nReplaces any existing policy.", + "description": "Sets the access control policy on a Table resource.\nReplaces any existing policy.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/clusters/{clustersId}/backups/{backupsId}:setIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.clusters.backups.setIamPolicy", @@ -1262,7 +1262,7 @@ ] }, "getIamPolicy": { - "description": "Gets the access control policy for a Table or Backup resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.", + "description": "Gets the access control policy for a Table resource.\nReturns an empty policy if the resource exists but does not have a policy\nset.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:getIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.tables.getIamPolicy", @@ -1379,7 +1379,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on a Table or Backup resource.\nReplaces any existing policy.", + "description": "Sets the access control policy on a Table resource.\nReplaces any existing policy.", "flatPath": "v2/projects/{projectsId}/instances/{instancesId}/tables/{tablesId}:setIamPolicy", "httpMethod": "POST", "id": "bigtableadmin.projects.instances.tables.setIamPolicy", @@ -1531,7 +1531,7 @@ } } }, - "revision": "20200211", + "revision": "20200609", "rootUrl": "https://bigtableadmin.googleapis.com/", "schemas": { "AppProfile": { @@ -1539,7 +1539,7 @@ "id": "AppProfile", "properties": { "description": { - "description": "Optional long form description of the use case for this AppProfile.", + "description": "Long form description of the use case for this AppProfile.", "type": "string" }, "etag": { @@ -1551,7 +1551,7 @@ "description": "Use a multi-cluster routing policy." }, "name": { - "description": "(`OutputOnly`)\nThe unique name of the app profile. Values are of the form\n`projects//instances//appProfiles/_a-zA-Z0-9*`.", + "description": "The unique name of the app profile. Values are of the form\n`projects/{project}/instances/{instance}/appProfiles/_a-zA-Z0-9*`.", "type": "string" }, "singleClusterRouting": { @@ -1562,7 +1562,7 @@ "type": "object" }, "AuditConfig": { - "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n },\n {\n \"log_type\": \"ADMIN_READ\",\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\"\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", + "description": "Specifies the audit configuration for a service.\nThe configuration determines which permission types are logged, and what\nidentities, if any, are exempted from logging.\nAn AuditConfig must have one or more AuditLogConfigs.\n\nIf there are AuditConfigs for both `allServices` and a specific service,\nthe union of the two AuditConfigs is used for that service: the log_types\nspecified in each AuditConfig are enabled, and the exempted_members in each\nAuditLogConfig are exempted.\n\nExample Policy with multiple AuditConfigs:\n\n {\n \"audit_configs\": [\n {\n \"service\": \"allServices\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n },\n {\n \"log_type\": \"ADMIN_READ\"\n }\n ]\n },\n {\n \"service\": \"sampleservice.googleapis.com\",\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\"\n },\n {\n \"log_type\": \"DATA_WRITE\",\n \"exempted_members\": [\n \"user:aliya@example.com\"\n ]\n }\n ]\n }\n ]\n }\n\nFor sampleservice, this policy enables DATA_READ, DATA_WRITE and ADMIN_READ\nlogging. It also exempts jose@example.com from DATA_READ logging, and\naliya@example.com from DATA_WRITE logging.", "id": "AuditConfig", "properties": { "auditLogConfigs": { @@ -1580,7 +1580,7 @@ "type": "object" }, "AuditLogConfig": { - "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\",\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", + "description": "Provides the configuration for logging a type of permissions.\nExample:\n\n {\n \"audit_log_configs\": [\n {\n \"log_type\": \"DATA_READ\",\n \"exempted_members\": [\n \"user:jose@example.com\"\n ]\n },\n {\n \"log_type\": \"DATA_WRITE\"\n }\n ]\n }\n\nThis enables 'DATA_READ' and 'DATA_WRITE' logging, while exempting\njose@example.com from DATA_READ logging.", "id": "AuditLogConfig", "properties": { "exemptedMembers": { @@ -1615,7 +1615,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -1658,7 +1658,7 @@ "id": "Cluster", "properties": { "defaultStorageType": { - "description": "(`CreationOnly`)\nThe type of storage used by this cluster to serve its\nparent instance's tables, unless explicitly overridden.", + "description": "Immutable. The type of storage used by this cluster to serve its\nparent instance's tables, unless explicitly overridden.", "enum": [ "STORAGE_TYPE_UNSPECIFIED", "SSD", @@ -1672,11 +1672,11 @@ "type": "string" }, "location": { - "description": "(`CreationOnly`)\nThe location where this cluster's nodes and storage reside. For best\nperformance, clients should be located as close as possible to this\ncluster. Currently only zones are supported, so values should be of the\nform `projects/{project}/locations/{zone}`.", + "description": "Immutable. The location where this cluster's nodes and storage reside. For best\nperformance, clients should be located as close as possible to this\ncluster. Currently only zones are supported, so values should be of the\nform `projects/{project}/locations/{zone}`.", "type": "string" }, "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", + "description": "The unique name of the cluster. Values are of the form\n`projects/{project}/instances/{instance}/clusters/a-z*`.", "type": "string" }, "serveNodes": { @@ -1685,7 +1685,7 @@ "type": "integer" }, "state": { - "description": "(`OutputOnly`)\nThe current state of the cluster.", + "description": "Output only. The current state of the cluster.", "enum": [ "STATE_NOT_KNOWN", "READY", @@ -1950,7 +1950,7 @@ "properties": { "options": { "$ref": "GetPolicyOptions", - "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`. This field is only used by Cloud IAM." + "description": "OPTIONAL: A `GetPolicyOptions` object for specifying options to\n`GetIamPolicy`." } }, "type": "object" @@ -1960,7 +1960,7 @@ "id": "GetPolicyOptions", "properties": { "requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -1983,11 +1983,11 @@ "type": "object" }, "name": { - "description": "Required. (`OutputOnly`)\nThe unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", + "description": "The unique name of the instance. Values are of the form\n`projects/{project}/instances/a-z+[a-z0-9]`.", "type": "string" }, "state": { - "description": "(`OutputOnly`)\nThe current state of the instance.", + "description": "Output only. The current state of the instance.", "enum": [ "STATE_NOT_KNOWN", "READY", @@ -2010,7 +2010,7 @@ "enumDescriptions": [ "The type of the instance is unspecified. If set when creating an\ninstance, a `PRODUCTION` instance will be created. If set when updating\nan instance, the type will be left unchanged.", "An instance meant for production use. `serve_nodes` must be set\non the cluster.", - "The instance is meant for development and testing purposes only; it has\nno performance or uptime guarantees and is not covered by SLA.\nAfter a development instance is created, it can be upgraded by\nupdating the instance to type `PRODUCTION`. An instance created\nas a production instance cannot be changed to a development instance.\nWhen creating a development instance, `serve_nodes` on the cluster must\nnot be set." + "DEPRECATED: Prefer PRODUCTION for all use cases, as it no longer enforces\na higher minimum node count than DEVELOPMENT." ], "type": "string" } @@ -2289,7 +2289,7 @@ "type": "object" }, "Policy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "Policy", "properties": { "auditConfigs": { @@ -2312,7 +2312,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } @@ -2328,7 +2328,7 @@ "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of\nthe policy is limited to a few 10s of KB. An empty policy is a\nvalid policy but certain Cloud Platform services (such as Projects)\nmight reject them." }, "updateMask": { - "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\npaths: \"bindings, etag\"\nThis field is only used by Cloud IAM.", + "description": "OPTIONAL: A FieldMask specifying which fields of the policy to modify. Only\nthe fields in the mask will be modified. If no mask is provided, the\nfollowing default mask is used:\n\n`paths: \"bindings, etag\"`", "format": "google-fieldmask", "type": "string" } @@ -2404,11 +2404,11 @@ "additionalProperties": { "$ref": "ColumnFamily" }, - "description": "(`CreationOnly`)\nThe column families configured for this table, mapped by column family ID.\nViews: `SCHEMA_VIEW`, `FULL`", + "description": "The column families configured for this table, mapped by column family ID.\nViews: `SCHEMA_VIEW`, `FULL`", "type": "object" }, "granularity": { - "description": "(`CreationOnly`)\nThe granularity (i.e. `MILLIS`) at which timestamps are stored in\nthis table. Timestamps not matching the granularity will be rejected.\nIf unspecified at creation time, the value will be set to `MILLIS`.\nViews: `SCHEMA_VIEW`, `FULL`.", + "description": "Immutable. The granularity (i.e. `MILLIS`) at which timestamps are stored in this\ntable. Timestamps not matching the granularity will be rejected.\nIf unspecified at creation time, the value will be set to `MILLIS`.\nViews: `SCHEMA_VIEW`, `FULL`.", "enum": [ "TIMESTAMP_GRANULARITY_UNSPECIFIED", "MILLIS" @@ -2420,7 +2420,7 @@ "type": "string" }, "name": { - "description": "Output only. The unique name of the table. Values are of the form\n`projects//instances//tables/_a-zA-Z0-9*`.\nViews: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`", + "description": "The unique name of the table. Values are of the form\n`projects/{project}/instances/{instance}/tables/_a-zA-Z0-9*`.\nViews: `NAME_ONLY`, `SCHEMA_VIEW`, `REPLICATION_VIEW`, `FULL`", "type": "string" } }, diff --git a/etc/api/billingbudgets/v1beta1/billingbudgets-api.json b/etc/api/billingbudgets/v1beta1/billingbudgets-api.json index dced394dff..da332924f3 100644 --- a/etc/api/billingbudgets/v1beta1/billingbudgets-api.json +++ b/etc/api/billingbudgets/v1beta1/billingbudgets-api.json @@ -256,7 +256,7 @@ } } }, - "revision": "20200405", + "revision": "20200704", "rootUrl": "https://billingbudgets.googleapis.com/", "schemas": { "GoogleCloudBillingBudgetsV1beta1AllUpdatesRule": { @@ -356,6 +356,16 @@ ], "type": "string" }, + "labels": { + "additionalProperties": { + "items": { + "type": "any" + }, + "type": "array" + }, + "description": "Optional. A single label and value pair specifying that usage from only this set of\nlabeled resources should be included in the budget. Currently, multiple\nentries or multiple values per entry are not allowed. If omitted, the\nreport will include all labeled and unlabeled usage.", + "type": "object" + }, "projects": { "description": "Optional. A set of projects of the form `projects/{project}`,\nspecifying that usage from only this set of projects should be\nincluded in the budget. If omitted, the report will include all usage for\nthe billing account, regardless of which project the usage occurred on.\nOnly zero or one project can be specified currently.", "items": { @@ -369,6 +379,13 @@ "type": "string" }, "type": "array" + }, + "subaccounts": { + "description": "Optional. A set of subaccounts of the form `billingAccounts/{account_id}`, specifying\nthat usage from only this set of subaccounts should be included in the\nbudget. If a subaccount is set to the name of the resller account, usage\nfrom the reseller account will be included. If omitted, the report will\ninclude usage from the reseller account and all subaccounts, if they exist.", + "items": { + "type": "string" + }, + "type": "array" } }, "type": "object" diff --git a/etc/api/binaryauthorization/v1/binaryauthorization-api.json b/etc/api/binaryauthorization/v1/binaryauthorization-api.json index 125d9ea20b..f866d856ec 100644 --- a/etc/api/binaryauthorization/v1/binaryauthorization-api.json +++ b/etc/api/binaryauthorization/v1/binaryauthorization-api.json @@ -257,7 +257,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -315,7 +315,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/attestors/{attestorsId}:setIamPolicy", "httpMethod": "POST", "id": "binaryauthorization.projects.attestors.setIamPolicy", @@ -343,7 +343,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/attestors/{attestorsId}:testIamPermissions", "httpMethod": "POST", "id": "binaryauthorization.projects.attestors.testIamPermissions", @@ -412,7 +412,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -434,7 +434,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1/projects/{projectsId}/policy:setIamPolicy", "httpMethod": "POST", "id": "binaryauthorization.projects.policy.setIamPolicy", @@ -462,7 +462,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1/projects/{projectsId}/policy:testIamPermissions", "httpMethod": "POST", "id": "binaryauthorization.projects.policy.testIamPermissions", @@ -494,7 +494,7 @@ } } }, - "revision": "20200327", + "revision": "20200619", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { @@ -605,7 +605,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -651,7 +651,7 @@ "type": "object" }, "IamPolicy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "IamPolicy", "properties": { "bindings": { @@ -667,7 +667,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json b/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json index db27d4ba96..dae481506d 100644 --- a/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json +++ b/etc/api/binaryauthorization/v1beta1/binaryauthorization-api.json @@ -257,7 +257,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -315,7 +315,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/attestors/{attestorsId}:setIamPolicy", "httpMethod": "POST", "id": "binaryauthorization.projects.attestors.setIamPolicy", @@ -343,7 +343,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/attestors/{attestorsId}:testIamPermissions", "httpMethod": "POST", "id": "binaryauthorization.projects.attestors.testIamPermissions", @@ -412,7 +412,7 @@ ], "parameters": { "options.requestedPolicyVersion": { - "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.", + "description": "Optional. The policy format version to be returned.\n\nValid values are 0, 1, and 3. Requests specifying an invalid value will be\nrejected.\n\nRequests for policies with any conditional bindings must specify version 3.\nPolicies without any conditional bindings may specify any valid value or\nleave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "location": "query", "type": "integer" @@ -434,7 +434,7 @@ ] }, "setIamPolicy": { - "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return Public Errors: NOT_FOUND, INVALID_ARGUMENT and PERMISSION_DENIED", + "description": "Sets the access control policy on the specified resource. Replaces any\nexisting policy.\n\nCan return `NOT_FOUND`, `INVALID_ARGUMENT`, and `PERMISSION_DENIED` errors.", "flatPath": "v1beta1/projects/{projectsId}/policy:setIamPolicy", "httpMethod": "POST", "id": "binaryauthorization.projects.policy.setIamPolicy", @@ -462,7 +462,7 @@ ] }, "testIamPermissions": { - "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a NOT_FOUND error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", + "description": "Returns permissions that a caller has on the specified resource.\nIf the resource does not exist, this will return an empty set of\npermissions, not a `NOT_FOUND` error.\n\nNote: This operation is designed to be used for building permission-aware\nUIs and command-line tools, not for authorization checking. This operation\nmay \"fail open\" without warning.", "flatPath": "v1beta1/projects/{projectsId}/policy:testIamPermissions", "httpMethod": "POST", "id": "binaryauthorization.projects.policy.testIamPermissions", @@ -494,7 +494,7 @@ } } }, - "revision": "20200327", + "revision": "20200619", "rootUrl": "https://binaryauthorization.googleapis.com/", "schemas": { "AdmissionRule": { @@ -605,7 +605,7 @@ "properties": { "condition": { "$ref": "Expr", - "description": "The condition that is associated with this binding.\nNOTE: An unsatisfied condition will not allow user access via current\nbinding. Different bindings, including their conditions, are examined\nindependently." + "description": "The condition that is associated with this binding.\n\nIf the condition evaluates to `true`, then this binding applies to the\ncurrent request.\n\nIf the condition evaluates to `false`, then this binding does not apply to\nthe current request. However, a different role binding might grant the same\nrole to one or more of the members in this binding.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM\ndocumentation](https://cloud.google.com/iam/help/conditions/resource-policies)." }, "members": { "description": "Specifies the identities requesting access for a Cloud Platform resource.\n`members` can have the following values:\n\n* `allUsers`: A special identifier that represents anyone who is\n on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone\n who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google\n account. For example, `alice@example.com` .\n\n\n* `serviceAccount:{emailid}`: An email address that represents a service\n account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group.\n For example, `admins@example.com`.\n\n* `deleted:user:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a user that has been recently deleted. For\n example, `alice@example.com?uid=123456789012345678901`. If the user is\n recovered, this value reverts to `user:{emailid}` and the recovered user\n retains the role in the binding.\n\n* `deleted:serviceAccount:{emailid}?uid={uniqueid}`: An email address (plus\n unique identifier) representing a service account that has been recently\n deleted. For example,\n `my-other-app@appspot.gserviceaccount.com?uid=123456789012345678901`.\n If the service account is undeleted, this value reverts to\n `serviceAccount:{emailid}` and the undeleted service account retains the\n role in the binding.\n\n* `deleted:group:{emailid}?uid={uniqueid}`: An email address (plus unique\n identifier) representing a Google group that has been recently\n deleted. For example, `admins@example.com?uid=123456789012345678901`. If\n the group is recovered, this value reverts to `group:{emailid}` and the\n recovered group retains the role in the binding.\n\n\n* `domain:{domain}`: The G Suite domain (primary) that represents all the\n users of that domain. For example, `google.com` or `example.com`.\n\n", @@ -651,7 +651,7 @@ "type": "object" }, "IamPolicy": { - "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nOptionally, a `binding` can specify a `condition`, which is a logical\nexpression that allows access to a resource only if the expression evaluates\nto `true`. A condition can add constraints based on attributes of the\nrequest, the resource, or both.\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\"user:eve@example.com\"],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", + "description": "An Identity and Access Management (IAM) policy, which specifies access\ncontrols for Google Cloud resources.\n\n\nA `Policy` is a collection of `bindings`. A `binding` binds one or more\n`members` to a single `role`. Members can be user accounts, service accounts,\nGoogle groups, and domains (such as G Suite). A `role` is a named list of\npermissions; each `role` can be an IAM predefined role or a user-created\ncustom role.\n\nFor some types of Google Cloud resources, a `binding` can also specify a\n`condition`, which is a logical expression that allows access to a resource\nonly if the expression evaluates to `true`. A condition can add constraints\nbased on attributes of the request, the resource, or both. To learn which\nresources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).\n\n**JSON example:**\n\n {\n \"bindings\": [\n {\n \"role\": \"roles/resourcemanager.organizationAdmin\",\n \"members\": [\n \"user:mike@example.com\",\n \"group:admins@example.com\",\n \"domain:google.com\",\n \"serviceAccount:my-project-id@appspot.gserviceaccount.com\"\n ]\n },\n {\n \"role\": \"roles/resourcemanager.organizationViewer\",\n \"members\": [\n \"user:eve@example.com\"\n ],\n \"condition\": {\n \"title\": \"expirable access\",\n \"description\": \"Does not grant access after Sep 2020\",\n \"expression\": \"request.time < timestamp('2020-10-01T00:00:00.000Z')\",\n }\n }\n ],\n \"etag\": \"BwWWja0YfJA=\",\n \"version\": 3\n }\n\n**YAML example:**\n\n bindings:\n - members:\n - user:mike@example.com\n - group:admins@example.com\n - domain:google.com\n - serviceAccount:my-project-id@appspot.gserviceaccount.com\n role: roles/resourcemanager.organizationAdmin\n - members:\n - user:eve@example.com\n role: roles/resourcemanager.organizationViewer\n condition:\n title: expirable access\n description: Does not grant access after Sep 2020\n expression: request.time < timestamp('2020-10-01T00:00:00.000Z')\n - etag: BwWWja0YfJA=\n - version: 3\n\nFor a description of IAM and its features, see the\n[IAM documentation](https://cloud.google.com/iam/docs/).", "id": "IamPolicy", "properties": { "bindings": { @@ -667,7 +667,7 @@ "type": "string" }, "version": { - "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.", + "description": "Specifies the format of the policy.\n\nValid values are `0`, `1`, and `3`. Requests that specify an invalid value\nare rejected.\n\nAny operation that affects conditional role bindings must specify version\n`3`. This requirement applies to the following operations:\n\n* Getting a policy that includes a conditional role binding\n* Adding a conditional role binding to a policy\n* Changing a conditional role binding in a policy\n* Removing any role binding, with or without a condition, from a policy\n that includes conditions\n\n**Important:** If you use IAM Conditions, you must include the `etag` field\nwhenever you call `setIamPolicy`. If you omit this field, then IAM allows\nyou to overwrite a version `3` policy with a version `1` policy, and all of\nthe conditions in the version `3` policy are lost.\n\nIf a policy does not include any conditions, operations on that policy may\nspecify any valid version or leave the field unset.\n\nTo learn which resources support conditions in their IAM policies, see the\n[IAM documentation](https://cloud.google.com/iam/help/conditions/resource-policies).", "format": "int32", "type": "integer" } diff --git a/etc/api/blogger/v2/blogger-api.json b/etc/api/blogger/v2/blogger-api.json index d7b5a18e26..9ae3112b8c 100644 --- a/etc/api/blogger/v2/blogger-api.json +++ b/etc/api/blogger/v2/blogger-api.json @@ -8,38 +8,64 @@ } } }, - "basePath": "/blogger/v2/", - "baseUrl": "https://www.googleapis.com/blogger/v2/", - "batchPath": "batch/blogger/v2", - "description": "API for access to the data within Blogger.", + "basePath": "", + "baseUrl": "https://blogger.googleapis.com/", + "batchPath": "batch", + "canonicalName": "Blogger", + "description": "The Blogger API provides access to posts, comments and pages of a\n Blogger blog.", "discoveryVersion": "v1", - "documentationLink": "https://developers.google.com/blogger/docs/2.0/json/getting_started", - "etag": "\"u9GIe6H63LSGq-9_t39K2Zx_EAc/5n8J-SrfC_3u-tnboDRXTbXXKhw\"", + "documentationLink": "https://developers.google.com/blogger/docs/3.0/getting_started", + "fullyEncodeReservedExpansion": true, "icons": { - "x16": "https://www.google.com/images/icons/product/blogger-16.png", - "x32": "https://www.google.com/images/icons/product/blogger-32.png" + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" }, "id": "blogger:v2", "kind": "discovery#restDescription", - "labels": [ - "limited_availability" - ], + "mtlsRootUrl": "https://blogger.mtls.googleapis.com/", "name": "blogger", "ownerDomain": "google.com", "ownerName": "Google", "parameters": { - "alt": { - "default": "json", - "description": "Data format for the response.", + "$.xgafv": { + "description": "V1 error format.", "enum": [ - "json" + "1", + "2" ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "v1 error format", + "v2 error format" ], "location": "query", "type": "string" }, + "access_token": { + "description": "OAuth access token.", + "location": "query", + "type": "string" + }, + "alt": { + "default": "json", + "description": "Data format for response.", + "enum": [ + "json", + "media", + "proto" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" + ], + "location": "query", + "type": "string" + }, + "callback": { + "description": "JSONP", + "location": "query", + "type": "string" + }, "fields": { "description": "Selector specifying which fields to include in a partial response.", "location": "query", @@ -62,12 +88,17 @@ "type": "boolean" }, "quotaUser": { - "description": "An opaque string that represents a user for quota purposes. Must not exceed 40 characters.", + "description": "Available to use for quota purposes for server-side applications. Can be any arbitrary string assigned to a user, but should not exceed 40 characters.", "location": "query", "type": "string" }, - "userIp": { - "description": "Deprecated. Please use quotaUser instead.", + "uploadType": { + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query", + "type": "string" + }, + "upload_protocol": { + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", "location": "query", "type": "string" } @@ -77,7 +108,8 @@ "blogs": { "methods": { "get": { - "description": "Gets one blog by id.", + "description": "Gets a blog by id.", + "flatPath": "v2/blogs/{blogId}", "httpMethod": "GET", "id": "blogger.blogs.get", "parameterOrder": [ @@ -85,26 +117,49 @@ ], "parameters": { "blogId": { - "description": "The ID of the blog to get.", "location": "path", "required": true, "type": "string" } }, - "path": "blogs/{blogId}", + "path": "v2/blogs/{blogId}", "response": { "$ref": "Blog" }, "scopes": [ "https://www.googleapis.com/auth/blogger" ] + }, + "list": { + "description": "Lists blogs by user id, possibly filtered.", + "flatPath": "v2/users/{userId}/blogs", + "httpMethod": "GET", + "id": "blogger.blogs.list", + "parameterOrder": [ + "userId" + ], + "parameters": { + "userId": { + "location": "path", + "required": true, + "type": "string" + } + }, + "path": "v2/users/{userId}/blogs", + "response": { + "$ref": "BlogList" + }, + "scopes": [ + "https://www.googleapis.com/auth/blogger" + ] } } }, "comments": { "methods": { "get": { - "description": "Gets one comment by id.", + "description": "Gets a comment by blog id, post id and comment id.", + "flatPath": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}", "httpMethod": "GET", "id": "blogger.comments.get", "parameterOrder": [ @@ -114,25 +169,22 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to containing the comment.", "location": "path", "required": true, "type": "string" }, "commentId": { - "description": "The ID of the comment to get.", "location": "path", "required": true, "type": "string" }, "postId": { - "description": "ID of the post to fetch posts from.", "location": "path", "required": true, "type": "string" } }, - "path": "blogs/{blogId}/posts/{postId}/comments/{commentId}", + "path": "v2/blogs/{blogId}/posts/{postId}/comments/{commentId}", "response": { "$ref": "Comment" }, @@ -141,7 +193,8 @@ ] }, "list": { - "description": "Retrieves the comments for a blog, possibly filtered.", + "description": "Lists comments.", + "flatPath": "v2/blogs/{blogId}/posts/{postId}/comments", "httpMethod": "GET", "id": "blogger.comments.list", "parameterOrder": [ @@ -150,41 +203,34 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to fetch comments from.", "location": "path", "required": true, "type": "string" }, "fetchBodies": { - "description": "Whether the body content of the comments is included.", "location": "query", "type": "boolean" }, "maxResults": { - "description": "Maximum number of comments to include in the result.", "format": "uint32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Continuation token if request is paged.", "location": "query", "type": "string" }, "postId": { - "description": "ID of the post to fetch posts from.", "location": "path", "required": true, "type": "string" }, "startDate": { - "description": "Earliest date of comment to fetch, a date-time with RFC 3339 formatting.", - "format": "date-time", "location": "query", "type": "string" } }, - "path": "blogs/{blogId}/posts/{postId}/comments", + "path": "v2/blogs/{blogId}/posts/{postId}/comments", "response": { "$ref": "CommentList" }, @@ -197,7 +243,8 @@ "pages": { "methods": { "get": { - "description": "Gets one blog page by id.", + "description": "Gets a page by blog id and page id.", + "flatPath": "v2/blogs/{blogId}/pages/{pageId}", "httpMethod": "GET", "id": "blogger.pages.get", "parameterOrder": [ @@ -206,19 +253,17 @@ ], "parameters": { "blogId": { - "description": "ID of the blog containing the page.", "location": "path", "required": true, "type": "string" }, "pageId": { - "description": "The ID of the page to get.", "location": "path", "required": true, "type": "string" } }, - "path": "blogs/{blogId}/pages/{pageId}", + "path": "v2/blogs/{blogId}/pages/{pageId}", "response": { "$ref": "Page" }, @@ -227,7 +272,8 @@ ] }, "list": { - "description": "Retrieves pages for a blog, possibly filtered.", + "description": "Lists pages.", + "flatPath": "v2/blogs/{blogId}/pages", "httpMethod": "GET", "id": "blogger.pages.list", "parameterOrder": [ @@ -235,18 +281,16 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to fetch pages from.", "location": "path", "required": true, "type": "string" }, "fetchBodies": { - "description": "Whether to retrieve the Page bodies.", "location": "query", "type": "boolean" } }, - "path": "blogs/{blogId}/pages", + "path": "v2/blogs/{blogId}/pages", "response": { "$ref": "PageList" }, @@ -259,7 +303,8 @@ "posts": { "methods": { "get": { - "description": "Get a post by id.", + "description": "Gets a post by blog id and post id", + "flatPath": "v2/blogs/{blogId}/posts/{postId}", "httpMethod": "GET", "id": "blogger.posts.get", "parameterOrder": [ @@ -268,19 +313,17 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to fetch the post from.", "location": "path", "required": true, "type": "string" }, "postId": { - "description": "The ID of the post", "location": "path", "required": true, "type": "string" } }, - "path": "blogs/{blogId}/posts/{postId}", + "path": "v2/blogs/{blogId}/posts/{postId}", "response": { "$ref": "Post" }, @@ -289,7 +332,8 @@ ] }, "list": { - "description": "Retrieves a list of posts, possibly filtered.", + "description": "Lists posts.", + "flatPath": "v2/blogs/{blogId}/posts", "httpMethod": "GET", "id": "blogger.posts.list", "parameterOrder": [ @@ -297,35 +341,29 @@ ], "parameters": { "blogId": { - "description": "ID of the blog to fetch posts from.", "location": "path", "required": true, "type": "string" }, "fetchBodies": { - "description": "Whether the body content of posts is included.", "location": "query", "type": "boolean" }, "maxResults": { - "description": "Maximum number of posts to fetch.", "format": "uint32", "location": "query", "type": "integer" }, "pageToken": { - "description": "Continuation token if the request is paged.", "location": "query", "type": "string" }, "startDate": { - "description": "Earliest post date to fetch, a date-time with RFC 3339 formatting.", - "format": "date-time", "location": "query", "type": "string" } }, - "path": "blogs/{blogId}/posts", + "path": "v2/blogs/{blogId}/posts", "response": { "$ref": "PostList" }, @@ -338,7 +376,8 @@ "users": { "methods": { "get": { - "description": "Gets one user by id.", + "description": "Gets a user by user id.", + "flatPath": "v2/users/{userId}", "httpMethod": "GET", "id": "blogger.users.get", "parameterOrder": [ @@ -346,13 +385,12 @@ ], "parameters": { "userId": { - "description": "The ID of the user to get.", "location": "path", "required": true, "type": "string" } }, - "path": "users/{userId}", + "path": "v2/users/{userId}", "response": { "$ref": "User" }, @@ -360,56 +398,29 @@ "https://www.googleapis.com/auth/blogger" ] } - }, - "resources": { - "blogs": { - "methods": { - "list": { - "description": "Retrieves a list of blogs, possibly filtered.", - "httpMethod": "GET", - "id": "blogger.users.blogs.list", - "parameterOrder": [ - "userId" - ], - "parameters": { - "userId": { - "description": "ID of the user whose blogs are to be fetched. Either the word 'self' (sans quote marks) or the user's profile identifier.", - "location": "path", - "required": true, - "type": "string" - } - }, - "path": "users/{userId}/blogs", - "response": { - "$ref": "BlogList" - }, - "scopes": [ - "https://www.googleapis.com/auth/blogger" - ] - } - } - } } } }, - "revision": "20200204", - "rootUrl": "https://www.googleapis.com/", + "revision": "20200707", + "rootUrl": "https://blogger.googleapis.com/", "schemas": { "Blog": { "id": "Blog", "properties": { + "customMetaData": { + "description": "The JSON custom meta-data for the Blog.", + "type": "string" + }, "description": { "description": "The description of this blog. This is displayed underneath the title.", "type": "string" }, "id": { "description": "The identifier for this resource.", - "format": "int64", "type": "string" }, "kind": { - "default": "blogger#blog", - "description": "The kind of this entry. Always blogger#blog", + "description": "The kind of this entry. Always blogger#blog.", "type": "string" }, "locale": { @@ -452,6 +463,13 @@ "posts": { "description": "The container of posts in this blog.", "properties": { + "items": { + "description": "The List of Posts for this Blog.", + "items": { + "$ref": "Post" + }, + "type": "array" + }, "selfLink": { "description": "The URL of the container for posts in this blog.", "type": "string" @@ -466,16 +484,26 @@ }, "published": { "description": "RFC 3339 date-time when this blog was published.", - "format": "date-time", "type": "string" }, "selfLink": { "description": "The API REST URL to fetch this resource from.", "type": "string" }, + "status": { + "description": "The status of the blog.", + "enum": [ + "LIVE", + "DELETED" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this blog was last updated.", - "format": "date-time", "type": "string" }, "url": { @@ -488,6 +516,13 @@ "BlogList": { "id": "BlogList", "properties": { + "blogUserInfos": { + "description": "Admin level list of blog per-user information.", + "items": { + "$ref": "BlogUserInfo" + }, + "type": "array" + }, "items": { "description": "The list of Blogs this user has Authorship or Admin rights over.", "items": { @@ -496,8 +531,67 @@ "type": "array" }, "kind": { - "default": "blogger#blogList", - "description": "The kind of this entity. Always blogger#blogList", + "description": "The kind of this entity. Always blogger#blogList.", + "type": "string" + } + }, + "type": "object" + }, + "BlogPerUserInfo": { + "id": "BlogPerUserInfo", + "properties": { + "blogId": { + "description": "ID of the Blog resource.", + "type": "string" + }, + "hasAdminAccess": { + "description": "True if the user has Admin level access to the blog.", + "type": "boolean" + }, + "kind": { + "description": "The kind of this entity. Always blogger#blogPerUserInfo.", + "type": "string" + }, + "photosAlbumKey": { + "description": "The Photo Album Key for the user when adding photos to the blog.", + "type": "string" + }, + "role": { + "description": "Access permissions that the user has for the blog (ADMIN, AUTHOR, or\nREADER).", + "enum": [ + "VIEW_TYPE_UNSPECIFIED", + "READER", + "AUTHOR", + "ADMIN" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, + "userId": { + "description": "ID of the User.", + "type": "string" + } + }, + "type": "object" + }, + "BlogUserInfo": { + "id": "BlogUserInfo", + "properties": { + "blog": { + "$ref": "Blog", + "description": "The Blog resource." + }, + "blog_user_info": { + "$ref": "BlogPerUserInfo", + "description": "Information about a User for the Blog." + }, + "kind": { + "description": "The kind of this entity. Always blogger#blogUserInfo.", "type": "string" } }, @@ -514,21 +608,21 @@ "type": "string" }, "id": { - "description": "The identifier of the Comment creator.", + "description": "The identifier of the creator.", "type": "string" }, "image": { - "description": "The comment creator's avatar.", + "description": "The creator's avatar.", "properties": { "url": { - "description": "The comment creator's avatar URL.", + "description": "The creator's avatar URL.", "type": "string" } }, "type": "object" }, "url": { - "description": "The URL of the Comment creator's Profile page.", + "description": "The URL of the creator's Profile page.", "type": "string" } }, @@ -539,7 +633,6 @@ "properties": { "id": { "description": "The identifier of the blog containing this comment.", - "format": "int64", "type": "string" } }, @@ -551,7 +644,6 @@ }, "id": { "description": "The identifier for this resource.", - "format": "int64", "type": "string" }, "inReplyTo": { @@ -559,15 +651,13 @@ "properties": { "id": { "description": "The identified of the parent of this comment.", - "format": "int64", "type": "string" } }, "type": "object" }, "kind": { - "default": "blogger#comment", - "description": "The kind of this entry. Always blogger#comment", + "description": "The kind of this entry. Always blogger#comment.", "type": "string" }, "post": { @@ -575,7 +665,6 @@ "properties": { "id": { "description": "The identifier of the post containing this comment.", - "format": "int64", "type": "string" } }, @@ -583,16 +672,30 @@ }, "published": { "description": "RFC 3339 date-time when this comment was published.", - "format": "date-time", "type": "string" }, "selfLink": { "description": "The API REST URL to fetch this resource from.", "type": "string" }, + "status": { + "description": "The status of the comment (only populated for admin users).", + "enum": [ + "LIVE", + "EMPTIED", + "PENDING", + "SPAM" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this comment was last updated.", - "format": "date-time", "type": "string" } }, @@ -601,6 +704,10 @@ "CommentList": { "id": "CommentList", "properties": { + "etag": { + "description": "Etag of the response.", + "type": "string" + }, "items": { "description": "The List of Comments for a Post.", "items": { @@ -609,8 +716,7 @@ "type": "array" }, "kind": { - "default": "blogger#commentList", - "description": "The kind of this entry. Always blogger#commentList", + "description": "The kind of this entry. Always blogger#commentList.", "type": "string" }, "nextPageToken": { @@ -635,21 +741,21 @@ "type": "string" }, "id": { - "description": "The identifier of the Page creator.", + "description": "The identifier of the creator.", "type": "string" }, "image": { - "description": "The page author's avatar.", + "description": "The creator's avatar.", "properties": { "url": { - "description": "The page author's avatar URL.", + "description": "The creator's avatar URL.", "type": "string" } }, "type": "object" }, "url": { - "description": "The URL of the Page creator's Profile page.", + "description": "The URL of the creator's Profile page.", "type": "string" } }, @@ -660,7 +766,6 @@ "properties": { "id": { "description": "The identifier of the blog containing this page.", - "format": "int64", "type": "string" } }, @@ -670,32 +775,44 @@ "description": "The body content of this Page, in HTML.", "type": "string" }, + "etag": { + "description": "Etag of the resource.", + "type": "string" + }, "id": { "description": "The identifier for this resource.", - "format": "int64", "type": "string" }, "kind": { - "default": "blogger#page", - "description": "The kind of this entity. Always blogger#page", + "description": "The kind of this entity. Always blogger#page.", "type": "string" }, "published": { "description": "RFC 3339 date-time when this Page was published.", - "format": "date-time", "type": "string" }, "selfLink": { "description": "The API REST URL to fetch this resource from.", "type": "string" }, + "status": { + "description": "The status of the page for admin resources (either LIVE or DRAFT).", + "enum": [ + "LIVE", + "DRAFT" + ], + "enumDescriptions": [ + "", + "" + ], + "type": "string" + }, "title": { - "description": "The title of this entity. This is the name displayed in the Admin user interface.", + "description": "The title of this entity. This is the name displayed in the Admin user\ninterface.", "type": "string" }, "updated": { "description": "RFC 3339 date-time when this Page was last updated.", - "format": "date-time", "type": "string" }, "url": { @@ -708,6 +825,10 @@ "PageList": { "id": "PageList", "properties": { + "etag": { + "description": "Etag of the response.", + "type": "string" + }, "items": { "description": "The list of Pages for a Blog.", "items": { @@ -716,8 +837,11 @@ "type": "array" }, "kind": { - "default": "blogger#pageList", - "description": "The kind of this entity. Always blogger#pageList", + "description": "The kind of this entity. Always blogger#pageList.", + "type": "string" + }, + "nextPageToken": { + "description": "Pagination token to fetch the next page, if one exists.", "type": "string" } }, @@ -734,21 +858,21 @@ "type": "string" }, "id": { - "description": "The identifier of the Post creator.", + "description": "The identifier of the creator.", "type": "string" }, "image": { - "description": "The Post author's avatar.", + "description": "The creator's avatar.", "properties": { "url": { - "description": "The Post author's avatar URL.", + "description": "The creator's avatar URL.", "type": "string" } }, "type": "object" }, "url": { - "description": "The URL of the Post creator's Profile page.", + "description": "The URL of the creator's Profile page.", "type": "string" } }, @@ -759,7 +883,6 @@ "properties": { "id": { "description": "The identifier of the Blog that contains this Post.", - "format": "int64", "type": "string" } }, @@ -769,14 +892,32 @@ "description": "The content of the Post. May contain HTML markup.", "type": "string" }, - "id": { - "description": "The identifier of this Post.", - "format": "int64", + "customMetaData": { + "description": "The JSON meta-data for the Post.", "type": "string" }, + "etag": { + "description": "Etag of the resource.", + "type": "string" + }, + "id": { + "description": "The identifier of this Post.", + "type": "string" + }, + "images": { + "description": "Display image for the Post.", + "items": { + "properties": { + "url": { + "type": "string" + } + }, + "type": "object" + }, + "type": "array" + }, "kind": { - "default": "blogger#post", - "description": "The kind of this entity. Always blogger#post", + "description": "The kind of this entity. Always blogger#post.", "type": "string" }, "labels": { @@ -786,14 +927,58 @@ }, "type": "array" }, + "location": { + "description": "The location for geotagged posts.", + "properties": { + "lat": { + "description": "Location's latitude.", + "format": "double", + "type": "number" + }, + "lng": { + "description": "Location's longitude.", + "format": "double", + "type": "number" + }, + "name": { + "description": "Location name.", + "type": "string" + }, + "span": { + "description": "Location's viewport span. Can be used when rendering a map preview.", + "type": "string" + } + }, + "type": "object" + }, "published": { "description": "RFC 3339 date-time when this Post was published.", - "format": "date-time", + "type": "string" + }, + "readerComments": { + "description": "Comment control and display setting for readers of this post.", + "enum": [ + "ALLOW", + "DONT_ALLOW_SHOW_EXISTING", + "DONT_ALLOW_HIDE_EXISTING" + ], + "enumDescriptions": [ + "", + "", + "" + ], "type": "string" }, "replies": { "description": "The container of comments on this Post.", "properties": { + "items": { + "description": "The List of Comments for this Post.", + "items": { + "$ref": "Comment" + }, + "type": "array" + }, "selfLink": { "description": "The URL of the comments on this post.", "type": "string" @@ -810,13 +995,30 @@ "description": "The API REST URL to fetch this resource from.", "type": "string" }, + "status": { + "description": "Status of the post. Only set for admin-level requests.", + "enum": [ + "LIVE", + "DRAFT", + "SCHEDULED" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "type": "string" + }, "title": { "description": "The title of the Post.", "type": "string" }, + "titleLink": { + "description": "The title link URL, similar to atom's related link.", + "type": "string" + }, "updated": { "description": "RFC 3339 date-time when this Post was last updated.", - "format": "date-time", "type": "string" }, "url": { @@ -829,6 +1031,10 @@ "PostList": { "id": "PostList", "properties": { + "etag": { + "description": "Etag of the response.", + "type": "string" + }, "items": { "description": "The list of Posts for this Blog.", "items": { @@ -837,8 +1043,7 @@ "type": "array" }, "kind": { - "default": "blogger#postList", - "description": "The kind of this entity. Always blogger#postList", + "description": "The kind of this entity. Always blogger#postList.", "type": "string" }, "nextPageToken": { @@ -871,7 +1076,6 @@ }, "created": { "description": "The timestamp of when this profile was created, in seconds since epoch.", - "format": "date-time", "type": "string" }, "displayName": { @@ -883,23 +1087,22 @@ "type": "string" }, "kind": { - "default": "blogger#user", - "description": "The kind of this entity. Always blogger#user", + "description": "The kind of this entity. Always blogger#user.", "type": "string" }, "locale": { "description": "This user's locale", "properties": { "country": { - "description": "The user's country setting.", + "description": "The country this blog's locale is set to.", "type": "string" }, "language": { - "description": "The user's language setting.", + "description": "The language this blog is authored in.", "type": "string" }, "variant": { - "description": "The user's language variant setting.", + "description": "The language variant this blog is authored in.", "type": "string" } }, @@ -917,7 +1120,7 @@ "type": "object" } }, - "servicePath": "blogger/v2/", - "title": "Blogger API", + "servicePath": "", + "title": "Blogger API v3", "version": "v2" } \ No newline at end of file diff --git a/etc/api/blogger/v3/blogger-api.json b/etc/api/blogger/v3/blogger-api.json index fb2e78e809d9365e022ef1fcae6a7c76fb872723..e8e3a9d9bcca8fb5845d5d4d0b1e27f43fd333df 100644 GIT binary patch literal 95451 zcmeG_?{C{kuHWBZA?OZxdqA6X+ru5+eoGT?>w8IRBu@7gw?&}XN}{VQc_le%Q0)Ky zNRDPK$-|kEE$63#qE4)t5r^cE9FoKN@n0VN_`#yM_J8qy&|maTieJ60eMjHtlXM>D zE8o+z>!O(FzwGYb-rnw9rRh~12JFf54@Uu!!S~C#(3fXfjL48vDUsMjaHUHzxt0T61n`G?GzpS4i6%jO9Lz!- zvqY+D(7^xrI#hVy8x6gAmfl3r28j^nxmTp#Jk5*zl?NoAg-HQVlBqWbqUBzC=>@+h zNEt~wgnVcDt_WD^Cd}?Whgn_{{O0H7<8-pXAp>NF!zlSy#lbYZ31i^HEHBYOJXT_6 zcbZP}-FG{0cCW&sh?1-Gya=))oT{-e7jb+yNG9ntJPGqKy9uX*@ADuj!6>ptC8XlaPqs@W;rh@ zxvB&}y*<56!t5ZO1re=kAsG-`^%jyTKak{5&*nh};}$?`m|R6b{dMR2Rd9Jz`;u_l zVB*g|dtsKPnRl6Hv!GB6h;8x550k|VM)|i|nBseQqPS6hL+#(zWzW}!+@bL*s70_f zW8c)llGCld>E>+>bjy3=bV7>--sk_ZfQ8i@(=YDkwCwXDgJrQCPBIWpPps|pBK;O3 zxt18Grw!zO+5@@16bH~{6~A4<6&E^iE`tR<@c)y8(rD760q#Li1SKEfhX<=*4(mHy z1)66H-FpZ%vv3*(O$g`-$blkVq8q3XpSZ0nC`s!%1{`2P@ONy^bc=o)`eN zY?Msm#WaLZF97wL6;Tiyn75+|d<$3YA-@4Vng!5q$NPdtTKSg;MnY0V0DmrQBq0BP zV3NW*kVXWUb%Ob@mykNIygwFc5xk;?SvXI#BH!^&!ao*K7EZlI5~JCH9brT?MWCT4 zWYF84H-M>a3LvtGTggQQ6A7CFtf|Q&%W!oq!0K2PIvvq%o`KzSHv$=NmY8VgtT2Cr zz9(U^$dX(!o1hq&6EF*sGs5JHqa^e$z>5BsZ!)cmG=)7wvXl}v%|yI$2AH$1>%E&G zii3+d#Ki-+Cj3)(Z@$RDW(CGX`A@cA_Btm{TFOq~xqV=)3uLc5FUT&UA`7xRPv}iA z$n)qb0e*zR10v-s?_yDS`E|O8r(Tj4Uif_yLW94*@g~<`zf914*#t30jlGzoAV(cw zMa*G%6-@3t(E}GzkxtT>a6#(J`zhSH+VOt(>95~`JK$GPun`KK-~GRBc@F0iBI`uX zXwIe?WWnv0;jbIt70`XOuI0+YKR`CZhN(6wGSiWnhskAHe?(dWOy28Mqdw>%Y;0ySNjNqG{#nbcNDt{L45fL3Wm(wBtFVDZ)hj4}&q=vbL$&!EqJVb`TE@lTW=t?HfL2 zQxX}gM!0G#faiw7W<;*xbSar+U;JzubMl$5U|1!vY=fV2@TR#^ZA0y<3Sy4F0%r2E zBk-P3oq*)Zu2w#7ezF^cX2YsjZa(v8!S@k*1y~N1J$$hvLk3uYu7a(wZ93KYYqvOZ zX!)sT1mlP3dRp1!$(F_`mHhE^=%bw`H$`Am;dWYkHG_zwZHbZO{$I235{do3vWE2p zVIfuCN5f*4jxw7U(!gxW*=8AI={M9O{OiiMOYa}@-SV&Mgh?8#t{zayU223t2z?O# zk-Mx%>APj&4(_Fngt|~cdItN-5Wkn$D=aGoBz`^}iG2h9d80I<>9Ag&>ZGaV=i%VD z^YNF_;QZ|PbTrr>{yH2S*z^_kJQ?gA3{ISy?wyT4esXMja5OyD^R|SY<8k@iUtgOx zw-#(5*{}P>BsH{qhoz=i zWU=$MKoIic4*GDsztJXu^n{p=W~w-$r7U;Z0RWg<(Z{W#<>;%bTB4JnKm@ch9Ni4t zhp_B>p~`OcB*`DKP&Kc`UZP48(x=9B*N7QEj&c;K;QL_LcvGexLYJJ3Z}=ZvanRRU zsAA)$uVqWpwK6l!#7VL#?}m$fCHK&lMC@eqWCma;pxNS=K;4=CHFK%#ewMV-30N1 z;=AI#UX*({94j`|c<#L90v=82U~o7X!`4S@EXfyhMw5KL#u9{R;JuR>#Vz=JTUl?9 z)-Br`Z%@;BYo+tsTXATP=od4m%ls$5H?GO9rLUqoVP9r6uB?8uA2yg{W&*F~ni;f)n`KHIpSm7zp>i5f->FXg0z$Do(!l=OI?+uB~DW6on6_FMap6t0H=$aR`dtVaa$VEn3XhRlvb(`2dt4+zzj&mOv zIozAWRm;dzNn+Npwh5oT@O)t5X(CSV{Cb+suMYLvQ`@1K*x50~v3+`?=A{(lbk@Wo zx~cRTt0@~v2n7&nVLLpuIRn8O(!2N<7BLOzxl7;8@`OMJ`EhvJPV=S?&*Iu%fO z)JxGdBEN-*_~2+Xc1;Ez4UP|n#~(OVBbgRI{nOFjk={cpn{nDgK7T0Q@2&0UY;AMQ ziw7NBoC4YxF@TpCf7XcFGL!H@0aZF|yy^(G)cp zAepy@somSrh&j$lOjzyhXxu~iy&a9*Q2l{u$78pnd(*Q@u=?-*vobxmmEoyX5S+Xe z@jnn2a2EQao+e>ckiGp=XHW5$V^YNo65;mpQ^|YtD$5l4Y@Llm=@l482Q;)n|_-og)ipkQZGR zEOZv}C)5in&0_5|QS6ZF9IAZj2Ti5h6_Y9f+oI5~Baac*eRds{mwiyt!jJ}Kpgd9V zYz`DXxd=yB8v&d+q)&_aGp8rqB*Sx605wcA2W-&w@ENMKtcE4cCu~~h1>%c53`x*= zYuwara&iU+qp=*Ny?YLz!be{K>E08cvmm*0NHcH`9zp?PjzOe7OgiD+n}fYCr%p}( zNiAzDt2z|^zJ++;V|U8nsxhy}b~1LP#?xZ@QJL8_2n|xUt%P0sd<#k1rA1DM73sUR zOU&(Jcht4;;a*O()!7w#!_GY)T%qaccXHe!UYhr-^sEYk=T%Hp5T4yH%85Ti=YkvK zKbGx%YpV?F*n?g62&6?j6Rq?5l%_3X$^A7!FIm2q6A}~fNrB8~v$IBn#xC;Qt4u^UwY4bgwsX1#{~HpZQUKkOh}KA7LZ>sTr7V zg~_D6v8Nqr>BNBzjG(Huqcf{o$ic{-STPjur7#8RRE_o#4AoN1JSjP*MY&_D0v#6O zu&7Vc6f2yS9Olf-Hd3dpG28XQCp})RGVLX8Y5P+{>mP;M>>3YTNRRu}&;uT0IXKz- zb*vZpLIpl4|1u+SNR{{7t8GLIq`6})qM%g~Td;Q897aKNr$328>m2P%xHH<-z8PU_ zyb^lzja6GW|7dT#|BJ_Sl0Vbx#$cA-xSja!m6+mK zPO6{U9*lND3>H;~hqxqRzPJFRnqNQ)xb>|d`;O9p7&xW}x2~JFfyBStgipID*3|)a zxzTTZi)%X0z+Qppxb?L$cXRhU5{sc@{je*+VAy<9Pn>P|HBKoqkkUfy6@`?E@W}~* zDyE)}qS%g{v-1Coam875SyLRHkm@62wG>QK53hj+3wFAQ;lgHIig>N_6rI9w-!oL7 z*(g?^R1>6%lh$SAz@`$*GI}qtz=QuF#-P{(ym*0S;m;Q%uNL#Esi0L;UY${Mxw(D} z$ugre*E0VoO7op^!kpOa1ye7Ws5XPuYsherFbn%Fx7{VM9aEHbzx7-0HMZO}8ZGmX zs(T_jZY%G)TXhn4e0C;HLUHv>kWA^SLN9_V_P|VzvR9~%@C?*>c`XfIR0O{}+snF( zjdp)vN&{X$Q$J+Ive~*tiEwy@#m-LL;FQ4SYm!xBe#R!^U|H`tCa*x1_vwque?HW< zEX#1-NI{9Z1Jr!$$F43hccRI`Aa#vs4Me>!A11~eE`K*fWRW7o< z4B|ZGI9kffTBx?`bXkVY@ZEkKT!gWMF|dAcbEBQ=vnfbfDRJHz(p68+4Om;0j;Z>4yXIAe9?;uxq>V?k@7fUyZv{OEgr8Eho&@~VFHQWsj$8$#~w2`Y_$5= zQ&2?dnvRTUcF~WQqopLX%!VD$McEqLLo@BZ$Auy}E=T+J7ndWYoR+6;n{Ps4> zLnN>F>hl??Pm7T4m8V>s^y#?uU%v<$D9??QChI1sy93)4Awv&BUxe%-1Z}^CpQz2` zeI|=Mui|gGep#{5E*&3+(wnfH!+MSQRm&GV7H{vGDTeO(gt{#fOV+xyZ|l$PEO8KF z?t?m|1;MQmeC$8htiax%>}`0zaG$v-yvgkhfXxa5_L+;N%&L5FS=_S88qSM8b5SC% z{Cp@JK6rUa#sgYK&kM_3?44}S$H~T;>FvF1FEOc4BOEYGXuV>Tn>yH_at{pQe&(f2;cS|M@yE64V-$%5JMJ~lX*Y1sHP8Fq zfRvj3N$DjfR)5<-r`WyTjERa+^e3fNay#iD1F8sJ+ftW?_gbCblA9ikhb*3^dx5W8 zd&8=P`pC{2k)0Zin8Hw0r)$N~H5Z0zUE~ET=Tk{xDD#4!>sQ8Svx?T;{?q)su6bWW zyj+glHpe-$1VM#^1)PIfzNaRZ9#qI`(crQtA)@U55EK5BrFpw;$Qhtd?{{HA>N2!o z(m2Sx`7gV>x3{-DS7~|`hrv9`cP8m3)``#aR|(Twa2C0lqxAJhKU^>Vj9u&4PNKl>Z(&t?;fN zAwP>}4Fvh~ESmq^5!$}A^6y$m>q9Qij*SFR*h+6K@N7FDV(EXd0xCMA&&8CZN(lun? zqJ)=>I?Q4Rg;D@ByW8>h;@jX(AQ;&DFUaN{^8wa6i1CgmcO;4~g7nClNc23!$RH1! zW$7r6o1_bzISY?!Sm8rlugIEZ-z87}ckY$2+96Z}+t^Sx)U7J{4CGVXwK8> zI{Ha4<7ui})Yw5SYFfS;IT_@D9=OA zn~WGuKq`(1Dr88qj8Hw=rM25@k(&Nrv+xpd=Hq+xHn$|YPJYQ}G?e82Aj<;Ae#dsE zar`Z{PP_5#xODXwLCU$^smKKXUud-v|$|9G&`311fxsL9)F zNZC*u3hx%wVwn#c8m=vrY|If}$G>*I)rp_I(a<{?oQ^$ILU0Q?r2`0nl@adU^D$lW zvNoAqt%{~4UTsJY84B4qcd8YK4LxtLo7HK9s{0d(b|#x&S-jFKi>?QPUuK9AfULR z0p1}*T!S3nqs?o69nC#3jRf+t=;|6$_R<^h+i|Pg0tU@annd{CdqB*_ex0b$J9dzJ zc|=GWvTClQH8u(}#bt)2R&BP`_70W+}En2qOaSL)UnvO;4!%q(9vxPzAL{5mbtd@sIO%>Fmz zoqbJCKqub_yMkX7x_Z!8xyVV>kOdh`r9EFI|# z7lonPH0JMQpYglOn(}W9jkLudofv7Tk{Tkgk5BaO$xs@*tqn!&Ub8FcQH+qXw{v4B1e}Yx0@Ey?*1V z+Gu?HmEbHzmchjj=>xPiF61Hg{dS1&bf=4B)K zspHNjgy_Sva)TPs6}_^4ex`kQ~<-7V#d&olm~ryl8ESA ziq`7He?2@Y5&9G65kp$Xd=W!PcuKq7fIO+V<<2+qdRar5gQL-SI5;rLOMf&tJ{TT< zFt#}z?H#S|%n?&xHP#t^4>jkzi-R)np!XQzZV9tZZD^%trx8@iHMk5r3ZmAWK+PE_ zk=C@ns}22qVH{H+l8K&Fn>5H}lkz?!hOcIRm~^l(ht5x>F+7@nvKzXN#Rc37N%EZ_5i__7Q<@bI}2e+VYfk>&vNitgN zQSZl;c&dLYInQnO>dnEySXSUEO~P9xNmeDCUHmmb~_{2}~`J zo0!qtI4WphqNYVw^Zv<*@bKj<@UQp;zd4hhG_W-l>B|Yf!LnUQ4>sF~XHCgwht8 za02yEnF|m{pjA6A&vT=8qGOE9gWYuMDlGGO(L48hf=9}-%b@dP)SWtw)Vl7-W2E62 zW87IM&FL_SNChm_Ui}b#U|EG2KK9&mn=* zuqU}%N&KRHPw+xQ6Z3BtP;LdJONlcq~~@B#;fUoV)?W2m!ZO0tkZ;3wH= z00V!3u-1C-@bG**JTjhYtaTWF9G;B7oFD9cIdwrYfpj|fJUA9zY7(J3u>AdNV-?Hq ztDo)c&{|JtnB5z8GbNj%uFgX5zQ7hHHdXxIG;(S~Gw4^H?^UB}(pXSpoRh@Zz!g#> zSrcb!s!cpq8;Y_6&FGO-NthJVK%`Y0br79^*YZell-l8tm7*9uUSK@FKqLzAY&>Jk}SOsw9tq~vNXNh8S=PPyHI7N?tdavoPa zh1eb4aK`0l<7X|BC@Sy1I~w-A}(^^XIi z+13aWrc;7prO&dWu3K^&p`z?W3+yU{Qhqf1Ibg$(#^$=IfIMcaU!ggW&-^&ylTon&{+OnhCRdMo zei-yxn|}9s-Zq~Hd`_pJgOL*GSeU0-0hi+i$&R-lB;Ey;GXXh(HQC^35fpO96Mz96 zADerWJsIBG`O-xQAbfhIz%ifVUQQY4I?6jV!j39Z1yT{u+==0#{8CxN8$}*J1AAQ&aH)R!%_MjHgHOlf zb82>e`tj3m=Y#(no{nwjDJq>l4i5&)PBmwibY9*WFihJ0PV|ii^$77?OnB<-6-Io!%!hIqGa~c+_l-^I2`_1 zBDbQE_+M31D_^Cjm+YZKzkG(DYGE^mrEF^&$6kt3j?!G|NY|_9;-QPg$#!YHEb)jWUZj9Bm2{+M0!evOQqL@Na=mTGk$nk z0O}w*-S=7)Q7o@hGFaVq9b`S_C$hgx0{nFUYhqMhRq4q0OjG zZ1P68x**I9H-{K&#_LuI^@81Q@(tzWD=&{`Q5-;J?$m>-GBem=WuZ7~ifwoWxE9FW z=B)urX?Om}^42QlVv*{##I+6ZSzCHdhG4~PwIKy6(X3dpn=8Redfr&j)_~3%>u>tco7>efCpT4Y=ONU}5 zkN5N?(7#%-&yea+ZPuW_{6uH`7*&~}W1uj_e=VS} zNaO~vbYuu16j)T#WDKY_ZP)VF^pJ#T1N=4SLb?bUYy}bc1b>u&1i6V_j2Z`1gZpZP z!-2Je1wm<3PZeKMS$VGTS?j6dxVn0(wOKT0phQx0yI*ZccBmv|ZZk;h4I9L>DiyQ; zO}9ac<@p7ee@-DkQD+vb+sXp8xKA&@(}c8owRFsNYAwon_f{h=75U>o5v#F-Re}t# zB9qFU8a->f7N~6U%7_ZH4FNVPt9#~)8B|BadWnkvI~KlZ__Yhx*F5*seYpr1M(yhA zx3_vAIkYt#&?pir`$;2kYDk-JMK-*T2q9%}wulen{P6$;lrx*by(X8H3#-JLBYlcA`)vQ#H{3}^!}xTd8>-K4UCcy)FY sO~Mh}>JCClluQ%;CCw3cOoknLnz3Dwq zCj&{a&4wZwzSz;z$$!7y1qcEpD87i2C08?^#3l(~vDjVg3wH6>0ekYv3uaG#WKU*Z zG7axUy!b~flJrC*)7XnrFASa>!dD{YH~7`Ro@77#d?vns`~9o)%b!0#|KVf$>W5!m z{@<66r^nNyFPHDH-+p`b?;rm2_u#kNUp{>I)1TSzFVFA38=wB`3H75#`Ax(Lb`E{s zeM_%A0%PKbH#Z{w@$MBp4ES6akLlT+(NumFi#soW^zy~a7x42Py-2;(r}nR9dv-iN zlW-XGgV*qwU57E_)2T=jmWC|76>P>+&hEYR)(e>GU_`CM`#{7e;hcNa`X&r-d@-7a z^WyEV3hGnGRCIIX&H0T;j;O^^6o<2H znjR?}JpcClQ54)@m(b0tmwmf=^^&?dU|$I#;WV3zAmxaXb1(R0b~_Vy!Ve?ByV<+y z=m?r7N3TXNj&4Mndcn=dB;|1`W;AJ^PlS)N{wIR#dvg!oeB^iBgEyYDFE3Q@36VZ~69y^J#q%owmW9`hN0IMM ziA;{lo%*4CfslO8fXngaS0dDFPx!N>)6_48FQzHXIf=y7yI#PD?Eco9-ZI%4vZ)tL z{cI-Sf5sVLJN39wV@^xOfpNh@^j6Hd7W3Fh<3nmT^ytu9 ztZ;&2LOlc)haEQcOw3JzNW%F$(7tdVFralUcXbk1z^wm$`TkcX`(dyZ@#izOqYx_- zP!U2*bs&Egbvzd?6mOK$qWfQHn^b{5AKmw`(m-bNpffm7*r2m^R7TQ3~n-D?B3(% z9TWrOc*yA??w?-Z81#Q{Fkq@GHkk29X4!aES}UdRD>o$FZu#2 zA_a>FSPF)xZcyzi;AkMSMEKXru;_>R4;SZh;wC7_-7Z)v>z=|U=bxowo;U#j`C>UD&b@^2Fs5O(gneB?L}d*2 zg2L zT+=+FY?_mXvHW@8S%ec^7lwTfjH8C=faHw)72RixXay+Z(hg~?b4i;$%#~N(ApQag8BOOH9xgCq}wnJlVg99&3_S#Uf_xDI_;+A5XkjKVKVoUgj`DG!?D&a2Z`j))8mtOXTKh@;}2JF-(MUe zLtmU8pPXJiD{mx-u~o>E+);I0wS=Ws;U@!JOY|&RK#Pk?IKVDHA|gI|2CSvd-Gpc( zrI7KAPr@u^oX}(WF*eOWZMmn!I`&$=3FjDgDJ^6EwBrg&>$8_NA)D%HD*&2|2xW2p zY8kT~HFebo8MY2p+;jkS?AdSvDV9>xV$)dgG>l!t&FdTzHV*4_eyjg)62|X%%41XE zcVe=v<1L+Qx3N(P)DtaiEr-!nf}pRx^`-*II1aBpUy#|n+$~a)LG9?5Vq{V*Xfdsf zKIxPPf}XY`=s~G%IUvi>FqJ{KUgC>S(~SE}bx|0>a#;2bSS^p5y}f#O&gMM+ltmkN zyL!Qei2TJ>xaxA}be}3O80yy8a|^%c5UV}QF&yz&vUn_ zBD_v(f_-cS3oZv_+0v}Z*OF7~-_qTZPyQ*!-e7H_%tuFvJbFXM5$cM`vkiD;%ysDM zlyPcs4u^^PrlTgO&Rcbx@F_IPQC*yYu%&Ka_eSpVRdbR?5hn+53-`qvQ_yT)1~&OH z%+D;?0`VmsgVJ(ko}Fk7B((GbX|%`#6b8!)hJBMpbcl|EFc3_90RWP6ye1ZR>jDA$ z_Cny#C1BXZJ~p&tMdkG9!3>o#sg#e)O2Ij;%|yYaR!H2adEy#(rtYVQ&!r8*MN7Td*QCUYLq$Kl(*!`R~$L<^^aXFnLEot4`7`@+w5=(6Kx71)s ziWTZ=K4!w63J>1L?ELJvQ}hX+Tpa&&RdxyI$I-h(K`krvkstg>^K&7^2@nc53l(xu zak5mz*StcqYf-N?g*-sOQ#tT+DC~nVX}w4uM*XrC+-smRmtZ)A~ZchN)(}icBKtH3!Ep98fmHZ!J`UE)##}; zI;RBD)u+EbF5>1Gcx) zE_*1JlME}Mp&Kx0FeR=9{w@63=rXdry6>)eW1@!}5h|!iD{K-|K6htf1lfGD>~QtD z8WWRD;FmO;3HO2OS(r_HQQZ*z;AZ84!{DaJ$U$F~A|JX=pGYDetkf~g3AH#(L1oz4 zh`r$fo6sq^nKbNUf$3Vf6LFBdk&GUQ`v(c5YBuQOfx_%R5$BPt&VcFjEwB~Ep-(xe zxw@Cg6nJ6>IZUD@N>r7^cu>I`A{}R%hvmYcgPt%%3WyaDtPbrOrYx?+(!bBzP)EJyjX4)aw>80&9CH?I^M*T4xP&-hc%fryI_?!vMgR({* z#9Qjr+UR|6M9SWMXpX2nWQjNTd@xP`r(h?{zd?M;a}D^-M!c=LG}MnolDbV z7u0*uCzB#e+DJn=oq6f7St!yW=1N0xXeeu^x|V4u|HkYw{#P;Y7j}vp+{W%6&aO#IzwbD*`q`crxWkeUJK7^~JuNkc-8dal=c zz?mAzU0mVGT!4;0GxmcUVeST2snwCy#R$LDw5n=bQdY*%Us4nPN>$Y0PiYc;)n8-r zwRbcyw)y$=s&39d3-X7l2q(Hvbs-0syce^{g2~SH%QM5BQ7NiPPs;{cM`A0~bpi?& z9S~vq>0(ut5gK4g!QzEkC65qRVT3vVGPcY77{E2wl6l9!c=K$|WOSl9a|0koneVd+ zpMH{BT@Jn5y_m`RGH$?ic|RNSvhC9WsRcq+CV!X+wcm4e7=;*IAjZOSgs1ZKBz}G$ z#xwQ}^6xjys0Cm!NU@cywm=8gYzw-2AJ0e$`)3Iahb3B*fBuoT&;3X)4cS$9ByXq7 zCF=3o7EC%|94(W;R_ z@-w#}nk+KoU27?HA%MzZ$<*O#ltXkPZMh&C=qy?;hGGRoXIZpo>Bqv-NKuc3pV2u9 zoSInWpIsbneAvc3>CfC)wcD&TmmK2$ns^g`0hH^*dWc42g!J07XP@5GL~g3!{O_&M zDzPqr?p1)3jOQwbmsj(~PyfVX;}VbE_ItaiRtMog9_Bo{1Z||7O@eIK?N<}b{1h-P zMj$REOT)~3JQ{#C;PbhvShEq$;?-!@h@D-t00bq#E{zR&fq;jeHRbgoAV`*wiK#}U z77r|c5C-;Kxh5SGt`?DVNvXzO9B6Y0v!-q=nWt9!DV~D>Tg^kEP7C+UDFfSJCYY3U4X)!oA*yn4orfY{1e-oq&W zaJlE_h+Gv%f5{UYUyt(UM}Mi`@L{VZ&1qzh}Y=ZRjXc}gJT6cFn_7q(dxYKGMwb@ z-OQKjyVcpUh8?AHQpb=dG`hi&n|0l8KQGGV*>hlb4jh)9mW4GmFEvLtR$!zy(T`1W zQ8oBs<)Mm7Eyu0ot>FSTD==088J+pnrwL@tMxG+rBEzD%W0F!bz)H|X8?{B8*E=uU z89LWRd2UMPhEZf)9x)VO_&oB>cG|ctO?Ib!!3y?Y&3@ zR55-Yf~--e*S5ySX)tlD*VV@Bv2S)m3mV?>+$`~Z^IT~+k-v%u+R9dw)q3Q~+|Hip zK{o*@xeCCB6JEfvCp_)vYCeaCAX)Jwq>*u_;XOo|Q6x>F<3uM@NoTn{O;+^pI$hbx zl||#e4rk@`_Fm5aYV|yWHb^Lv|8h3!2IHK6xsYCWCx|^xArykR#;H2oF@&gkR=Wei z;FZQ+keMg8z3Y6(W2zitSA6b*ia-~0_vW)x9%HidR&iRFKtOfl7ju}Ln3;Pny0*=~ zl`dgELYGN*P2i2Crrh#70sqW!)xB7=cP!@Noej{Ns(OPd?^D6U|^Ngo^cosH2!ByW+#xuUg!#A$UfwD*6lZgCkz6ti3o?W}{mgYxKbk8f6c?5-+q zrNi7%7hf-4+hv`WD2?jd2Gwy*x*~QD!gv~kw#YcxVziU&wMQ46d+l+rJ$53PwP=rf z&1|okZI@=&b^Cu@+dbm>IJrc6YTWLPZ&wcv93^HyD@DHdQEz9|dmr)M0bj3+C#48} zQ>iLi!;D5Lwjgq_PdjLQ}4yQt%@UYs2Neral?|5bj#eW!nE zx#~U6i}TCM1=1-%2%t)K>8%&13$R=k_UZJ7W{JRx`ju8!Sk|$)55Q`RP7<_nhC0=} zM(w${Jz`U=yM%2UPN7ljwnxzLTiAl(zm-p$(IW5cQ8S5xA@(TqaQT6u-&+X}HNl3i8iq}!4+vb=Y$m8j4!xkvN8N%cnA78zB zTels4peq(~4Nu;~D}5s@$s)W&2L%!CKZ%%gkXqAq?tOm;M??XWl#Z+Iy*$4+2!sjk zCdqA>`7UnP zw~CwFFo`e0(kz*eS%S({Xr%e=DSA)QIYrAotbwA{M}w$=A8IMtRs#3x-Cn&@li#a% zyQ1D5Fe}z=UJ{c-(($N@*+utS`lWMdD?}qHldxJ^{}6+d^bWXJzdk!b8&)+c8t4nZ zo#iEqi^^qca*~0$i!OcX`iZ@pTg*98wHK%P9b=_CUUp_fpYt!(8)Ml@URE>Zp{U%A zs9kbPXfL0^~{M6y%xWiTb(^puzh;<=0o| zPg+OKXp_tH)n@t_NPcm(bFhXs=4IF2f@qfQvYqkhA+kZYLI$oQwr>2b9fy4b?v`SJ zkH^|CS$!p?LmquEoR*}(OOJyWuXpgcX1W}( zvj1p>TnTL5t6Xo5S<^OG0(Xhs&6RjO`FthL*kG;%QC{cbw!OTQn zR_|9X*FxYLcAnwjM@XNk^G8LDAQ7_i2by_Cn1Iku#wckoSp7Yp^dWwKEBuIIA&I&7 zZ`cMwJG%C!H6{cO+`|?=o15um{m|rLA9OJq5DW*cl*?kWTzMjDP}M7zvv>L`!r5zc ze{*ea7$5Z3DR9N^_C#6cg)cDd6+)uNFO2*&j@ zRn48d$#XAWH=B^DIcMjEYg0NVN!FI>m`kE~Ez&VfQLxc;Ov&&&YHsMO#4A@LO7mm4 zEd*U-(h_g08V>77nWeDv7N^WQM9}6$mP_z7o+#*Wzr%1x2ezaR?>=b16+!#GGpDtv z?kIxyM;0FV$bx-BVSf~1e-vSdjv|x^y6M931`Bun=NO)1wGE?mfYfh>J=lQLUDM%) zt@2$YQ||Ab7b}|z%XR;)4CpJ%p`p|Ou~xfM18pLvElUlc_u|o(8rVBE8fLZyPK`A? z?sYXJV{H`tTN)W%{me)K(*xu^DyrGpyvIS{@4CyCsi?B+?T~}4v8;vM=vtPwuuJF< zTGoP+V2m1bTqeg9`7dZgD5kveu==wa9xWH9*K`**#w`|Bz0Jb+Y9*ybh^bVxfaq6I zmWO0;ISiH(H1W#Lu2~SeR~Y315x}7(B7{7|T$G$p1Ox&T1dbPG2@qAn@8FGwfM9zH zRy2H)z#jGNFhBG>&0@NpnhJ&^G+bFlvW)`-x)6I(GOQ-TovG2+&K+EmJ)~%As$4>n zsb%F7TQIG!a)}D-KSbq{$0=|g6-7&TXahy7k6KZ5>D$(UsY~sW<%hFP< z+