From 862842f62166f2c84efa24cf1e09ef644e3ceacf Mon Sep 17 00:00:00 2001 From: Sebastian Thiel Date: Sun, 18 Oct 2015 19:29:28 +0200 Subject: [PATCH] chore(json): update to latest version --- .../v1.2/adexchangebuyer-api.json | 21 +- .../v1.3/adexchangebuyer-api.json | 117 +- .../v1.4/adexchangebuyer-api.json | 4193 ++++ .../v1.1/adexchangeseller-api.json | 4 +- .../v1/adexchangeseller-api.json | 4 +- .../v2.0/adexchangeseller-api.json | 4 +- etc/api/admin/datatransfer_v1/admin-api.json | 411 + etc/api/admin/directory_v1/admin-api.json | 1182 +- etc/api/admin/reports_v1/admin-api.json | 8 +- etc/api/adsense/v1.2/adsense-api.json | 4 +- etc/api/adsense/v1.3/adsense-api.json | 4 +- etc/api/adsense/v1.4/adsense-api.json | 8 +- etc/api/adsensehost/v4.1/adsensehost-api.json | 4 +- etc/api/analytics/v2.4/analytics-api.json | 4 +- etc/api/analytics/v3/analytics-api.json | 12 +- .../v1/androidenterprise-api.json | 134 +- .../v1.1/androidpublisher-api.json | 4 +- .../v1/androidpublisher-api.json | 4 +- .../v2/androidpublisher-api.json | 22 +- etc/api/api-list.yaml | 31 + etc/api/appengine/v1beta4/appengine-api.json | 1423 ++ etc/api/appstate/v1/appstate-api.json | 4 +- etc/api/bigquery/v2/bigquery-api.json | 118 +- etc/api/books/v1/books-api.json | 195 +- etc/api/calendar/v3/calendar-api.json | 136 +- etc/api/civicinfo/v2/civicinfo-api.json | 10 +- etc/api/classroom/v1/classroom-api.json | 1109 + etc/api/classroom/v1beta1/classroom-api.json | 0 etc/api/cloudbilling/v1/cloudbilling-api.json | 343 + .../clouddebugger/v2/clouddebugger-api.json | 913 + .../v2beta2/cloudmonitoring-api.json | 4 +- .../v1beta1/cloudresourcemanager-api.json | 400 +- etc/api/cloudtrace/v1/cloudtrace-api.json | 385 + .../alpha/clouduseraccounts-api.json | 564 +- .../beta/clouduseraccounts-api.json} | 198 +- .../vm_alpha/clouduseraccounts-api.json | 564 +- .../vm_beta/clouduseraccounts-api.json | 1355 ++ etc/api/compute/v1/compute-api.json | 1434 +- etc/api/container/v1/container-api.json | 690 + etc/api/container/v1beta1/container-api.json | 16 +- etc/api/content/v2/content-api.json | 2077 +- etc/api/content/v2sandbox/content-api.json | 2175 ++ etc/api/coordinate/v1/coordinate-api.json | 9 +- etc/api/dataflow/v1b3/dataflow-api.json | 3148 +-- etc/api/datastore/v1beta1/datastore-api.json | 4 +- etc/api/datastore/v1beta2/datastore-api.json | 4 +- .../v2/deploymentmanager-api.json | 1394 ++ .../v2beta1/deploymentmanager-api.json | 18 +- .../v2beta2/deploymentmanager-api.json | 45 +- .../dfareporting/v1.1/dfareporting-api.json | 4 +- .../dfareporting/v1.2/dfareporting-api.json | 4 +- .../dfareporting/v1.3/dfareporting-api.json | 4 +- etc/api/dfareporting/v1/dfareporting-api.json | 4 +- .../dfareporting/v2.0/dfareporting-api.json | 374 +- .../dfareporting/v2.1/dfareporting-api.json | 378 +- .../dfareporting/v2.2/dfareporting-api.json | 17672 ++++++++++++++++ etc/api/dns/v1/dns-api.json | 13 +- etc/api/dns/v1beta1/dns-api.json | 13 +- .../v1/doubleclickbidmanager-api.json | 94 +- .../v2/doubleclicksearch-api.json | 10 +- etc/api/drive/v1/drive-api.json | 4 +- etc/api/drive/v2/drive-api.json | 141 +- etc/api/freebase/v1/freebase-api.json | 4 +- etc/api/games/v1/games-api.json | 6 +- .../gamesconfiguration-api.json | 4 +- .../v1management/gamesmanagement-api.json | 4 +- etc/api/genomics/v1/genomics-api.json | 268 +- etc/api/genomics/v1beta2/genomics-api.json | 12 +- etc/api/gmail/v1/gmail-api.json | 10 +- .../v3/identitytoolkit-api.json | 25 +- etc/api/logging/v1beta3/logging-api.json | 861 +- etc/api/logging/v2beta1/logging-api.json | 318 + etc/api/manager/v1beta2/manager-api.json | 9 +- etc/api/mirror/v1/mirror-api.json | 4 +- etc/api/oauth2/v1/oauth2-api.json | 4 +- etc/api/oauth2/v2/oauth2-api.json | 4 +- etc/api/partners/v2/partners-api.json | 1378 ++ .../v1/playmoviespartner-api.json | 1131 + etc/api/plus/v1/plus-api.json | 102 +- etc/api/plusdomains/v1/plusdomains-api.json | 82 +- .../v1beta1/proximitybeacon-api.json | 822 + etc/api/pubsub/v1/pubsub-api.json | 1036 + etc/api/pubsub/v1beta1/pubsub-api.json | 6 +- etc/api/pubsub/v1beta1a/pubsub-api.json | 8 +- etc/api/pubsub/v1beta2/pubsub-api.json | 266 +- .../replicapool/v1beta1/replicapool-api.json | 9 +- .../replicapool/v1beta2/replicapool-api.json | 7 +- .../v1beta1/replicapoolupdater-api.json | 105 +- .../v1beta1/resourceviews-api.json | 11 +- .../v1beta2/resourceviews-api.json | 10 +- etc/api/script/v1/script-api.json | 319 + .../v1/siteverification-api.json | 4 +- etc/api/spectrum/v1explorer/spectrum-api.json | 4 +- etc/api/sqladmin/v1beta3/sqladmin-api.json | 4 +- etc/api/sqladmin/v1beta4/sqladmin-api.json | 165 +- etc/api/storage/v1/storage-api.json | 61 +- etc/api/storage/v1beta1/storage-api.json | 6 +- etc/api/storage/v1beta2/storage-api.json | 6 +- .../v1/storagetransfer-api.json | 1033 + etc/api/tagmanager/v1/tagmanager-api.json | 515 +- etc/api/webmasters/v3/webmasters-api.json | 14 +- etc/api/youtube/v3/youtube-api.json | 215 +- .../v1/youtubeanalytics-api.json | 4 +- .../v1beta1/youtubeanalytics-api.json | 4 +- .../v1/youtubereporting-api.json | 522 + 105 files changed, 49330 insertions(+), 3677 deletions(-) create mode 100644 etc/api/adexchangebuyer/v1.4/adexchangebuyer-api.json create mode 100644 etc/api/admin/datatransfer_v1/admin-api.json create mode 100644 etc/api/appengine/v1beta4/appengine-api.json create mode 100644 etc/api/classroom/v1/classroom-api.json create mode 100644 etc/api/classroom/v1beta1/classroom-api.json create mode 100644 etc/api/cloudbilling/v1/cloudbilling-api.json create mode 100644 etc/api/clouddebugger/v2/clouddebugger-api.json create mode 100644 etc/api/cloudtrace/v1/cloudtrace-api.json rename etc/api/{computeaccounts/alpha/computeaccounts-api.json => clouduseraccounts/beta/clouduseraccounts-api.json} (83%) create mode 100644 etc/api/clouduseraccounts/vm_beta/clouduseraccounts-api.json create mode 100644 etc/api/container/v1/container-api.json create mode 100644 etc/api/content/v2sandbox/content-api.json create mode 100644 etc/api/deploymentmanager/v2/deploymentmanager-api.json create mode 100644 etc/api/dfareporting/v2.2/dfareporting-api.json create mode 100644 etc/api/logging/v2beta1/logging-api.json create mode 100644 etc/api/partners/v2/partners-api.json create mode 100644 etc/api/playmoviespartner/v1/playmoviespartner-api.json create mode 100644 etc/api/proximitybeacon/v1beta1/proximitybeacon-api.json create mode 100644 etc/api/pubsub/v1/pubsub-api.json create mode 100644 etc/api/script/v1/script-api.json create mode 100644 etc/api/storagetransfer/v1/storagetransfer-api.json create mode 100644 etc/api/youtubereporting/v1/youtubereporting-api.json diff --git a/etc/api/adexchangebuyer/v1.2/adexchangebuyer-api.json b/etc/api/adexchangebuyer/v1.2/adexchangebuyer-api.json index d217abcaee..bbb72b260f 100644 --- a/etc/api/adexchangebuyer/v1.2/adexchangebuyer-api.json +++ b/etc/api/adexchangebuyer/v1.2/adexchangebuyer-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/DwJSYFvXcf8mrS1WsFZlxGOERvU\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/NUnz0H_oWow0qcTRC55iG-5RpbM\"", "discoveryVersion": "v1", "id": "adexchangebuyer:v1.2", "name": "adexchangebuyer", "canonicalName": "Ad Exchange Buyer", "version": "v1.2", - "revision": "20150720", + "revision": "20150909", "title": "Ad Exchange Buyer API", "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "ownerDomain": "google.com", @@ -199,6 +199,11 @@ "description": "The agency id for this creative.", "format": "int64" }, + "api_upload_timestamp": { + "type": "string", + "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).", + "format": "date-time" + }, "attribute": { "type": "array", "description": "All attributes for the ads that may be shown from this snippet.", @@ -307,6 +312,13 @@ ] } }, + "impressionTrackingUrl": { + "type": "array", + "description": "The set of urls to be called to record an impression.", + "items": { + "type": "string" + } + }, "kind": { "type": "string", "description": "Resource type.", @@ -348,6 +360,11 @@ "format": "int32" } }, + "version": { + "type": "integer", + "description": "The version for this creative. Read-only. This field should not be set in requests.", + "format": "int32" + }, "videoURL": { "type": "string", "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set." diff --git a/etc/api/adexchangebuyer/v1.3/adexchangebuyer-api.json b/etc/api/adexchangebuyer/v1.3/adexchangebuyer-api.json index 2993324446..068e18ce8a 100644 --- a/etc/api/adexchangebuyer/v1.3/adexchangebuyer-api.json +++ b/etc/api/adexchangebuyer/v1.3/adexchangebuyer-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/8nsIrKsc1vAa3qubc_DXk_Tozg4\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/s43VGxh95gMJhn2XULgCPUEFl2w\"", "discoveryVersion": "v1", "id": "adexchangebuyer:v1.3", "name": "adexchangebuyer", "canonicalName": "Ad Exchange Buyer", "version": "v1.3", - "revision": "20150720", + "revision": "20150909", "title": "Ad Exchange Buyer API", "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", "ownerDomain": "google.com", @@ -281,6 +281,11 @@ "description": "The agency id for this creative.", "format": "int64" }, + "api_upload_timestamp": { + "type": "string", + "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).", + "format": "date-time" + }, "attribute": { "type": "array", "description": "All attributes for the ads that may be shown from this snippet.", @@ -389,11 +394,114 @@ ] } }, + "impressionTrackingUrl": { + "type": "array", + "description": "The set of urls to be called to record an impression.", + "items": { + "type": "string" + } + }, "kind": { "type": "string", "description": "Resource type.", "default": "adexchangebuyer#creative" }, + "nativeAd": { + "type": "object", + "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.", + "properties": { + "advertiser": { + "type": "string" + }, + "appIcon": { + "type": "object", + "description": "The app icon, for app download ads.", + "properties": { + "height": { + "type": "integer", + "format": "int32" + }, + "url": { + "type": "string" + }, + "width": { + "type": "integer", + "format": "int32" + } + } + }, + "body": { + "type": "string", + "description": "A long description of the ad." + }, + "callToAction": { + "type": "string", + "description": "A label for the button that the user is supposed to click." + }, + "clickTrackingUrl": { + "type": "string", + "description": "The URL to use for click tracking." + }, + "headline": { + "type": "string", + "description": "A short title for the ad." + }, + "image": { + "type": "object", + "description": "A large image.", + "properties": { + "height": { + "type": "integer", + "format": "int32" + }, + "url": { + "type": "string" + }, + "width": { + "type": "integer", + "format": "int32" + } + } + }, + "impressionTrackingUrl": { + "type": "array", + "description": "The URLs are called when the impression is rendered.", + "items": { + "type": "string" + } + }, + "logo": { + "type": "object", + "description": "A smaller image, for the advertiser logo.", + "properties": { + "height": { + "type": "integer", + "format": "int32" + }, + "url": { + "type": "string" + }, + "width": { + "type": "integer", + "format": "int32" + } + } + }, + "price": { + "type": "string", + "description": "The price of the promoted app including the currency info." + }, + "starRating": { + "type": "number", + "description": "The app rating in the app store. Must be in the range [0-5].", + "format": "double" + }, + "store": { + "type": "string", + "description": "The URL to the app store to purchase/download the promoted app." + } + } + }, "productCategories": { "type": "array", "description": "Detected product categories, if any. Read-only. This field should not be set in requests.", @@ -430,6 +538,11 @@ "format": "int32" } }, + "version": { + "type": "integer", + "description": "The version for this creative. Read-only. This field should not be set in requests.", + "format": "int32" + }, "videoURL": { "type": "string", "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set." diff --git a/etc/api/adexchangebuyer/v1.4/adexchangebuyer-api.json b/etc/api/adexchangebuyer/v1.4/adexchangebuyer-api.json new file mode 100644 index 0000000000..cf0f14b6f6 --- /dev/null +++ b/etc/api/adexchangebuyer/v1.4/adexchangebuyer-api.json @@ -0,0 +1,4193 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/e2ZwVjK29RxJqz1-z8CpRPnLiKo\"", + "discoveryVersion": "v1", + "id": "adexchangebuyer:v1.4", + "name": "adexchangebuyer", + "canonicalName": "Ad Exchange Buyer", + "version": "v1.4", + "revision": "20150909", + "title": "Ad Exchange Buyer API", + "description": "Accesses your bidding-account information, submits creatives for validation, finds available direct deals, and retrieves performance reports.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", + "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" + }, + "documentationLink": "https://developers.google.com/ad-exchange/buyer-rest", + "protocol": "rest", + "baseUrl": "https://www.googleapis.com/adexchangebuyer/v1.4/", + "basePath": "/adexchangebuyer/v1.4/", + "rootUrl": "https://www.googleapis.com/", + "servicePath": "adexchangebuyer/v1.4/", + "batchPath": "batch", + "parameters": { + "alt": { + "type": "string", + "description": "Data format for the response.", + "default": "json", + "enum": [ + "json" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json" + ], + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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. Overrides userIp if both are provided.", + "location": "query" + }, + "userIp": { + "type": "string", + "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/adexchange.buyer": { + "description": "Manage your Ad Exchange buyer account configuration" + } + } + } + }, + "schemas": { + "Account": { + "id": "Account", + "type": "object", + "description": "Configuration data for an Ad Exchange buyer account.", + "properties": { + "bidderLocation": { + "type": "array", + "description": "Your bidder locations that have distinct URLs.", + "items": { + "type": "object", + "properties": { + "maximumQps": { + "type": "integer", + "description": "The maximum queries per second the Ad Exchange will send.", + "format": "int32" + }, + "region": { + "type": "string", + "description": "The geographical region the Ad Exchange should send requests from. Only used by some quota systems, but always setting the value is recommended. Allowed values: \n- ASIA \n- EUROPE \n- US_EAST \n- US_WEST" + }, + "url": { + "type": "string", + "description": "The URL to which the Ad Exchange will send bid requests." + } + } + } + }, + "cookieMatchingNid": { + "type": "string", + "description": "The nid parameter value used in cookie match requests. Please contact your technical account manager if you need to change this." + }, + "cookieMatchingUrl": { + "type": "string", + "description": "The base URL used in cookie match requests." + }, + "id": { + "type": "integer", + "description": "Account id.", + "format": "int32" + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#account" + }, + "maximumActiveCreatives": { + "type": "integer", + "description": "The maximum number of active creatives that an account can have, where a creative is active if it was inserted or bid with in the last 30 days. Please contact your technical account manager if you need to change this.", + "format": "int32" + }, + "maximumTotalQps": { + "type": "integer", + "description": "The sum of all bidderLocation.maximumQps values cannot exceed this. Please contact your technical account manager if you need to change this.", + "format": "int32" + }, + "numberActiveCreatives": { + "type": "integer", + "description": "The number of creatives that this account inserted or bid with in the last 30 days.", + "format": "int32" + } + } + }, + "AccountsList": { + "id": "AccountsList", + "type": "object", + "description": "An account feed lists Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single buyer account.", + "properties": { + "items": { + "type": "array", + "description": "A list of accounts.", + "items": { + "$ref": "Account" + } + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#accountsList" + } + } + }, + "AdSize": { + "id": "AdSize", + "type": "object", + "properties": { + "height": { + "type": "integer", + "format": "int32" + }, + "width": { + "type": "integer", + "format": "int32" + } + } + }, + "AdSlotDto": { + "id": "AdSlotDto", + "type": "object", + "properties": { + "channelCode": { + "type": "string" + }, + "channelId": { + "type": "integer", + "format": "int32" + }, + "description": { + "type": "string" + }, + "name": { + "type": "string" + }, + "size": { + "type": "string" + }, + "webPropertyId": { + "type": "integer", + "format": "int32" + } + } + }, + "AddOrderDealsRequest": { + "id": "AddOrderDealsRequest", + "type": "object", + "properties": { + "deals": { + "type": "array", + "description": "The list of deals to add", + "items": { + "$ref": "MarketplaceDeal" + } + }, + "orderRevisionNumber": { + "type": "string", + "description": "The last known order revision number.", + "format": "int64" + }, + "updateAction": { + "type": "string", + "description": "Indicates an optional action to take on the order" + } + } + }, + "AddOrderDealsResponse": { + "id": "AddOrderDealsResponse", + "type": "object", + "properties": { + "deals": { + "type": "array", + "description": "List of deals added (in the same order as passed in the request)", + "items": { + "$ref": "MarketplaceDeal" + } + }, + "orderRevisionNumber": { + "type": "string", + "description": "The updated revision number for the order.", + "format": "int64" + } + } + }, + "AddOrderNotesRequest": { + "id": "AddOrderNotesRequest", + "type": "object", + "properties": { + "notes": { + "type": "array", + "description": "The list of notes to add.", + "items": { + "$ref": "MarketplaceNote" + } + } + } + }, + "AddOrderNotesResponse": { + "id": "AddOrderNotesResponse", + "type": "object", + "properties": { + "notes": { + "type": "array", + "items": { + "$ref": "MarketplaceNote" + } + } + } + }, + "AdvertiserDto": { + "id": "AdvertiserDto", + "type": "object", + "properties": { + "brands": { + "type": "array", + "items": { + "$ref": "BrandDto" + } + }, + "id": { + "type": "string", + "format": "int64" + }, + "name": { + "type": "string" + }, + "status": { + "type": "string" + } + } + }, + "AudienceSegment": { + "id": "AudienceSegment", + "type": "object", + "properties": { + "description": { + "type": "string" + }, + "id": { + "type": "string", + "format": "int64" + }, + "name": { + "type": "string" + }, + "numCookies": { + "type": "string", + "format": "int64" + } + } + }, + "BillingInfo": { + "id": "BillingInfo", + "type": "object", + "description": "The configuration data for an Ad Exchange billing info.", + "properties": { + "accountId": { + "type": "integer", + "description": "Account id.", + "format": "int32" + }, + "accountName": { + "type": "string", + "description": "Account name." + }, + "billingId": { + "type": "array", + "description": "A list of adgroup IDs associated with this particular account. These IDs may show up as part of a realtime bidding BidRequest, which indicates a bid request for this account.", + "items": { + "type": "string" + } + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#billingInfo" + } + } + }, + "BillingInfoList": { + "id": "BillingInfoList", + "type": "object", + "description": "A billing info feed lists Billing Info the Ad Exchange buyer account has access to. Each entry in the feed corresponds to a single billing info.", + "properties": { + "items": { + "type": "array", + "description": "A list of billing info relevant for your account.", + "items": { + "$ref": "BillingInfo" + } + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#billingInfoList" + } + } + }, + "BrandDto": { + "id": "BrandDto", + "type": "object", + "properties": { + "advertiserId": { + "type": "string", + "format": "int64" + }, + "id": { + "type": "string", + "format": "int64" + }, + "name": { + "type": "string" + } + } + }, + "Budget": { + "id": "Budget", + "type": "object", + "description": "The configuration data for Ad Exchange RTB - Budget API.", + "properties": { + "accountId": { + "type": "string", + "description": "The id of the account. This is required for get and update requests.", + "format": "int64" + }, + "billingId": { + "type": "string", + "description": "The billing id to determine which adgroup to provide budget information for. This is required for get and update requests.", + "format": "int64" + }, + "budgetAmount": { + "type": "string", + "description": "The budget amount to apply for the billingId provided. This is required for update requests.", + "format": "int64" + }, + "currencyCode": { + "type": "string", + "description": "The currency code for the buyer. This cannot be altered here." + }, + "id": { + "type": "string", + "description": "The unique id that describes this item." + }, + "kind": { + "type": "string", + "description": "The kind of the resource, i.e. \"adexchangebuyer#budget\".", + "default": "adexchangebuyer#budget" + } + } + }, + "Buyer": { + "id": "Buyer", + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "Adx account id of the buyer." + } + } + }, + "BuyerDto": { + "id": "BuyerDto", + "type": "object", + "properties": { + "accountId": { + "type": "integer", + "format": "int32" + }, + "customerId": { + "type": "integer", + "format": "int32" + }, + "displayName": { + "type": "string" + }, + "enabledForInterestTargetingDeals": { + "type": "boolean" + }, + "enabledForPreferredDeals": { + "type": "boolean" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "sponsorAccountId": { + "type": "integer", + "format": "int32" + } + } + }, + "ClientAccessCapabilities": { + "id": "ClientAccessCapabilities", + "type": "object", + "properties": { + "capabilities": { + "type": "array", + "items": { + "type": "integer", + "format": "int32" + } + }, + "clientAccountId": { + "type": "string", + "format": "int64" + } + } + }, + "ContactInformation": { + "id": "ContactInformation", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email address of the contact." + }, + "name": { + "type": "string", + "description": "The name of the contact." + } + } + }, + "CreateOrdersRequest": { + "id": "CreateOrdersRequest", + "type": "object", + "properties": { + "orders": { + "type": "array", + "description": "The list of orders to create.", + "items": { + "$ref": "MarketplaceOrder" + } + }, + "webPropertyCode": { + "type": "string" + } + } + }, + "CreateOrdersResponse": { + "id": "CreateOrdersResponse", + "type": "object", + "properties": { + "orders": { + "type": "array", + "description": "The list of orders successfully created.", + "items": { + "$ref": "MarketplaceOrder" + } + } + } + }, + "Creative": { + "id": "Creative", + "type": "object", + "description": "A creative and its classification data.", + "properties": { + "HTMLSnippet": { + "type": "string", + "description": "The HTML snippet that displays the ad when inserted in the web page. If set, videoURL should not be set." + }, + "accountId": { + "type": "integer", + "description": "Account id.", + "format": "int32", + "annotations": { + "required": [ + "adexchangebuyer.creatives.insert" + ] + } + }, + "advertiserId": { + "type": "array", + "description": "Detected advertiser id, if any. Read-only. This field should not be set in requests.", + "items": { + "type": "string", + "format": "int64" + } + }, + "advertiserName": { + "type": "string", + "description": "The name of the company being advertised in the creative.", + "annotations": { + "required": [ + "adexchangebuyer.creatives.insert" + ] + } + }, + "agencyId": { + "type": "string", + "description": "The agency id for this creative.", + "format": "int64" + }, + "api_upload_timestamp": { + "type": "string", + "description": "The last upload timestamp of this creative if it was uploaded via API. Read-only. The value of this field is generated, and will be ignored for uploads. (formatted RFC 3339 timestamp).", + "format": "date-time" + }, + "attribute": { + "type": "array", + "description": "All attributes for the ads that may be shown from this snippet.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "buyerCreativeId": { + "type": "string", + "description": "A buyer-specific id identifying the creative in this ad.", + "annotations": { + "required": [ + "adexchangebuyer.creatives.insert" + ] + } + }, + "clickThroughUrl": { + "type": "array", + "description": "The set of destination urls for the snippet.", + "items": { + "type": "string" + }, + "annotations": { + "required": [ + "adexchangebuyer.creatives.insert" + ] + } + }, + "corrections": { + "type": "array", + "description": "Shows any corrections that were applied to this creative. Read-only. This field should not be set in requests.", + "items": { + "type": "object", + "properties": { + "details": { + "type": "array", + "description": "Additional details about the correction.", + "items": { + "type": "string" + } + }, + "reason": { + "type": "string", + "description": "The type of correction that was applied to the creative." + } + } + } + }, + "dealsStatus": { + "type": "string", + "description": "Top-level deals status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=DIRECT_DEALS (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from servingRestrictions directly." + }, + "filteringReasons": { + "type": "object", + "description": "The filtering reasons for the creative. Read-only. This field should not be set in requests.", + "properties": { + "date": { + "type": "string", + "description": "The date in ISO 8601 format for the data. The data is collected from 00:00:00 to 23:59:59 in PST." + }, + "reasons": { + "type": "array", + "description": "The filtering reasons.", + "items": { + "type": "object", + "properties": { + "filteringCount": { + "type": "string", + "description": "The number of times the creative was filtered for the status. The count is aggregated across all publishers on the exchange.", + "format": "int64" + }, + "filteringStatus": { + "type": "integer", + "description": "The filtering status code. Please refer to the creative-status-codes.txt file for different statuses.", + "format": "int32" + } + } + } + } + } + }, + "height": { + "type": "integer", + "description": "Ad height.", + "format": "int32", + "annotations": { + "required": [ + "adexchangebuyer.creatives.insert" + ] + } + }, + "impressionTrackingUrl": { + "type": "array", + "description": "The set of urls to be called to record an impression.", + "items": { + "type": "string" + } + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#creative" + }, + "nativeAd": { + "type": "object", + "description": "If nativeAd is set, HTMLSnippet and videoURL should not be set.", + "properties": { + "advertiser": { + "type": "string" + }, + "appIcon": { + "type": "object", + "description": "The app icon, for app download ads.", + "properties": { + "height": { + "type": "integer", + "format": "int32" + }, + "url": { + "type": "string" + }, + "width": { + "type": "integer", + "format": "int32" + } + } + }, + "body": { + "type": "string", + "description": "A long description of the ad." + }, + "callToAction": { + "type": "string", + "description": "A label for the button that the user is supposed to click." + }, + "clickTrackingUrl": { + "type": "string", + "description": "The URL to use for click tracking." + }, + "headline": { + "type": "string", + "description": "A short title for the ad." + }, + "image": { + "type": "object", + "description": "A large image.", + "properties": { + "height": { + "type": "integer", + "format": "int32" + }, + "url": { + "type": "string" + }, + "width": { + "type": "integer", + "format": "int32" + } + } + }, + "impressionTrackingUrl": { + "type": "array", + "description": "The URLs are called when the impression is rendered.", + "items": { + "type": "string" + } + }, + "logo": { + "type": "object", + "description": "A smaller image, for the advertiser logo.", + "properties": { + "height": { + "type": "integer", + "format": "int32" + }, + "url": { + "type": "string" + }, + "width": { + "type": "integer", + "format": "int32" + } + } + }, + "price": { + "type": "string", + "description": "The price of the promoted app including the currency info." + }, + "starRating": { + "type": "number", + "description": "The app rating in the app store. Must be in the range [0-5].", + "format": "double" + }, + "store": { + "type": "string", + "description": "The URL to the app store to purchase/download the promoted app." + } + } + }, + "openAuctionStatus": { + "type": "string", + "description": "Top-level open auction status. Read-only. This field should not be set in requests. If disapproved, an entry for auctionType=OPEN_AUCTION (or ALL) in servingRestrictions will also exist. Note that this may be nuanced with other contextual restrictions, in which case it may be preferable to read from ServingRestrictions directly." + }, + "productCategories": { + "type": "array", + "description": "Detected product categories, if any. Read-only. This field should not be set in requests.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "restrictedCategories": { + "type": "array", + "description": "All restricted categories for the ads that may be shown from this snippet.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "sensitiveCategories": { + "type": "array", + "description": "Detected sensitive categories, if any. Read-only. This field should not be set in requests.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "servingRestrictions": { + "type": "array", + "description": "The granular status of this ad in specific contexts. A context here relates to where something ultimately serves (for example, a physical location, a platform, an HTTPS vs HTTP request, or the type of auction). Read-only. This field should not be set in requests.", + "items": { + "type": "object", + "properties": { + "contexts": { + "type": "array", + "description": "All known contexts/restrictions.", + "items": { + "type": "object", + "properties": { + "auctionType": { + "type": "array", + "description": "Only set when contextType=AUCTION_TYPE. Represents the auction types this restriction applies to.", + "items": { + "type": "string" + } + }, + "contextType": { + "type": "string", + "description": "The type of context (e.g., location, platform, auction type, SSL-ness)." + }, + "geoCriteriaId": { + "type": "array", + "description": "Only set when contextType=LOCATION. Represents the geo criterias this restriction applies to.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "platform": { + "type": "array", + "description": "Only set when contextType=PLATFORM. Represents the platforms this restriction applies to.", + "items": { + "type": "string" + } + } + } + } + }, + "disapprovalReasons": { + "type": "array", + "description": "The reasons for disapproval within this restriction, if any. Note that not all disapproval reasons may be categorized, so it is possible for the creative to have a status of DISAPPROVED or CONDITIONALLY_APPROVED with an empty list for disapproval_reasons. In this case, please reach out to your TAM to help debug the issue.", + "items": { + "type": "object", + "properties": { + "details": { + "type": "array", + "description": "Additional details about the reason for disapproval.", + "items": { + "type": "string" + } + }, + "reason": { + "type": "string", + "description": "The categorized reason for disapproval." + } + } + } + }, + "reason": { + "type": "string", + "description": "Why the creative is ineligible to serve in this context (e.g., it has been explicitly disapproved or is pending review)." + } + } + } + }, + "vendorType": { + "type": "array", + "description": "All vendor types for the ads that may be shown from this snippet.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "version": { + "type": "integer", + "description": "The version for this creative. Read-only. This field should not be set in requests.", + "format": "int32" + }, + "videoURL": { + "type": "string", + "description": "The url to fetch a video ad. If set, HTMLSnippet should not be set." + }, + "width": { + "type": "integer", + "description": "Ad width.", + "format": "int32", + "annotations": { + "required": [ + "adexchangebuyer.creatives.insert" + ] + } + } + } + }, + "CreativesList": { + "id": "CreativesList", + "type": "object", + "description": "The creatives feed lists the active creatives for the Ad Exchange buyer accounts that the user has access to. Each entry in the feed corresponds to a single creative.", + "properties": { + "items": { + "type": "array", + "description": "A list of creatives.", + "items": { + "$ref": "Creative" + } + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#creativesList" + }, + "nextPageToken": { + "type": "string", + "description": "Continuation token used to page through creatives. To retrieve the next page of results, set the next request's \"pageToken\" value to this." + } + } + }, + "DateTime": { + "id": "DateTime", + "type": "object", + "properties": { + "day": { + "type": "integer", + "format": "int32" + }, + "hour": { + "type": "integer", + "format": "int32" + }, + "minute": { + "type": "integer", + "format": "int32" + }, + "month": { + "type": "integer", + "format": "int32" + }, + "second": { + "type": "integer", + "format": "int32" + }, + "timeZoneId": { + "type": "string" + }, + "year": { + "type": "integer", + "format": "int32" + } + } + }, + "DealPartyDto": { + "id": "DealPartyDto", + "type": "object", + "properties": { + "buyer": { + "$ref": "BuyerDto" + }, + "buyerSellerRole": { + "type": "string" + }, + "customerId": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "webProperty": { + "$ref": "WebPropertyDto" + } + } + }, + "DealTerms": { + "id": "DealTerms", + "type": "object", + "properties": { + "description": { + "type": "string", + "description": "Description for the proposed terms of the deal." + }, + "guaranteedFixedPriceTerms": { + "$ref": "DealTermsGuaranteedFixedPriceTerms", + "description": "The terms for guaranteed fixed price deals." + }, + "nonGuaranteedAuctionTerms": { + "$ref": "DealTermsNonGuaranteedAuctionTerms", + "description": "The terms for non-guaranteed auction deals." + }, + "nonGuaranteedFixedPriceTerms": { + "$ref": "DealTermsNonGuaranteedFixedPriceTerms", + "description": "The terms for non-guaranteed fixed price deals." + } + } + }, + "DealTermsGuaranteedFixedPriceTerms": { + "id": "DealTermsGuaranteedFixedPriceTerms", + "type": "object", + "properties": { + "fixedPrices": { + "type": "array", + "description": "Fixed price for the specified buyer.", + "items": { + "$ref": "PricePerBuyer" + } + }, + "guaranteedImpressions": { + "type": "string", + "description": "Guaranteed impressions as a percentage. This is the percentage of guaranteed looks that the buyer is guaranteeing to buy.", + "format": "int64" + }, + "guaranteedLooks": { + "type": "string", + "description": "Count of guaranteed looks. Required for deal, optional for offer.", + "format": "int64" + } + } + }, + "DealTermsNonGuaranteedAuctionTerms": { + "id": "DealTermsNonGuaranteedAuctionTerms", + "type": "object", + "properties": { + "privateAuctionId": { + "type": "string", + "description": "Id of the corresponding private auction." + }, + "reservePricePerBuyers": { + "type": "array", + "description": "Reserve price for the specified buyer.", + "items": { + "$ref": "PricePerBuyer" + } + } + } + }, + "DealTermsNonGuaranteedFixedPriceTerms": { + "id": "DealTermsNonGuaranteedFixedPriceTerms", + "type": "object", + "properties": { + "fixedPrices": { + "type": "array", + "description": "Fixed price for the specified buyer.", + "items": { + "$ref": "PricePerBuyer" + } + } + } + }, + "DeleteOrderDealsRequest": { + "id": "DeleteOrderDealsRequest", + "type": "object", + "properties": { + "dealIds": { + "type": "array", + "description": "List of deals to delete for a given order", + "items": { + "type": "string" + } + }, + "orderRevisionNumber": { + "type": "string", + "description": "The last known order revision number.", + "format": "int64" + }, + "updateAction": { + "type": "string" + } + } + }, + "DeleteOrderDealsResponse": { + "id": "DeleteOrderDealsResponse", + "type": "object", + "properties": { + "deals": { + "type": "array", + "description": "List of deals deleted (in the same order as passed in the request)", + "items": { + "$ref": "MarketplaceDeal" + } + }, + "orderRevisionNumber": { + "type": "string", + "description": "The updated revision number for the order.", + "format": "int64" + } + } + }, + "DeliveryControl": { + "id": "DeliveryControl", + "type": "object", + "properties": { + "deliveryRateType": { + "type": "string" + }, + "frequencyCaps": { + "type": "array", + "items": { + "$ref": "DeliveryControlFrequencyCap" + } + } + } + }, + "DeliveryControlFrequencyCap": { + "id": "DeliveryControlFrequencyCap", + "type": "object", + "properties": { + "maxImpressions": { + "type": "integer", + "format": "int32" + }, + "numTimeUnits": { + "type": "integer", + "format": "int32" + }, + "timeUnitType": { + "type": "string" + } + } + }, + "EditAllOrderDealsRequest": { + "id": "EditAllOrderDealsRequest", + "type": "object", + "properties": { + "deals": { + "type": "array", + "description": "List of deals to edit. Service may perform 3 different operations based on comparison of deals in this list vs deals already persisted in database: 1. Add new deal to order If a deal in this list does not exist in the order, the service will create a new deal and add it to the order. Validation will follow AddOrderDealsRequest. 2. Update existing deal in the order If a deal in this list already exist in the order, the service will update that existing deal to this new deal in the request. Validation will follow UpdateOrderDealsRequest. 3. Delete deals from the order (just need the id) If a existing deal in the order is not present in this list, the service will delete that deal from the order. Validation will follow DeleteOrderDealsRequest.", + "items": { + "$ref": "MarketplaceDeal" + } + }, + "order": { + "$ref": "MarketplaceOrder", + "description": "If specified, also updates the order in the batch transaction. This is useful when the order and the deals need to be updated in one transaction." + }, + "orderRevisionNumber": { + "type": "string", + "description": "The last known revision number for the order.", + "format": "int64" + }, + "updateAction": { + "type": "string", + "description": "Indicates an optional action to take on the order" + } + } + }, + "EditAllOrderDealsResponse": { + "id": "EditAllOrderDealsResponse", + "type": "object", + "properties": { + "deals": { + "type": "array", + "description": "List of all deals in the order after edit.", + "items": { + "$ref": "MarketplaceDeal" + } + } + } + }, + "EditHistoryDto": { + "id": "EditHistoryDto", + "type": "object", + "properties": { + "createdByLoginName": { + "type": "string" + }, + "createdTimeStamp": { + "type": "string", + "format": "int64" + }, + "lastUpdateTimeStamp": { + "type": "string", + "format": "int64" + }, + "lastUpdatedByLoginName": { + "type": "string" + } + } + }, + "GetFinalizedNegotiationByExternalDealIdRequest": { + "id": "GetFinalizedNegotiationByExternalDealIdRequest", + "type": "object", + "properties": { + "includePrivateAuctions": { + "type": "boolean" + } + } + }, + "GetNegotiationByIdRequest": { + "id": "GetNegotiationByIdRequest", + "type": "object", + "properties": { + "includePrivateAuctions": { + "type": "boolean" + } + } + }, + "GetNegotiationsRequest": { + "id": "GetNegotiationsRequest", + "type": "object", + "properties": { + "finalized": { + "type": "boolean" + }, + "includePrivateAuctions": { + "type": "boolean" + }, + "sinceTimestampMillis": { + "type": "string", + "format": "int64" + } + } + }, + "GetNegotiationsResponse": { + "id": "GetNegotiationsResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "default": "adexchangebuyer#negotiationsList" + }, + "negotiations": { + "type": "array", + "items": { + "$ref": "NegotiationDto" + } + } + } + }, + "GetOffersResponse": { + "id": "GetOffersResponse", + "type": "object", + "properties": { + "offers": { + "type": "array", + "description": "The returned list of offers.", + "items": { + "$ref": "MarketplaceOffer" + } + } + } + }, + "GetOrderDealsResponse": { + "id": "GetOrderDealsResponse", + "type": "object", + "properties": { + "deals": { + "type": "array", + "description": "List of deals for the order", + "items": { + "$ref": "MarketplaceDeal" + } + } + } + }, + "GetOrderNotesResponse": { + "id": "GetOrderNotesResponse", + "type": "object", + "properties": { + "notes": { + "type": "array", + "description": "The list of matching notes.", + "items": { + "$ref": "MarketplaceNote" + } + } + } + }, + "GetOrdersResponse": { + "id": "GetOrdersResponse", + "type": "object", + "properties": { + "orders": { + "type": "array", + "description": "The list of matching orders.", + "items": { + "$ref": "MarketplaceOrder" + } + } + } + }, + "InventorySegmentTargeting": { + "id": "InventorySegmentTargeting", + "type": "object", + "properties": { + "negativeAdSizes": { + "type": "array", + "items": { + "$ref": "AdSize" + } + }, + "negativeAdTypeSegments": { + "type": "array", + "items": { + "type": "string" + } + }, + "negativeAudienceSegments": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeDeviceCategories": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeIcmBrands": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeIcmInterests": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeInventorySlots": { + "type": "array", + "items": { + "type": "string" + } + }, + "negativeKeyValues": { + "type": "array", + "items": { + "$ref": "RuleKeyValuePair" + } + }, + "negativeLocations": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeMobileApps": { + "type": "array", + "items": { + "type": "string" + } + }, + "negativeOperatingSystemVersions": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeOperatingSystems": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeSiteUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "negativeSizes": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeVideoAdPositionSegments": { + "type": "array", + "items": { + "type": "string" + } + }, + "negativeVideoDurationSegments": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeXfpAdSlots": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "negativeXfpPlacements": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveAdSizes": { + "type": "array", + "items": { + "$ref": "AdSize" + } + }, + "positiveAdTypeSegments": { + "type": "array", + "items": { + "type": "string" + } + }, + "positiveAudienceSegments": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveDeviceCategories": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveIcmBrands": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveIcmInterests": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveInventorySlots": { + "type": "array", + "items": { + "type": "string" + } + }, + "positiveKeyValues": { + "type": "array", + "items": { + "$ref": "RuleKeyValuePair" + } + }, + "positiveLocations": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveMobileApps": { + "type": "array", + "items": { + "type": "string" + } + }, + "positiveOperatingSystemVersions": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveOperatingSystems": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveSiteUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "positiveSizes": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveVideoAdPositionSegments": { + "type": "array", + "items": { + "type": "string" + } + }, + "positiveVideoDurationSegments": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveXfpAdSlots": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + }, + "positiveXfpPlacements": { + "type": "array", + "items": { + "type": "string", + "format": "int64" + } + } + } + }, + "ListClientAccessCapabilitiesRequest": { + "id": "ListClientAccessCapabilitiesRequest", + "type": "object", + "properties": { + "sponsorAccountId": { + "type": "string", + "format": "int64" + } + } + }, + "ListClientAccessCapabilitiesResponse": { + "id": "ListClientAccessCapabilitiesResponse", + "type": "object", + "properties": { + "clientAccessPermissions": { + "type": "array", + "items": { + "$ref": "ClientAccessCapabilities" + } + } + } + }, + "ListOffersRequest": { + "id": "ListOffersRequest", + "type": "object", + "properties": { + "sinceTimestampMillis": { + "type": "string", + "format": "int64" + } + } + }, + "ListOffersResponse": { + "id": "ListOffersResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "default": "adexchangebuyer#offersList" + }, + "offers": { + "type": "array", + "items": { + "$ref": "OfferDto" + } + } + } + }, + "MarketplaceDeal": { + "id": "MarketplaceDeal", + "type": "object", + "description": "An order can contain multiple deals. A deal contains the terms and targeting information that is used for serving.", + "properties": { + "buyerPrivateData": { + "$ref": "PrivateData", + "description": "Buyer private data (hidden from seller)." + }, + "creationTimeMs": { + "type": "string", + "description": "The time (ms since epoch) of the deal creation. (readonly)", + "format": "int64" + }, + "dealId": { + "type": "string", + "description": "A unique deal=id for the deal (readonly)." + }, + "deliveryControl": { + "$ref": "DeliveryControl", + "description": "The set of fields around delivery control that are interesting for a buyer to see but are non-negotiable. These are set by the publisher. This message is assigned an id of 100 since some day we would want to model this as a protobuf extension." + }, + "externalDealId": { + "type": "string", + "description": "The external deal id assigned to this deal once the deal is finalized. This is the deal-id that shows up in serving/reporting etc. (readonly)" + }, + "flightEndTimeMs": { + "type": "string", + "description": "Proposed flight end time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)", + "format": "int64" + }, + "flightStartTimeMs": { + "type": "string", + "description": "Proposed flight start time of the deal (ms since epoch) This will generally be stored in a granularity of a second. (updatable)", + "format": "int64" + }, + "inventoryDescription": { + "type": "string", + "description": "Description for the deal terms. (updatable)" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceDeal\".", + "default": "adexchangebuyer#marketplaceDeal" + }, + "lastUpdateTimeMs": { + "type": "string", + "description": "The time (ms since epoch) when the deal was last updated. (readonly)", + "format": "int64" + }, + "name": { + "type": "string", + "description": "The name of the deal. (updatable)" + }, + "offerId": { + "type": "string", + "description": "The offer-id from which this deal was created. (readonly, except on create)" + }, + "offerRevisionNumber": { + "type": "string", + "description": "The revision number of the offer that the deal was created from (readonly, except on create)", + "format": "int64" + }, + "orderId": { + "type": "string" + }, + "sellerContacts": { + "type": "array", + "description": "Optional Seller contact information for the deal (buyer-readonly)", + "items": { + "$ref": "ContactInformation" + } + }, + "sharedTargetings": { + "type": "array", + "description": "The shared targeting visible to buyers and sellers. (updatable)", + "items": { + "$ref": "SharedTargeting" + } + }, + "syndicationProduct": { + "type": "string", + "description": "The syndication product associated with the deal. (readonly, except on create)" + }, + "terms": { + "$ref": "DealTerms", + "description": "The negotiable terms of the deal. (updatable)" + }, + "webPropertyCode": { + "type": "string" + } + } + }, + "MarketplaceDealParty": { + "id": "MarketplaceDealParty", + "type": "object", + "properties": { + "buyer": { + "$ref": "Buyer", + "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal-party." + }, + "seller": { + "$ref": "Seller", + "description": "The buyer/seller associated with the deal. One of buyer/seller is specified for a deal party." + } + } + }, + "MarketplaceLabel": { + "id": "MarketplaceLabel", + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "The accountId of the party that created the label." + }, + "createTimeMs": { + "type": "string", + "description": "The creation time (in ms since epoch) for the label.", + "format": "int64" + }, + "deprecatedMarketplaceDealParty": { + "$ref": "MarketplaceDealParty", + "description": "Information about the party that created the label." + }, + "label": { + "type": "string", + "description": "The label to use." + } + } + }, + "MarketplaceNote": { + "id": "MarketplaceNote", + "type": "object", + "description": "An order is associated with a bunch of notes which may optionally be associated with a deal and/or revision number.", + "properties": { + "creatorRole": { + "type": "string", + "description": "The role of the person (buyer/seller) creating the note. (readonly)" + }, + "dealId": { + "type": "string", + "description": "Notes can optionally be associated with a deal. (readonly, except on create)" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceNote\".", + "default": "adexchangebuyer#marketplaceNote" + }, + "note": { + "type": "string", + "description": "The actual note to attach. (readonly, except on create)" + }, + "noteId": { + "type": "string", + "description": "The unique id for the note. (readonly)" + }, + "orderId": { + "type": "string", + "description": "The order_id that a note is attached to. (readonly)" + }, + "orderRevisionNumber": { + "type": "string", + "description": "If the note is associated with an order revision number, then store that here. (readonly, except on create)", + "format": "int64" + }, + "timestampMs": { + "type": "string", + "description": "The timestamp (ms since epoch) that this note was created. (readonly)", + "format": "int64" + } + } + }, + "MarketplaceOffer": { + "id": "MarketplaceOffer", + "type": "object", + "description": "An offer is segment of inventory that a seller wishes to sell. It is associated with certain terms and targeting information which helps buyer know more about the inventory. Each field in an order can have one of the following setting:\n\n(readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.", + "properties": { + "creationTimeMs": { + "type": "string", + "description": "Creation time in ms. since epoch (readonly)", + "format": "int64" + }, + "creatorContacts": { + "type": "array", + "description": "Optional contact information for the creator of this offer. (buyer-readonly)", + "items": { + "$ref": "ContactInformation" + } + }, + "flightEndTimeMs": { + "type": "string", + "description": "The proposed end time for the deal (ms since epoch) (buyer-readonly)", + "format": "int64" + }, + "flightStartTimeMs": { + "type": "string", + "description": "Inventory availability dates. (times are in ms since epoch) The granularity is generally in the order of seconds. (buyer-readonly)", + "format": "int64" + }, + "hasCreatorSignedOff": { + "type": "boolean", + "description": "If the creator has already signed off on the offer, then the buyer can finalize the deal by accepting the offer as is. When copying to an order, if any of the terms are changed, then auto_finalize is automatically set to false." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceOffer\".", + "default": "adexchangebuyer#marketplaceOffer" + }, + "labels": { + "type": "array", + "description": "Optional List of labels for the offer (optional, buyer-readonly).", + "items": { + "$ref": "MarketplaceLabel" + } + }, + "lastUpdateTimeMs": { + "type": "string", + "description": "Time of last update in ms. since epoch (readonly)", + "format": "int64" + }, + "name": { + "type": "string", + "description": "The name for this offer as set by the seller. (buyer-readonly)" + }, + "offerId": { + "type": "string", + "description": "The unique id for the offer (readonly)" + }, + "revisionNumber": { + "type": "string", + "description": "The revision number of the offer. (readonly)", + "format": "int64" + }, + "seller": { + "$ref": "Seller", + "description": "Information about the seller that created this offer (readonly, except on create)" + }, + "sharedTargetings": { + "type": "array", + "description": "Targeting that is shared between the buyer and the seller. Each targeting criteria has a specified key and for each key there is a list of inclusion value or exclusion values. (buyer-readonly)", + "items": { + "$ref": "SharedTargeting" + } + }, + "state": { + "type": "string", + "description": "The state of the offer. (buyer-readonly)" + }, + "syndicationProduct": { + "type": "string", + "description": "The syndication product associated with the deal. (readonly, except on create)" + }, + "terms": { + "$ref": "DealTerms", + "description": "The negotiable terms of the deal (buyer-readonly)" + }, + "webPropertyCode": { + "type": "string" + } + } + }, + "MarketplaceOrder": { + "id": "MarketplaceOrder", + "type": "object", + "description": "Represents an order in the marketplace. An order is the unit of negotiation between a seller and a buyer and contains deals which are served. Each field in an order can have one of the following setting:\n\n(readonly) - It is an error to try and set this field. (buyer-readonly) - Only the seller can set this field. (seller-readonly) - Only the buyer can set this field. (updatable) - The field is updatable at all times by either buyer or the seller.", + "properties": { + "billedBuyer": { + "$ref": "Buyer", + "description": "Reference to the buyer that will get billed for this order. (readonly)" + }, + "buyer": { + "$ref": "Buyer", + "description": "Reference to the buyer on the order. (readonly, except on create)" + }, + "buyerContacts": { + "type": "array", + "description": "Optional contact information fort the buyer. (seller-readonly)", + "items": { + "$ref": "ContactInformation" + } + }, + "buyerPrivateData": { + "$ref": "PrivateData", + "description": "Private data for buyer. (hidden from seller)." + }, + "hasBuyerSignedOff": { + "type": "boolean", + "description": "When an order is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the order can be finalized by the seller. (seller-readonly)" + }, + "hasSellerSignedOff": { + "type": "boolean", + "description": "When an order is in an accepted state, indicates whether the buyer has signed off Once both sides have signed off on a deal, the order can be finalized by the seller. (buyer-readonly)" + }, + "isRenegotiating": { + "type": "boolean", + "description": "True if the order is being renegotiated (readonly)." + }, + "isSetupComplete": { + "type": "boolean", + "description": "True, if the buyside inventory setup is complete for this order. (readonly)" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"adexchangebuyer#marketplaceOrder\".", + "default": "adexchangebuyer#marketplaceOrder" + }, + "labels": { + "type": "array", + "description": "List of labels associated with the order. (readonly)", + "items": { + "$ref": "MarketplaceLabel" + } + }, + "lastUpdaterOrCommentorRole": { + "type": "string", + "description": "The role of the last user that either updated the order or left a comment. (readonly)" + }, + "lastUpdaterRole": { + "type": "string" + }, + "name": { + "type": "string", + "description": "The name for the order (updatable)" + }, + "orderId": { + "type": "string", + "description": "The unique id of the order. (readonly)." + }, + "orderState": { + "type": "string", + "description": "The current state of the order. (readonly)" + }, + "originatorRole": { + "type": "string", + "description": "Indicates whether the buyer/seller created the offer.(readonly)" + }, + "revisionNumber": { + "type": "string", + "description": "The revision number for the order (readonly).", + "format": "int64" + }, + "revisionTimeMs": { + "type": "string", + "description": "The time (ms since epoch) when the order was last revised (readonly).", + "format": "int64" + }, + "seller": { + "$ref": "Seller", + "description": "Reference to the seller on the order. (readonly, except on create)" + }, + "sellerContacts": { + "type": "array", + "description": "Optional contact information for the seller (buyer-readonly).", + "items": { + "$ref": "ContactInformation" + } + } + } + }, + "MoneyDto": { + "id": "MoneyDto", + "type": "object", + "properties": { + "currencyCode": { + "type": "string" + }, + "micros": { + "type": "string", + "format": "int64" + } + } + }, + "NegotiationDto": { + "id": "NegotiationDto", + "type": "object", + "properties": { + "billedBuyer": { + "$ref": "DealPartyDto", + "description": "The billed buyer; Specified by a buyer buying through an intermediary." + }, + "buyer": { + "$ref": "DealPartyDto", + "description": "Details of the buyer party in this negotiation." + }, + "buyerEmailContacts": { + "type": "array", + "description": "The buyer party's contact email.", + "items": { + "type": "string" + } + }, + "dealType": { + "type": "string", + "description": "The type of this deal." + }, + "externalDealId": { + "type": "string", + "description": "For finalized negotiations, the ID of the finalized deal.", + "format": "int64" + }, + "kind": { + "type": "string", + "default": "adexchangebuyer#negotiation" + }, + "labelNames": { + "type": "array", + "description": "A list of label names applicable to this negotiation.", + "items": { + "type": "string" + } + }, + "negotiationId": { + "type": "string", + "description": "The unique ID of this negotiation.", + "format": "int64" + }, + "negotiationRounds": { + "type": "array", + "description": "The series of negotiation rounds for this negotiation.", + "items": { + "$ref": "NegotiationRoundDto" + } + }, + "negotiationState": { + "type": "string", + "description": "The state of this negotiation." + }, + "offerId": { + "type": "string", + "description": "The ID of this negotiation's original offer.", + "format": "int64" + }, + "seller": { + "$ref": "DealPartyDto", + "description": "Details of the seller party in this negotiation." + }, + "sellerEmailContacts": { + "type": "array", + "description": "The seller party's contact email.", + "items": { + "type": "string" + } + }, + "stats": { + "$ref": "StatsDto", + "description": "The stats for this negotiation." + }, + "status": { + "type": "string", + "description": "The status of this negotiation." + } + } + }, + "NegotiationRoundDto": { + "id": "NegotiationRoundDto", + "type": "object", + "properties": { + "action": { + "type": "string", + "description": "The action performed by this negotiation round." + }, + "dbmPartnerId": { + "type": "string", + "description": "Stores DBM partner ID for use by DBM", + "format": "int64" + }, + "editHistory": { + "$ref": "EditHistoryDto", + "description": "The edit history of this negotiation round." + }, + "kind": { + "type": "string", + "default": "adexchangebuyer#negotiationRound" + }, + "negotiationId": { + "type": "string", + "description": "The ID of the negotiation to which this negotiation round applies.", + "format": "int64" + }, + "notes": { + "type": "string", + "description": "Notes regarding this negotiation round." + }, + "originatorRole": { + "type": "string", + "description": "The role, either buyer or seller, initiating this negotiation round." + }, + "roundNumber": { + "type": "string", + "description": "The number of this negotiation round, in sequence.", + "format": "int64" + }, + "terms": { + "$ref": "TermsDto", + "description": "The detailed terms proposed in this negotiation round." + } + } + }, + "OfferDto": { + "id": "OfferDto", + "type": "object", + "properties": { + "anonymous": { + "type": "boolean", + "description": "Whether this offer is anonymous." + }, + "billedBuyer": { + "$ref": "DealPartyDto", + "description": "The billed buyer; For buyer initiated offers, buying through an intermediary." + }, + "closedToDealParties": { + "type": "array", + "description": "The list of buyer or seller parties this offer is closed to.", + "items": { + "$ref": "DealPartyDto" + } + }, + "creator": { + "$ref": "DealPartyDto", + "description": "The creator of this offer." + }, + "emailContacts": { + "type": "array", + "description": "The list of email contacts for this offer.", + "items": { + "type": "string" + } + }, + "isOpen": { + "type": "boolean", + "description": "Whether this offer is open." + }, + "kind": { + "type": "string", + "default": "adexchangebuyer#offer" + }, + "labelNames": { + "type": "array", + "description": "The list of label names applicable to this offer.", + "items": { + "type": "string" + } + }, + "offerId": { + "type": "string", + "description": "The unique ID of this offer.", + "format": "int64" + }, + "offerState": { + "type": "string", + "description": "The state of this offer." + }, + "openToDealParties": { + "type": "array", + "description": "The list of buyer or seller parties this offer is open to.", + "items": { + "$ref": "DealPartyDto" + } + }, + "pointOfContact": { + "type": "string", + "description": "The point of contact for this offer." + }, + "status": { + "type": "string", + "description": "The status of this offer." + }, + "terms": { + "$ref": "TermsDto", + "description": "The terms of this offer." + } + } + }, + "PerformanceReport": { + "id": "PerformanceReport", + "type": "object", + "description": "The configuration data for an Ad Exchange performance report list.", + "properties": { + "bidRate": { + "type": "number", + "description": "The number of bid responses with an ad.", + "format": "double" + }, + "bidRequestRate": { + "type": "number", + "description": "The number of bid requests sent to your bidder.", + "format": "double" + }, + "calloutStatusRate": { + "type": "array", + "description": "Rate of various prefiltering statuses per match. Please refer to the callout-status-codes.txt file for different statuses.", + "items": { + "type": "any" + } + }, + "cookieMatcherStatusRate": { + "type": "array", + "description": "Average QPS for cookie matcher operations.", + "items": { + "type": "any" + } + }, + "creativeStatusRate": { + "type": "array", + "description": "Rate of ads with a given status. Please refer to the creative-status-codes.txt file for different statuses.", + "items": { + "type": "any" + } + }, + "filteredBidRate": { + "type": "number", + "description": "The number of bid responses that were filtered due to a policy violation or other errors.", + "format": "double" + }, + "hostedMatchStatusRate": { + "type": "array", + "description": "Average QPS for hosted match operations.", + "items": { + "type": "any" + } + }, + "inventoryMatchRate": { + "type": "number", + "description": "The number of potential queries based on your pretargeting settings.", + "format": "double" + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#performanceReport" + }, + "latency50thPercentile": { + "type": "number", + "description": "The 50th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.", + "format": "double" + }, + "latency85thPercentile": { + "type": "number", + "description": "The 85th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.", + "format": "double" + }, + "latency95thPercentile": { + "type": "number", + "description": "The 95th percentile round trip latency(ms) as perceived from Google servers for the duration period covered by the report.", + "format": "double" + }, + "noQuotaInRegion": { + "type": "number", + "description": "Rate of various quota account statuses per quota check.", + "format": "double" + }, + "outOfQuota": { + "type": "number", + "description": "Rate of various quota account statuses per quota check.", + "format": "double" + }, + "pixelMatchRequests": { + "type": "number", + "description": "Average QPS for pixel match requests from clients.", + "format": "double" + }, + "pixelMatchResponses": { + "type": "number", + "description": "Average QPS for pixel match responses from clients.", + "format": "double" + }, + "quotaConfiguredLimit": { + "type": "number", + "description": "The configured quota limits for this account.", + "format": "double" + }, + "quotaThrottledLimit": { + "type": "number", + "description": "The throttled quota limits for this account.", + "format": "double" + }, + "region": { + "type": "string", + "description": "The trading location of this data." + }, + "successfulRequestRate": { + "type": "number", + "description": "The number of properly formed bid responses received by our servers within the deadline.", + "format": "double" + }, + "timestamp": { + "type": "string", + "description": "The unix timestamp of the starting time of this performance data.", + "format": "int64" + }, + "unsuccessfulRequestRate": { + "type": "number", + "description": "The number of bid responses that were unsuccessful due to timeouts, incorrect formatting, etc.", + "format": "double" + } + } + }, + "PerformanceReportList": { + "id": "PerformanceReportList", + "type": "object", + "description": "The configuration data for an Ad Exchange performance report list. https://sites.google.com/a/google.com/adx-integration/Home/engineering/binary-releases/rtb-api-release https://cs.corp.google.com/#piper///depot/google3/contentads/adx/tools/rtb_api/adxrtb.py", + "properties": { + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#performanceReportList" + }, + "performanceReport": { + "type": "array", + "description": "A list of performance reports relevant for the account.", + "items": { + "$ref": "PerformanceReport" + } + } + } + }, + "PretargetingConfig": { + "id": "PretargetingConfig", + "type": "object", + "properties": { + "billingId": { + "type": "string", + "description": "The id for billing purposes, provided for reference. Leave this field blank for insert requests; the id will be generated automatically.", + "format": "int64" + }, + "configId": { + "type": "string", + "description": "The config id; generated automatically. Leave this field blank for insert requests.", + "format": "int64" + }, + "configName": { + "type": "string", + "description": "The name of the config. Must be unique. Required for all requests." + }, + "creativeType": { + "type": "array", + "description": "List must contain exactly one of PRETARGETING_CREATIVE_TYPE_HTML or PRETARGETING_CREATIVE_TYPE_VIDEO.", + "items": { + "type": "string" + } + }, + "dimensions": { + "type": "array", + "description": "Requests which allow one of these (width, height) pairs will match. All pairs must be supported ad dimensions.", + "items": { + "type": "object", + "properties": { + "height": { + "type": "string", + "description": "Height in pixels.", + "format": "int64" + }, + "width": { + "type": "string", + "description": "Width in pixels.", + "format": "int64" + } + } + } + }, + "excludedContentLabels": { + "type": "array", + "description": "Requests with any of these content labels will not match. Values are from content-labels.txt in the downloadable files section.", + "items": { + "type": "string", + "format": "int64" + } + }, + "excludedGeoCriteriaIds": { + "type": "array", + "description": "Requests containing any of these geo criteria ids will not match.", + "items": { + "type": "string", + "format": "int64" + } + }, + "excludedPlacements": { + "type": "array", + "description": "Requests containing any of these placements will not match.", + "items": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement." + }, + "type": { + "type": "string", + "description": "The type of the placement." + } + } + } + }, + "excludedUserLists": { + "type": "array", + "description": "Requests containing any of these users list ids will not match.", + "items": { + "type": "string", + "format": "int64" + } + }, + "excludedVerticals": { + "type": "array", + "description": "Requests containing any of these vertical ids will not match. Values are from the publisher-verticals.txt file in the downloadable files section.", + "items": { + "type": "string", + "format": "int64" + } + }, + "geoCriteriaIds": { + "type": "array", + "description": "Requests containing any of these geo criteria ids will match.", + "items": { + "type": "string", + "format": "int64" + } + }, + "isActive": { + "type": "boolean", + "description": "Whether this config is active. Required for all requests." + }, + "kind": { + "type": "string", + "description": "The kind of the resource, i.e. \"adexchangebuyer#pretargetingConfig\".", + "default": "adexchangebuyer#pretargetingConfig" + }, + "languages": { + "type": "array", + "description": "Request containing any of these language codes will match.", + "items": { + "type": "string" + } + }, + "mobileCarriers": { + "type": "array", + "description": "Requests containing any of these mobile carrier ids will match. Values are from mobile-carriers.csv in the downloadable files section.", + "items": { + "type": "string", + "format": "int64" + } + }, + "mobileDevices": { + "type": "array", + "description": "Requests containing any of these mobile device ids will match. Values are from mobile-devices.csv in the downloadable files section.", + "items": { + "type": "string", + "format": "int64" + } + }, + "mobileOperatingSystemVersions": { + "type": "array", + "description": "Requests containing any of these mobile operating system version ids will match. Values are from mobile-os.csv in the downloadable files section.", + "items": { + "type": "string", + "format": "int64" + } + }, + "placements": { + "type": "array", + "description": "Requests containing any of these placements will match.", + "items": { + "type": "object", + "properties": { + "token": { + "type": "string", + "description": "The value of the placement. Interpretation depends on the placement type, e.g. URL for a site placement, channel name for a channel placement, app id for a mobile app placement." + }, + "type": { + "type": "string", + "description": "The type of the placement." + } + } + } + }, + "platforms": { + "type": "array", + "description": "Requests matching any of these platforms will match. Possible values are PRETARGETING_PLATFORM_MOBILE, PRETARGETING_PLATFORM_DESKTOP, and PRETARGETING_PLATFORM_TABLET.", + "items": { + "type": "string" + } + }, + "supportedCreativeAttributes": { + "type": "array", + "description": "Creative attributes should be declared here if all creatives corresponding to this pretargeting configuration have that creative attribute. Values are from pretargetable-creative-attributes.txt in the downloadable files section.", + "items": { + "type": "string", + "format": "int64" + } + }, + "userLists": { + "type": "array", + "description": "Requests containing any of these user list ids will match.", + "items": { + "type": "string", + "format": "int64" + } + }, + "vendorTypes": { + "type": "array", + "description": "Requests that allow any of these vendor ids will match. Values are from vendors.txt in the downloadable files section.", + "items": { + "type": "string", + "format": "int64" + } + }, + "verticals": { + "type": "array", + "description": "Requests containing any of these vertical ids will match.", + "items": { + "type": "string", + "format": "int64" + } + } + } + }, + "PretargetingConfigList": { + "id": "PretargetingConfigList", + "type": "object", + "properties": { + "items": { + "type": "array", + "description": "A list of pretargeting configs", + "items": { + "$ref": "PretargetingConfig" + } + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "adexchangebuyer#pretargetingConfigList" + } + } + }, + "Price": { + "id": "Price", + "type": "object", + "properties": { + "amountMicros": { + "type": "number", + "description": "The CPM value in micros.", + "format": "double" + }, + "currencyCode": { + "type": "string", + "description": "The currency code for the price." + } + } + }, + "PricePerBuyer": { + "id": "PricePerBuyer", + "type": "object", + "description": "Used to specify pricing rules for buyers/advertisers. Each PricePerBuyer in an offer can become [0,1] deals. To check if there is a PricePerBuyer for a particular buyer or buyer/advertiser pair, we look for the most specific matching rule - we first look for a rule matching the buyer and advertiser, next a rule with the buyer but an empty advertiser list, and otherwise look for a matching rule where no buyer is set.", + "properties": { + "buyer": { + "$ref": "Buyer", + "description": "The buyer who will pay this price. If unset, all buyers can pay this price (if the advertisers match, and there's no more specific rule matching the buyer)." + }, + "price": { + "$ref": "Price", + "description": "The specified price" + } + } + }, + "PrivateData": { + "id": "PrivateData", + "type": "object", + "properties": { + "referenceId": { + "type": "string" + }, + "referencePayload": { + "type": "string", + "format": "byte" + } + } + }, + "RuleKeyValuePair": { + "id": "RuleKeyValuePair", + "type": "object", + "properties": { + "keyName": { + "type": "string" + }, + "value": { + "type": "string" + } + } + }, + "Seller": { + "id": "Seller", + "type": "object", + "properties": { + "accountId": { + "type": "string", + "description": "The unique id for the seller. The seller fills in this field. The seller account id is then available to buyer in the offer." + }, + "subAccountId": { + "type": "string", + "description": "Optional sub-account id for the seller." + } + } + }, + "SharedTargeting": { + "id": "SharedTargeting", + "type": "object", + "properties": { + "exclusions": { + "type": "array", + "description": "The list of values to exclude from targeting.", + "items": { + "$ref": "TargetingValue" + } + }, + "inclusions": { + "type": "array", + "description": "The list of value to include as part of the targeting.", + "items": { + "$ref": "TargetingValue" + } + }, + "key": { + "type": "string", + "description": "The key representing the shared targeting criterion." + } + } + }, + "StatsDto": { + "id": "StatsDto", + "type": "object", + "properties": { + "bids": { + "type": "string", + "format": "int64" + }, + "goodBids": { + "type": "string", + "format": "int64" + }, + "impressions": { + "type": "string", + "format": "int64" + }, + "requests": { + "type": "string", + "format": "int64" + }, + "revenue": { + "$ref": "MoneyDto" + }, + "spend": { + "$ref": "MoneyDto" + } + } + }, + "TargetingValue": { + "id": "TargetingValue", + "type": "object", + "properties": { + "creativeSizeValue": { + "$ref": "TargetingValueCreativeSize", + "description": "The creative size value to exclude/include." + }, + "dayPartTargetingValue": { + "$ref": "TargetingValueDayPartTargeting", + "description": "The daypart targeting to include / exclude. Filled in when the key is GOOG_DAYPART_TARGETING." + }, + "longValue": { + "type": "string", + "description": "The long value to exclude/include.", + "format": "int64" + }, + "stringValue": { + "type": "string", + "description": "The string value to exclude/include." + } + } + }, + "TargetingValueCreativeSize": { + "id": "TargetingValueCreativeSize", + "type": "object", + "properties": { + "companionSizes": { + "type": "array", + "description": "For video size type, the list of companion sizes.", + "items": { + "$ref": "TargetingValueSize" + } + }, + "creativeSizeType": { + "type": "string", + "description": "The Creative size type." + }, + "size": { + "$ref": "TargetingValueSize", + "description": "For regular creative size type, specifies the size of the creative." + } + } + }, + "TargetingValueDayPartTargeting": { + "id": "TargetingValueDayPartTargeting", + "type": "object", + "properties": { + "dayParts": { + "type": "array", + "items": { + "$ref": "TargetingValueDayPartTargetingDayPart" + } + }, + "timeZoneType": { + "type": "string" + } + } + }, + "TargetingValueDayPartTargetingDayPart": { + "id": "TargetingValueDayPartTargetingDayPart", + "type": "object", + "properties": { + "dayOfWeek": { + "type": "string" + }, + "endHour": { + "type": "integer", + "format": "int32" + }, + "endMinute": { + "type": "integer", + "format": "int32" + }, + "startHour": { + "type": "integer", + "format": "int32" + }, + "startMinute": { + "type": "integer", + "format": "int32" + } + } + }, + "TargetingValueSize": { + "id": "TargetingValueSize", + "type": "object", + "properties": { + "height": { + "type": "integer", + "description": "The height of the creative.", + "format": "int32" + }, + "width": { + "type": "integer", + "description": "The width of the creative.", + "format": "int32" + } + } + }, + "TermsDto": { + "id": "TermsDto", + "type": "object", + "properties": { + "adSlots": { + "type": "array", + "description": "The particular ad slots targeted by the offer.", + "items": { + "$ref": "AdSlotDto" + } + }, + "advertisers": { + "type": "array", + "description": "A list of advertisers for this offer.", + "items": { + "$ref": "AdvertiserDto" + } + }, + "audienceSegment": { + "$ref": "AudienceSegment", + "description": "The audience segment for the offer." + }, + "audienceSegmentDescription": { + "type": "string", + "description": "A description of the audience segment for the offer." + }, + "billingTerms": { + "type": "string", + "description": "The billing terms." + }, + "buyerBillingType": { + "type": "string", + "description": "The buyer billing type." + }, + "cpm": { + "$ref": "MoneyDto", + "description": "The cpm terms." + }, + "creativeBlockingLevel": { + "type": "string", + "description": "Whether to use or ignore publisher blocking rules." + }, + "creativeReviewPolicy": { + "type": "string", + "description": "Whether to use publisher review policy or AdX review policy." + }, + "dealPremium": { + "$ref": "MoneyDto", + "description": "The premium terms." + }, + "description": { + "type": "string", + "description": "A description for these terms." + }, + "descriptiveName": { + "type": "string", + "description": "A descriptive name for these terms." + }, + "endDate": { + "$ref": "DateTime", + "description": "The end date for the offer." + }, + "estimatedImpressionsPerDay": { + "type": "string", + "description": "The estimated daily impressions for the offer.", + "format": "int64" + }, + "estimatedSpend": { + "$ref": "MoneyDto", + "description": "The estimated spend for the offer." + }, + "finalizeAutomatically": { + "type": "boolean", + "description": "If true, the offer will finalize automatically when accepted." + }, + "inventorySegmentTargeting": { + "$ref": "InventorySegmentTargeting", + "description": "The inventory segment targeting for the offer." + }, + "isReservation": { + "type": "boolean", + "description": "Whether the offer is a reservation." + }, + "minimumSpendMicros": { + "type": "string", + "description": "The minimum spend for the offer.", + "format": "int64" + }, + "minimumTrueLooks": { + "type": "string", + "description": "The minimum true looks for the offer.", + "format": "int64" + }, + "monetizerType": { + "type": "string", + "description": "The monetizer type." + }, + "semiTransparent": { + "type": "boolean", + "description": "Whether this offer is semi-transparent." + }, + "startDate": { + "$ref": "DateTime", + "description": "The start date for the offer." + }, + "targetByDealId": { + "type": "boolean", + "description": "Whether to target by deal id." + }, + "targetingAllAdSlots": { + "type": "boolean", + "description": "If true, the offer targets all ad slots." + }, + "termsAttributes": { + "type": "array", + "description": "A list of terms attributes.", + "items": { + "type": "string" + } + }, + "urls": { + "type": "array", + "description": "The urls applicable to the offer.", + "items": { + "type": "string" + } + } + } + }, + "WebPropertyDto": { + "id": "WebPropertyDto", + "type": "object", + "properties": { + "allowInterestTargetedAds": { + "type": "boolean" + }, + "enabledForPreferredDeals": { + "type": "boolean" + }, + "id": { + "type": "integer", + "format": "int32" + }, + "name": { + "type": "string" + }, + "propertyCode": { + "type": "string" + }, + "siteUrls": { + "type": "array", + "items": { + "type": "string" + } + }, + "syndicationProduct": { + "type": "string" + } + } + } + }, + "resources": { + "accounts": { + "methods": { + "get": { + "id": "adexchangebuyer.accounts.get", + "path": "accounts/{id}", + "httpMethod": "GET", + "description": "Gets one account by ID.", + "parameters": { + "id": { + "type": "integer", + "description": "The account id", + "required": true, + "format": "int32", + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.accounts.list", + "path": "accounts", + "httpMethod": "GET", + "description": "Retrieves the authenticated user's list of accounts.", + "response": { + "$ref": "AccountsList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "patch": { + "id": "adexchangebuyer.accounts.patch", + "path": "accounts/{id}", + "httpMethod": "PATCH", + "description": "Updates an existing account. This method supports patch semantics.", + "parameters": { + "id": { + "type": "integer", + "description": "The account id", + "required": true, + "format": "int32", + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "request": { + "$ref": "Account" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "update": { + "id": "adexchangebuyer.accounts.update", + "path": "accounts/{id}", + "httpMethod": "PUT", + "description": "Updates an existing account.", + "parameters": { + "id": { + "type": "integer", + "description": "The account id", + "required": true, + "format": "int32", + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "request": { + "$ref": "Account" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "billingInfo": { + "methods": { + "get": { + "id": "adexchangebuyer.billingInfo.get", + "path": "billinginfo/{accountId}", + "httpMethod": "GET", + "description": "Returns the billing information for one account specified by account ID.", + "parameters": { + "accountId": { + "type": "integer", + "description": "The account id.", + "required": true, + "format": "int32", + "location": "path" + } + }, + "parameterOrder": [ + "accountId" + ], + "response": { + "$ref": "BillingInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.billingInfo.list", + "path": "billinginfo", + "httpMethod": "GET", + "description": "Retrieves a list of billing information for all accounts of the authenticated user.", + "response": { + "$ref": "BillingInfoList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "budget": { + "methods": { + "get": { + "id": "adexchangebuyer.budget.get", + "path": "billinginfo/{accountId}/{billingId}", + "httpMethod": "GET", + "description": "Returns the budget information for the adgroup specified by the accountId and billingId.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id to get the budget information for.", + "required": true, + "format": "int64", + "location": "path" + }, + "billingId": { + "type": "string", + "description": "The billing id to get the budget information for.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "billingId" + ], + "response": { + "$ref": "Budget" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "patch": { + "id": "adexchangebuyer.budget.patch", + "path": "billinginfo/{accountId}/{billingId}", + "httpMethod": "PATCH", + "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request. This method supports patch semantics.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id associated with the budget being updated.", + "required": true, + "format": "int64", + "location": "path" + }, + "billingId": { + "type": "string", + "description": "The billing id associated with the budget being updated.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "billingId" + ], + "request": { + "$ref": "Budget" + }, + "response": { + "$ref": "Budget" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "update": { + "id": "adexchangebuyer.budget.update", + "path": "billinginfo/{accountId}/{billingId}", + "httpMethod": "PUT", + "description": "Updates the budget amount for the budget of the adgroup specified by the accountId and billingId, with the budget amount in the request.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id associated with the budget being updated.", + "required": true, + "format": "int64", + "location": "path" + }, + "billingId": { + "type": "string", + "description": "The billing id associated with the budget being updated.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "billingId" + ], + "request": { + "$ref": "Budget" + }, + "response": { + "$ref": "Budget" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "clientaccess": { + "methods": { + "delete": { + "id": "adexchangebuyer.clientaccess.delete", + "path": "clientAccess/{clientAccountId}", + "httpMethod": "DELETE", + "parameters": { + "clientAccountId": { + "type": "string", + "required": true, + "format": "int64", + "location": "path" + }, + "sponsorAccountId": { + "type": "integer", + "required": true, + "format": "int32", + "location": "query" + } + }, + "parameterOrder": [ + "clientAccountId", + "sponsorAccountId" + ], + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "get": { + "id": "adexchangebuyer.clientaccess.get", + "path": "clientAccess/{clientAccountId}", + "httpMethod": "GET", + "parameters": { + "clientAccountId": { + "type": "string", + "required": true, + "format": "int64", + "location": "path" + }, + "sponsorAccountId": { + "type": "integer", + "required": true, + "format": "int32", + "location": "query" + } + }, + "parameterOrder": [ + "clientAccountId", + "sponsorAccountId" + ], + "response": { + "$ref": "ClientAccessCapabilities" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "insert": { + "id": "adexchangebuyer.clientaccess.insert", + "path": "clientAccess", + "httpMethod": "POST", + "parameters": { + "clientAccountId": { + "type": "string", + "format": "int64", + "location": "query" + }, + "sponsorAccountId": { + "type": "integer", + "format": "int32", + "location": "query" + } + }, + "request": { + "$ref": "ClientAccessCapabilities" + }, + "response": { + "$ref": "ClientAccessCapabilities" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.clientaccess.list", + "path": "clientAccess", + "httpMethod": "GET", + "request": { + "$ref": "ListClientAccessCapabilitiesRequest" + }, + "response": { + "$ref": "ListClientAccessCapabilitiesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "patch": { + "id": "adexchangebuyer.clientaccess.patch", + "path": "clientAccess/{clientAccountId}", + "httpMethod": "PATCH", + "parameters": { + "clientAccountId": { + "type": "string", + "required": true, + "format": "int64", + "location": "path" + }, + "sponsorAccountId": { + "type": "integer", + "required": true, + "format": "int32", + "location": "query" + } + }, + "parameterOrder": [ + "clientAccountId", + "sponsorAccountId" + ], + "request": { + "$ref": "ClientAccessCapabilities" + }, + "response": { + "$ref": "ClientAccessCapabilities" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "update": { + "id": "adexchangebuyer.clientaccess.update", + "path": "clientAccess/{clientAccountId}", + "httpMethod": "PUT", + "parameters": { + "clientAccountId": { + "type": "string", + "required": true, + "format": "int64", + "location": "path" + }, + "sponsorAccountId": { + "type": "integer", + "required": true, + "format": "int32", + "location": "query" + } + }, + "parameterOrder": [ + "clientAccountId", + "sponsorAccountId" + ], + "request": { + "$ref": "ClientAccessCapabilities" + }, + "response": { + "$ref": "ClientAccessCapabilities" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "creatives": { + "methods": { + "get": { + "id": "adexchangebuyer.creatives.get", + "path": "creatives/{accountId}/{buyerCreativeId}", + "httpMethod": "GET", + "description": "Gets the status for a single creative. A creative will be available 30-40 minutes after submission.", + "parameters": { + "accountId": { + "type": "integer", + "description": "The id for the account that will serve this creative.", + "required": true, + "format": "int32", + "location": "path" + }, + "buyerCreativeId": { + "type": "string", + "description": "The buyer-specific id for this creative.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "buyerCreativeId" + ], + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "insert": { + "id": "adexchangebuyer.creatives.insert", + "path": "creatives", + "httpMethod": "POST", + "description": "Submit a new creative.", + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.creatives.list", + "path": "creatives", + "httpMethod": "GET", + "description": "Retrieves a list of the authenticated user's active creatives. A creative will be available 30-40 minutes after submission.", + "parameters": { + "accountId": { + "type": "integer", + "description": "When specified, only creatives for the given account ids are returned.", + "format": "int32", + "repeated": true, + "location": "query" + }, + "buyerCreativeId": { + "type": "string", + "description": "When specified, only creatives for the given buyer creative ids are returned.", + "repeated": true, + "location": "query" + }, + "dealsStatusFilter": { + "type": "string", + "description": "When specified, only creatives having the given direct deals status are returned.", + "enum": [ + "approved", + "conditionally_approved", + "disapproved", + "not_checked" + ], + "enumDescriptions": [ + "Creatives which have been approved for serving on direct deals.", + "Creatives which have been conditionally approved for serving on direct deals.", + "Creatives which have been disapproved for serving on direct deals.", + "Creatives whose direct deals status is not yet checked." + ], + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.", + "format": "uint32", + "minimum": "1", + "maximum": "1000", + "location": "query" + }, + "openAuctionStatusFilter": { + "type": "string", + "description": "When specified, only creatives having the given open auction status are returned.", + "enum": [ + "approved", + "conditionally_approved", + "disapproved", + "not_checked" + ], + "enumDescriptions": [ + "Creatives which have been approved for serving on the open auction.", + "Creatives which have been conditionally approved for serving on the open auction.", + "Creatives which have been disapproved for serving on the open auction.", + "Creatives whose open auction status is not yet checked." + ], + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A continuation token, used to page through ad clients. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.", + "location": "query" + } + }, + "response": { + "$ref": "CreativesList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "deals": { + "methods": { + "get": { + "id": "adexchangebuyer.deals.get", + "path": "deals/{dealId}", + "httpMethod": "GET", + "description": "Gets the requested deal.", + "parameters": { + "dealId": { + "type": "string", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "dealId" + ], + "request": { + "$ref": "GetFinalizedNegotiationByExternalDealIdRequest" + }, + "response": { + "$ref": "NegotiationDto" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "marketplacedeals": { + "methods": { + "delete": { + "id": "adexchangebuyer.marketplacedeals.delete", + "path": "marketplaceOrders/{orderId}/deals/delete", + "httpMethod": "POST", + "description": "Delete the specified deals from the order", + "parameters": { + "orderId": { + "type": "string", + "description": "The orderId to delete deals from.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "orderId" + ], + "request": { + "$ref": "DeleteOrderDealsRequest" + }, + "response": { + "$ref": "DeleteOrderDealsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "insert": { + "id": "adexchangebuyer.marketplacedeals.insert", + "path": "marketplaceOrders/{orderId}/deals/insert", + "httpMethod": "POST", + "description": "Add new deals for the specified order", + "parameters": { + "orderId": { + "type": "string", + "description": "OrderId for which deals need to be added.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "orderId" + ], + "request": { + "$ref": "AddOrderDealsRequest" + }, + "response": { + "$ref": "AddOrderDealsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.marketplacedeals.list", + "path": "marketplaceOrders/{orderId}/deals", + "httpMethod": "GET", + "description": "List all the deals for a given order", + "parameters": { + "orderId": { + "type": "string", + "description": "The orderId to get deals for.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "orderId" + ], + "response": { + "$ref": "GetOrderDealsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "update": { + "id": "adexchangebuyer.marketplacedeals.update", + "path": "marketplaceOrders/{orderId}/deals/update", + "httpMethod": "POST", + "description": "Replaces all the deals in the order with the passed in deals", + "parameters": { + "orderId": { + "type": "string", + "description": "The orderId to edit deals on.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "orderId" + ], + "request": { + "$ref": "EditAllOrderDealsRequest" + }, + "response": { + "$ref": "EditAllOrderDealsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "marketplacenotes": { + "methods": { + "insert": { + "id": "adexchangebuyer.marketplacenotes.insert", + "path": "marketplaceOrders/{orderId}/notes/insert", + "httpMethod": "POST", + "description": "Add notes to the order", + "parameters": { + "orderId": { + "type": "string", + "description": "The orderId to add notes for.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "orderId" + ], + "request": { + "$ref": "AddOrderNotesRequest" + }, + "response": { + "$ref": "AddOrderNotesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.marketplacenotes.list", + "path": "marketplaceOrders/{orderId}/notes", + "httpMethod": "GET", + "description": "Get all the notes associated with an order", + "parameters": { + "orderId": { + "type": "string", + "description": "The orderId to get notes for.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "orderId" + ], + "response": { + "$ref": "GetOrderNotesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "marketplaceoffers": { + "methods": { + "get": { + "id": "adexchangebuyer.marketplaceoffers.get", + "path": "marketplaceOffers/{offerId}", + "httpMethod": "GET", + "description": "Gets the requested negotiation.", + "parameters": { + "offerId": { + "type": "string", + "description": "The offerId for the offer to get the head revision for.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "offerId" + ], + "response": { + "$ref": "MarketplaceOffer" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "search": { + "id": "adexchangebuyer.marketplaceoffers.search", + "path": "marketplaceOffers/search", + "httpMethod": "GET", + "description": "Gets the requested negotiation.", + "parameters": { + "pqlQuery": { + "type": "string", + "description": "The pql query used to query for offers.", + "location": "query" + } + }, + "response": { + "$ref": "GetOffersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "marketplaceorders": { + "methods": { + "get": { + "id": "adexchangebuyer.marketplaceorders.get", + "path": "marketplaceOrders/{orderId}", + "httpMethod": "GET", + "description": "Get an order given its id", + "parameters": { + "orderId": { + "type": "string", + "description": "Id of the order to retrieve.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "orderId" + ], + "response": { + "$ref": "MarketplaceOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "insert": { + "id": "adexchangebuyer.marketplaceorders.insert", + "path": "marketplaceOrders/insert", + "httpMethod": "POST", + "description": "Create the given list of orders", + "request": { + "$ref": "CreateOrdersRequest" + }, + "response": { + "$ref": "CreateOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "patch": { + "id": "adexchangebuyer.marketplaceorders.patch", + "path": "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}", + "httpMethod": "PATCH", + "description": "Update the given order. This method supports patch semantics.", + "parameters": { + "orderId": { + "type": "string", + "description": "The order id to update.", + "required": true, + "location": "path" + }, + "revisionNumber": { + "type": "string", + "description": "The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the lastest order at head revision and retry the update at that revision.", + "required": true, + "format": "int64", + "location": "path" + }, + "updateAction": { + "type": "string", + "description": "The proposed action to take on the order.", + "required": true, + "enum": [ + "accept", + "cancel", + "propose", + "unknownAction", + "updateFinalized" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "location": "path" + } + }, + "parameterOrder": [ + "orderId", + "revisionNumber", + "updateAction" + ], + "request": { + "$ref": "MarketplaceOrder" + }, + "response": { + "$ref": "MarketplaceOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "search": { + "id": "adexchangebuyer.marketplaceorders.search", + "path": "marketplaceOrders/search", + "httpMethod": "GET", + "description": "Search for orders using pql query", + "parameters": { + "pqlQuery": { + "type": "string", + "description": "Query string to retrieve specific orders.", + "location": "query" + } + }, + "response": { + "$ref": "GetOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "update": { + "id": "adexchangebuyer.marketplaceorders.update", + "path": "marketplaceOrders/{orderId}/{revisionNumber}/{updateAction}", + "httpMethod": "PUT", + "description": "Update the given order", + "parameters": { + "orderId": { + "type": "string", + "description": "The order id to update.", + "required": true, + "location": "path" + }, + "revisionNumber": { + "type": "string", + "description": "The last known revision number to update. If the head revision in the marketplace database has since changed, an error will be thrown. The caller should then fetch the lastest order at head revision and retry the update at that revision.", + "required": true, + "format": "int64", + "location": "path" + }, + "updateAction": { + "type": "string", + "description": "The proposed action to take on the order.", + "required": true, + "enum": [ + "accept", + "cancel", + "propose", + "unknownAction", + "updateFinalized" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "location": "path" + } + }, + "parameterOrder": [ + "orderId", + "revisionNumber", + "updateAction" + ], + "request": { + "$ref": "MarketplaceOrder" + }, + "response": { + "$ref": "MarketplaceOrder" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "negotiationrounds": { + "methods": { + "insert": { + "id": "adexchangebuyer.negotiationrounds.insert", + "path": "negotiations/{negotiationId}/negotiationrounds", + "httpMethod": "POST", + "description": "Adds the requested negotiationRound to the requested negotiation.", + "parameters": { + "negotiationId": { + "type": "string", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "negotiationId" + ], + "request": { + "$ref": "NegotiationRoundDto" + }, + "response": { + "$ref": "NegotiationRoundDto" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "negotiations": { + "methods": { + "get": { + "id": "adexchangebuyer.negotiations.get", + "path": "negotiations/{negotiationId}", + "httpMethod": "GET", + "description": "Gets the requested negotiation.", + "parameters": { + "negotiationId": { + "type": "string", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "negotiationId" + ], + "request": { + "$ref": "GetNegotiationByIdRequest" + }, + "response": { + "$ref": "NegotiationDto" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "insert": { + "id": "adexchangebuyer.negotiations.insert", + "path": "negotiations", + "httpMethod": "POST", + "description": "Creates or updates the requested negotiation.", + "request": { + "$ref": "NegotiationDto" + }, + "response": { + "$ref": "NegotiationDto" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.negotiations.list", + "path": "negotiations", + "httpMethod": "GET", + "description": "Lists all negotiations the authenticated user has access to.", + "request": { + "$ref": "GetNegotiationsRequest" + }, + "response": { + "$ref": "GetNegotiationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "offers": { + "methods": { + "get": { + "id": "adexchangebuyer.offers.get", + "path": "offers/{offerId}", + "httpMethod": "GET", + "description": "Gets the requested offer.", + "parameters": { + "offerId": { + "type": "string", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "offerId" + ], + "response": { + "$ref": "OfferDto" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "insert": { + "id": "adexchangebuyer.offers.insert", + "path": "offers", + "httpMethod": "POST", + "description": "Creates or updates the requested offer.", + "request": { + "$ref": "OfferDto" + }, + "response": { + "$ref": "OfferDto" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.offers.list", + "path": "offers", + "httpMethod": "GET", + "description": "Lists all offers the authenticated user has access to.", + "request": { + "$ref": "ListOffersRequest" + }, + "response": { + "$ref": "ListOffersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "performanceReport": { + "methods": { + "list": { + "id": "adexchangebuyer.performanceReport.list", + "path": "performancereport", + "httpMethod": "GET", + "description": "Retrieves the authenticated user's list of performance metrics.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id to get the reports.", + "required": true, + "format": "int64", + "location": "query" + }, + "endDateTime": { + "type": "string", + "description": "The end time of the report in ISO 8601 timestamp format using UTC.", + "required": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of entries returned on one result page. If not set, the default is 100. Optional.", + "format": "uint32", + "minimum": "1", + "maximum": "1000", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A continuation token, used to page through performance reports. To retrieve the next page, set this parameter to the value of \"nextPageToken\" from the previous response. Optional.", + "location": "query" + }, + "startDateTime": { + "type": "string", + "description": "The start time of the report in ISO 8601 timestamp format using UTC.", + "required": true, + "location": "query" + } + }, + "parameterOrder": [ + "accountId", + "endDateTime", + "startDateTime" + ], + "response": { + "$ref": "PerformanceReportList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + }, + "pretargetingConfig": { + "methods": { + "delete": { + "id": "adexchangebuyer.pretargetingConfig.delete", + "path": "pretargetingconfigs/{accountId}/{configId}", + "httpMethod": "DELETE", + "description": "Deletes an existing pretargeting config.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id to delete the pretargeting config for.", + "required": true, + "format": "int64", + "location": "path" + }, + "configId": { + "type": "string", + "description": "The specific id of the configuration to delete.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "configId" + ], + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "get": { + "id": "adexchangebuyer.pretargetingConfig.get", + "path": "pretargetingconfigs/{accountId}/{configId}", + "httpMethod": "GET", + "description": "Gets a specific pretargeting configuration", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id to get the pretargeting config for.", + "required": true, + "format": "int64", + "location": "path" + }, + "configId": { + "type": "string", + "description": "The specific id of the configuration to retrieve.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "configId" + ], + "response": { + "$ref": "PretargetingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "insert": { + "id": "adexchangebuyer.pretargetingConfig.insert", + "path": "pretargetingconfigs/{accountId}", + "httpMethod": "POST", + "description": "Inserts a new pretargeting configuration.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id to insert the pretargeting config for.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId" + ], + "request": { + "$ref": "PretargetingConfig" + }, + "response": { + "$ref": "PretargetingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "list": { + "id": "adexchangebuyer.pretargetingConfig.list", + "path": "pretargetingconfigs/{accountId}", + "httpMethod": "GET", + "description": "Retrieves a list of the authenticated user's pretargeting configurations.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id to get the pretargeting configs for.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId" + ], + "response": { + "$ref": "PretargetingConfigList" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "patch": { + "id": "adexchangebuyer.pretargetingConfig.patch", + "path": "pretargetingconfigs/{accountId}/{configId}", + "httpMethod": "PATCH", + "description": "Updates an existing pretargeting config. This method supports patch semantics.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id to update the pretargeting config for.", + "required": true, + "format": "int64", + "location": "path" + }, + "configId": { + "type": "string", + "description": "The specific id of the configuration to update.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "configId" + ], + "request": { + "$ref": "PretargetingConfig" + }, + "response": { + "$ref": "PretargetingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + }, + "update": { + "id": "adexchangebuyer.pretargetingConfig.update", + "path": "pretargetingconfigs/{accountId}/{configId}", + "httpMethod": "PUT", + "description": "Updates an existing pretargeting config.", + "parameters": { + "accountId": { + "type": "string", + "description": "The account id to update the pretargeting config for.", + "required": true, + "format": "int64", + "location": "path" + }, + "configId": { + "type": "string", + "description": "The specific id of the configuration to update.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "configId" + ], + "request": { + "$ref": "PretargetingConfig" + }, + "response": { + "$ref": "PretargetingConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/adexchange.buyer" + ] + } + } + } + } +} diff --git a/etc/api/adexchangeseller/v1.1/adexchangeseller-api.json b/etc/api/adexchangeseller/v1.1/adexchangeseller-api.json index 993dce82c8..b72aa1a2ef 100644 --- a/etc/api/adexchangeseller/v1.1/adexchangeseller-api.json +++ b/etc/api/adexchangeseller/v1.1/adexchangeseller-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/j44TbuFHXezqR2Q6tkPbs1L5Eco\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/8XErriDmhuEm_hCKnSIrv47vRG4\"", "discoveryVersion": "v1", "id": "adexchangeseller:v1.1", "name": "adexchangeseller", "canonicalName": "Ad Exchange Seller", "version": "v1.1", - "revision": "20150719", + "revision": "20151013", "title": "Ad Exchange Seller API", "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports", "ownerDomain": "google.com", diff --git a/etc/api/adexchangeseller/v1/adexchangeseller-api.json b/etc/api/adexchangeseller/v1/adexchangeseller-api.json index 448ca9b45d..2c0440bfba 100644 --- a/etc/api/adexchangeseller/v1/adexchangeseller-api.json +++ b/etc/api/adexchangeseller/v1/adexchangeseller-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/tNOKph3rsvOHJA5sN7Quej1AZOs\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/KvdZyjYGopa3l1h0cyE7VPvFDOA\"", "discoveryVersion": "v1", "id": "adexchangeseller:v1", "name": "adexchangeseller", "canonicalName": "Ad Exchange Seller", "version": "v1", - "revision": "20150719", + "revision": "20151013", "title": "Ad Exchange Seller API", "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports", "ownerDomain": "google.com", diff --git a/etc/api/adexchangeseller/v2.0/adexchangeseller-api.json b/etc/api/adexchangeseller/v2.0/adexchangeseller-api.json index 4a0925b4d6..7d0e4149e5 100644 --- a/etc/api/adexchangeseller/v2.0/adexchangeseller-api.json +++ b/etc/api/adexchangeseller/v2.0/adexchangeseller-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/ZlVzmc6cGzlUBkUKLlEpFpCcsvs\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/3NvCtIJBXw4WlQ9ptWRNti-5ZUE\"", "discoveryVersion": "v1", "id": "adexchangeseller:v2.0", "name": "adexchangeseller", "canonicalName": "Ad Exchange Seller", "version": "v2.0", - "revision": "20150719", + "revision": "20151013", "title": "Ad Exchange Seller API", "description": "Gives Ad Exchange seller users access to their inventory and the ability to generate reports", "ownerDomain": "google.com", diff --git a/etc/api/admin/datatransfer_v1/admin-api.json b/etc/api/admin/datatransfer_v1/admin-api.json new file mode 100644 index 0000000000..68b8fdca7a --- /dev/null +++ b/etc/api/admin/datatransfer_v1/admin-api.json @@ -0,0 +1,411 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/fIZK26KtD09fXt5m9JygrSOR194\"", + "discoveryVersion": "v1", + "id": "admin:datatransfer_v1", + "name": "admin", + "canonicalName": "DataTransfer", + "version": "datatransfer_v1", + "revision": "20150917", + "title": "Admin Data Transfer API", + "description": "Admin Data Transfer API lets you transfer user data from one user to another.", + "ownerDomain": "google.com", + "ownerName": "Google", + "packagePath": "admin", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/admin-sdk/data-transfer/", + "protocol": "rest", + "baseUrl": "https://www.googleapis.com/admin/datatransfer/v1/", + "basePath": "/admin/datatransfer/v1/", + "rootUrl": "https://www.googleapis.com/", + "servicePath": "admin/datatransfer/v1/", + "batchPath": "batch", + "parameters": { + "alt": { + "type": "string", + "description": "Data format for the response.", + "default": "json", + "enum": [ + "json" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json" + ], + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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. Overrides userIp if both are provided.", + "location": "query" + }, + "userIp": { + "type": "string", + "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", + "location": "query" + } + }, + "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" + } + } + } + }, + "schemas": { + "Application": { + "id": "Application", + "type": "object", + "description": "The JSON template for an Application resource.", + "properties": { + "etag": { + "type": "string", + "description": "Etag of the resource." + }, + "id": { + "type": "string", + "description": "The application's ID.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies the resource as a DataTransfer Application Resource.", + "default": "admin#datatransfer#ApplicationResource" + }, + "name": { + "type": "string", + "description": "The application's name." + }, + "transferParams": { + "type": "array", + "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 transfered.", + "items": { + "$ref": "ApplicationTransferParam" + } + } + } + }, + "ApplicationDataTransfer": { + "id": "ApplicationDataTransfer", + "type": "object", + "description": "Template to map fields of ApplicationDataTransfer resource.", + "properties": { + "applicationId": { + "type": "string", + "description": "The application's ID.", + "format": "int64" + }, + "applicationTransferParams": { + "type": "array", + "description": "The transfer parameters for the application. These parameters are used to select the data which will get transfered in context of this application.", + "items": { + "$ref": "ApplicationTransferParam" + } + }, + "applicationTransferStatus": { + "type": "string", + "description": "Current status of transfer for this application. (Read-only)" + } + } + }, + "ApplicationTransferParam": { + "id": "ApplicationTransferParam", + "type": "object", + "description": "Template for application transfer parameters.", + "properties": { + "key": { + "type": "string", + "description": "The type of the transfer parameter. eg: 'PRIVACY_LEVEL'" + }, + "value": { + "type": "array", + "description": "The value of the coressponding transfer parameter. eg: 'PRIVATE' or 'SHARED'", + "items": { + "type": "string" + } + } + } + }, + "ApplicationsListResponse": { + "id": "ApplicationsListResponse", + "type": "object", + "description": "Template for a collection of Applications.", + "properties": { + "applications": { + "type": "array", + "description": "List of applications that support data transfer and are also installed for the customer.", + "items": { + "$ref": "Application" + } + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "kind": { + "type": "string", + "description": "Identifies the resource as a collection of Applications.", + "default": "admin#datatransfer#applicationsList" + }, + "nextPageToken": { + "type": "string", + "description": "Continuation token which will be used to specify next page in list API." + } + } + }, + "DataTransfer": { + "id": "DataTransfer", + "type": "object", + "description": "The JSON template for a DataTransfer resource.", + "properties": { + "applicationDataTransfers": { + "type": "array", + "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" + } + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "id": { + "type": "string", + "description": "The transfer's ID (Read-only)." + }, + "kind": { + "type": "string", + "description": "Identifies the resource as a DataTransfer request.", + "default": "admin#datatransfer#DataTransfer" + }, + "newOwnerUserId": { + "type": "string", + "description": "ID of the user to whom the data is being transfered." + }, + "oldOwnerUserId": { + "type": "string", + "description": "ID of the user whose data is being transfered." + }, + "overallTransferStatusCode": { + "type": "string", + "description": "Overall transfer status (Read-only)." + }, + "requestTime": { + "type": "string", + "description": "The time at which the data transfer was requested (Read-only).", + "format": "date-time" + } + } + }, + "DataTransfersListResponse": { + "id": "DataTransfersListResponse", + "type": "object", + "description": "Template for a collection of DataTransfer resources.", + "properties": { + "dataTransfers": { + "type": "array", + "description": "List of data transfer requests.", + "items": { + "$ref": "DataTransfer" + } + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "kind": { + "type": "string", + "description": "Identifies the resource as a collection of data transfer requests.", + "default": "admin#datatransfer#dataTransfersList" + }, + "nextPageToken": { + "type": "string", + "description": "Continuation token which will be used to specify next page in list API." + } + } + } + }, + "resources": { + "applications": { + "methods": { + "get": { + "id": "datatransfer.applications.get", + "path": "applications/{applicationId}", + "httpMethod": "GET", + "description": "Retrieves information about an application for the given application ID.", + "parameters": { + "applicationId": { + "type": "string", + "description": "ID of the application resource to be retrieved.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "applicationId" + ], + "response": { + "$ref": "Application" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.datatransfer", + "https://www.googleapis.com/auth/admin.datatransfer.readonly" + ] + }, + "list": { + "id": "datatransfer.applications.list", + "path": "applications", + "httpMethod": "GET", + "description": "Lists the applications available for data transfer for a customer.", + "parameters": { + "customerId": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return. Default is 100.", + "format": "uint32", + "minimum": "1", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Token to specify next page in the list.", + "location": "query" + } + }, + "response": { + "$ref": "ApplicationsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.datatransfer", + "https://www.googleapis.com/auth/admin.datatransfer.readonly" + ] + } + } + }, + "transfers": { + "methods": { + "get": { + "id": "datatransfer.transfers.get", + "path": "transfers/{dataTransferId}", + "httpMethod": "GET", + "description": "Retrieves a data transfer request by its resource ID.", + "parameters": { + "dataTransferId": { + "type": "string", + "description": "ID of the resource to be retrieved. This is returned in the response from the insert method.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "dataTransferId" + ], + "response": { + "$ref": "DataTransfer" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.datatransfer", + "https://www.googleapis.com/auth/admin.datatransfer.readonly" + ] + }, + "insert": { + "id": "datatransfer.transfers.insert", + "path": "transfers", + "httpMethod": "POST", + "description": "Inserts a data transfer request.", + "request": { + "$ref": "DataTransfer" + }, + "response": { + "$ref": "DataTransfer" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.datatransfer" + ] + }, + "list": { + "id": "datatransfer.transfers.list", + "path": "transfers", + "httpMethod": "GET", + "description": "Lists the transfers for a customer by source user, destination user, or status.", + "parameters": { + "customerId": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return. Default is 100.", + "format": "int32", + "minimum": "1", + "maximum": "500", + "location": "query" + }, + "newOwnerUserId": { + "type": "string", + "description": "Destination user's profile ID.", + "location": "query" + }, + "oldOwnerUserId": { + "type": "string", + "description": "Source user's profile ID.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Token to specify the next page in the list.", + "location": "query" + }, + "status": { + "type": "string", + "description": "Status of the transfer.", + "location": "query" + } + }, + "response": { + "$ref": "DataTransfersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.datatransfer", + "https://www.googleapis.com/auth/admin.datatransfer.readonly" + ] + } + } + } + } +} diff --git a/etc/api/admin/directory_v1/admin-api.json b/etc/api/admin/directory_v1/admin-api.json index 8289fdd5d0..3362b22863 100644 --- a/etc/api/admin/directory_v1/admin-api.json +++ b/etc/api/admin/directory_v1/admin-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/QlXkTp8arWMqhMMilmdrbkzNu_E\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/pRlNMQbyfGTi-02uw0zCmogMSuU\"", "discoveryVersion": "v1", "id": "admin:directory_v1", "name": "admin", "canonicalName": "directory", "version": "directory_v1", - "revision": "20150326", + "revision": "20151005", "title": "Admin Directory API", "description": "The Admin SDK Directory API lets you view and manage enterprise resources such as users and groups, administrative notifications, security features, and more.", "ownerDomain": "google.com", @@ -71,6 +71,12 @@ "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" }, @@ -86,6 +92,12 @@ "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" }, @@ -107,6 +119,12 @@ "https://www.googleapis.com/auth/admin.directory.orgunit.readonly": { "description": "View organization units 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" }, @@ -463,6 +481,223 @@ } } }, + "Customer": { + "id": "Customer", + "type": "object", + "description": "JSON template for Customer Resource object in Directory API.", + "properties": { + "alternateEmail": { + "type": "string", + "description": "The customer's secondary contact email address. This email address cannot be on the same domain as the customerDomain" + }, + "customerCreationTime": { + "type": "string", + "description": "The customer's creation time (Readonly)", + "format": "date-time" + }, + "customerDomain": { + "type": "string", + "description": "The customer's primary domain name string. Do not include the www prefix when creating a new customer." + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "id": { + "type": "string", + "description": "The unique ID for the customer's Google account. (Readonly)" + }, + "kind": { + "type": "string", + "description": "Identifies the resource as a customer. Value: admin#directory#customer", + "default": "admin#directory#customer" + }, + "language": { + "type": "string", + "description": "The customer's ISO 639-2 language code. The default value is en-US" + }, + "phoneNumber": { + "type": "string", + "description": "The customer's contact phone number in E.164 format." + }, + "postalAddress": { + "$ref": "CustomerPostalAddress", + "description": "The customer's postal address information." + } + } + }, + "CustomerPostalAddress": { + "id": "CustomerPostalAddress", + "type": "object", + "description": "JSON template for postal address of a customer.", + "properties": { + "addressLine1": { + "type": "string", + "description": "A customer's physical address. The address can be composed of one to three lines." + }, + "addressLine2": { + "type": "string", + "description": "Address line 2 of the address." + }, + "addressLine3": { + "type": "string", + "description": "Address line 3 of the address." + }, + "contactName": { + "type": "string", + "description": "The customer contact's name." + }, + "countryCode": { + "type": "string", + "description": "This is a required property. For countryCode information see the ISO 3166 country code elements." + }, + "locality": { + "type": "string", + "description": "Name of the locality. An example of a locality value is the city of San Francisco." + }, + "organizationName": { + "type": "string", + "description": "The company or company division name." + }, + "postalCode": { + "type": "string", + "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." + }, + "region": { + "type": "string", + "description": "Name of the region. An example of a region value is NY for the state of New York." + } + } + }, + "DomainAlias": { + "id": "DomainAlias", + "type": "object", + "description": "JSON template for Domain Alias object in Directory API.", + "properties": { + "creationTime": { + "type": "string", + "description": "The creation time of the domain alias. (Read-only).", + "format": "int64" + }, + "domainAliasName": { + "type": "string", + "description": "The domain alias name." + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "kind": { + "type": "string", + "description": "Kind of resource this is.", + "default": "admin#directory#domainAlias" + }, + "parentDomainName": { + "type": "string", + "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.", + "annotations": { + "required": [ + "directory.domains.insert" + ] + } + }, + "verified": { + "type": "boolean", + "description": "Indicates the verification state of a domain alias. (Read-only)" + } + } + }, + "DomainAliases": { + "id": "DomainAliases", + "type": "object", + "description": "JSON response template to list domain aliases in Directory API.", + "properties": { + "domainAliases": { + "type": "array", + "description": "List of domain alias objects.", + "items": { + "$ref": "DomainAlias" + } + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "kind": { + "type": "string", + "description": "Kind of resource this is.", + "default": "admin#directory#domainAliases" + } + } + }, + "Domains": { + "id": "Domains", + "type": "object", + "description": "JSON template for Domain object in Directory API.", + "properties": { + "creationTime": { + "type": "string", + "description": "Creation time of the domain. (Read-only).", + "format": "int64" + }, + "domainAliases": { + "type": "array", + "description": "List of domain alias objects. (Read-only)", + "items": { + "$ref": "DomainAlias" + } + }, + "domainName": { + "type": "string", + "description": "The domain name of the customer.", + "annotations": { + "required": [ + "directory.domains.insert" + ] + } + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "isPrimary": { + "type": "boolean", + "description": "Indicates if the domain is a primary domain (Read-only)." + }, + "kind": { + "type": "string", + "description": "Kind of resource this is.", + "default": "admin#directory#domain" + }, + "verified": { + "type": "boolean", + "description": "Indicates the verification state of a domain. (Read-only)." + } + } + }, + "Domains2": { + "id": "Domains2", + "type": "object", + "description": "JSON response template to list Domains in Directory API.", + "properties": { + "domains": { + "type": "array", + "description": "List of domain objects.", + "items": { + "$ref": "Domains" + } + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "kind": { + "type": "string", + "description": "Kind of resource this is.", + "default": "admin#directory#domains" + } + } + }, "Group": { "id": "Group", "type": "object", @@ -614,6 +849,10 @@ "type": "object", "description": "JSON template for Mobile Device resource in Directory API.", "properties": { + "adbStatus": { + "type": "boolean", + "description": "Adb (USB debugging) enabled or disabled on device (Read-only)" + }, "applications": { "type": "array", "description": "List of applications installed on Mobile Device", @@ -659,6 +898,10 @@ "type": "string", "description": "The default locale used on the Mobile Device (Read-only)" }, + "developerOptionsStatus": { + "type": "boolean", + "description": "Developer options enabled or disabled on device (Read-only)" + }, "deviceCompromisedStatus": { "type": "string", "description": "Mobile Device compromised status (Read-only)" @@ -732,6 +975,13 @@ "type": "string", "description": "Name of the mobile operating system" }, + "otherAccountsInfo": { + "type": "array", + "description": "List of accounts added on device (Read-only)", + "items": { + "type": "string" + } + }, "resourceId": { "type": "string", "description": "Unique identifier of Mobile Device (Read-only)" @@ -744,10 +994,18 @@ "type": "string", "description": "Status of the device (Read-only)" }, + "supportsWorkProfile": { + "type": "boolean", + "description": "Work profile supported on device (Read-only)" + }, "type": { "type": "string", "description": "The type of device (Read-only)" }, + "unknownSourcesStatus": { + "type": "boolean", + "description": "Unknown sources enabled or disabled on device (Read-only)" + }, "userAgent": { "type": "string", "description": "Mobile Device user agent" @@ -951,6 +1209,222 @@ } } }, + "Privilege": { + "id": "Privilege", + "type": "object", + "description": "JSON template for privilege resource in Directory API.", + "properties": { + "childPrivileges": { + "type": "array", + "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" + } + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "isOuScopable": { + "type": "boolean", + "description": "If the privilege can be restricted to an organization unit." + }, + "kind": { + "type": "string", + "description": "The type of the API resource. This is always admin#directory#privilege.", + "default": "admin#directory#privilege" + }, + "privilegeName": { + "type": "string", + "description": "The name of the privilege." + }, + "serviceId": { + "type": "string", + "description": "The obfuscated ID of the service this privilege is for." + }, + "serviceName": { + "type": "string", + "description": "The name of the service this privilege is for." + } + } + }, + "Privileges": { + "id": "Privileges", + "type": "object", + "description": "JSON response template for List privileges operation in Directory API.", + "properties": { + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "items": { + "type": "array", + "description": "A list of Privilege resources.", + "items": { + "$ref": "Privilege" + } + }, + "kind": { + "type": "string", + "description": "The type of the API resource. This is always admin#directory#privileges.", + "default": "admin#directory#privileges" + } + } + }, + "Role": { + "id": "Role", + "type": "object", + "description": "JSON template for role resource in Directory API.", + "properties": { + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "isSuperAdminRole": { + "type": "boolean", + "description": "Returns true if the role is a super admin role." + }, + "isSystemRole": { + "type": "boolean", + "description": "Returns true if this is a pre-defined system role." + }, + "kind": { + "type": "string", + "description": "The type of the API resource. This is always admin#directory#role.", + "default": "admin#directory#role" + }, + "roleDescription": { + "type": "string", + "description": "A short description of the role." + }, + "roleId": { + "type": "string", + "description": "ID of the role.", + "format": "int64" + }, + "roleName": { + "type": "string", + "description": "Name of the role.", + "annotations": { + "required": [ + "directory.roles.insert" + ] + } + }, + "rolePrivileges": { + "type": "array", + "description": "The set of privileges that are granted to this role.", + "items": { + "type": "object", + "properties": { + "privilegeName": { + "type": "string", + "description": "The name of the privilege." + }, + "serviceId": { + "type": "string", + "description": "The obfuscated ID of the service this privilege is for." + } + } + }, + "annotations": { + "required": [ + "directory.roles.insert" + ] + } + } + } + }, + "RoleAssignment": { + "id": "RoleAssignment", + "type": "object", + "description": "JSON template for roleAssignment resource in Directory API.", + "properties": { + "assignedTo": { + "type": "string", + "description": "The unique ID of the user this role is assigned to." + }, + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "kind": { + "type": "string", + "description": "The type of the API resource. This is always admin#directory#roleAssignment.", + "default": "admin#directory#roleAssignment" + }, + "orgUnitId": { + "type": "string", + "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." + }, + "roleAssignmentId": { + "type": "string", + "description": "ID of this roleAssignment.", + "format": "int64" + }, + "roleId": { + "type": "string", + "description": "The ID of the role that is assigned.", + "format": "int64" + }, + "scopeType": { + "type": "string", + "description": "The scope in which this role is assigned. Possible values are: \n- CUSTOMER\n- ORG_UNIT" + } + } + }, + "RoleAssignments": { + "id": "RoleAssignments", + "type": "object", + "description": "JSON response template for List roleAssignments operation in Directory API.", + "properties": { + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "items": { + "type": "array", + "description": "A list of RoleAssignment resources.", + "items": { + "$ref": "RoleAssignment" + } + }, + "kind": { + "type": "string", + "description": "The type of the API resource. This is always admin#directory#roleAssignments.", + "default": "admin#directory#roleAssignments" + }, + "nextPageToken": { + "type": "string" + } + } + }, + "Roles": { + "id": "Roles", + "type": "object", + "description": "JSON response template for List roles operation in Directory API.", + "properties": { + "etag": { + "type": "string", + "description": "ETag of the resource." + }, + "items": { + "type": "array", + "description": "A list of Role resources.", + "items": { + "$ref": "Role" + } + }, + "kind": { + "type": "string", + "description": "The type of the API resource. This is always admin#directory#roles.", + "default": "admin#directory#roles" + }, + "nextPageToken": { + "type": "string" + } + } + }, "Schema": { "id": "Schema", "type": "object", @@ -1162,11 +1636,13 @@ }, "agreedToTerms": { "type": "boolean", - "description": "Indicates if user has agreed to terms (Read-only)" + "description": "Indicates if user has agreed to terms (Read-only)", + "readOnly": true }, "aliases": { "type": "array", "description": "List of aliases (Read-only)", + "readOnly": true, "items": { "type": "string" } @@ -1178,7 +1654,8 @@ "creationTime": { "type": "string", "description": "User's Google account creation time. (Read-only)", - "format": "date-time" + "format": "date-time", + "readOnly": true }, "customSchemas": { "type": "object", @@ -1189,18 +1666,21 @@ }, "customerId": { "type": "string", - "description": "CustomerId of User (Read-only)" + "description": "CustomerId of User (Read-only)", + "readOnly": true }, "deletionTime": { "type": "string", - "format": "date-time" + "format": "date-time", + "readOnly": true }, "emails": { "type": "any" }, "etag": { "type": "string", - "description": "ETag of the resource." + "description": "ETag of the resource.", + "readOnly": true }, "externalIds": { "type": "any" @@ -1226,25 +1706,30 @@ }, "isAdmin": { "type": "boolean", - "description": "Boolean indicating if the user is admin (Read-only)" + "description": "Boolean indicating if the user is admin (Read-only)", + "readOnly": true }, "isDelegatedAdmin": { "type": "boolean", - "description": "Boolean indicating if the user is delegated admin (Read-only)" + "description": "Boolean indicating if the user is delegated admin (Read-only)", + "readOnly": true }, "isMailboxSetup": { "type": "boolean", - "description": "Is mailbox setup (Read-only)" + "description": "Is mailbox setup (Read-only)", + "readOnly": true }, "kind": { "type": "string", "description": "Kind of resource this is.", - "default": "admin#directory#user" + "default": "admin#directory#user", + "readOnly": true }, "lastLoginTime": { "type": "string", "description": "User's last login time. (Read-only)", - "format": "date-time" + "format": "date-time", + "readOnly": true }, "name": { "$ref": "UserName", @@ -1258,6 +1743,7 @@ "nonEditableAliases": { "type": "array", "description": "List of non editable aliases (Read-only)", + "readOnly": true, "items": { "type": "string" } @@ -1302,15 +1788,18 @@ }, "suspensionReason": { "type": "string", - "description": "Suspension reason if user is suspended (Read-only)" + "description": "Suspension reason if user is suspended (Read-only)", + "readOnly": true }, "thumbnailPhotoEtag": { "type": "string", - "description": "ETag of the user's photo (Read-only)" + "description": "ETag of the user's photo (Read-only)", + "readOnly": true }, "thumbnailPhotoUrl": { "type": "string", - "description": "Photo Url of the user (Read-only)" + "description": "Photo Url of the user (Read-only)", + "readOnly": true }, "websites": { "type": "any" @@ -2108,6 +2597,315 @@ } } }, + "customers": { + "methods": { + "get": { + "id": "directory.customers.get", + "path": "customers/{customerKey}", + "httpMethod": "GET", + "description": "Retrives a customer.", + "parameters": { + "customerKey": { + "type": "string", + "description": "Id of the customer to be retrieved", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customerKey" + ], + "response": { + "$ref": "Customer" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.customer", + "https://www.googleapis.com/auth/admin.directory.customer.readonly" + ] + }, + "patch": { + "id": "directory.customers.patch", + "path": "customers/{customerKey}", + "httpMethod": "PATCH", + "description": "Updates a customer. This method supports patch semantics.", + "parameters": { + "customerKey": { + "type": "string", + "description": "Id of the customer to be updated", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customerKey" + ], + "request": { + "$ref": "Customer" + }, + "response": { + "$ref": "Customer" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.customer" + ] + }, + "update": { + "id": "directory.customers.update", + "path": "customers/{customerKey}", + "httpMethod": "PUT", + "description": "Updates a customer.", + "parameters": { + "customerKey": { + "type": "string", + "description": "Id of the customer to be updated", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customerKey" + ], + "request": { + "$ref": "Customer" + }, + "response": { + "$ref": "Customer" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.customer" + ] + } + } + }, + "domainAliases": { + "methods": { + "delete": { + "id": "directory.domainAliases.delete", + "path": "customer/{customer}/domainaliases/{domainAliasName}", + "httpMethod": "DELETE", + "description": "Deletes a Domain Alias of the customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + }, + "domainAliasName": { + "type": "string", + "description": "Name of domain alias to be retrieved.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "domainAliasName" + ], + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.domain" + ] + }, + "get": { + "id": "directory.domainAliases.get", + "path": "customer/{customer}/domainaliases/{domainAliasName}", + "httpMethod": "GET", + "description": "Retrieves a domain alias of the customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + }, + "domainAliasName": { + "type": "string", + "description": "Name of domain alias to be retrieved.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "domainAliasName" + ], + "response": { + "$ref": "DomainAlias" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.domain", + "https://www.googleapis.com/auth/admin.directory.domain.readonly" + ] + }, + "insert": { + "id": "directory.domainAliases.insert", + "path": "customer/{customer}/domainaliases", + "httpMethod": "POST", + "description": "Inserts a Domain alias of the customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer" + ], + "request": { + "$ref": "DomainAlias" + }, + "response": { + "$ref": "DomainAlias" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.domain" + ] + }, + "list": { + "id": "directory.domainAliases.list", + "path": "customer/{customer}/domainaliases", + "httpMethod": "GET", + "description": "Lists the domain aliases of the customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + }, + "parentDomainName": { + "type": "string", + "description": "Name of the parent domain for which domain aliases are to be fetched.", + "location": "query" + } + }, + "parameterOrder": [ + "customer" + ], + "response": { + "$ref": "DomainAliases" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.domain", + "https://www.googleapis.com/auth/admin.directory.domain.readonly" + ] + } + } + }, + "domains": { + "methods": { + "delete": { + "id": "directory.domains.delete", + "path": "customer/{customer}/domains/{domainName}", + "httpMethod": "DELETE", + "description": "Deletes a domain of the customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + }, + "domainName": { + "type": "string", + "description": "Name of domain to be deleted", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "domainName" + ], + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.domain" + ] + }, + "get": { + "id": "directory.domains.get", + "path": "customer/{customer}/domains/{domainName}", + "httpMethod": "GET", + "description": "Retrives a domain of the customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + }, + "domainName": { + "type": "string", + "description": "Name of domain to be retrieved", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "domainName" + ], + "response": { + "$ref": "Domains" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.domain", + "https://www.googleapis.com/auth/admin.directory.domain.readonly" + ] + }, + "insert": { + "id": "directory.domains.insert", + "path": "customer/{customer}/domains", + "httpMethod": "POST", + "description": "Inserts a domain of the customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer" + ], + "request": { + "$ref": "Domains" + }, + "response": { + "$ref": "Domains" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.domain" + ] + }, + "list": { + "id": "directory.domains.list", + "path": "customer/{customer}/domains", + "httpMethod": "GET", + "description": "Lists the domains of the customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer" + ], + "response": { + "$ref": "Domains2" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.domain", + "https://www.googleapis.com/auth/admin.directory.domain.readonly" + ] + } + } + }, "groups": { "methods": { "delete": { @@ -3119,6 +3917,360 @@ } } }, + "privileges": { + "methods": { + "list": { + "id": "directory.privileges.list", + "path": "customer/{customer}/roles/ALL/privileges", + "httpMethod": "GET", + "description": "Retrieves a paginated list of all privileges for a customer.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer" + ], + "response": { + "$ref": "Privileges" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement", + "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" + ] + } + } + }, + "roleAssignments": { + "methods": { + "delete": { + "id": "directory.roleAssignments.delete", + "path": "customer/{customer}/roleassignments/{roleAssignmentId}", + "httpMethod": "DELETE", + "description": "Deletes a role assignment.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + }, + "roleAssignmentId": { + "type": "string", + "description": "Immutable ID of the role assignment.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "roleAssignmentId" + ], + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement" + ] + }, + "get": { + "id": "directory.roleAssignments.get", + "path": "customer/{customer}/roleassignments/{roleAssignmentId}", + "httpMethod": "GET", + "description": "Retrieve a role assignment.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + }, + "roleAssignmentId": { + "type": "string", + "description": "Immutable ID of the role assignment.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "roleAssignmentId" + ], + "response": { + "$ref": "RoleAssignment" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement", + "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" + ] + }, + "insert": { + "id": "directory.roleAssignments.insert", + "path": "customer/{customer}/roleassignments", + "httpMethod": "POST", + "description": "Creates a role assignment.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer" + ], + "request": { + "$ref": "RoleAssignment" + }, + "response": { + "$ref": "RoleAssignment" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement" + ] + }, + "list": { + "id": "directory.roleAssignments.list", + "path": "customer/{customer}/roleassignments", + "httpMethod": "GET", + "description": "Retrieves a paginated list of all roleAssignments.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "minimum": "1", + "maximum": "200", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Token to specify the next page in the list.", + "location": "query" + }, + "roleId": { + "type": "string", + "description": "Immutable ID of a role. If included in the request, returns only role assignments containing this role ID.", + "location": "query" + }, + "userKey": { + "type": "string", + "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" + } + }, + "parameterOrder": [ + "customer" + ], + "response": { + "$ref": "RoleAssignments" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement", + "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" + ] + } + } + }, + "roles": { + "methods": { + "delete": { + "id": "directory.roles.delete", + "path": "customer/{customer}/roles/{roleId}", + "httpMethod": "DELETE", + "description": "Deletes a role.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + }, + "roleId": { + "type": "string", + "description": "Immutable ID of the role.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "roleId" + ], + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement" + ] + }, + "get": { + "id": "directory.roles.get", + "path": "customer/{customer}/roles/{roleId}", + "httpMethod": "GET", + "description": "Retrieves a role.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + }, + "roleId": { + "type": "string", + "description": "Immutable ID of the role.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "roleId" + ], + "response": { + "$ref": "Role" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement", + "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" + ] + }, + "insert": { + "id": "directory.roles.insert", + "path": "customer/{customer}/roles", + "httpMethod": "POST", + "description": "Creates a role.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer" + ], + "request": { + "$ref": "Role" + }, + "response": { + "$ref": "Role" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement" + ] + }, + "list": { + "id": "directory.roles.list", + "path": "customer/{customer}/roles", + "httpMethod": "GET", + "description": "Retrieves a paginated list of all the roles in a domain.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable id of the Google Apps account.", + "required": true, + "location": "path" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "minimum": "1", + "maximum": "100", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Token to specify the next page in the list.", + "location": "query" + } + }, + "parameterOrder": [ + "customer" + ], + "response": { + "$ref": "Roles" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement", + "https://www.googleapis.com/auth/admin.directory.rolemanagement.readonly" + ] + }, + "patch": { + "id": "directory.roles.patch", + "path": "customer/{customer}/roles/{roleId}", + "httpMethod": "PATCH", + "description": "Updates a role. This method supports patch semantics.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + }, + "roleId": { + "type": "string", + "description": "Immutable ID of the role.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "roleId" + ], + "request": { + "$ref": "Role" + }, + "response": { + "$ref": "Role" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement" + ] + }, + "update": { + "id": "directory.roles.update", + "path": "customer/{customer}/roles/{roleId}", + "httpMethod": "PUT", + "description": "Updates a role.", + "parameters": { + "customer": { + "type": "string", + "description": "Immutable ID of the Google Apps account.", + "required": true, + "location": "path" + }, + "roleId": { + "type": "string", + "description": "Immutable ID of the role.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "customer", + "roleId" + ], + "request": { + "$ref": "Role" + }, + "response": { + "$ref": "Role" + }, + "scopes": [ + "https://www.googleapis.com/auth/admin.directory.rolemanagement" + ] + } + } + }, "schemas": { "methods": { "delete": { diff --git a/etc/api/admin/reports_v1/admin-api.json b/etc/api/admin/reports_v1/admin-api.json index 02fad8fc14..a0358be831 100644 --- a/etc/api/admin/reports_v1/admin-api.json +++ b/etc/api/admin/reports_v1/admin-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/SE8GF0qL6iXnRUtOo9FTFK7DuNM\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/lycAHH8x-Ct6oDsJmcDO1AWwIZ4\"", "discoveryVersion": "v1", "id": "admin:reports_v1", "name": "admin", "canonicalName": "reports", "version": "reports_v1", - "revision": "20150429", + "revision": "20150907", "title": "Admin Reports API", "description": "Allows the administrators of Google Apps customers to fetch reports about the usage, collaboration, security and risk for their users.", "ownerDomain": "google.com", @@ -464,7 +464,7 @@ "type": "string", "description": "Application name for which the events are to be retrieved.", "required": true, - "pattern": "(admin)|(calendar)|(drive)|(login)|(token)", + "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)", "location": "path" }, "customerId": { @@ -543,7 +543,7 @@ "type": "string", "description": "Application name for which the events are to be retrieved.", "required": true, - "pattern": "(admin)|(calendar)|(drive)|(login)|(token)", + "pattern": "(admin)|(calendar)|(drive)|(login)|(mobile)|(token)|(groups)", "location": "path" }, "customerId": { diff --git a/etc/api/adsense/v1.2/adsense-api.json b/etc/api/adsense/v1.2/adsense-api.json index 92c8526577..ad8040477a 100644 --- a/etc/api/adsense/v1.2/adsense-api.json +++ b/etc/api/adsense/v1.2/adsense-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/I5NJTJavAUWTApulQHkuCzC09uQ\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Sxoq8tWz2zqpydiM98sHPNUfrcw\"", "discoveryVersion": "v1", "id": "adsense:v1.2", "name": "adsense", "canonicalName": "AdSense", "version": "v1.2", - "revision": "20150719", + "revision": "20151013", "title": "AdSense Management API", "description": "Gives AdSense publishers access to their inventory and the ability to generate reports", "ownerDomain": "google.com", diff --git a/etc/api/adsense/v1.3/adsense-api.json b/etc/api/adsense/v1.3/adsense-api.json index 58eda02ad5..4c04aceb10 100644 --- a/etc/api/adsense/v1.3/adsense-api.json +++ b/etc/api/adsense/v1.3/adsense-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/kmJk90xUw7VsbFA_gzMzs-ICIGg\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/6KMaFuck0MK_34-0mM8ExBX7SbA\"", "discoveryVersion": "v1", "id": "adsense:v1.3", "name": "adsense", "canonicalName": "AdSense", "version": "v1.3", - "revision": "20150719", + "revision": "20151013", "title": "AdSense Management API", "description": "Gives AdSense publishers access to their inventory and the ability to generate reports", "ownerDomain": "google.com", diff --git a/etc/api/adsense/v1.4/adsense-api.json b/etc/api/adsense/v1.4/adsense-api.json index 059c811a67..f67a90c291 100644 --- a/etc/api/adsense/v1.4/adsense-api.json +++ b/etc/api/adsense/v1.4/adsense-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/nuOwGkuqFyUiUFauZW3AcmqSRLc\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/0LJdy3bhVfuPDmaGtJK4_nceDoU\"", "discoveryVersion": "v1", "id": "adsense:v1.4", "name": "adsense", "canonicalName": "AdSense", "version": "v1.4", - "revision": "20150719", + "revision": "20151013", "title": "AdSense Management API", "description": "Gives AdSense publishers access to their inventory and the ability to generate reports", "ownerDomain": "google.com", @@ -86,6 +86,10 @@ "id": "Account", "type": "object", "properties": { + "creation_time": { + "type": "string", + "format": "int64" + }, "id": { "type": "string", "description": "Unique identifier of this account." diff --git a/etc/api/adsensehost/v4.1/adsensehost-api.json b/etc/api/adsensehost/v4.1/adsensehost-api.json index 8b71e49827..26ad1a2603 100644 --- a/etc/api/adsensehost/v4.1/adsensehost-api.json +++ b/etc/api/adsensehost/v4.1/adsensehost-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/P4LsqeR0vNB-maCbAU7pmq8Pi1Y\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/GIELfyjr1mlz0SA0QlkJjAfY0aI\"", "discoveryVersion": "v1", "id": "adsensehost:v4.1", "name": "adsensehost", "canonicalName": "AdSense Host", "version": "v4.1", - "revision": "20150719", + "revision": "20151013", "title": "AdSense Host API", "description": "Gives AdSense Hosts access to report generation, ad code generation, and publisher management capabilities.", "ownerDomain": "google.com", diff --git a/etc/api/analytics/v2.4/analytics-api.json b/etc/api/analytics/v2.4/analytics-api.json index e658c2b9d4..fa9e311d4b 100644 --- a/etc/api/analytics/v2.4/analytics-api.json +++ b/etc/api/analytics/v2.4/analytics-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/cpEq1c7PEyDZhPuN1RpuZQasQqE\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/OclhsNOjF0lU_ihk67TMjGu69LE\"", "discoveryVersion": "v1", "id": "analytics:v2.4", "name": "analytics", "version": "v2.4", - "revision": "20150417", + "revision": "20150901", "title": "Google Analytics API", "description": "View and manage your Google Analytics data", "ownerDomain": "google.com", diff --git a/etc/api/analytics/v3/analytics-api.json b/etc/api/analytics/v3/analytics-api.json index 8b24794642..d571e5be06 100644 --- a/etc/api/analytics/v3/analytics-api.json +++ b/etc/api/analytics/v3/analytics-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/DBMpwoPoBbdea-3gvvfC6pL3VKM\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/zd-dA3tVxT-ybd-lzTeggwUiTGg\"", "discoveryVersion": "v1", "id": "analytics:v3", "name": "analytics", "version": "v3", - "revision": "20150417", + "revision": "20150901", "title": "Google Analytics API", "description": "View and manage your Google Analytics data", "ownerDomain": "google.com", @@ -1154,7 +1154,7 @@ }, "trafficCoverage": { "type": "number", - "description": "A floating-point number between 0 and 1. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.", + "description": "A floating-point number in (0, 1]. Specifies the fraction of the traffic that participates in the experiment. Can be changed for a running experiment. This field may not be changed for an experiments whose status is ENDED.", "format": "double" }, "updated": { @@ -1204,7 +1204,7 @@ }, "winnerConfidenceLevel": { "type": "number", - "description": "A floating-point number between 0 and 1. Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.", + "description": "A floating-point number in (0, 1). Specifies the necessary confidence level to choose a winner. This field may not be changed for an experiments whose status is ENDED.", "format": "double" }, "winnerFound": { @@ -1487,7 +1487,7 @@ }, "matchType": { "type": "string", - "description": "Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, MATCHES. Include and Exclude filters can use any match type. Match type is not applicable to Upper case and Lower case filters. Search and Replace expressions in the Search and Replace filter and all filter expressions in the Advanced filter default to MATCHES. User should not set match type for those filters." + "description": "Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or PAGE_HOSTNAME filters can use any match type; all other filters must use MATCHES." } } }, @@ -2265,7 +2265,7 @@ }, "currency": { "type": "string", - "description": "The currency type associated with this view (profile). The supported values are:\nARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR" + "description": "The currency type associated with this view (profile), defaults to USD. The supported values are:\nARS, AUD, BGN, BRL, CAD, CHF, CNY, CZK, DKK, EUR, GBP, HKD, HUF, IDR, INR, JPY, KRW, LTL, MXN, NOK, NZD, PHP, PLN, RUB, SEK, THB, TRY, TWD, USD, VND, ZAR" }, "defaultPage": { "type": "string", diff --git a/etc/api/androidenterprise/v1/androidenterprise-api.json b/etc/api/androidenterprise/v1/androidenterprise-api.json index 95508ad427..1ab7144c3e 100644 --- a/etc/api/androidenterprise/v1/androidenterprise-api.json +++ b/etc/api/androidenterprise/v1/androidenterprise-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/T8xjS8-LAPJJ1wXBIGC7t3Ehz9c\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/8PqIQ90UvLBUWJnOPvX8UUNVYrE\"", "discoveryVersion": "v1", "id": "androidenterprise:v1", "name": "androidenterprise", "canonicalName": "Android Enterprise", "version": "v1", - "revision": "20150715", + "revision": "20150922", "title": "Google Play EMM API", "description": "Allows MDMs/EMMs and enterprises to manage the deployment of apps to Android for Work users.", "ownerDomain": "google.com", @@ -82,6 +82,11 @@ "type": "object", "description": "Represents the list of app restrictions available to be pre-configured for the product.", "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#appRestrictionsSchema\".", + "default": "androidenterprise#appRestrictionsSchema" + }, "restrictions": { "type": "array", "description": "The set of restrictions that make up this schema.", @@ -234,7 +239,7 @@ }, "visibility": { "type": "string", - "description": "Whether this collection is visible to all users, or only to the users that have been granted access through the collection_viewers api. Even if a collection is visible to allUsers, it is possible to add and remove viewers, but this will have no effect until the collection's visibility changes to viewersOnly." + "description": "Whether this collection is visible to all users, or only to the users that have been granted access through the \"Collectionviewers\" API. With the launch of the \"setAvailableProductSet\" API, this property should always be set to \"viewersOnly\", as the \"allUsers\" option will bypass the \"availableProductSet\" for all users within a domain.\n\nThe \"allUsers\" setting is deprecated, and will be removed." } } }, @@ -264,7 +269,7 @@ "properties": { "collection": { "type": "array", - "description": "An ordered collection of products which can be made visible on the Google Play Store app to a selected group of users.", + "description": "An ordered collection of products which can be made visible on the Google Play Store to a selected group of users.", "items": { "$ref": "Collection" } @@ -395,6 +400,20 @@ } } }, + "EnterprisesSendTestPushNotificationResponse": { + "id": "EnterprisesSendTestPushNotificationResponse", + "type": "object", + "properties": { + "messageId": { + "type": "string", + "description": "The message ID of the test push notification that was sent." + }, + "topicName": { + "type": "string", + "description": "The name of the Cloud Pub/Sub topic to which notifications for this enterprise's enrolled account will be sent." + } + } + }, "Entitlement": { "id": "Entitlement", "type": "object", @@ -609,7 +628,7 @@ }, "productId": { "type": "string", - "description": "A string of the form app:\n. For example, app:com.google.android.gm represents the Gmail app." + "description": "A string of the form app:\u003cpackage name\u003e. For example, app:com.google.android.gm represents the Gmail app." }, "requiresContainerApp": { "type": "boolean", @@ -668,6 +687,25 @@ } } }, + "ProductSet": { + "id": "ProductSet", + "type": "object", + "description": "A set of products.", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"androidenterprise#productSet\".", + "default": "androidenterprise#productSet" + }, + "productId": { + "type": "array", + "description": "The list of product IDs making up the set of products.", + "items": { + "type": "string" + } + } + } + }, "ProductsApproveRequest": { "id": "ProductsApproveRequest", "type": "object", @@ -1378,6 +1416,29 @@ "https://www.googleapis.com/auth/androidenterprise" ] }, + "sendTestPushNotification": { + "id": "androidenterprise.enterprises.sendTestPushNotification", + "path": "enterprises/{enterpriseId}/sendTestPushNotification", + "httpMethod": "POST", + "description": "Sends a test push notification to validate the MDM integration with the Google Cloud Pub/Sub service for this enterprise.", + "parameters": { + "enterpriseId": { + "type": "string", + "description": "The ID of the enterprise.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "enterpriseId" + ], + "response": { + "$ref": "EnterprisesSendTestPushNotificationResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidenterprise" + ] + }, "setAccount": { "id": "androidenterprise.enterprises.setAccount", "path": "enterprises/{enterpriseId}/account", @@ -2228,6 +2289,36 @@ "https://www.googleapis.com/auth/androidenterprise" ] }, + "getAvailableProductSet": { + "id": "androidenterprise.users.getAvailableProductSet", + "path": "enterprises/{enterpriseId}/users/{userId}/availableProductSet", + "httpMethod": "GET", + "description": "Retrieves the set of products a user is entitled to access.", + "parameters": { + "enterpriseId": { + "type": "string", + "description": "The ID of the enterprise.", + "required": true, + "location": "path" + }, + "userId": { + "type": "string", + "description": "The ID of the user.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "enterpriseId", + "userId" + ], + "response": { + "$ref": "ProductSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidenterprise" + ] + }, "list": { "id": "androidenterprise.users.list", "path": "enterprises/{enterpriseId}/users", @@ -2284,6 +2375,39 @@ "scopes": [ "https://www.googleapis.com/auth/androidenterprise" ] + }, + "setAvailableProductSet": { + "id": "androidenterprise.users.setAvailableProductSet", + "path": "enterprises/{enterpriseId}/users/{userId}/availableProductSet", + "httpMethod": "PUT", + "description": "Modifies the set of products a user is entitled to access.", + "parameters": { + "enterpriseId": { + "type": "string", + "description": "The ID of the enterprise.", + "required": true, + "location": "path" + }, + "userId": { + "type": "string", + "description": "The ID of the user.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "enterpriseId", + "userId" + ], + "request": { + "$ref": "ProductSet" + }, + "response": { + "$ref": "ProductSet" + }, + "scopes": [ + "https://www.googleapis.com/auth/androidenterprise" + ] } } } diff --git a/etc/api/androidpublisher/v1.1/androidpublisher-api.json b/etc/api/androidpublisher/v1.1/androidpublisher-api.json index 98b6fd7065..00a41bcebe 100644 --- a/etc/api/androidpublisher/v1.1/androidpublisher-api.json +++ b/etc/api/androidpublisher/v1.1/androidpublisher-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/ZaYQrw3QnZiD1YIdYaHXGlnz-Sc\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/OWHfcc6gntNlOS_CCpfATCkRKPo\"", "discoveryVersion": "v1", "id": "androidpublisher:v1.1", "name": "androidpublisher", "canonicalName": "Android Publisher", "version": "v1.1", - "revision": "20150316", + "revision": "20150910", "title": "Google Play Developer API", "description": "Lets Android application developers access their Google Play accounts.", "ownerDomain": "google.com", diff --git a/etc/api/androidpublisher/v1/androidpublisher-api.json b/etc/api/androidpublisher/v1/androidpublisher-api.json index 3563b80c12..a23fdd4f5a 100644 --- a/etc/api/androidpublisher/v1/androidpublisher-api.json +++ b/etc/api/androidpublisher/v1/androidpublisher-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/dWS1TT1km61X8qMyP5gPBt6y1MQ\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Rsw5ADalFXzslk4AcD-5vvmH2YU\"", "discoveryVersion": "v1", "id": "androidpublisher:v1", "name": "androidpublisher", "canonicalName": "Android Publisher", "version": "v1", - "revision": "20150316", + "revision": "20150910", "title": "Google Play Developer API", "description": "Lets Android application developers access their Google Play accounts.", "ownerDomain": "google.com", diff --git a/etc/api/androidpublisher/v2/androidpublisher-api.json b/etc/api/androidpublisher/v2/androidpublisher-api.json index 74692315b1..cb69176926 100644 --- a/etc/api/androidpublisher/v2/androidpublisher-api.json +++ b/etc/api/androidpublisher/v2/androidpublisher-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/gtEzcfWnBY9EC00QyZ_jjrGf9Io\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/QvChBL9zzkcDEEIqZpwPMr9_TRs\"", "discoveryVersion": "v1", "id": "androidpublisher:v2", "name": "androidpublisher", "canonicalName": "Android Publisher", "version": "v2", - "revision": "20150316", + "revision": "20150910", "title": "Google Play Developer API", "description": "Lets Android application developers access their Google Play accounts.", "ownerDomain": "google.com", @@ -474,7 +474,7 @@ }, "subscriptionPeriod": { "type": "string", - "description": "The period of the subscription (if any), i.e. period at which payments must happen. Defined as ISO 8601 duration, i.e. \"P1M\" for 1 month period." + "description": "Subscription period, specified in ISO 8601 format. Acceptable values are \"P1W\" (one week), \"P1M\" (one month) and \"P1Y\" (one year)." }, "trialPeriod": { "type": "string", @@ -1772,7 +1772,8 @@ "sevenInchScreenshots", "tenInchScreenshots", "tvBanner", - "tvScreenshots" + "tvScreenshots", + "wearScreenshots" ], "enumDescriptions": [ "", @@ -1782,6 +1783,7 @@ "", "", "", + "", "" ], "location": "path" @@ -1833,7 +1835,8 @@ "sevenInchScreenshots", "tenInchScreenshots", "tvBanner", - "tvScreenshots" + "tvScreenshots", + "wearScreenshots" ], "enumDescriptions": [ "", @@ -1843,6 +1846,7 @@ "", "", "", + "", "" ], "location": "path" @@ -1896,7 +1900,8 @@ "sevenInchScreenshots", "tenInchScreenshots", "tvBanner", - "tvScreenshots" + "tvScreenshots", + "wearScreenshots" ], "enumDescriptions": [ "", @@ -1906,6 +1911,7 @@ "", "", "", + "", "" ], "location": "path" @@ -1959,7 +1965,8 @@ "sevenInchScreenshots", "tenInchScreenshots", "tvBanner", - "tvScreenshots" + "tvScreenshots", + "wearScreenshots" ], "enumDescriptions": [ "", @@ -1969,6 +1976,7 @@ "", "", "", + "", "" ], "location": "path" diff --git a/etc/api/api-list.yaml b/etc/api/api-list.yaml index 16b39532af..25391dabab 100644 --- a/etc/api/api-list.yaml +++ b/etc/api/api-list.yaml @@ -5,6 +5,7 @@ api: list: adexchangebuyer: - v1.3 + - v1.4 adexchangeseller: - v2.0 admin: @@ -21,6 +22,8 @@ api: - v1 androidpublisher: - v2 + appengine: + - v1beta4 appsactivity: - v1 appstate: @@ -39,6 +42,12 @@ api: - v3 civicinfo: - v2 + classroom: + - v1 + cloudbilling: + - v1 + clouddebugger: + - v2 cloudlatencytest: - v2 cloudmonitoring: @@ -47,12 +56,18 @@ api: - v1beta1 cloudsearch: - v1 + cloudtrace: + - v1 + clouduseraccounts: + - vm_beta compute: - v1 container: + - v1 - v1beta1 content: - v2 + - v2sandbox coordinate: - v1 customsearch: @@ -62,9 +77,11 @@ api: datastore: - v1beta2 deploymentmanager: + - v2 - v2beta2 dfareporting: - v2.1 + - v2.2 discovery: - v1 dns: @@ -104,6 +121,7 @@ api: - v1 logging: - v1beta3 + - v2beta1 manager: - v1beta2 mapsengine: @@ -114,13 +132,20 @@ api: - v2 pagespeedonline: - v2 + partners: + - v2 + playmoviespartner: + - v1 plus: - v1 plusdomains: - v1 prediction: - v1.6 + proximitybeacon: + - v1beta1 pubsub: + - v1 - v1beta2 qpxexpress: - v1 @@ -132,6 +157,8 @@ api: - v1sandbox resourceviews: - v1beta2 + script: + - v1 siteverification: - v1 spectrum: @@ -140,6 +167,8 @@ api: - v1beta4 storage: - v1 + storagetransfer: + - v1 tagmanager: - v1 taskqueue: @@ -158,3 +187,5 @@ api: - v3 youtubeanalytics: - v1 + youtubereporting: + - v1 diff --git a/etc/api/appengine/v1beta4/appengine-api.json b/etc/api/appengine/v1beta4/appengine-api.json new file mode 100644 index 0000000000..7d1851a808 --- /dev/null +++ b/etc/api/appengine/v1beta4/appengine-api.json @@ -0,0 +1,1423 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/MxcrsWLtc_45Vl0dvlLXLZx13VM\"", + "discoveryVersion": "v1", + "id": "appengine:v1beta4", + "name": "appengine", + "version": "v1beta4", + "revision": "20150831", + "title": "Google App Engine Admin API", + "description": "The Google App Engine Admin API enables developers to provision and manage their App Engine applications.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/appengine/", + "protocol": "rest", + "baseUrl": "https://appengine.googleapis.com/", + "basePath": "/", + "rootUrl": "https://appengine.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "schemas": { + "Application": { + "id": "Application", + "type": "object", + "description": "An Application contains the top-level configuration of an App Engine application.", + "properties": { + "name": { + "type": "string", + "description": "The full path to the application in the API. Example: \"apps/myapp\". @OutputOnly" + }, + "id": { + "type": "string", + "description": "The relative name/path of the application. Example: \"myapp\". @OutputOnly" + }, + "dispatchRules": { + "type": "array", + "description": "HTTP path dispatch rules for requests to the app that do not explicitly target a module or version. The rules are order-dependent.", + "items": { + "$ref": "UrlDispatchRule" + } + }, + "location": { + "type": "string", + "description": "The location from which the application will be run. Choices are \"us-central\" for United States and \"europe-west\" for European Union. Application instances will run out of data centers in the chosen location and all of the application's End User Content will be stored at rest in the chosen location. The default is \"us-central\"." + }, + "codeBucket": { + "type": "string", + "description": "A Google Cloud Storage bucket which can be used for storing files associated with an application. This bucket is associated with the application and can be used by the gcloud deployment commands. @OutputOnly" + } + } + }, + "UrlDispatchRule": { + "id": "UrlDispatchRule", + "type": "object", + "description": "Rules to match an HTTP request and dispatch that request to a module.", + "properties": { + "domain": { + "type": "string", + "description": "The domain name to match on. Supports '*' (glob) wildcarding on the left-hand side of a '.'. If empty, all domains will be matched (the same as '*')." + }, + "path": { + "type": "string", + "description": "The pathname within the host. This must start with a '/'. A single '*' (glob) can be included at the end of the path. The sum of the lengths of the domain and path may not exceed 100 characters." + }, + "module": { + "type": "string", + "description": "The resource id of a Module in this application that should service the matched request. The Module must already exist. Example: \"default\"." + } + } + }, + "Version": { + "id": "Version", + "type": "object", + "description": "A Version is a specific set of source code and configuration files deployed to a module.", + "properties": { + "name": { + "type": "string", + "description": "The full path to the Version resource in the API. Example: \"apps/myapp/modules/default/versions/v1\". @OutputOnly" + }, + "id": { + "type": "string", + "description": "The relative name/path of the Version within the module. Example: \"v1\". Version specifiers can contain lowercase letters, digits, and hyphens. It cannot begin with the prefix `ah-` and the names `default` and `latest` are reserved and cannot be used." + }, + "automaticScaling": { + "$ref": "AutomaticScaling", + "description": "Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics." + }, + "basicScaling": { + "$ref": "BasicScaling", + "description": "A module with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity." + }, + "manualScaling": { + "$ref": "ManualScaling", + "description": "A module with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time." + }, + "inboundServices": { + "type": "array", + "description": "Before an application can receive email or XMPP messages, the application must be configured to enable the service.", + "enumDescriptions": [ + "Not specified.", + "Allows an application to receive mail.", + "Allows an application receive email bound notifications.", + "Allows an application to receive error stanzas.", + "Allows an application to receive instant messages.", + "Allows an application to receive user subscription POSTs.", + "Allows an application to receive a user's chat presence.", + "Registers an application for notifications when a client connects or disconnects from a channel.", + "Enables warmup requests." + ], + "items": { + "type": "string", + "enum": [ + "INBOUND_SERVICE_UNSPECIFIED", + "INBOUND_SERVICE_MAIL", + "INBOUND_SERVICE_MAIL_BOUNCE", + "INBOUND_SERVICE_XMPP_ERROR", + "INBOUND_SERVICE_XMPP_MESSAGE", + "INBOUND_SERVICE_XMPP_SUBSCRIBE", + "INBOUND_SERVICE_XMPP_PRESENCE", + "INBOUND_SERVICE_CHANNEL_PRESENCE", + "INBOUND_SERVICE_WARMUP" + ] + } + }, + "instanceClass": { + "type": "string", + "description": "The frontend instance class to use to run this app. Valid values are `[F1, F2, F4, F4_1G]`. Default: \"F1\"" + }, + "network": { + "$ref": "Network", + "description": "Used to specify extra network settings (for VM runtimes only)." + }, + "resources": { + "$ref": "Resources", + "description": "Used to specify how many machine resources an app version needs (for VM runtimes only)." + }, + "runtime": { + "type": "string", + "description": "The desired runtime. Values can include python27, java7, go, etc." + }, + "threadsafe": { + "type": "boolean", + "description": "If true, multiple requests can be dispatched to the app at once." + }, + "vm": { + "type": "boolean", + "description": "Whether to deploy this app in a VM container (deprecated, use \"env\":\"2\")." + }, + "betaSettings": { + "type": "object", + "description": "Beta settings supplied to the application via metadata.", + "additionalProperties": { + "type": "string" + } + }, + "env": { + "type": "string", + "description": "The App Engine execution environment to use for this version. Default: \"1\"" + }, + "servingStatus": { + "type": "string", + "description": "The current serving status of this version. Only `SERVING` versions will have instances created or billed for. If this field is unset when a version is created, `SERVING` status will be assumed. It is an error to explicitly set this field to `SERVING_STATUS_UNSPECIFIED`.", + "enum": [ + "SERVING_STATUS_UNSPECIFIED", + "SERVING", + "STOPPED" + ] + }, + "deployer": { + "type": "string", + "description": "The email address of the user who created this version. @OutputOnly" + }, + "creationTime": { + "type": "string", + "description": "Creation time of this version. This will be between the start and end times of the operation that creates this version. @OutputOnly" + }, + "handlers": { + "type": "array", + "description": "An ordered list of URL Matching patterns that should be applied to incoming requests. The first matching URL consumes the request, and subsequent handlers are not attempted. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.", + "items": { + "$ref": "UrlMap" + } + }, + "errorHandlers": { + "type": "array", + "description": "Custom static error pages instead of these generic error pages, (limit 10 KB/page) Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.", + "items": { + "$ref": "ErrorHandler" + } + }, + "libraries": { + "type": "array", + "description": "Configuration for Python runtime third-party libraries required by the application. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.", + "items": { + "$ref": "Library" + } + }, + "apiConfig": { + "$ref": "ApiConfigHandler", + "description": "Serving configuration for Google Cloud Endpoints. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable." + }, + "envVariables": { + "type": "object", + "description": "Environment variables made available to the application. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable.", + "additionalProperties": { + "type": "string" + } + }, + "defaultExpiration": { + "type": "string", + "description": "The length of time a static file served by a static file handler ought to be cached by web proxies and browsers, if the handler does not specify its own expiration. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable." + }, + "healthCheck": { + "$ref": "HealthCheck", + "description": "Configure health checking for the VM instances. Unhealthy VM instances will be stopped and replaced with new instances. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable." + }, + "nobuildFilesRegex": { + "type": "string", + "description": "Go only. Files that match this pattern will not be built into the app. May only be set on create requests." + }, + "deployment": { + "$ref": "Deployment", + "description": "Code and application artifacts that make up this version. Only returned in `GET` requests if `view=FULL` is set. May only be set on create requests; once created, is immutable." + } + } + }, + "AutomaticScaling": { + "id": "AutomaticScaling", + "type": "object", + "description": "Automatic scaling is the scaling policy that App Engine has used since its inception. It is based on request rate, response latencies, and other application metrics.", + "properties": { + "coolDownPeriod": { + "type": "string", + "description": "The amount of time that the [Autoscaler](https://cloud.google.com/compute/docs/autoscaler/) should wait between changes to the number of virtual machines. Applies only to the VM runtime." + }, + "cpuUtilization": { + "$ref": "CpuUtilization", + "description": "Target scaling by CPU usage." + }, + "maxConcurrentRequests": { + "type": "integer", + "description": "The number of concurrent requests an automatic scaling instance can accept before the scheduler spawns a new instance. Default value is chosen based on the runtime.", + "format": "int32" + }, + "maxIdleInstances": { + "type": "integer", + "description": "The maximum number of idle instances that App Engine should maintain for this version.", + "format": "int32" + }, + "maxTotalInstances": { + "type": "integer", + "description": "Max number of instances that App Engine should start to handle requests.", + "format": "int32" + }, + "maxPendingLatency": { + "type": "string", + "description": "The maximum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it." + }, + "minIdleInstances": { + "type": "integer", + "description": "The minimum number of idle instances that App Engine should maintain for this version. Only applies to the default version of a module, since other versions are not expected to receive significant traffic.", + "format": "int32" + }, + "minTotalInstances": { + "type": "integer", + "description": "Minimum number of instances that App Engine should maintain.", + "format": "int32" + }, + "minPendingLatency": { + "type": "string", + "description": "The minimum amount of time that App Engine should allow a request to wait in the pending queue before starting a new instance to handle it." + } + } + }, + "CpuUtilization": { + "id": "CpuUtilization", + "type": "object", + "description": "Target scaling by CPU usage.", + "properties": { + "aggregationWindowLength": { + "type": "string", + "description": "The period of time over which CPU utilization is calculated." + }, + "targetUtilization": { + "type": "number", + "description": "Target (0-1) CPU utilization ratio to maintain when scaling.", + "format": "double" + } + } + }, + "BasicScaling": { + "id": "BasicScaling", + "type": "object", + "description": "A module with basic scaling will create an instance when the application receives a request. The instance will be turned down when the app becomes idle. Basic scaling is ideal for work that is intermittent or driven by user activity.", + "properties": { + "idleTimeout": { + "type": "string", + "description": "The instance will be shut down this amount of time after receiving its last request." + }, + "maxInstances": { + "type": "integer", + "description": "The maximum number of instances for App Engine to create for this version.", + "format": "int32" + } + } + }, + "ManualScaling": { + "id": "ManualScaling", + "type": "object", + "description": "A module with manual scaling runs continuously, allowing you to perform complex initialization and rely on the state of its memory over time.", + "properties": { + "instances": { + "type": "integer", + "description": "The number of instances to assign to the module at the start. This number can later be altered by using the [Modules API](https://cloud.google.com/appengine/docs/python/modules/functions) `set_num_instances()` function.", + "format": "int32" + } + } + }, + "Network": { + "id": "Network", + "type": "object", + "description": "Used to specify extra network settings (for VM runtimes only).", + "properties": { + "forwardedPorts": { + "type": "array", + "description": "A list of ports (or port pairs) to forward from the VM into the app container.", + "items": { + "type": "string" + } + }, + "instanceTag": { + "type": "string", + "description": "A tag to apply to the VM instance during creation." + }, + "name": { + "type": "string", + "description": "The Google Compute Engine network where the VMs will be created. If not specified, or empty, the network named \"default\" will be used. (The short name should be specified, not the resource path.)" + } + } + }, + "Resources": { + "id": "Resources", + "type": "object", + "description": "Used to specify how many machine resources an app version needs.", + "properties": { + "cpu": { + "type": "number", + "description": "How many CPU cores an app version needs.", + "format": "double" + }, + "diskGb": { + "type": "number", + "description": "How much disk size, in GB, an app version needs.", + "format": "double" + }, + "memoryGb": { + "type": "number", + "description": "How much memory, in GB, an app version needs.", + "format": "double" + } + } + }, + "UrlMap": { + "id": "UrlMap", + "type": "object", + "description": "A URL pattern and description of how it should be handled. App Engine can handle URLs by executing application code, or by serving static files uploaded with the code, such as images, CSS or JavaScript.", + "properties": { + "urlRegex": { + "type": "string", + "description": "A URL prefix. This value uses regular expression syntax (and so regexp special characters must be escaped), but it should not contain groupings. All URLs that begin with this prefix are handled by this handler, using the portion of the URL after the prefix as part of the file path. This is always required." + }, + "staticFiles": { + "$ref": "StaticFilesHandler", + "description": "Returns the contents of a file, such as an image, as the response." + }, + "staticDirectory": { + "$ref": "StaticDirectoryHandler", + "description": "Serves the entire contents of a directory as static files. This attribute is deprecated. You can mimic the behavior of static directories using static files." + }, + "script": { + "$ref": "ScriptHandler", + "description": "Executes a script to handle the request that matches the URL pattern." + }, + "apiEndpoint": { + "$ref": "ApiEndpointHandler", + "description": "Use API Endpoints to handle requests." + }, + "securityLevel": { + "type": "string", + "description": "Configures whether security (HTTPS) should be enforced for this URL.", + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ] + }, + "login": { + "type": "string", + "description": "What level of login is required to access this resource.", + "enum": [ + "LOGIN_UNSPECIFIED", + "LOGIN_OPTIONAL", + "LOGIN_ADMIN", + "LOGIN_REQUIRED" + ] + }, + "authFailAction": { + "type": "string", + "description": "For users not logged in, how to handle access to resources with required login. Defaults to \"redirect\".", + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ] + }, + "redirectHttpResponseCode": { + "type": "string", + "description": "`30x` code to use when performing redirects for the `secure` field. A `302` is used by default.", + "enum": [ + "REDIRECT_HTTP_RESPONSE_CODE_UNSPECIFIED", + "REDIRECT_HTTP_RESPONSE_CODE_301", + "REDIRECT_HTTP_RESPONSE_CODE_302", + "REDIRECT_HTTP_RESPONSE_CODE_303", + "REDIRECT_HTTP_RESPONSE_CODE_307" + ] + } + } + }, + "StaticFilesHandler": { + "id": "StaticFilesHandler", + "type": "object", + "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static file handlers describe which files in the application directory are static files, and which URLs serve them.", + "properties": { + "path": { + "type": "string", + "description": "The path to the static files matched by the URL pattern, from the application root directory. The path can refer to text matched in groupings in the URL pattern." + }, + "uploadPathRegex": { + "type": "string", + "description": "A regular expression that matches the file paths for all files that will be referenced by this handler." + }, + "httpHeaders": { + "type": "object", + "description": "HTTP headers to use for all responses from these URLs.", + "additionalProperties": { + "type": "string" + } + }, + "mimeType": { + "type": "string", + "description": "If specified, all files served by this handler will be served using the specified MIME type. If not specified, the MIME type for a file will be derived from the file's filename extension." + }, + "expiration": { + "type": "string", + "description": "The length of time a static file served by this handler ought to be cached by web proxies and browsers." + }, + "requireMatchingFile": { + "type": "boolean", + "description": "If true, this [UrlMap][google.appengine.v1beta4.UrlMap] entry does not match the request unless the file referenced by the handler also exists. If no such file exists, processing will continue with the next [UrlMap][google.appengine.v1beta4.UrlMap] that matches the requested URL." + }, + "applicationReadable": { + "type": "boolean", + "description": "By default, files declared in static file handlers are uploaded as static data and are only served to end users, they cannot be read by an application. If this field is set to true, the files are also uploaded as code data so your application can read them. Both uploads are charged against your code and static data storage resource quotas." + } + } + }, + "StaticDirectoryHandler": { + "id": "StaticDirectoryHandler", + "type": "object", + "description": "Files served directly to the user for a given URL, such as images, CSS stylesheets, or JavaScript source files. Static directory handlers make it easy to serve the entire contents of a directory as static files.", + "properties": { + "directory": { + "type": "string", + "description": "The path to the directory containing the static files, from the application root directory. Everything after the end of the matched url pattern is appended to static_dir to form the full path to the requested file." + }, + "httpHeaders": { + "type": "object", + "description": "HTTP headers to use for all responses from these URLs.", + "additionalProperties": { + "type": "string" + } + }, + "mimeType": { + "type": "string", + "description": "If specified, all files served by this handler will be served using the specified MIME type. If not specified, the MIME type for a file will be derived from the file's filename extension." + }, + "expiration": { + "type": "string", + "description": "The length of time a static file served by this handler ought to be cached by web proxies and browsers." + }, + "requireMatchingFile": { + "type": "boolean", + "description": "If true, this UrlMap entry does not match the request unless the file referenced by the handler also exists. If no such file exists, processing will continue with the next UrlMap that matches the requested URL." + }, + "applicationReadable": { + "type": "boolean", + "description": "By default, files declared in static file handlers are uploaded as static data and are only served to end users, they cannot be read by an application. If this field is set to true, the files are also uploaded as code data so your application can read them. Both uploads are charged against your code and static data storage resource quotas." + } + } + }, + "ScriptHandler": { + "id": "ScriptHandler", + "type": "object", + "description": "Executes a script to handle the request that matches the URL pattern.", + "properties": { + "scriptPath": { + "type": "string", + "description": "Specifies the path to the script from the application root directory." + } + } + }, + "ApiEndpointHandler": { + "id": "ApiEndpointHandler", + "type": "object", + "description": "Use Google Cloud Endpoints to handle requests.", + "properties": { + "scriptPath": { + "type": "string", + "description": "Specifies the path to the script from the application root directory." + } + } + }, + "ErrorHandler": { + "id": "ErrorHandler", + "type": "object", + "description": "A custom static error page to be served when an error occurs.", + "properties": { + "errorCode": { + "type": "string", + "description": "The error condition this handler applies to.", + "enum": [ + "ERROR_CODE_UNSPECIFIED", + "ERROR_CODE_DEFAULT", + "ERROR_CODE_OVER_QUOTA", + "ERROR_CODE_DOS_API_DENIAL", + "ERROR_CODE_TIMEOUT" + ] + }, + "staticFile": { + "type": "string", + "description": "Static file content to be served for this error." + }, + "mimeType": { + "type": "string", + "description": "MIME type of file. If unspecified, \"text/html\" is assumed." + } + } + }, + "Library": { + "id": "Library", + "type": "object", + "description": "A Python runtime third-party library required by the application.", + "properties": { + "name": { + "type": "string", + "description": "The name of the library, e.g. \"PIL\" or \"django\"." + }, + "version": { + "type": "string", + "description": "The version of the library to select, or \"latest\"." + } + } + }, + "ApiConfigHandler": { + "id": "ApiConfigHandler", + "type": "object", + "description": "API Serving configuration for Cloud Endpoints.", + "properties": { + "authFailAction": { + "type": "string", + "description": "For users not logged in, how to handle access to resources with required login. Defaults to \"redirect\".", + "enum": [ + "AUTH_FAIL_ACTION_UNSPECIFIED", + "AUTH_FAIL_ACTION_REDIRECT", + "AUTH_FAIL_ACTION_UNAUTHORIZED" + ] + }, + "login": { + "type": "string", + "description": "What level of login is required to access this resource. Default is \"optional\".", + "enum": [ + "LOGIN_UNSPECIFIED", + "LOGIN_OPTIONAL", + "LOGIN_ADMIN", + "LOGIN_REQUIRED" + ] + }, + "script": { + "type": "string", + "description": "Specifies the path to the script from the application root directory." + }, + "securityLevel": { + "type": "string", + "description": "Configures whether security (HTTPS) should be enforced for this URL.", + "enum": [ + "SECURE_UNSPECIFIED", + "SECURE_DEFAULT", + "SECURE_NEVER", + "SECURE_OPTIONAL", + "SECURE_ALWAYS" + ] + }, + "url": { + "type": "string", + "description": "URL to serve the endpoint at." + } + } + }, + "HealthCheck": { + "id": "HealthCheck", + "type": "object", + "description": "Configure health checking for the VM instances. Unhealthy VM instances will be killed and replaced with new instances.", + "properties": { + "disableHealthCheck": { + "type": "boolean", + "description": "Whether to explicitly disable health checks for this instance." + }, + "host": { + "type": "string", + "description": "The host header to send when performing an HTTP health check (e.g. myapp.appspot.com)" + }, + "healthyThreshold": { + "type": "integer", + "description": "The number of consecutive successful health checks before receiving traffic.", + "format": "uint32" + }, + "unhealthyThreshold": { + "type": "integer", + "description": "The number of consecutive failed health checks before removing traffic.", + "format": "uint32" + }, + "restartThreshold": { + "type": "integer", + "description": "The number of consecutive failed health checks before an instance is restarted.", + "format": "uint32" + }, + "checkInterval": { + "type": "string", + "description": "The interval between health checks." + }, + "timeout": { + "type": "string", + "description": "The amount of time before the health check is considered failed." + } + } + }, + "Deployment": { + "id": "Deployment", + "type": "object", + "description": "Code and application artifacts used to deploy a version to App Engine.", + "properties": { + "files": { + "type": "object", + "description": "A manifest of files stored in Google Cloud Storage which should be included as part of this application. All files must be readable using the credentials supplied with this call.", + "additionalProperties": { + "$ref": "FileInfo" + } + }, + "container": { + "$ref": "ContainerInfo", + "description": "If supplied, a docker (container) image which should be used to start the application. Only applicable to the 'vm' runtime." + }, + "sourceReferences": { + "type": "array", + "description": "The origin of the source code for this deployment. There can be more than one source reference per Version if source code is distributed among multiple repositories.", + "items": { + "$ref": "SourceReference" + } + } + } + }, + "FileInfo": { + "id": "FileInfo", + "type": "object", + "description": "A single source file which is part of the application to be deployed.", + "properties": { + "sourceUrl": { + "type": "string", + "description": "The URL source to use to fetch this file. Must be a URL to a resource in Google Cloud Storage." + }, + "sha1Sum": { + "type": "string", + "description": "The SHA1 (160 bits) hash of the file in hex." + }, + "mimeType": { + "type": "string", + "description": "The MIME type of the file; if unspecified, the value from Google Cloud Storage will be used." + } + } + }, + "ContainerInfo": { + "id": "ContainerInfo", + "type": "object", + "description": "A Docker (container) image which should be used to start the application.", + "properties": { + "image": { + "type": "string", + "description": "Reference to a hosted container image. Must be a URI to a resource in a Docker repository. Must be fully qualified, including tag or digest. e.g. gcr.io/my-project/image:tag or gcr.io/my-project/image@digest" + } + } + }, + "SourceReference": { + "id": "SourceReference", + "type": "object", + "description": "A reference to a particular snapshot of the source tree used to build and deploy the application.", + "properties": { + "repository": { + "type": "string", + "description": "Optional. A URI string identifying the repository. Example: \"https://source.developers.google.com/p/app-123/r/default\"" + }, + "revisionId": { + "type": "string", + "description": "The canonical (and persistent) identifier of the deployed revision, i.e. any kind of aliases including tags or branch names are not allowed. Example (git): \"2198322f89e0bb2e25021667c2ed489d1fd34e6b\"" + } + } + }, + "Operation": { + "id": "Operation", + "type": "object", + "description": "This resource represents a long-running operation that is the result of a network API call.", + "properties": { + "name": { + "type": "string", + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`." + }, + "metadata": { + "type": "object", + "description": "Service-specific metadata associated with the operation. It typically contains progress information and common metadata such as create time. Some services might not provide such metadata. Any method that returns a long-running operation should document the metadata type, if any.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + }, + "done": { + "type": "boolean", + "description": "If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available." + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure." + }, + "response": { + "type": "object", + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + } + } + }, + "Status": { + "id": "Status", + "type": "object", + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.", + "properties": { + "code": { + "type": "integer", + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].", + "format": "int32" + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." + }, + "details": { + "type": "array", + "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + } + } + } + }, + "ListVersionsResponse": { + "id": "ListVersionsResponse", + "type": "object", + "description": "Response message for `Versions.ListVersions`.", + "properties": { + "versions": { + "type": "array", + "description": "The versions belonging to the requested application module.", + "items": { + "$ref": "Version" + } + }, + "nextPageToken": { + "type": "string", + "description": "Continuation token for fetching the next page of results." + } + } + }, + "Module": { + "id": "Module", + "type": "object", + "description": "A module is a component of an application that provides a single service or configuration. A module has a collection of versions that define a specific set of code used to implement the functionality of that module.", + "properties": { + "name": { + "type": "string", + "description": "The full path to the Module resource in the API. Example: \"apps/myapp/modules/default\" @OutputOnly" + }, + "id": { + "type": "string", + "description": "The relative name/path of the module within the application. Example: \"default\" @OutputOnly" + }, + "split": { + "$ref": "TrafficSplit", + "description": "A mapping that defines fractional HTTP traffic diversion to different versions within the module." + } + } + }, + "TrafficSplit": { + "id": "TrafficSplit", + "type": "object", + "description": "Configuration for traffic splitting for versions within a single module. Traffic splitting allows traffic directed to the module to be assigned to one of several versions in a fractional way, enabling experiments and canarying new builds, for example.", + "properties": { + "shardBy": { + "type": "string", + "description": "Which mechanism should be used as a selector when choosing a version to send a request to. The traffic selection algorithm will be stable for either type until allocations are changed.", + "enum": [ + "UNSPECIFIED", + "COOKIE", + "IP" + ] + }, + "allocations": { + "type": "object", + "description": "Mapping from module version IDs within the module to fractional (0.000, 1] allocations of traffic for that version. Each version may only be specified once, but some versions in the module may not have any traffic allocation. Modules that have traffic allocated in this field may not be deleted until the module is deleted, or their traffic allocation is removed. Allocations must sum to 1. Supports precision up to two decimal places for IP-based splits and up to three decimal places for cookie-based splits.", + "additionalProperties": { + "type": "number", + "format": "double" + } + } + } + }, + "ListModulesResponse": { + "id": "ListModulesResponse", + "type": "object", + "description": "Response message for `Modules.ListModules`.", + "properties": { + "modules": { + "type": "array", + "description": "The modules belonging to the requested application.", + "items": { + "$ref": "Module" + } + }, + "nextPageToken": { + "type": "string", + "description": "Continuation token for fetching the next page of results." + } + } + }, + "ListOperationsResponse": { + "id": "ListOperationsResponse", + "type": "object", + "description": "The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].", + "properties": { + "operations": { + "type": "array", + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + } + }, + "nextPageToken": { + "type": "string", + "description": "The standard List next-page token." + } + } + }, + "OperationMetadata": { + "id": "OperationMetadata", + "type": "object", + "description": "Metadata for the given [google.longrunning.Operation][google.longrunning.Operation].", + "properties": { + "operationType": { + "type": "string", + "description": "The type of the operation (deprecated, use method field instead). Example: \"create_version\". @OutputOnly" + }, + "insertTime": { + "type": "string", + "description": "Timestamp that this operation was received. @OutputOnly" + }, + "endTime": { + "type": "string", + "description": "Timestamp that this operation was completed. (Not present if the operation is still in progress.) @OutputOnly" + }, + "user": { + "type": "string", + "description": "The user who requested this operation. @OutputOnly" + }, + "target": { + "type": "string", + "description": "Resource that this operation is acting on. Example: \"apps/myapp/modules/default\". @OutputOnly" + }, + "method": { + "type": "string", + "description": "API method name that initiated the operation. Example: \"google.appengine.v1beta4.Version.CreateVersion\". @OutputOnly" + } + } + } + }, + "resources": { + "apps": { + "methods": { + "get": { + "id": "appengine.apps.get", + "path": "v1beta4/apps/{appsId}", + "httpMethod": "GET", + "description": "Gets information about an application.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the application to get. For example: \"apps/myapp\".", + "required": true, + "location": "path" + }, + "ensureResourcesExist": { + "type": "boolean", + "description": "Certain resources associated with an application are created on-demand. Controls whether these resources should be created when performing the `GET` operation. If specified and any resources cloud not be created, the request will fail with an error code.", + "location": "query" + } + }, + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "Application" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "modules": { + "methods": { + "delete": { + "id": "appengine.apps.modules.delete", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}", + "httpMethod": "DELETE", + "description": "Deletes a module and all enclosed versions.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default\".", + "required": true, + "location": "path" + }, + "modulesId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "appsId", + "modulesId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "appengine.apps.modules.get", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}", + "httpMethod": "GET", + "description": "Gets the current configuration of the module.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default\".", + "required": true, + "location": "path" + }, + "modulesId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "appsId", + "modulesId" + ], + "response": { + "$ref": "Module" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "id": "appengine.apps.modules.list", + "path": "v1beta4/apps/{appsId}/modules", + "httpMethod": "GET", + "description": "Lists all the modules in the application.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp\".", + "required": true, + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Maximum results to return per page.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Continuation token for fetching the next page of results.", + "location": "query" + } + }, + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "ListModulesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "id": "appengine.apps.modules.patch", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}", + "httpMethod": "PATCH", + "description": "Updates the configuration of the specified module.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/modules/default\".", + "required": true, + "location": "path" + }, + "modulesId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + }, + "mask": { + "type": "string", + "description": "Standard field mask for the set of fields to be updated.", + "location": "query" + }, + "migrateTraffic": { + "type": "boolean", + "description": "Whether to use Traffic Migration to shift traffic gradually. Traffic can only be migrated from a single version to another single version.", + "location": "query" + } + }, + "parameterOrder": [ + "appsId", + "modulesId" + ], + "request": { + "$ref": "Module" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "versions": { + "methods": { + "create": { + "id": "appengine.apps.modules.versions.create", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", + "httpMethod": "POST", + "description": "Deploys new code and resource files to a version.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the resource to update. For example: \"apps/myapp/modules/default\".", + "required": true, + "location": "path" + }, + "modulesId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "appsId", + "modulesId" + ], + "request": { + "$ref": "Version" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "id": "appengine.apps.modules.versions.delete", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", + "httpMethod": "DELETE", + "description": "Deletes an existing version.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default/versions/v1\".", + "required": true, + "location": "path" + }, + "modulesId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + }, + "versionsId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "appsId", + "modulesId", + "versionsId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "appengine.apps.modules.versions.get", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions/{versionsId}", + "httpMethod": "GET", + "description": "Gets application deployment information.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default/versions/v1\".", + "required": true, + "location": "path" + }, + "modulesId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + }, + "versionsId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + }, + "view": { + "type": "string", + "description": "Controls the set of fields returned in the `Get` response.", + "enum": [ + "BASIC", + "FULL" + ], + "location": "query" + } + }, + "parameterOrder": [ + "appsId", + "modulesId", + "versionsId" + ], + "response": { + "$ref": "Version" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "id": "appengine.apps.modules.versions.list", + "path": "v1beta4/apps/{appsId}/modules/{modulesId}/versions", + "httpMethod": "GET", + "description": "Lists the versions of a module.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. Name of the resource requested. For example: \"apps/myapp/modules/default\".", + "required": true, + "location": "path" + }, + "modulesId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + }, + "view": { + "type": "string", + "description": "Controls the set of fields returned in the `List` response.", + "enum": [ + "BASIC", + "FULL" + ], + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "Maximum results to return per page.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Continuation token for fetching the next page of results.", + "location": "query" + } + }, + "parameterOrder": [ + "appsId", + "modulesId" + ], + "response": { + "$ref": "ListVersionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "operations": { + "methods": { + "get": { + "id": "appengine.apps.operations.get", + "path": "v1beta4/apps/{appsId}/operations/{operationsId}", + "httpMethod": "GET", + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. The name of the operation resource.", + "required": true, + "location": "path" + }, + "operationsId": { + "type": "string", + "description": "Part of `name`. See documentation of `appsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "appsId", + "operationsId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "id": "appengine.apps.operations.list", + "path": "v1beta4/apps/{appsId}/operations", + "httpMethod": "GET", + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding below allows API services to override the binding to use different resource name schemes, such as `users/*/operations`.", + "parameters": { + "appsId": { + "type": "string", + "description": "Part of `name`. The name of the operation collection.", + "required": true, + "location": "path" + }, + "filter": { + "type": "string", + "description": "The standard list filter.", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "The standard list page size.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The standard list page token.", + "location": "query" + } + }, + "parameterOrder": [ + "appsId" + ], + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } +} diff --git a/etc/api/appstate/v1/appstate-api.json b/etc/api/appstate/v1/appstate-api.json index 9d3e54ef99..6232b4e75b 100644 --- a/etc/api/appstate/v1/appstate-api.json +++ b/etc/api/appstate/v1/appstate-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/d2DWmPOjtaixnl3HTyCxzVi9ZWk\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/1c0TuhJMS3-macLaSkO_MKNdlzk\"", "discoveryVersion": "v1", "id": "appstate:v1", "name": "appstate", "canonicalName": "App State", "version": "v1", - "revision": "20150717", + "revision": "20151013", "title": "Google App State API", "description": "The Google App State API.", "ownerDomain": "google.com", diff --git a/etc/api/bigquery/v2/bigquery-api.json b/etc/api/bigquery/v2/bigquery-api.json index cd064b5a15..17f90a6fe4 100644 --- a/etc/api/bigquery/v2/bigquery-api.json +++ b/etc/api/bigquery/v2/bigquery-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/8fCXvMLivGaIg88cw7WCZo5CK_s\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/k_BSN0ZnNv70IWVfokIVycD-7po\"", "discoveryVersion": "v1", "id": "bigquery:v2", "name": "bigquery", "version": "v2", - "revision": "20150720", + "revision": "20151009", "title": "BigQuery API", "description": "A data platform for customers to create, manage, share and query data.", "ownerDomain": "google.com", @@ -80,6 +80,9 @@ "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" + }, "https://www.googleapis.com/auth/devstorage.full_control": { "description": "Manage your data and permissions in Google Cloud Storage" }, @@ -205,7 +208,7 @@ }, "location": { "type": "string", - "description": "[Experimental] The location where the data resides. If not present, the data will be stored in the US." + "description": "[Experimental] The geographic location where the dataset should reside. Possible values include EU and US. The default value is US." }, "selfLink": { "type": "string", @@ -318,7 +321,7 @@ }, "ignoreUnknownValues": { "type": "boolean", - "description": "[Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns" + "description": "[Optional] Indicates if BigQuery should allow extra values that are not represented in the table schema. If true, the extra values are ignored. If false, records with extra columns are treated as bad records, and if there are too many bad records, an invalid error is returned in the job result. The default value is false. The sourceFormat property determines what BigQuery treats as an extra value: CSV: Trailing columns JSON: Named values that don't match any column names" }, "maxBadRecords": { "type": "integer", @@ -331,11 +334,11 @@ }, "sourceFormat": { "type": "string", - "description": "[Optional] The data format. External data sources must be in CSV format. The default value is CSV." + "description": "[Required] The data format. For CSV files, specify \"CSV\". For newline-delimited JSON, specify \"NEWLINE_DELIMITED_JSON\"." }, "sourceUris": { "type": "array", - "description": "[Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. CSV limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs.", + "description": "[Required] The fully-qualified URIs that point to your data in Google Cloud Storage. Each URI can contain one '*' wildcard character and it must come after the 'bucket' name. Size limits related to load jobs apply to external data sources, plus an additional limit of 10 GB maximum size across all URIs.", "items": { "type": "string" } @@ -350,6 +353,13 @@ "type": "boolean", "description": "Whether the query result was fetched from the query cache." }, + "errors": { + "type": "array", + "description": "[Output-only] All errors and warnings encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.", + "items": { + "$ref": "ErrorProto" + } + }, "etag": { "type": "string", "description": "A hash of this response." @@ -851,13 +861,23 @@ "id": "JobStatistics2", "type": "object", "properties": { + "billingTier": { + "type": "integer", + "description": "[Output-only] Billing tier for the job.", + "format": "int32" + }, "cacheHit": { "type": "boolean", "description": "[Output-only] Whether the query result was fetched from the query cache." }, + "totalBytesBilled": { + "type": "string", + "description": "[Output-only] Total bytes billed for the job.", + "format": "int64" + }, "totalBytesProcessed": { "type": "string", - "description": "[Output-only] Total bytes processed for this job.", + "description": "[Output-only] Total bytes processed for the job.", "format": "int64" } } @@ -868,7 +888,7 @@ "properties": { "inputFileBytes": { "type": "string", - "description": "[Output-only] Number of bytes of source data in a joad job.", + "description": "[Output-only] Number of bytes of source data in a load job.", "format": "int64" }, "inputFiles": { @@ -878,7 +898,7 @@ }, "outputBytes": { "type": "string", - "description": "[Output-only] Size of the loaded data in bytes. Note that while an import job is in the running state, this value may change.", + "description": "[Output-only] Size of the loaded data in bytes. Note that while a load job is in the running state, this value may change.", "format": "int64" }, "outputRows": { @@ -894,7 +914,7 @@ "properties": { "destinationUriFileCounts": { "type": "array", - "description": "[Experimental] Number of files per destination URI or URI pattern specified in the extract configuration. These values will be in the same order as the URIs specified in the 'destinationUris' field.", + "description": "[Output-only] Number of files per destination URI or URI pattern specified in the extract configuration. These values will be in the same order as the URIs specified in the 'destinationUris' field.", "items": { "type": "string", "format": "int64" @@ -1010,7 +1030,7 @@ }, "dryRun": { "type": "boolean", - "description": "[Optional] If set, don't actually run this job. A valid query will return a mostly empty response with some processing statistics, while an invalid query will return the same error it would if it wasn't a dry run." + "description": "[Optional] If set to true, BigQuery doesn't run the job. Instead, if the query is valid, BigQuery returns statistics about the job such as how many bytes would be processed. If the query is invalid, an error returns. The default value is false." }, "kind": { "type": "string", @@ -1055,6 +1075,13 @@ "type": "boolean", "description": "Whether the query result was fetched from the query cache." }, + "errors": { + "type": "array", + "description": "[Output-only] All errors and warnings encountered during the running of the job. Errors here do not necessarily mean that the job has completed or was unsuccessful.", + "items": { + "$ref": "ErrorProto" + } + }, "jobComplete": { "type": "boolean", "description": "Whether the query has completed or not. If rows or totalRows are present, this will always be true. If this is false, totalRows will not be available." @@ -1095,6 +1122,27 @@ } } }, + "Streamingbuffer": { + "id": "Streamingbuffer", + "type": "object", + "properties": { + "estimatedBytes": { + "type": "string", + "description": "[Output-only] A lower-bound estimate of the number of bytes currently in the streaming buffer.", + "format": "uint64" + }, + "estimatedRows": { + "type": "string", + "description": "[Output-only] A lower-bound estimate of the number of rows currently in the streaming buffer.", + "format": "uint64" + }, + "oldestEntryTime": { + "type": "string", + "description": "[Output-only] Contains the timestamp of the oldest entry in the streaming buffer, in milliseconds since the epoch, if the streaming buffer is available.", + "format": "uint64" + } + } + }, "Table": { "id": "Table", "type": "object", @@ -1117,6 +1165,10 @@ "description": "[Optional] The time when this table expires, in milliseconds since the epoch. If not present, the table will persist indefinitely. Expired tables will be deleted and their storage reclaimed.", "format": "int64" }, + "externalDataConfiguration": { + "$ref": "ExternalDataConfiguration", + "description": "[Experimental] Describes the data format, location, and other properties of a table stored outside of BigQuery. By defining these properties, the data source can then be queried as if it were a standard BigQuery table." + }, "friendlyName": { "type": "string", "description": "[Optional] A descriptive name for this table." @@ -1137,16 +1189,16 @@ }, "location": { "type": "string", - "description": "[Optional] The backing storage location." + "description": "[Output-only] The geographic location where the table resides. This value is inherited from the dataset." }, "numBytes": { "type": "string", - "description": "[Output-only] The size of the table in bytes. This property is unavailable for tables that are actively receiving streaming inserts.", + "description": "[Output-only] The size of this table in bytes, excluding any data in the streaming buffer.", "format": "int64" }, "numRows": { "type": "string", - "description": "[Output-only] The number of rows of data in this table. This property is unavailable for tables that are actively receiving streaming inserts.", + "description": "[Output-only] The number of rows of data in this table, excluding any data in the streaming buffer.", "format": "uint64" }, "schema": { @@ -1157,6 +1209,10 @@ "type": "string", "description": "[Output-only] A URL that can be used to access this resource again." }, + "streamingBuffer": { + "$ref": "Streamingbuffer", + "description": "[Output-only] Contains information regarding this table's streaming buffer, if one is present. This field will be absent if the table is not being streamed to or if there is no data in the streaming buffer." + }, "tableReference": { "$ref": "TableReference", "description": "[Required] Reference describing the ID of this table." @@ -1510,7 +1566,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "insert": { @@ -1577,7 +1634,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "patch": { @@ -1656,7 +1714,7 @@ "id": "bigquery.jobs.cancel", "path": "project/{projectId}/jobs/{jobId}/cancel", "httpMethod": "POST", - "description": "Requests that a job be cancelled. This call will return immediately, and the client will need to poll for the job status to see if the cancel completed successfully.", + "description": "Requests that a job be cancelled. This call will return immediately, and the client will need to poll for the job status to see if the cancel completed successfully. Cancelled jobs may still incur costs.", "parameters": { "jobId": { "type": "string", @@ -1711,7 +1769,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "getQueryResults": { @@ -1765,7 +1824,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "insert": { @@ -1818,7 +1878,7 @@ "id": "bigquery.jobs.list", "path": "projects/{projectId}/jobs", "httpMethod": "GET", - "description": "Lists all jobs that you started in the specified project. The job list returns in reverse chronological order of when the jobs were created, starting with the most recent job created. Requires the Can View project role, or the Is Owner project role if you set the allUsers property.", + "description": "Lists all jobs that you started in the specified project. Job information is available for a six month period after creation. The job list is sorted in reverse chronological order, by job creation time. Requires the Can View project role, or the Is Owner project role if you set the allUsers property.", "parameters": { "allUsers": { "type": "boolean", @@ -1880,7 +1940,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "query": { @@ -1907,7 +1968,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] } } @@ -1937,7 +1999,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] } } @@ -2038,7 +2101,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] } } @@ -2115,7 +2179,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "insert": { @@ -2191,7 +2256,8 @@ }, "scopes": [ "https://www.googleapis.com/auth/bigquery", - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only" ] }, "patch": { diff --git a/etc/api/books/v1/books-api.json b/etc/api/books/v1/books-api.json index 00eb463981..ca3543122a 100644 --- a/etc/api/books/v1/books-api.json +++ b/etc/api/books/v1/books-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/5UMRPQM2lE_tfb1BMv9TTmTYYF8\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/NfC6HUSyutjMUJzqUOocETnJU2I\"", "discoveryVersion": "v1", "id": "books:v1", "name": "books", "version": "v1", - "revision": "20150318", + "revision": "20150921", "title": "Books API", "description": "Lets you search for books and manage your Google Books library.", "ownerDomain": "google.com", @@ -750,6 +750,71 @@ } } }, + "Discoveryclusters": { + "id": "Discoveryclusters", + "type": "object", + "properties": { + "clusters": { + "type": "array", + "items": { + "type": "object", + "properties": { + "banner_with_content_container": { + "type": "object", + "properties": { + "fillColorArgb": { + "type": "string" + }, + "imageUrl": { + "type": "string" + }, + "maskColorArgb": { + "type": "string" + }, + "moreButtonText": { + "type": "string" + }, + "moreButtonUrl": { + "type": "string" + }, + "textColorArgb": { + "type": "string" + } + } + }, + "subTitle": { + "type": "string" + }, + "title": { + "type": "string" + }, + "totalVolumes": { + "type": "integer", + "format": "int32" + }, + "uid": { + "type": "string" + }, + "volumes": { + "type": "array", + "items": { + "$ref": "Volume" + } + } + } + } + }, + "kind": { + "type": "string", + "description": "Resorce type.", + "default": "books#discovery#clusters" + }, + "totalClusters": { + "type": "integer", + "format": "int32" + } + } + }, "DownloadAccessRestriction": { "id": "DownloadAccessRestriction", "type": "object", @@ -1069,6 +1134,29 @@ } } }, + "Notification": { + "id": "Notification", + "type": "object", + "properties": { + "body": { + "type": "string" + }, + "iconUrl": { + "type": "string" + }, + "kind": { + "type": "string", + "description": "Resource type.", + "default": "books#notification" + }, + "linkUrl": { + "type": "string" + }, + "title": { + "type": "string" + } + } + }, "Offers": { "id": "Offers", "type": "object", @@ -1266,6 +1354,19 @@ "type": "boolean" } } + }, + "notification": { + "type": "object", + "properties": { + "moreFromAuthors": { + "type": "object", + "properties": { + "opted_state": { + "type": "string" + } + } + } + } } } }, @@ -1537,6 +1638,11 @@ "type": "object", "description": "User specific information related to this volume. (e.g. page this user last read or whether they purchased this book)", "properties": { + "acquisitionType": { + "type": "integer", + "description": "How this volume was acquired.", + "format": "int32" + }, "copy": { "type": "object", "description": "Copy/Paste accounting information.", @@ -1558,6 +1664,11 @@ } } }, + "entitlementType": { + "type": "integer", + "description": "Whether this volume is purchased, sample, pd download etc.", + "format": "int32" + }, "isInMyBooks": { "type": "boolean", "description": "Whether or not this volume is currently in \"my books.\"" @@ -2153,7 +2264,7 @@ "id": "books.dictionary.listOfflineMetadata", "path": "dictionary/listOfflineMetadata", "httpMethod": "GET", - "description": "Returns a list of offline dictionary meatadata available", + "description": "Returns a list of offline dictionary metadata available", "parameters": { "cpksver": { "type": "string", @@ -3379,6 +3490,43 @@ } } }, + "notification": { + "methods": { + "get": { + "id": "books.notification.get", + "path": "notification/get", + "httpMethod": "GET", + "description": "Returns notification details for a given notification id.", + "parameters": { + "locale": { + "type": "string", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating notification title and body.", + "location": "query" + }, + "notification_id": { + "type": "string", + "description": "String to identify the notification.", + "required": true, + "location": "query" + }, + "source": { + "type": "string", + "description": "String to identify the originator of this request.", + "location": "query" + } + }, + "parameterOrder": [ + "notification_id" + ], + "response": { + "$ref": "Notification" + }, + "scopes": [ + "https://www.googleapis.com/auth/books" + ] + } + } + }, "onboarding": { "methods": { "listCategories": { @@ -3451,6 +3599,47 @@ } } }, + "personalizedstream": { + "methods": { + "get": { + "id": "books.personalizedstream.get", + "path": "personalizedstream/get", + "httpMethod": "GET", + "description": "Returns a stream of personalized book clusters", + "parameters": { + "locale": { + "type": "string", + "description": "ISO-639-1 language and ISO-3166-1 country code. Ex: 'en_US'. Used for generating recommendations.", + "location": "query" + }, + "maxAllowedMaturityRating": { + "type": "string", + "description": "The maximum allowed maturity rating of returned recommendations. Books with a higher maturity rating are filtered out.", + "enum": [ + "mature", + "not-mature" + ], + "enumDescriptions": [ + "Show books which are rated mature or lower.", + "Show books which are rated not mature." + ], + "location": "query" + }, + "source": { + "type": "string", + "description": "String to identify the originator of this request.", + "location": "query" + } + }, + "response": { + "$ref": "Discoveryclusters" + }, + "scopes": [ + "https://www.googleapis.com/auth/books" + ] + } + } + }, "promooffer": { "methods": { "accept": { diff --git a/etc/api/calendar/v3/calendar-api.json b/etc/api/calendar/v3/calendar-api.json index 7b5e7a5565..9c57315919 100644 --- a/etc/api/calendar/v3/calendar-api.json +++ b/etc/api/calendar/v3/calendar-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/sTkwaf9z-97XKIcJuEmMVyvFBqI\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/2GnDNVAnV36u05tcn_JDk8dsFsA\"", "discoveryVersion": "v1", "id": "calendar:v3", "name": "calendar", "version": "v3", - "revision": "20150715", + "revision": "20151011", "title": "Calendar API", "description": "Lets you manipulate events and other calendar data.", "ownerDomain": "google.com", @@ -175,7 +175,7 @@ }, "id": { "type": "string", - "description": "Identifier of the calendar." + "description": "Identifier of the calendar. To retrieve IDs call the calendarList.list() method." }, "kind": { "type": "string", @@ -241,11 +241,11 @@ }, "backgroundColor": { "type": "string", - "description": "The main color of the calendar in the hexadecimal format \"#0088aa\". This property supersedes the index-based colorId property. Optional." + "description": "The main color of the calendar in the hexadecimal format \"#0088aa\". This property supersedes the index-based colorId property. To set or change this property, you need to specify colorRgbFormat=true in the parameters of the insert, update and patch methods. Optional." }, "colorId": { "type": "string", - "description": "The color of the calendar. This is an ID referring to an entry in the calendar section of the colors definition (see the colors endpoint). Optional." + "description": "The color of the calendar. This is an ID referring to an entry in the calendar section of the colors definition (see the colors endpoint). This property is superseded by the backgroundColor and foregroundColor properties and can be ignored when using these properties. Optional." }, "defaultReminders": { "type": "array", @@ -269,7 +269,7 @@ }, "foregroundColor": { "type": "string", - "description": "The foreground color of the calendar in the hexadecimal format \"#ffffff\". This property supersedes the index-based colorId property. Optional." + "description": "The foreground color of the calendar in the hexadecimal format \"#ffffff\". This property supersedes the index-based colorId property. To set or change this property, you need to specify colorRgbFormat=true in the parameters of the insert, update and patch methods. Optional." }, "hidden": { "type": "boolean", @@ -337,7 +337,7 @@ "properties": { "method": { "type": "string", - "description": "The method used to deliver the notification. Possible values are: \n- \"email\" - Reminders are sent via email. \n- \"sms\" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates. Furthermore, SMS reminders are only available for Google Apps for Work, Education, and Government customers.", + "description": "The method used to deliver the notification. Possible values are: \n- \"email\" - Reminders are sent via email. \n- \"sms\" - Reminders are sent via SMS. This value is read-only and is ignored on inserts and updates. SMS reminders are only available for Google Apps for Work, Education, and Government customers.", "annotations": { "required": [ "calendar.calendarList.insert", @@ -429,7 +429,7 @@ "properties": { "calendar": { "type": "object", - "description": "Palette of calendar colors, mapping from the color ID to its definition. A calendarListEntry resource refers to one of these color IDs in its color field. Read-only.", + "description": "A global palette of calendar colors, mapping from the color ID to its definition. A calendarListEntry resource refers to one of these color IDs in its color field. Read-only.", "additionalProperties": { "$ref": "ColorDefinition", "description": "A calendar color defintion." @@ -437,7 +437,7 @@ }, "event": { "type": "object", - "description": "Palette of event colors, mapping from the color ID to its definition. An event resource may refer to one of these color IDs in its color field. Read-only.", + "description": "A global palette of event colors, mapping from the color ID to its definition. An event resource may refer to one of these color IDs in its color field. Read-only.", "additionalProperties": { "$ref": "ColorDefinition", "description": "An event color definition." @@ -450,7 +450,7 @@ }, "updated": { "type": "string", - "description": "Last modification time of the color palette (as a RFC 3339 timestamp). Read-only.", + "description": "Last modification time of the color palette (as a RFC3339 timestamp). Read-only.", "format": "date-time" } } @@ -487,7 +487,7 @@ }, "attendees": { "type": "array", - "description": "The attendees of the event.", + "description": "The attendees of the event. See the Events with attendees guide for more information on scheduling events with other calendar users.", "items": { "$ref": "EventAttendee" } @@ -503,7 +503,7 @@ }, "created": { "type": "string", - "description": "Creation time of the event (as a RFC 3339 timestamp). Read-only.", + "description": "Creation time of the event (as a RFC3339 timestamp). Read-only.", "format": "date-time" }, "creator": { @@ -520,7 +520,7 @@ }, "id": { "type": "string", - "description": "The creator's Profile ID, if available." + "description": "The creator's Profile ID, if available. It corresponds to theid field in the People collection of the Google+ API" }, "self": { "type": "boolean", @@ -585,16 +585,16 @@ }, "height": { "type": "integer", - "description": "The gadget's height in pixels. Optional.", + "description": "The gadget's height in pixels. The height must be an integer greater than 0. Optional.", "format": "int32" }, "iconLink": { "type": "string", - "description": "The gadget's icon URL." + "description": "The gadget's icon URL. The URL scheme must be HTTPS." }, "link": { "type": "string", - "description": "The gadget's URL." + "description": "The gadget's URL. The URL scheme must be HTTPS." }, "preferences": { "type": "object", @@ -614,7 +614,7 @@ }, "width": { "type": "integer", - "description": "The gadget's width in pixels. Optional.", + "description": "The gadget's width in pixels. The width must be an integer greater than 0. Optional.", "format": "int32" } } @@ -644,7 +644,7 @@ }, "iCalUID": { "type": "string", - "description": "Event ID in the iCalendar format.", + "description": "Event unique identifier as defined in RFC5545. It is used to uniquely identify events accross calendaring systems and must be supplied when importing events via the import method.\nNote that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs.", "annotations": { "required": [ "calendar.events.import" @@ -653,7 +653,7 @@ }, "id": { "type": "string", - "description": "Identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: \n- characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 \n- the length of the ID must be between 5 and 1024 characters \n- the ID must be unique per calendar Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122." + "description": "Opaque identifier of the event. When creating new single or recurring events, you can specify their IDs. Provided IDs must follow these rules: \n- characters allowed in the ID are those used in base32hex encoding, i.e. lowercase letters a-v and digits 0-9, see section 3.1.2 in RFC2938 \n- the length of the ID must be between 5 and 1024 characters \n- the ID must be unique per calendar Due to the globally distributed nature of the system, we cannot guarantee that ID collisions will be detected at event creation time. To minimize the risk of collisions we recommend using an established UUID algorithm such as one described in RFC4122.\nIf you do not specify an ID, it will be automatically generated by the server.\nNote that the icalUID and the id are not identical and only one of them should be supplied at event creation time. One difference in their semantics is that in recurring events, all occurrences of one event have different ids while they all share the same icalUIDs." }, "kind": { "type": "string", @@ -679,11 +679,11 @@ }, "email": { "type": "string", - "description": "The organizer's email address, if available." + "description": "The organizer's email address, if available. It must be a valid email address as per RFC5322." }, "id": { "type": "string", - "description": "The organizer's Profile ID, if available." + "description": "The organizer's Profile ID, if available. It corresponds to theid field in the People collection of the Google+ API" }, "self": { "type": "boolean", @@ -703,14 +703,14 @@ }, "recurrence": { "type": "array", - "description": "List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event. This field is omitted for single events or instances of recurring events.", + "description": "List of RRULE, EXRULE, RDATE and EXDATE lines for a recurring event, as specified in RFC5545. Note that DTSTART and DTEND lines are not allowed in this field; event start and end times are specified in the start and end fields. This field is omitted for single events or instances of recurring events.", "items": { "type": "string" } }, "recurringEventId": { "type": "string", - "description": "For an instance of a recurring event, this is the event ID of the recurring event itself. Immutable." + "description": "For an instance of a recurring event, this is the id of the recurring event to which this instance belongs. Immutable." }, "reminders": { "type": "object", @@ -718,7 +718,7 @@ "properties": { "overrides": { "type": "array", - "description": "If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event.", + "description": "If the event doesn't use the default reminders, this lists the reminders specific to the event, or, if not set, indicates that no reminders are set for this event. The maximum number of override reminders is 5.", "items": { "$ref": "EventReminder" } @@ -736,7 +736,7 @@ }, "source": { "type": "object", - "description": "Source of an event from which it was created; for example a web page, an email message or any document identifiable by an URL using HTTP/HTTPS protocol. Accessible only by the creator of the event.", + "description": "Source from which the event was created. For example, a web page, an email message or any document identifiable by an URL with HTTP or HTTPS scheme. Can only be seen or modified by the creator of the event.", "properties": { "title": { "type": "string", @@ -744,7 +744,7 @@ }, "url": { "type": "string", - "description": "URL of the source pointing to a resource. URL's protocol must be HTTP or HTTPS." + "description": "URL of the source pointing to a resource. The URL scheme must be HTTP or HTTPS." } } }, @@ -774,7 +774,7 @@ }, "updated": { "type": "string", - "description": "Last modification time of the event (as a RFC 3339 timestamp). Read-only.", + "description": "Last modification time of the event (as a RFC3339 timestamp). Read-only.", "format": "date-time" }, "visibility": { @@ -790,7 +790,7 @@ "properties": { "fileId": { "type": "string", - "description": "ID of the attached file. Read-only.\nE.g. for Google Drive files this is the ID of the corresponding Files resource entry in the Drive API." + "description": "ID of the attached file. Read-only.\nFor Google Drive files, this is the ID of the corresponding Files resource entry in the Drive API." }, "fileUrl": { "type": "string", @@ -837,7 +837,7 @@ }, "email": { "type": "string", - "description": "The attendee's email address, if available. This field must be present when adding an attendee.", + "description": "The attendee's email address, if available. This field must be present when adding an attendee. It must be a valid email address as per RFC5322.", "annotations": { "required": [ "calendar.events.import", @@ -848,7 +848,7 @@ }, "id": { "type": "string", - "description": "The attendee's Profile ID, if available." + "description": "The attendee's Profile ID, if available. It corresponds to theid field in the People collection of the Google+ API" }, "optional": { "type": "boolean", @@ -886,7 +886,7 @@ }, "dateTime": { "type": "string", - "description": "The time, as a combined date-time value (formatted according to RFC 3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.", + "description": "The time, as a combined date-time value (formatted according to RFC3339). A time zone offset is required unless a time zone is explicitly specified in timeZone.", "format": "date-time" }, "timeZone": { @@ -901,7 +901,7 @@ "properties": { "method": { "type": "string", - "description": "The method used by this reminder. Possible values are: \n- \"email\" - Reminders are sent via email. \n- \"sms\" - Reminders are sent via SMS. They are only available for Google Apps for Work, Education, and Government customers. Requests to set SMS reminders for the other accounts will be ignored. \n- \"popup\" - Reminders are sent via a UI popup.", + "description": "The method used by this reminder. Possible values are: \n- \"email\" - Reminders are sent via email. \n- \"sms\" - Reminders are sent via SMS. These are only available for Google Apps for Work, Education, and Government customers. Requests to set SMS reminders for other account types are ignored. \n- \"popup\" - Reminders are sent via a UI popup.", "annotations": { "required": [ "calendar.calendarList.insert", @@ -914,7 +914,7 @@ }, "minutes": { "type": "integer", - "description": "Number of minutes before the start of the event when the reminder should trigger.", + "description": "Number of minutes before the start of the event when the reminder should trigger. Valid values are between 0 and 40320 (4 weeks in minutes).", "format": "int32", "annotations": { "required": [ @@ -981,7 +981,7 @@ }, "updated": { "type": "string", - "description": "Last modification time of the calendar (as a RFC 3339 timestamp). Read-only.", + "description": "Last modification time of the calendar (as a RFC3339 timestamp). Read-only.", "format": "date-time" } } @@ -1192,7 +1192,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1219,7 +1219,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1250,7 +1250,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" } @@ -1276,7 +1276,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1322,7 +1322,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1355,7 +1355,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1388,7 +1388,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1442,7 +1442,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" } @@ -1462,7 +1462,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" } @@ -1568,7 +1568,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1599,7 +1599,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1698,7 +1698,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" } @@ -1718,7 +1718,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" } @@ -1738,7 +1738,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" } @@ -1777,7 +1777,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" } @@ -1803,7 +1803,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" } @@ -1868,7 +1868,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1905,7 +1905,7 @@ }, "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1948,7 +1948,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -1979,7 +1979,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -2027,7 +2027,7 @@ }, "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -2068,13 +2068,13 @@ }, "timeMax": { "type": "string", - "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time.", + "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset.", "format": "date-time", "location": "query" }, "timeMin": { "type": "string", - "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time.", + "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset.", "format": "date-time", "location": "query" }, @@ -2110,7 +2110,7 @@ }, "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -2190,13 +2190,13 @@ }, "timeMax": { "type": "string", - "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time.", + "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", "format": "date-time", "location": "query" }, "timeMin": { "type": "string", - "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time.", + "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", "format": "date-time", "location": "query" }, @@ -2207,7 +2207,7 @@ }, "updatedMin": { "type": "string", - "description": "Lower bound for an event's last modification time (as a RFC 3339 timestamp) to filter by. When specified, entries deleted since this time will always be included regardless of showDeleted. Optional. The default is not to filter by last modification time.", + "description": "Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When specified, entries deleted since this time will always be included regardless of showDeleted. Optional. The default is not to filter by last modification time.", "format": "date-time", "location": "query" } @@ -2279,7 +2279,7 @@ }, "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -2329,7 +2329,7 @@ "parameters": { "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -2369,7 +2369,7 @@ }, "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -2424,7 +2424,7 @@ }, "calendarId": { "type": "string", - "description": "Calendar identifier.", + "description": "Calendar identifier. To retrieve calendar IDs call the calendarList.list method. If you want to access the primary calendar of the currently logged in user, use the \"primary\" keyword.", "required": true, "location": "path" }, @@ -2504,13 +2504,13 @@ }, "timeMax": { "type": "string", - "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time.", + "description": "Upper bound (exclusive) for an event's start time to filter by. Optional. The default is not to filter by start time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", "format": "date-time", "location": "query" }, "timeMin": { "type": "string", - "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time.", + "description": "Lower bound (inclusive) for an event's end time to filter by. Optional. The default is not to filter by end time. Must be an RFC3339 timestamp with mandatory time zone offset, e.g., 2011-06-03T10:00:00-07:00, 2011-06-03T10:00:00Z. Milliseconds may be provided but will be ignored.", "format": "date-time", "location": "query" }, @@ -2521,7 +2521,7 @@ }, "updatedMin": { "type": "string", - "description": "Lower bound for an event's last modification time (as a RFC 3339 timestamp) to filter by. When specified, entries deleted since this time will always be included regardless of showDeleted. Optional. The default is not to filter by last modification time.", + "description": "Lower bound for an event's last modification time (as a RFC3339 timestamp) to filter by. When specified, entries deleted since this time will always be included regardless of showDeleted. Optional. The default is not to filter by last modification time.", "format": "date-time", "location": "query" } diff --git a/etc/api/civicinfo/v2/civicinfo-api.json b/etc/api/civicinfo/v2/civicinfo-api.json index ea2caa6569..e9faf76512 100644 --- a/etc/api/civicinfo/v2/civicinfo-api.json +++ b/etc/api/civicinfo/v2/civicinfo-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/79Y1HrgSgdJCTf1b4Qz0Z9zJqHE\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/ZiNhyAfCE7ZKhbU1KQ-igi1g1zk\"", "discoveryVersion": "v1", "id": "civicinfo:v2", "name": "civicinfo", "canonicalName": "Civic Info", "version": "v2", - "revision": "20150707", + "revision": "20150820", "title": "Google Civic Information API", "description": "An API for accessing civic information.", "ownerDomain": "google.com", @@ -284,7 +284,7 @@ }, "referendumBrief": { "type": "string", - "description": "Specifies a short summary of the referendum that is on the ballot below the title but above the text. This field is only populated for contests of type 'Referendum'." + "description": "Specifies a short summary of the referendum that is typically on the ballot below the title but above the text. This field is only populated for contests of type 'Referendum'." }, "referendumConStatement": { "type": "string", @@ -399,6 +399,10 @@ "name": { "type": "string", "description": "A displayable name for the election." + }, + "ocdDivisionId": { + "type": "string", + "description": "The political division of the election. Represented as an OCD Division ID. Voters within these political jurisdictions are covered by this election. This is typically a state such as ocd-division/country:us/state:ca or for the midterms or general election the entire US (i.e. ocd-division/country:us)." } } }, diff --git a/etc/api/classroom/v1/classroom-api.json b/etc/api/classroom/v1/classroom-api.json new file mode 100644 index 0000000000..58c117f080 --- /dev/null +++ b/etc/api/classroom/v1/classroom-api.json @@ -0,0 +1,1109 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/VbFh0P5gIX42P6rhPLVK-GI_3-Y\"", + "discoveryVersion": "v1", + "id": "classroom:v1", + "name": "classroom", + "version": "v1", + "revision": "20151013", + "title": "Google Classroom API", + "description": "Google Classroom API", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/classroom/", + "protocol": "rest", + "baseUrl": "https://classroom.googleapis.com/", + "basePath": "/", + "rootUrl": "https://classroom.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/classroom.courses": { + "description": "Manage your Google Classroom classes" + }, + "https://www.googleapis.com/auth/classroom.courses.readonly": { + "description": "View your Google Classroom classes" + }, + "https://www.googleapis.com/auth/classroom.profile.emails": { + "description": "View the email addresses of people in your classes" + }, + "https://www.googleapis.com/auth/classroom.profile.photos": { + "description": "View the profile photos of people in your classes" + }, + "https://www.googleapis.com/auth/classroom.rosters": { + "description": "Manage your Google Classroom class rosters" + }, + "https://www.googleapis.com/auth/classroom.rosters.readonly": { + "description": "View your Google Classroom class rosters" + } + } + } + }, + "schemas": { + "Course": { + "id": "Course", + "type": "object", + "description": "A Course in Classroom.", + "properties": { + "id": { + "type": "string", + "description": "Identifier for this course assigned by Classroom. When creating a course, you may optionally set this identifier to an alias string in the request to create a corresponding alias. The `id` is still assigned by Classroom and cannot be updated after the course is created. Specifying this field in a course update mask will result in an error." + }, + "name": { + "type": "string", + "description": "Name of the course. For example, \"10th Grade Biology\". The name is required. It must be between 1 and 750 characters and a valid UTF-8 string." + }, + "section": { + "type": "string", + "description": "Section of the course. For example, \"Period 2\". If set, this field must be a valid UTF-8 string and no longer than 2800 characters." + }, + "descriptionHeading": { + "type": "string", + "description": "Optional heading for the description. For example, \"Welcome to 10th Grade Biology.\" If set, this field must be a valid UTF-8 string and no longer than 3600 characters." + }, + "description": { + "type": "string", + "description": "Optional description. For example, \"We'll be learning about the structure of living creatures from a combination of textbooks, guest lectures, and lab work. Expect to be excited!\" If set, this field must be a valid UTF-8 string and no longer than 30,000 characters." + }, + "room": { + "type": "string", + "description": "Optional room location. For example, \"301\". If set, this field must be a valid UTF-8 string and no longer than 650 characters." + }, + "ownerId": { + "type": "string", + "description": "The identifier of the owner of a course. When specified as a parameter of a create course request, this field is required. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user This must be set in a create request. Specifying this field in a course update mask will result in an `INVALID_ARGUMENT` error." + }, + "creationTime": { + "type": "string", + "description": "Creation time of the course. Specifying this field in a course update mask will result in an error. Read-only." + }, + "updateTime": { + "type": "string", + "description": "Time of the most recent update to this course. Specifying this field in a course update mask will result in an error. Read-only." + }, + "enrollmentCode": { + "type": "string", + "description": "Enrollment code to use when joining this course. Specifying this field in a course update mask will result in an error. Read-only." + }, + "courseState": { + "type": "string", + "description": "State of the course. If unspecified, the default state is `PROVISIONED`.", + "enum": [ + "COURSE_STATE_UNSPECIFIED", + "ACTIVE", + "ARCHIVED", + "PROVISIONED", + "DECLINED" + ] + }, + "alternateLink": { + "type": "string", + "description": "Absolute link to this course in the Classroom web UI. Read-only." + } + } + }, + "Empty": { + "id": "Empty", + "type": "object", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." + }, + "ListCoursesResponse": { + "id": "ListCoursesResponse", + "type": "object", + "description": "Response when listing courses.", + "properties": { + "courses": { + "type": "array", + "description": "Courses that match the list request.", + "items": { + "$ref": "Course" + } + }, + "nextPageToken": { + "type": "string", + "description": "Token identifying the next page of results to return. If empty, no further results are available." + } + } + }, + "CourseAlias": { + "id": "CourseAlias", + "type": "object", + "description": "Alternative identifier for a course. An alias uniquely identifies a course. It must be unique within one of the following scopes: * domain: A domain-scoped alias is visible to all users within the alias creator's domain and can be created only by a domain admin. A domain-scoped alias is often used when a course has an identifier external to Classroom. * project: A project-scoped alias is visible to any request from an application using the Developer Console project ID that created the alias and can be created by any project. A project-scoped alias is often used when an application has alternative identifiers. A random value can also be used to avoid duplicate courses in the event of transmission failures, as retrying a request will return `ALREADY_EXISTS` if a previous one has succeeded.", + "properties": { + "alias": { + "type": "string", + "description": "Alias string. The format of the string indicates the desired alias scoping. * `d:` indicates a domain-scoped alias. Example: `d:math_101` * `p:` indicates a project-scoped alias. Example: `p:abc123` This field has a maximum length of 256 characters." + } + } + }, + "ListCourseAliasesResponse": { + "id": "ListCourseAliasesResponse", + "type": "object", + "description": "Response when listing course aliases.", + "properties": { + "aliases": { + "type": "array", + "description": "The course aliases.", + "items": { + "$ref": "CourseAlias" + } + }, + "nextPageToken": { + "type": "string", + "description": "Token identifying the next page of results to return. If empty, no further results are available." + } + } + }, + "Invitation": { + "id": "Invitation", + "type": "object", + "description": "An invitation to join a course.", + "properties": { + "id": { + "type": "string", + "description": "Identifier assigned by Classroom. Read-only." + }, + "userId": { + "type": "string", + "description": "Identifier of the invited user. When specified as a parameter of a request, this identifier can be set to one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user" + }, + "courseId": { + "type": "string", + "description": "Identifier of the course to invite the user to." + }, + "role": { + "type": "string", + "description": "Role to invite the user to have. Must not be `COURSE_ROLE_UNSPECIFIED`.", + "enum": [ + "COURSE_ROLE_UNSPECIFIED", + "STUDENT", + "TEACHER" + ] + } + } + }, + "ListInvitationsResponse": { + "id": "ListInvitationsResponse", + "type": "object", + "description": "Response when listing invitations.", + "properties": { + "invitations": { + "type": "array", + "description": "Invitations that match the list request.", + "items": { + "$ref": "Invitation" + } + }, + "nextPageToken": { + "type": "string", + "description": "Token identifying the next page of results to return. If empty, no further results are available." + } + } + }, + "UserProfile": { + "id": "UserProfile", + "type": "object", + "description": "Global information for a user.", + "properties": { + "id": { + "type": "string", + "description": "Identifier of the user. Read-only." + }, + "name": { + "$ref": "Name", + "description": "Name of the user. Read-only." + }, + "emailAddress": { + "type": "string", + "description": "Email address of the user. Read-only." + }, + "photoUrl": { + "type": "string", + "description": "URL of user's profile photo. Read-only." + }, + "permissions": { + "type": "array", + "description": "Global permissions of the user. Read-only.", + "items": { + "$ref": "GlobalPermission" + } + } + } + }, + "Name": { + "id": "Name", + "type": "object", + "description": "Details of the user's name.", + "properties": { + "givenName": { + "type": "string", + "description": "The user's first name. Read-only." + }, + "familyName": { + "type": "string", + "description": "The user's last name. Read-only." + }, + "fullName": { + "type": "string", + "description": "The user's full name formed by concatenating the first and last name values. Read-only." + } + } + }, + "GlobalPermission": { + "id": "GlobalPermission", + "type": "object", + "description": "Global user permission description.", + "properties": { + "permission": { + "type": "string", + "description": "Permission value.", + "enum": [ + "PERMISSION_UNSPECIFIED", + "CREATE_COURSE" + ] + } + } + }, + "Teacher": { + "id": "Teacher", + "type": "object", + "description": "Teacher of a course.", + "properties": { + "courseId": { + "type": "string", + "description": "Identifier of the course. Read-only." + }, + "userId": { + "type": "string", + "description": "Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user" + }, + "profile": { + "$ref": "UserProfile", + "description": "Global user information for the teacher. Read-only." + } + } + }, + "ListTeachersResponse": { + "id": "ListTeachersResponse", + "type": "object", + "description": "Response when listing teachers.", + "properties": { + "teachers": { + "type": "array", + "description": "Teachers who match the list request.", + "items": { + "$ref": "Teacher" + } + }, + "nextPageToken": { + "type": "string", + "description": "Token identifying the next page of results to return. If empty, no further results are available." + } + } + }, + "Student": { + "id": "Student", + "type": "object", + "description": "Student in a course.", + "properties": { + "courseId": { + "type": "string", + "description": "Identifier of the course. Read-only." + }, + "userId": { + "type": "string", + "description": "Identifier of the user. When specified as a parameter of a request, this identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user" + }, + "profile": { + "$ref": "UserProfile", + "description": "Global user information for the student. Read-only." + } + } + }, + "ListStudentsResponse": { + "id": "ListStudentsResponse", + "type": "object", + "description": "Response when listing students.", + "properties": { + "students": { + "type": "array", + "description": "Students who match the list request.", + "items": { + "$ref": "Student" + } + }, + "nextPageToken": { + "type": "string", + "description": "Token identifying the next page of results to return. If empty, no further results are available." + } + } + } + }, + "resources": { + "courses": { + "methods": { + "create": { + "id": "classroom.courses.create", + "path": "v1/courses", + "httpMethod": "POST", + "description": "Creates a course. The user specified in `ownerId` is the owner of the created course and added as a teacher. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create courses or for access errors. * `NOT_FOUND` if the primary teacher is not a valid user. * `FAILED_PRECONDITION` if the course owner's account is disabled or for the following request errors: * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if an alias was specified in the `id` and already exists.", + "request": { + "$ref": "Course" + }, + "response": { + "$ref": "Course" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ] + }, + "get": { + "id": "classroom.courses.get", + "path": "v1/courses/{id}", + "httpMethod": "GET", + "description": "Returns a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID.", + "parameters": { + "id": { + "type": "string", + "description": "Identifier of the course to return. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "response": { + "$ref": "Course" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses", + "https://www.googleapis.com/auth/classroom.courses.readonly" + ] + }, + "update": { + "id": "classroom.courses.update", + "path": "v1/courses/{id}", + "httpMethod": "PUT", + "description": "Updates a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID. * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable", + "parameters": { + "id": { + "type": "string", + "description": "Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "request": { + "$ref": "Course" + }, + "response": { + "$ref": "Course" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ] + }, + "patch": { + "id": "classroom.courses.patch", + "path": "v1/courses/{id}", + "httpMethod": "PATCH", + "description": "Updates one or more fields in a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to modify the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID. * `INVALID_ARGUMENT` if invalid fields are specified in the update mask or if no update mask is supplied. * `FAILED_PRECONDITION` for the following request errors: * CourseNotModifiable", + "parameters": { + "id": { + "type": "string", + "description": "Identifier of the course to update. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "updateMask": { + "type": "string", + "description": "Mask that identifies which fields on the course to update. This field is required to do an update. The update will fail if invalid fields are specified. The following fields are valid: * `name` * `section` * `descriptionHeading` * `description` * `room` * `courseState` When set in a query parameter, this field should be specified as `updateMask=,,...`", + "location": "query" + } + }, + "parameterOrder": [ + "id" + ], + "request": { + "$ref": "Course" + }, + "response": { + "$ref": "Course" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ] + }, + "delete": { + "id": "classroom.courses.delete", + "path": "v1/courses/{id}", + "httpMethod": "DELETE", + "description": "Deletes a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested course or for access errors. * `NOT_FOUND` if no course exists with the requested ID.", + "parameters": { + "id": { + "type": "string", + "description": "Identifier of the course to delete. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ] + }, + "list": { + "id": "classroom.courses.list", + "path": "v1/courses", + "httpMethod": "GET", + "description": "Returns a list of courses that the requesting user is permitted to view, restricted to those that match the request. This method returns the following error codes: * `PERMISSION_DENIED` for access errors. * `INVALID_ARGUMENT` if the query argument is malformed. * `NOT_FOUND` if any users specified in the query arguments do not exist.", + "parameters": { + "studentId": { + "type": "string", + "description": "Restricts returned courses to those having a student with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", + "location": "query" + }, + "teacherId": { + "type": "string", + "description": "Restricts returned courses to those having a teacher with the specified identifier. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", + "location": "query" + } + }, + "response": { + "$ref": "ListCoursesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses", + "https://www.googleapis.com/auth/classroom.courses.readonly" + ] + } + }, + "resources": { + "aliases": { + "methods": { + "create": { + "id": "classroom.courses.aliases.create", + "path": "v1/courses/{courseId}/aliases", + "httpMethod": "POST", + "description": "Creates an alias for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create the alias or for access errors. * `NOT_FOUND` if the course does not exist. * `ALREADY_EXISTS` if the alias already exists.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course to alias. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "courseId" + ], + "request": { + "$ref": "CourseAlias" + }, + "response": { + "$ref": "CourseAlias" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ] + }, + "delete": { + "id": "classroom.courses.aliases.delete", + "path": "v1/courses/{courseId}/aliases/{alias}", + "httpMethod": "DELETE", + "description": "Deletes an alias of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to remove the alias or for access errors. * `NOT_FOUND` if the alias does not exist.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course whose alias should be deleted. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "alias": { + "type": "string", + "description": "Alias to delete. This may not be the Classroom-assigned identifier.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "courseId", + "alias" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses" + ] + }, + "list": { + "id": "classroom.courses.aliases.list", + "path": "v1/courses/{courseId}/aliases", + "httpMethod": "GET", + "description": "Returns a list of aliases for a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access the course or for access errors. * `NOT_FOUND` if the course does not exist.", + "parameters": { + "courseId": { + "type": "string", + "description": "The identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of items to return. Zero or unspecified indicates that the server may assign a maximum. The server may return fewer than the specified number of results.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", + "location": "query" + } + }, + "parameterOrder": [ + "courseId" + ], + "response": { + "$ref": "ListCourseAliasesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.courses", + "https://www.googleapis.com/auth/classroom.courses.readonly" + ] + } + } + }, + "teachers": { + "methods": { + "create": { + "id": "classroom.courses.teachers.create", + "path": "v1/courses/{courseId}/teachers", + "httpMethod": "POST", + "description": "Creates a teacher of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create teachers in this course or for access errors. * `NOT_FOUND` if the requested course ID does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled, for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a teacher or student in the course.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "courseId" + ], + "request": { + "$ref": "Teacher" + }, + "response": { + "$ref": "Teacher" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters" + ] + }, + "get": { + "id": "classroom.courses.teachers.get", + "path": "v1/courses/{courseId}/teachers/{userId}", + "httpMethod": "GET", + "description": "Returns a teacher of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view teachers of this course or for access errors. * `NOT_FOUND` if no teacher of this course has the requested ID or if the course does not exist.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "userId": { + "type": "string", + "description": "Identifier of the teacher to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "courseId", + "userId" + ], + "response": { + "$ref": "Teacher" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ] + }, + "delete": { + "id": "classroom.courses.teachers.delete", + "path": "v1/courses/{courseId}/teachers/{userId}", + "httpMethod": "DELETE", + "description": "Deletes a teacher of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete teachers of this course or for access errors. * `NOT_FOUND` if no teacher of this course has the requested ID or if the course does not exist. * `FAILED_PRECONDITION` if the requested ID belongs to the primary teacher of this course.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "userId": { + "type": "string", + "description": "Identifier of the teacher to delete. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "courseId", + "userId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters" + ] + }, + "list": { + "id": "classroom.courses.teachers.list", + "path": "v1/courses/{courseId}/teachers", + "httpMethod": "GET", + "description": "Returns a list of teachers of this course that the requester is permitted to view. This method returns the following error codes: * `NOT_FOUND` if the course does not exist. * `PERMISSION_DENIED` for access errors.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of items to return. Zero means no maximum. The server may return fewer than the specified number of results.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", + "location": "query" + } + }, + "parameterOrder": [ + "courseId" + ], + "response": { + "$ref": "ListTeachersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ] + } + } + }, + "students": { + "methods": { + "create": { + "id": "classroom.courses.students.create", + "path": "v1/courses/{courseId}/students", + "httpMethod": "POST", + "description": "Adds a user as a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create students in this course or for access errors. * `NOT_FOUND` if the requested course ID does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled, for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * UserGroupsMembershipLimitReached * `ALREADY_EXISTS` if the user is already a student or teacher in the course.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course to create the student in. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "enrollmentCode": { + "type": "string", + "description": "Enrollment code of the course to create the student in. This code is required if userId corresponds to the requesting user; it may be omitted if the requesting user has administrative permissions to create students for any user.", + "location": "query" + } + }, + "parameterOrder": [ + "courseId" + ], + "request": { + "$ref": "Student" + }, + "response": { + "$ref": "Student" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters" + ] + }, + "get": { + "id": "classroom.courses.students.get", + "path": "v1/courses/{courseId}/students/{userId}", + "httpMethod": "GET", + "description": "Returns a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view students of this course or for access errors. * `NOT_FOUND` if no student of this course has the requested ID or if the course does not exist.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "userId": { + "type": "string", + "description": "Identifier of the student to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "courseId", + "userId" + ], + "response": { + "$ref": "Student" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ] + }, + "delete": { + "id": "classroom.courses.students.delete", + "path": "v1/courses/{courseId}/students/{userId}", + "httpMethod": "DELETE", + "description": "Deletes a student of a course. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete students of this course or for access errors. * `NOT_FOUND` if no student of this course has the requested ID or if the course does not exist.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "userId": { + "type": "string", + "description": "Identifier of the student to delete. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "courseId", + "userId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters" + ] + }, + "list": { + "id": "classroom.courses.students.list", + "path": "v1/courses/{courseId}/students", + "httpMethod": "GET", + "description": "Returns a list of students of this course that the requester is permitted to view. This method returns the following error codes: * `NOT_FOUND` if the course does not exist. * `PERMISSION_DENIED` for access errors.", + "parameters": { + "courseId": { + "type": "string", + "description": "Identifier of the course. This identifier can be either the Classroom-assigned identifier or an alias.", + "required": true, + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of items to return. Zero means no maximum. The server may return fewer than the specified number of results.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", + "location": "query" + } + }, + "parameterOrder": [ + "courseId" + ], + "response": { + "$ref": "ListStudentsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ] + } + } + } + } + }, + "invitations": { + "methods": { + "create": { + "id": "classroom.invitations.create", + "path": "v1/invitations", + "httpMethod": "POST", + "description": "Creates an invitation. Only one invitation for a user and course may exist at a time. Delete and re-create an invitation to make changes. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to create invitations for this course or for access errors. * `NOT_FOUND` if the course or the user does not exist. * `FAILED_PRECONDITION` if the requested user's account is disabled or if the user already has this role or a role with greater permissions. * `ALREADY_EXISTS` if an invitation for the specified user and course already exists.", + "request": { + "$ref": "Invitation" + }, + "response": { + "$ref": "Invitation" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters" + ] + }, + "get": { + "id": "classroom.invitations.get", + "path": "v1/invitations/{id}", + "httpMethod": "GET", + "description": "Returns an invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to view the requested invitation or for access errors. * `NOT_FOUND` if no invitation exists with the requested ID.", + "parameters": { + "id": { + "type": "string", + "description": "Identifier of the invitation to return.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "response": { + "$ref": "Invitation" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ] + }, + "delete": { + "id": "classroom.invitations.delete", + "path": "v1/invitations/{id}", + "httpMethod": "DELETE", + "description": "Deletes an invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to delete the requested invitation or for access errors. * `NOT_FOUND` if no invitation exists with the requested ID.", + "parameters": { + "id": { + "type": "string", + "description": "Identifier of the invitation to delete.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters" + ] + }, + "list": { + "id": "classroom.invitations.list", + "path": "v1/invitations", + "httpMethod": "GET", + "description": "Returns a list of invitations that the requesting user is permitted to view, restricted to those that match the list request. *Note:* At least one of `user_id` or `course_id` must be supplied. Both fields can be supplied. This method returns the following error codes: * `PERMISSION_DENIED` for access errors.", + "parameters": { + "userId": { + "type": "string", + "description": "Restricts returned invitations to those for a specific user. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", + "location": "query" + }, + "courseId": { + "type": "string", + "description": "Restricts returned invitations to those for a course with the specified identifier.", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of items to return. Zero means no maximum. The server may return fewer than the specified number of results.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "nextPageToken value returned from a previous list call, indicating that the subsequent page of results should be returned. The list request must be otherwise identical to the one that resulted in this token.", + "location": "query" + } + }, + "response": { + "$ref": "ListInvitationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ] + }, + "accept": { + "id": "classroom.invitations.accept", + "path": "v1/invitations/{id}:accept", + "httpMethod": "POST", + "description": "Accepts an invitation, removing it and adding the invited user to the teachers or students (as appropriate) of the specified course. Only the invited user may accept an invitation. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to accept the requested invitation or for access errors. * `FAILED_PRECONDITION` for the following request errors: * CourseMemberLimitReached * CourseNotModifiable * CourseTeacherLimitReached * UserGroupsMembershipLimitReached * `NOT_FOUND` if no invitation exists with the requested ID.", + "parameters": { + "id": { + "type": "string", + "description": "Identifier of the invitation to accept.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "id" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.rosters" + ] + } + } + }, + "userProfiles": { + "methods": { + "get": { + "id": "classroom.userProfiles.get", + "path": "v1/userProfiles/{userId}", + "httpMethod": "GET", + "description": "Returns a user profile. This method returns the following error codes: * `PERMISSION_DENIED` if the requesting user is not permitted to access this user profile or if no profile exists with the requested ID or for access errors.", + "parameters": { + "userId": { + "type": "string", + "description": "Identifier of the profile to return. The identifier can be one of the following: * the numeric identifier for the user * the email address of the user * the string literal `\"me\"`, indicating the requesting user", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "userId" + ], + "response": { + "$ref": "UserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/classroom.profile.emails", + "https://www.googleapis.com/auth/classroom.profile.photos", + "https://www.googleapis.com/auth/classroom.rosters", + "https://www.googleapis.com/auth/classroom.rosters.readonly" + ] + } + } + } + } +} diff --git a/etc/api/classroom/v1beta1/classroom-api.json b/etc/api/classroom/v1beta1/classroom-api.json new file mode 100644 index 0000000000..e69de29bb2 diff --git a/etc/api/cloudbilling/v1/cloudbilling-api.json b/etc/api/cloudbilling/v1/cloudbilling-api.json new file mode 100644 index 0000000000..6033ea6626 --- /dev/null +++ b/etc/api/cloudbilling/v1/cloudbilling-api.json @@ -0,0 +1,343 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/vc2WYrePuDcqazgNVjmdzE5Mns4\"", + "discoveryVersion": "v1", + "id": "cloudbilling:v1", + "name": "cloudbilling", + "version": "v1", + "revision": "20150903", + "title": "Google Cloud Billing API", + "description": "Retrieves Google Developers Console billing accounts and associates them with projects.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://cloud.google.com/billing/", + "protocol": "rest", + "baseUrl": "https://cloudbilling.googleapis.com/", + "basePath": "/", + "rootUrl": "https://cloudbilling.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "schemas": { + "BillingAccount": { + "id": "BillingAccount", + "type": "object", + "description": "A billing account in [Google Developers Console](https://console.developers.google.com/). You can assign a billing account to one or more projects.", + "properties": { + "name": { + "type": "string", + "description": "The resource name of the billing account. The resource name has the form `billingAccounts/{billing_account_id}`. For example, `billingAccounts/012345-567890-ABCDEF` would be the resource name for billing account `012345-567890-ABCDEF`." + }, + "open": { + "type": "boolean", + "description": "True if the billing account is open, and will therefore be charged for any usage on associated projects. False if the billing account is closed, and therefore projects associated with it will be unable to use paid services." + }, + "displayName": { + "type": "string", + "description": "The display name given to the billing account, such as `My Billing Account`. This name is displayed in the Google Developers Console." + } + } + }, + "ListBillingAccountsResponse": { + "id": "ListBillingAccountsResponse", + "type": "object", + "description": "Response message for `ListBillingAccounts`.", + "properties": { + "billingAccounts": { + "type": "array", + "description": "A list of billing accounts.", + "items": { + "$ref": "BillingAccount" + } + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve the next page of results. To retrieve the next page, call `ListBillingAccounts` again with the `page_token` field set to this value. This field is empty if there are no more results to retrieve." + } + } + }, + "ListProjectBillingInfoResponse": { + "id": "ListProjectBillingInfoResponse", + "type": "object", + "description": "Request message for `ListProjectBillingInfoResponse`.", + "properties": { + "projectBillingInfo": { + "type": "array", + "description": "A list of `ProjectBillingInfo` resources representing the projects associated with the billing account.", + "items": { + "$ref": "ProjectBillingInfo" + } + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve the next page of results. To retrieve the next page, call `ListProjectBillingInfo` again with the `page_token` field set to this value. This field is empty if there are no more results to retrieve." + } + } + }, + "ProjectBillingInfo": { + "id": "ProjectBillingInfo", + "type": "object", + "description": "Encapsulation of billing information for a Developers Console project. A project has at most one associated billing account at a time (but a billing account can be assigned to multiple projects).", + "properties": { + "name": { + "type": "string", + "description": "The resource name for the `ProjectBillingInfo`; has the form `projects/{project_id}/billingInfo`. For example, the resource name for the billing information for project `tokyo-rain-123` would be `projects/tokyo-rain-123/billingInfo`. This field is read-only." + }, + "projectId": { + "type": "string", + "description": "The ID of the project that this `ProjectBillingInfo` represents, such as `tokyo-rain-123`. This is a convenience field so that you don't need to parse the `name` field to obtain a project ID. This field is read-only." + }, + "billingAccountName": { + "type": "string", + "description": "The resource name of the billing account associated with the project, if any. For example, `billingAccounts/012345-567890-ABCDEF`." + }, + "billingEnabled": { + "type": "boolean", + "description": "True if the project is associated with an open billing account, to which usage on the project is charged. False if the project is associated with a closed billing account, or no billing account at all, and therefore cannot use paid services. This field is read-only." + } + } + } + }, + "resources": { + "billingAccounts": { + "methods": { + "get": { + "id": "cloudbilling.billingAccounts.get", + "path": "v1/{+name}", + "httpMethod": "GET", + "description": "Gets information about a billing account. The current authenticated user must be an [owner of the billing account](https://support.google.com/cloud/answer/4430947).", + "parameters": { + "name": { + "type": "string", + "description": "The resource name of the billing account to retrieve. For example, `billingAccounts/012345-567890-ABCDEF`.", + "required": true, + "pattern": "^billingAccounts/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "BillingAccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "id": "cloudbilling.billingAccounts.list", + "path": "v1/billingAccounts", + "httpMethod": "GET", + "description": "Lists the billing accounts that the current authenticated user [owns](https://support.google.com/cloud/answer/4430947).", + "parameters": { + "pageSize": { + "type": "integer", + "description": "Requested page size. The maximum page size is 100; this is also the default.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A token identifying a page of results to return. This should be a `next_page_token` value returned from a previous `ListBillingAccounts` call. If unspecified, the first page of results is returned.", + "location": "query" + } + }, + "response": { + "$ref": "ListBillingAccountsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "projects": { + "methods": { + "list": { + "id": "cloudbilling.billingAccounts.projects.list", + "path": "v1/{+name}/projects", + "httpMethod": "GET", + "description": "Lists the projects associated with a billing account. The current authenticated user must be an [owner of the billing account](https://support.google.com/cloud/answer/4430947).", + "parameters": { + "name": { + "type": "string", + "description": "The resource name of the billing account associated with the projects that you want to list. For example, `billingAccounts/012345-567890-ABCDEF`.", + "required": true, + "pattern": "^billingAccounts/[^/]*$", + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Requested page size. The maximum page size is 100; this is also the default.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A token identifying a page of results to be returned. This should be a `next_page_token` value returned from a previous `ListProjectBillingInfo` call. If unspecified, the first page of results is returned.", + "location": "query" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListProjectBillingInfoResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "projects": { + "methods": { + "getBillingInfo": { + "id": "cloudbilling.projects.getBillingInfo", + "path": "v1/{+name}/billingInfo", + "httpMethod": "GET", + "description": "Gets the billing information for a project. The current authenticated user must have [permission to view the project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ).", + "parameters": { + "name": { + "type": "string", + "description": "The resource name of the project for which billing information is retrieved. For example, `projects/tokyo-rain-123`.", + "required": true, + "pattern": "^projects/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ProjectBillingInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "updateBillingInfo": { + "id": "cloudbilling.projects.updateBillingInfo", + "path": "v1/{+name}/billingInfo", + "httpMethod": "PUT", + "description": "Sets or updates the billing account associated with a project. You specify the new billing account by setting the `billing_account_name` in the `ProjectBillingInfo` resource to the resource name of a billing account. Associating a project with an open billing account enables billing on the project and allows charges for resource usage. If the project already had a billing account, this method changes the billing account used for resource usage charges. *Note:* Incurred charges that have not yet been reported in the transaction history of the Google Developers Console may be billed to the new billing account, even if the charge occurred before the new billing account was assigned to the project. The current authenticated user must have ownership privileges for both the [project](https://cloud.google.com/docs/permissions-overview#h.bgs0oxofvnoo ) and the [billing account](https://support.google.com/cloud/answer/4430947). You can disable billing on the project by setting the `billing_account_name` field to empty. This action disassociates the current billing account from the project. Any billable activity of your in-use services will stop, and your application could stop functioning as expected. Any unbilled charges to date will be billed to the previously associated account. The current authenticated user must be either an owner of the project or an owner of the billing account for the project. Note that associating a project with a *closed* billing account will have much the same effect as disabling billing on the project: any paid resources used by the project will be shut down. Thus, unless you wish to disable billing, you should always call this method with the name of an *open* billing account.", + "parameters": { + "name": { + "type": "string", + "description": "The resource name of the project associated with the billing information that you want to update. For example, `projects/tokyo-rain-123`.", + "required": true, + "pattern": "^projects/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "ProjectBillingInfo" + }, + "response": { + "$ref": "ProjectBillingInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } +} diff --git a/etc/api/clouddebugger/v2/clouddebugger-api.json b/etc/api/clouddebugger/v2/clouddebugger-api.json new file mode 100644 index 0000000000..81cc52b0d2 --- /dev/null +++ b/etc/api/clouddebugger/v2/clouddebugger-api.json @@ -0,0 +1,913 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/IirqKiawPBlWznB4XZKKLikRaQQ\"", + "discoveryVersion": "v1", + "id": "clouddebugger:v2", + "name": "clouddebugger", + "version": "v2", + "revision": "20150725", + "title": "Google Cloud Debugger API", + "description": "Lets you examine the stack and variables of your running application without stopping or slowing it down.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://cloud.google.com/tools/cloud-debugger", + "protocol": "rest", + "baseUrl": "https://clouddebugger.googleapis.com/", + "basePath": "/", + "rootUrl": "https://clouddebugger.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "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_debugger": { + "description": "Manage cloud debugger" + }, + "https://www.googleapis.com/auth/cloud_debugletcontroller": { + "description": "Manage active breakpoints in cloud debugger" + } + } + } + }, + "schemas": { + "RegisterDebuggeeRequest": { + "id": "RegisterDebuggeeRequest", + "type": "object", + "description": "The request to register a debuggee.", + "properties": { + "debuggee": { + "$ref": "Debuggee", + "description": "The debuggee information to register. The fields 'project', 'uniquifier', 'description' and 'agent_version' of the debuggee must be set." + } + } + }, + "Debuggee": { + "id": "Debuggee", + "type": "object", + "description": "Represents the application to debug. The application may include one or more replicated processes executing the same code. Each of these processes is attached with a debugger agent, carrying out the debugging commands. The agents attached to the same debuggee are identified by using exactly the same fields' values when registering.", + "properties": { + "id": { + "type": "string", + "description": "Debuggee unique identifer generated by the server." + }, + "project": { + "type": "string", + "description": "The project the debuggee is associated with. Use the project number when registering a Google Cloud Platform project." + }, + "uniquifier": { + "type": "string", + "description": "The debuggee uniqifier within the project. Any string that id the application within the project can be used. Recomended to include environement and version or build id's." + }, + "description": { + "type": "string", + "description": "A human readable description of the debuggee. Recommended to include human readable project name, environment name, and version information ." + }, + "isInactive": { + "type": "boolean", + "description": "If set to true indicates that the debuggee has not been seen by the Controller service in the last active time period (defined by the server)." + }, + "agentVersion": { + "type": "string", + "description": "Version ID of the agent release. The version ID is structured as following: \"domain/type/vmajor.minor\" (for example \"google.com/gcp-java/v1.1\")." + }, + "isDisabled": { + "type": "boolean", + "description": "If set to true, indicates that the agent should disable itself and detach from the debuggee." + }, + "status": { + "$ref": "StatusMessage", + "description": "Human readable message to be displayed to the user about this debuggee. Absense of this field indicates no message. The message can be either informational or error." + }, + "sourceContexts": { + "type": "array", + "description": "Repository snapshots containing the source code of the project.", + "items": { + "$ref": "SourceContext" + } + }, + "labels": { + "type": "object", + "description": "A set of custom debuggee properties, populated by the agent, to be displayed to the user.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "StatusMessage": { + "id": "StatusMessage", + "type": "object", + "description": "Represents a contextual status message. The message can indicate an error or informational status, and refer to specific parts of the containing object. For example, the Breakpoint.status field can indicate an error referring to the BREAKPOINT_SOURCE_LOCATION with the message \"Location not found\".", + "properties": { + "isError": { + "type": "boolean", + "description": "Distinguishes errors from informational messages." + }, + "refersTo": { + "type": "string", + "description": "Reference to which the message applies.", + "enum": [ + "UNSPECIFIED", + "BREAKPOINT_SOURCE_LOCATION", + "BREAKPOINT_CONDITION", + "BREAKPOINT_EXPRESSION", + "VARIABLE_NAME", + "VARIABLE_VALUE" + ] + }, + "description": { + "$ref": "FormatMessage", + "description": "Status message text." + } + } + }, + "FormatMessage": { + "id": "FormatMessage", + "type": "object", + "description": "Represents a message with parameters.", + "properties": { + "format": { + "type": "string", + "description": "Format template of the message. The \"format\" uses placeholders \"$0\", \"$1\", etc. to reference parameters. \"$$\" can be used to denote the '$' character. Examples: \"Failed to load '$0' which helps debug $1 the first time it is loaded. Again, $0 is very important.\" \"Please pay $$10 to use $0 instead of $1.\"" + }, + "parameters": { + "type": "array", + "description": "Optional parameters to be embedded into the message.", + "items": { + "type": "string" + } + } + } + }, + "SourceContext": { + "id": "SourceContext", + "type": "object", + "description": "A SourceContext is a reference to a tree of files. A SourceContext together with a path point to a unique revision of a single file or directory.", + "properties": { + "cloudRepo": { + "$ref": "CloudRepoSourceContext", + "description": "A SourceContext referring to a revision in a cloud repo." + }, + "cloudWorkspace": { + "$ref": "CloudWorkspaceSourceContext", + "description": "A SourceContext referring to a snapshot in a cloud workspace." + }, + "gerrit": { + "$ref": "GerritSourceContext", + "description": "A SourceContext referring to a Gerrit project." + }, + "git": { + "$ref": "GitSourceContext", + "description": "A SourceContext referring to any third party Git repo (e.g. GitHub)." + } + } + }, + "CloudRepoSourceContext": { + "id": "CloudRepoSourceContext", + "type": "object", + "description": "A CloudRepoSourceContext denotes a particular revision in a cloud repo (a repo hosted by the Google Cloud Platform).", + "properties": { + "repoId": { + "$ref": "RepoId", + "description": "The ID of the repo." + }, + "revisionId": { + "type": "string", + "description": "A revision ID." + }, + "aliasName": { + "type": "string", + "description": "The name of an alias (branch, tag, etc.)." + } + } + }, + "RepoId": { + "id": "RepoId", + "type": "object", + "description": "A unique identifier for a cloud repo.", + "properties": { + "projectRepoId": { + "$ref": "ProjectRepoId", + "description": "A combination of a project ID and a repo name." + }, + "uid": { + "type": "string", + "description": "A server-assigned, globally unique identifier." + } + } + }, + "ProjectRepoId": { + "id": "ProjectRepoId", + "type": "object", + "description": "Selects a repo using a Google Cloud Platform project ID (e.g. winged-cargo-31) and a repo name within that project.", + "properties": { + "projectId": { + "type": "string", + "description": "The ID of the project." + }, + "repoName": { + "type": "string", + "description": "The name of the repo. Leave empty for the default repo." + } + } + }, + "CloudWorkspaceSourceContext": { + "id": "CloudWorkspaceSourceContext", + "type": "object", + "description": "A CloudWorkspaceSourceContext denotes a workspace at a particular snapshot.", + "properties": { + "workspaceId": { + "$ref": "CloudWorkspaceId", + "description": "The ID of the workspace." + }, + "snapshotId": { + "type": "string", + "description": "The ID of the snapshot. An empty snapshot_id refers to the most recent snapshot." + } + } + }, + "CloudWorkspaceId": { + "id": "CloudWorkspaceId", + "type": "object", + "description": "A CloudWorkspaceId is a unique identifier for a cloud workspace. A cloud workspace is a place associated with a repo where modified files can be stored before they are committed.", + "properties": { + "repoId": { + "$ref": "RepoId", + "description": "The ID of the repo containing the workspace." + }, + "name": { + "type": "string", + "description": "The unique name of the workspace within the repo. This is the name chosen by the client in the Source API's CreateWorkspace method." + } + } + }, + "GerritSourceContext": { + "id": "GerritSourceContext", + "type": "object", + "description": "A SourceContext referring to a Gerrit project.", + "properties": { + "hostUri": { + "type": "string", + "description": "The URI of a running Gerrit instance." + }, + "gerritProject": { + "type": "string", + "description": "The full project name within the host. Projects may be nested, so \"project/subproject\" is a valid project name. The \"repo name\" is hostURI/project." + }, + "revisionId": { + "type": "string", + "description": "A revision (commit) ID." + }, + "aliasName": { + "type": "string", + "description": "The name of an alias (branch, tag, etc.)." + } + } + }, + "GitSourceContext": { + "id": "GitSourceContext", + "type": "object", + "description": "A GitSourceContext denotes a particular revision in a third party Git repository (e.g. GitHub).", + "properties": { + "url": { + "type": "string", + "description": "Git repository URL." + }, + "revisionId": { + "type": "string", + "description": "Git commit hash. required." + } + } + }, + "RegisterDebuggeeResponse": { + "id": "RegisterDebuggeeResponse", + "type": "object", + "description": "The response of registering a debuggee.", + "properties": { + "debuggee": { + "$ref": "Debuggee", + "description": "The debuggee resource. The field 'id' is guranteed to be set (in addition to the echoed fields)." + } + } + }, + "ListActiveBreakpointsResponse": { + "id": "ListActiveBreakpointsResponse", + "type": "object", + "description": "The response of listing active breakpoints.", + "properties": { + "breakpoints": { + "type": "array", + "description": "List of all active breakpoints. The fields 'id' and 'location' are guranteed to be set on each breakpoint.", + "items": { + "$ref": "Breakpoint" + } + }, + "nextWaitToken": { + "type": "string", + "description": "A wait token that can be used in the next method call to block until the list of breakpoints changes." + } + } + }, + "Breakpoint": { + "id": "Breakpoint", + "type": "object", + "description": "Represents the breakpoint specification, status and results.", + "properties": { + "id": { + "type": "string", + "description": "Breakpoint identifier, unique in the scope of the debuggee." + }, + "action": { + "type": "string", + "description": "Defines what to do when the breakpoint hits.", + "enum": [ + "CAPTURE", + "LOG" + ] + }, + "location": { + "$ref": "SourceLocation", + "description": "The breakpoint source location." + }, + "condition": { + "type": "string", + "description": "A condition to trigger the breakpoint. The condition is a compound boolean expression composed using expressions in a programming language at the source location." + }, + "expressions": { + "type": "array", + "description": "A list of read-only expressions to evaluate at the breakpoint location. The expressions are composed using expressions in the programming language at the source location. If the breakpoint action is \"LOG\", the evaluated expressions are included in log statements.", + "items": { + "type": "string" + } + }, + "logMessageFormat": { + "type": "string", + "description": "Only relevant when action is \"LOG\". Defines the message to log when the breakpoint hits. The message may include parameter placeholders \"$0\", \"$1\", etc. These placeholders will be replaced with the evaluated value of the appropriate expression. Expressions not referenced in \"log_message_format\" will not be logged. Example: \"Poisonous message received, id = $0, count = $1\" with expressions = [ \"message.id\", \"message.count\" ]." + }, + "logLevel": { + "type": "string", + "description": "Indicates the severity of the log. Only relevant when action is \"LOG\".", + "enum": [ + "INFO", + "WARNING", + "ERROR" + ] + }, + "isFinalState": { + "type": "boolean", + "description": "When true, indicates that this is a final result and the breakpoint state will not change from here on." + }, + "createTime": { + "type": "string", + "description": "The time this breakpoint was created by the server. The value is in seconds resolution." + }, + "finalTime": { + "type": "string", + "description": "The time this breakpoint was finalized as seen by the server. The value is in seconds resolution." + }, + "userEmail": { + "type": "string", + "description": "The e-mail of the user that created this breakpoint" + }, + "status": { + "$ref": "StatusMessage", + "description": "Breakpoint status. The status includes an error flag and a human readable message. This field will usually stay unset. The message can be either informational or error. Nevertheless, clients should always display the text message back to the user. Error status of a breakpoint indicates complete failure. Example (non-final state): 'Still loading symbols...' Examples (final state): 'Failed to insert breakpoint' referring to breakpoint, 'Field f not found in class C' referring to condition, ..." + }, + "stackFrames": { + "type": "array", + "description": "The stack at breakpoint time.", + "items": { + "$ref": "StackFrame" + } + }, + "evaluatedExpressions": { + "type": "array", + "description": "The evaluated expressions' values at breakpoint time. The evaluated expressions appear in exactly the same order they are listed in the 'expressions' field. The 'name' field holds the original expression text, the 'value'/'members' field holds the result of the evaluated expression. If the expression can not be evaluated, an error text is placed in the value field.", + "items": { + "$ref": "Variable" + } + }, + "variableTable": { + "type": "array", + "description": "The variable_table exists to aid with computation, memory and network traffic optimization. It enables storing a variable once and reference it from multiple variables, including variables stored in the variable_table itself. For example, the object 'this', which may appear at many levels of the stack, can have all of it's data stored once in this table. The stack frame variables then would hold only a reference to it. The variable var_index field is an index into this repeated field. The stored objects are nameless and get their name from the referencing variable. The effective variable is a merge of the referencing veariable and the referenced variable.", + "items": { + "$ref": "Variable" + } + } + } + }, + "SourceLocation": { + "id": "SourceLocation", + "type": "object", + "description": "Represents a location in the source code.", + "properties": { + "path": { + "type": "string", + "description": "A path to the source file within the source context of the target binary." + }, + "line": { + "type": "integer", + "description": "The line inside the file (first line value is '1').", + "format": "int32" + } + } + }, + "StackFrame": { + "id": "StackFrame", + "type": "object", + "description": "Represents a stack frame context.", + "properties": { + "function": { + "type": "string", + "description": "The unmangled function name at the call site." + }, + "location": { + "$ref": "SourceLocation", + "description": "The source location of the call site." + }, + "arguments": { + "type": "array", + "description": "The set of arguments passed to this function Note that this might not be populated for all stack frames.", + "items": { + "$ref": "Variable" + } + }, + "locals": { + "type": "array", + "description": "The set of local variables at the stack frame location. Note that this might not be populated for all stack frames.", + "items": { + "$ref": "Variable" + } + } + } + }, + "Variable": { + "id": "Variable", + "type": "object", + "description": "Represents a variable or an argument possibly of a compound object type. 1. A simple variable such as, int x = 5 is represented as: { name: \"x\", value: \"5\" } 2. A compound object such as, struct T { int m1; int m2; }; T x = { 3, 7 }; is represented as: { name: \"x\", members { name: \"m1\", value: \"3\" }, members { name: \"m2\", value: \"7\" } } 3. A pointer where the pointee was captured such as, T x = { 3, 7 }; T* p = &x; is represented as: { name: \"p\", value: \"0x00500500\", members { name: \"m1\", value: \"3\" }, members { name: \"m2\", value: \"7\" } } 4. A pointer where the pointee was not captured or is inaccessible such as, T* p = new T; is represented as: { name: \"p\", value: \"0x00400400\", members { value: \"\" } } the value text should decribe the reason for the missing value. such as , ,\n. note that a null pointer should not have members. 5. An unnamed value such as, int* p = new int(7); is represented as, { name: \"p\", value: \"0x00500500\", members { value: \"7\" } } 6. An unnamed pointer where the pointee was not captured such as, int* p = new int(7); int** pp = &p; is represented as: { name: \"pp\", value: \"0x00500500\", members { value: \"0x00400400\", members { value: \"\" } } } To optimize computation, memory and network traffic, variables that repeat in the output multiple times can be stored once in a shared variable table and be referenced using the var_index field. The variables stored in the shared table are nameless and are essentially a partition of the complete variable. To reconstruct the complete variable merge the referencing variable with the referenced variable. When using the shared variable table, variables can be represented as: T x = { 3, 7 }; T* p = &x; T& r = x; are represented as, { name: \"x\", var_index: 3 } { name: \"p\", value \"0x00500500\", var_index: 3 } { name: \"r\", var_index: 3 } with shared variable table entry #3: { members { name: \"m1\", value: \"3\" }, members { name: \"m2\", value: \"7\" } } Note that the pointer address is stored with the referencing variable and not with the referenced variable, to allow the referenced variable to be shared between pointer and references.", + "properties": { + "name": { + "type": "string", + "description": "The name of the variable, if any." + }, + "value": { + "type": "string", + "description": "The simple value of the variable." + }, + "members": { + "type": "array", + "description": "The members contained or pointed to by the variable.", + "items": { + "$ref": "Variable" + } + }, + "varTableIndex": { + "type": "integer", + "description": "This is a reference to a variable in the shared variable table. More than one variable can reference the same variable in the table. The var_index field is an index into variable_table in Breakpoint.", + "format": "int32" + }, + "status": { + "$ref": "StatusMessage", + "description": "Status associated with the variable. This field will usually stay unset. A status of a single variable only applies to that variable or expression. The rest of breakpoint data still remains valid. Variables might be reported in error state even when breakpoint is not in final state. The message may refer to variable name with \"refers_to\" set to \"VARIABLE_NAME\". Alternatively \"refers_to\" will be set to \"VARIABLE_VALUE\". In either case variable value and members will be unset. Example of error message applied to name: \"Invalid expression syntax\". Example of information message applied to value: \"Not captured\". Examples of error message applied to value: \"Malformed string\", \"Field f not found in class C\", \"Null pointer dereference\"." + } + } + }, + "UpdateActiveBreakpointRequest": { + "id": "UpdateActiveBreakpointRequest", + "type": "object", + "description": "The request to update an active breakpoint.", + "properties": { + "breakpoint": { + "$ref": "Breakpoint", + "description": "The updated breakpoint information. The field 'id' must be set." + } + } + }, + "UpdateActiveBreakpointResponse": { + "id": "UpdateActiveBreakpointResponse", + "type": "object", + "description": "The response of updating an active breakpoint. The message is defined to allow future extensions." + }, + "SetBreakpointResponse": { + "id": "SetBreakpointResponse", + "type": "object", + "description": "The response of setting a breakpoint.", + "properties": { + "breakpoint": { + "$ref": "Breakpoint", + "description": "The breakpoint resource. The field 'id' is guranteed to be set (in addition to the echoed fileds)." + } + } + }, + "GetBreakpointResponse": { + "id": "GetBreakpointResponse", + "type": "object", + "description": "The response of getting breakpoint information.", + "properties": { + "breakpoint": { + "$ref": "Breakpoint", + "description": "The complete breakpoint state. The fields 'id' and 'location' are guranteed to be set." + } + } + }, + "Empty": { + "id": "Empty", + "type": "object", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." + }, + "ListBreakpointsResponse": { + "id": "ListBreakpointsResponse", + "type": "object", + "description": "The response of listing breakpoints.", + "properties": { + "breakpoints": { + "type": "array", + "description": "List of all breakpoints with complete state. The fields 'id' and 'location' are guranteed to be set on each breakpoint.", + "items": { + "$ref": "Breakpoint" + } + }, + "nextWaitToken": { + "type": "string", + "description": "A wait token that can be used in the next call to ListBreakpoints to block until the list of breakpoints has changes." + } + } + }, + "ListDebuggeesResponse": { + "id": "ListDebuggeesResponse", + "type": "object", + "description": "The response of listing debuggees.", + "properties": { + "debuggees": { + "type": "array", + "description": "The list of debuggees accessible to the calling user. Note that the description field is the only human readable field that should be displayed to the user. The fields 'debuggee.id' and 'description' are guranteed to be set on each debuggee.", + "items": { + "$ref": "Debuggee" + } + } + } + } + }, + "resources": { + "controller": { + "resources": { + "debuggees": { + "methods": { + "register": { + "id": "clouddebugger.controller.debuggees.register", + "path": "v2/controller/debuggees/register", + "httpMethod": "POST", + "description": "Registers the debuggee with the controller. All agents should call this API with the same request content to get back the same stable 'debuggee_id'. Agents should call this API again whenever ListActiveBreakpoints or UpdateActiveBreakpoint return the error google.rpc.Code.NOT_FOUND. It allows the server to disable the agent or recover from any registration loss. If the debuggee is disabled server, the response will have is_disabled' set to true.", + "request": { + "$ref": "RegisterDebuggeeRequest" + }, + "response": { + "$ref": "RegisterDebuggeeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugletcontroller" + ] + } + }, + "resources": { + "breakpoints": { + "methods": { + "list": { + "id": "clouddebugger.controller.debuggees.breakpoints.list", + "path": "v2/controller/debuggees/{debuggeeId}/breakpoints", + "httpMethod": "GET", + "description": "Returns the list of all active breakpoints for the specified debuggee. The breakpoint specification (location, condition, and expression fields) is semantically immutable, although the field values may change. For example, an agent may update the location line number to reflect the actual line the breakpoint was set to, but that doesn't change the breakpoint semantics. Thus, an agent does not need to check if a breakpoint has changed when it encounters the same breakpoint on a successive call. Moreover, an agent should remember breakpoints that are complete until the controller removes them from the active list to avoid setting those breakpoints again.", + "parameters": { + "debuggeeId": { + "type": "string", + "description": "Identifies the debuggee.", + "required": true, + "location": "path" + }, + "waitToken": { + "type": "string", + "description": "A wait token that, if specified, blocks the method call until the list of active breakpoints has changed, or a server selected timeout has expired. The value should be set from the last returned response. The error code google.rpc.Code.ABORTED is returned on wait timeout (which does not require the agent to re-register with the server)", + "location": "query" + } + }, + "parameterOrder": [ + "debuggeeId" + ], + "response": { + "$ref": "ListActiveBreakpointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugletcontroller" + ] + }, + "update": { + "id": "clouddebugger.controller.debuggees.breakpoints.update", + "path": "v2/controller/debuggees/{debuggeeId}/breakpoints/{id}", + "httpMethod": "PUT", + "description": "Updates the breakpoint state or mutable fields. The entire Breakpoint protobuf must be sent back to the controller. Updates to active breakpoint fields are only allowed if the new value does not change the breakpoint specification. Updates to the 'location', 'condition' and 'expression' fields should not alter the breakpoint semantics. They are restricted to changes such as canonicalizing a value or snapping the location to the correct line of code.", + "parameters": { + "debuggeeId": { + "type": "string", + "description": "Identifies the debuggee being debugged.", + "required": true, + "location": "path" + }, + "id": { + "type": "string", + "description": "Breakpoint identifier, unique in the scope of the debuggee.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "debuggeeId", + "id" + ], + "request": { + "$ref": "UpdateActiveBreakpointRequest" + }, + "response": { + "$ref": "UpdateActiveBreakpointResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugletcontroller" + ] + } + } + } + } + } + } + }, + "debugger": { + "resources": { + "debuggees": { + "methods": { + "list": { + "id": "clouddebugger.debugger.debuggees.list", + "path": "v2/debugger/debuggees", + "httpMethod": "GET", + "description": "Lists all the debuggees that the user can set breakpoints to.", + "parameters": { + "project": { + "type": "string", + "description": "Set to the project number of the Google Cloud Platform to list the debuggees that are part of that project.", + "location": "query" + }, + "includeInactive": { + "type": "boolean", + "description": "When set to true the result includes all debuggees, otherwise only debugees that are active.", + "location": "query" + } + }, + "response": { + "$ref": "ListDebuggeesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + } + }, + "resources": { + "breakpoints": { + "methods": { + "set": { + "id": "clouddebugger.debugger.debuggees.breakpoints.set", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/set", + "httpMethod": "POST", + "description": "Sets the breakpoint to the debuggee.", + "parameters": { + "debuggeeId": { + "type": "string", + "description": "The debuggee id to set the breakpoint to.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "debuggeeId" + ], + "request": { + "$ref": "Breakpoint" + }, + "response": { + "$ref": "SetBreakpointResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + }, + "get": { + "id": "clouddebugger.debugger.debuggees.breakpoints.get", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "httpMethod": "GET", + "description": "Gets breakpoint information.", + "parameters": { + "debuggeeId": { + "type": "string", + "description": "The debuggee id to get the breakpoint from.", + "required": true, + "location": "path" + }, + "breakpointId": { + "type": "string", + "description": "The breakpoint to get.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "debuggeeId", + "breakpointId" + ], + "response": { + "$ref": "GetBreakpointResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + }, + "delete": { + "id": "clouddebugger.debugger.debuggees.breakpoints.delete", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints/{breakpointId}", + "httpMethod": "DELETE", + "description": "Deletes the breakpoint from the debuggee.", + "parameters": { + "debuggeeId": { + "type": "string", + "description": "The debuggee id to delete the breakpoint from.", + "required": true, + "location": "path" + }, + "breakpointId": { + "type": "string", + "description": "The breakpoint to delete.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "debuggeeId", + "breakpointId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + }, + "list": { + "id": "clouddebugger.debugger.debuggees.breakpoints.list", + "path": "v2/debugger/debuggees/{debuggeeId}/breakpoints", + "httpMethod": "GET", + "description": "Lists all breakpoints of the debuggee that the user has access to.", + "parameters": { + "debuggeeId": { + "type": "string", + "description": "The debuggee id to list breakpoint from.", + "required": true, + "location": "path" + }, + "includeAllUsers": { + "type": "boolean", + "description": "When set to true the response includes the list of breakpoints set by any user, otherwise only breakpoints set by the caller.", + "location": "query" + }, + "includeInactive": { + "type": "boolean", + "description": "When set to true the response includes active and inactive breakpoints, otherwise only active breakpoints are returned.", + "location": "query" + }, + "action.value": { + "type": "string", + "description": "Only breakpoints with the specified action will pass the filter.", + "enum": [ + "CAPTURE", + "LOG" + ], + "location": "query" + }, + "stripResults": { + "type": "boolean", + "description": "When set to true the response breakpoints will be stripped of the results fields: stack_frames, evaluated_expressions and variable_table.", + "location": "query" + }, + "waitToken": { + "type": "string", + "description": "A wait token that, if specified, blocks the call until the breakpoints list has changed, or a server selected timeout has expired. The value should be set from the last response to ListBreakpoints. The error code ABORTED is returned on wait timeout, which should be called again with the same wait_token.", + "location": "query" + } + }, + "parameterOrder": [ + "debuggeeId" + ], + "response": { + "$ref": "ListBreakpointsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud_debugger" + ] + } + } + } + } + } + } + } + } +} diff --git a/etc/api/cloudmonitoring/v2beta2/cloudmonitoring-api.json b/etc/api/cloudmonitoring/v2beta2/cloudmonitoring-api.json index c6b2d23a74..d01f548580 100644 --- a/etc/api/cloudmonitoring/v2beta2/cloudmonitoring-api.json +++ b/etc/api/cloudmonitoring/v2beta2/cloudmonitoring-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/avMl03W4ktR_Q7PS4O3ogtyT8Dc\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/VkPNPy55dZFoHB90g2kdvWyK22A\"", "discoveryVersion": "v1", "id": "cloudmonitoring:v2beta2", "name": "cloudmonitoring", "canonicalName": "Cloud Monitoring", "version": "v2beta2", - "revision": "20150713", + "revision": "20151012", "title": "Cloud Monitoring API", "description": "API for accessing Google Cloud and API monitoring data.", "ownerDomain": "google.com", diff --git a/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json b/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json index dbd325927e..64728338e9 100644 --- a/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json +++ b/etc/api/cloudresourcemanager/v1beta1/cloudresourcemanager-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/F20Fq1R-EfWlPIiQW_XhJNP4UeM\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/YIS10F0R5FiTmx2jJKQHlRv-GwY\"", "discoveryVersion": "v1", "id": "cloudresourcemanager:v1beta1", "name": "cloudresourcemanager", "version": "v1beta1", - "revision": "20150711", + "revision": "20150909", "title": "Google Cloud Resource Manager API", "description": "The Google Cloud Resource Manager API provides methods for creating, reading, and updating of project metadata.", "ownerDomain": "google.com", @@ -17,7 +17,7 @@ "documentationLink": "https://cloud.google.com/resource-manager", "protocol": "rest", "baseUrl": "https://cloudresourcemanager.googleapis.com/", - "basePath": "", + "basePath": "/", "rootUrl": "https://cloudresourcemanager.googleapis.com/", "servicePath": "", "batchPath": "batch", @@ -136,7 +136,7 @@ }, "name": { "type": "string", - "description": "The user-assigned name of the project. This field is optional and can remain unset. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write." + "description": "The user-assigned name of the project. It must be 4 to 30 characters. Allowed characters are: lowercase and uppercase letters, numbers, hyphen, single-quote, double-quote, space, and exclamation point. Example: My Project Read-write." }, "createTime": { "type": "string", @@ -148,6 +148,25 @@ "additionalProperties": { "type": "string" } + }, + "parent": { + "$ref": "ResourceId", + "description": "An optional reference to a parent Resource. The only supported parent type is \"organization\". Once set, the parent cannot be modified. Read-write." + } + } + }, + "ResourceId": { + "id": "ResourceId", + "type": "object", + "description": "A container to reference an id for any resource type. A 'resource' in Google Cloud Platform is a generic term for something you (a developer) may want to interact with through one of our API's. Some examples are an AppEngine app, a Compute Engine instance, Cloud SQL database, ...", + "properties": { + "type": { + "type": "string", + "description": "Required field representing the resource type this id is for. At present, the only valid type is \"organization\"." + }, + "id": { + "type": "string", + "description": "Required field for the type-specific id. This should correspond to the id used in the type-specific API's." } } }, @@ -173,6 +192,140 @@ "id": "Empty", "type": "object", "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." + }, + "GetIamPolicyRequest": { + "id": "GetIamPolicyRequest", + "type": "object", + "description": "Request message for `GetIamPolicy` method." + }, + "Policy": { + "id": "Policy", + "type": "object", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** ``` { \"bindings\": [ { \"role\": \"roles/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com\"] } ] } ``` For a description of IAM and its features, see the [IAM developer's guide][https://cloud.google.com/iam].", + "properties": { + "version": { + "type": "integer", + "description": "Version of the `Policy`. The default version is 0.", + "format": "int32" + }, + "bindings": { + "type": "array", + "description": "Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + } + }, + "etag": { + "type": "string", + "description": "Can be used to perform a read-modify-write.", + "format": "byte" + } + } + }, + "Binding": { + "id": "Binding", + "type": "object", + "description": "Associates `members` with a `role`.", + "properties": { + "role": { + "type": "string", + "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required" + }, + "members": { + "type": "array", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", + "items": { + "type": "string" + } + } + } + }, + "SetIamPolicyRequest": { + "id": "SetIamPolicyRequest", + "type": "object", + "description": "Request message for `SetIamPolicy` method.", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + } + } + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "type": "object", + "description": "Request message for `TestIamPermissions` method.", + "properties": { + "permissions": { + "type": "array", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", + "items": { + "type": "string" + } + } + } + }, + "TestIamPermissionsResponse": { + "id": "TestIamPermissionsResponse", + "type": "object", + "description": "Response message for `TestIamPermissions` method.", + "properties": { + "permissions": { + "type": "array", + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + } + } + } + }, + "ListOrganizationsResponse": { + "id": "ListOrganizationsResponse", + "type": "object", + "description": "The response returned from the ListOrganizations method.", + "properties": { + "organizations": { + "type": "array", + "description": "The list of Organizations that matched the list query, possibly paginated.", + "items": { + "$ref": "Organization" + } + }, + "nextPageToken": { + "type": "string", + "description": "A pagination token to be used to retrieve the next page of results. If the result is too large to fit within the page size specified in the request, this field will be set with a token that can be used to fetch the next page of results. If this field is empty, it indicates that this response contains the last page of results." + } + } + }, + "Organization": { + "id": "Organization", + "type": "object", + "description": "The root node in the resource hierarchy to which a particular entity's (e.g., company) resources belong.", + "properties": { + "organizationId": { + "type": "string", + "description": "An immutable id for the Organization that is assigned on creation. This should be omitted when creating a new Organization. This field is read-only." + }, + "displayName": { + "type": "string", + "description": "A friendly string to be used to refer to the Organization in the UI. This field is required." + }, + "owner": { + "$ref": "OrganizationOwner", + "description": "The owner of this Organization. The owner should be specified upon creation. Once set, it cannot be changed. This field is required." + } + } + }, + "OrganizationOwner": { + "id": "OrganizationOwner", + "type": "object", + "description": "The entity that owns an Organization. The lifetime of the Organization and all of its descendants are bound to the OrganizationOwner. If the OrganizationOwner is deleted, the Organization and all its descendants will be deleted.", + "properties": { + "directoryCustomerId": { + "type": "string", + "description": "The Google for Work customer id used in the Directory API." + } + } } }, "resources": { @@ -317,6 +470,245 @@ "scopes": [ "https://www.googleapis.com/auth/cloud-platform" ] + }, + "getIamPolicy": { + "id": "cloudresourcemanager.projects.getIamPolicy", + "path": "v1beta1/projects/{resource}:getIamPolicy", + "httpMethod": "POST", + "description": "Returns the IAM access control policy for specified project.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being requested. Resource is usually specified as a path, such as, `projects/{project}`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "id": "cloudresourcemanager.projects.setIamPolicy", + "path": "v1beta1/projects/{resource}:setIamPolicy", + "httpMethod": "POST", + "description": "Sets the IAM access control policy for the specified project. We do not currently support 'domain:' prefixed members in a Binding of a Policy. Calling this method requires enabling the App Engine Admin API.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being specified. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "id": "cloudresourcemanager.projects.testIamPermissions", + "path": "v1beta1/projects/{resource}:testIamPermissions", + "httpMethod": "POST", + "description": "Tests the specified permissions against the IAM access control policy for the specified project.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy detail is being requested. `resource` is usually specified as a path, such as, `projects/{project}`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "organizations": { + "methods": { + "list": { + "id": "cloudresourcemanager.organizations.list", + "path": "v1beta1/organizations", + "httpMethod": "GET", + "description": "Query Organization resources.", + "parameters": { + "pageSize": { + "type": "integer", + "description": "The maximum number of Organizations to return in the response. This field is optional.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A pagination token returned from a previous call to ListOrganizations that indicates from where listing should continue. This field is optional.", + "location": "query" + }, + "filter": { + "type": "string", + "description": "An optional query string used to filter the Organizations to be return in the response. Filter rules are case-insensitive. Organizations may be filtered by `owner.directoryCustomerId` or by `domain`, where the domain is a Google for Work domain, for example: |Filter|Description| |------|-----------| |owner.directorycustomerid:123456789|Organizations with `owner.directory_customer_id` equal to `123456789`.| |domain:google.com|Organizations corresponding to the domain `google.com`.| This field is optional.", + "location": "query" + } + }, + "response": { + "$ref": "ListOrganizationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "cloudresourcemanager.organizations.get", + "path": "v1beta1/organizations/{organizationId}", + "httpMethod": "GET", + "description": "Fetches an Organization resource by id.", + "parameters": { + "organizationId": { + "type": "string", + "description": "The id of the Organization resource to fetch.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "organizationId" + ], + "response": { + "$ref": "Organization" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "id": "cloudresourcemanager.organizations.update", + "path": "v1beta1/organizations/{organizationId}", + "httpMethod": "PUT", + "description": "Updates an Organization resource.", + "parameters": { + "organizationId": { + "type": "string", + "description": "An immutable id for the Organization that is assigned on creation. This should be omitted when creating a new Organization. This field is read-only.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "organizationId" + ], + "request": { + "$ref": "Organization" + }, + "response": { + "$ref": "Organization" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "setIamPolicy": { + "id": "cloudresourcemanager.organizations.setIamPolicy", + "path": "v1beta1/organizations/{resource}:setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on a Organization resource. Replaces any existing policy.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being specified. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "getIamPolicy": { + "id": "cloudresourcemanager.organizations.getIamPolicy", + "path": "v1beta1/organizations/{resource}:getIamPolicy", + "httpMethod": "POST", + "description": "Gets the access control policy for a Organization resource. May be empty if no such policy or resource exists.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being requested. Resource is usually specified as a path, such as, `projects/{project}`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "testIamPermissions": { + "id": "cloudresourcemanager.organizations.testIamPermissions", + "path": "v1beta1/organizations/{resource}:testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified Organization.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy detail is being requested. `resource` is usually specified as a path, such as, `projects/{project}`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] } } } diff --git a/etc/api/cloudtrace/v1/cloudtrace-api.json b/etc/api/cloudtrace/v1/cloudtrace-api.json new file mode 100644 index 0000000000..a2ad026b89 --- /dev/null +++ b/etc/api/cloudtrace/v1/cloudtrace-api.json @@ -0,0 +1,385 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/aRfd7FZnMyWmSYyC0t8ruQh7iCI\"", + "discoveryVersion": "v1", + "id": "cloudtrace:v1", + "name": "cloudtrace", + "version": "v1", + "revision": "20150825", + "title": "Google Cloud Trace API", + "description": "The Google Cloud Trace API provides services for reading and writing runtime trace data for Cloud applications.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://cloud.google.com/tools/cloud-trace", + "protocol": "rest", + "baseUrl": "https://cloudtrace.googleapis.com/", + "basePath": "/", + "rootUrl": "https://cloudtrace.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "schemas": { + "ListTracesResponse": { + "id": "ListTracesResponse", + "type": "object", + "description": "The response message for the ListTraces method.", + "properties": { + "traces": { + "type": "array", + "description": "The list of trace records returned.", + "items": { + "$ref": "Trace" + } + }, + "nextPageToken": { + "type": "string", + "description": "If defined, indicates that there are more topics that match the request, and this value should be passed to the next ListTopicsRequest to continue." + } + } + }, + "Trace": { + "id": "Trace", + "type": "object", + "description": "A Trace is a collection of spans describing the execution timings of a single operation.", + "properties": { + "projectId": { + "type": "string", + "description": "The Project ID of the Google Cloud project." + }, + "traceId": { + "type": "string", + "description": "A 128-bit numeric value, formatted as a 32-byte hex string, that represents a trace. Each trace should have an identifier that is globally unique." + }, + "spans": { + "type": "array", + "description": "The collection of span records within this trace. Spans that appear in calls to PatchTraces may be incomplete or partial.", + "items": { + "$ref": "TraceSpan" + } + } + } + }, + "TraceSpan": { + "id": "TraceSpan", + "type": "object", + "description": "A span is the data recorded with a single span.", + "properties": { + "spanId": { + "type": "string", + "description": "Identifier of the span within the trace. Each span should have an identifier that is unique per trace.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "SpanKind distinguishes spans generated in a particular context. For example, two spans with the same name, one with the kind RPC_CLIENT, and the other with RPC_SERVER can indicate the queueing latency associated with the span.", + "enum": [ + "SPAN_KIND_UNSPECIFIED", + "RPC_SERVER", + "RPC_CLIENT" + ] + }, + "name": { + "type": "string", + "description": "The name of the trace. This is sanitized and displayed on the UI. This may be a method name or some other per-callsite name. For the same binary and the same call point, it is a good practice to choose a consistent name in order to correlate cross-trace spans." + }, + "startTime": { + "type": "string", + "description": "The start time of the span in nanoseconds from the UNIX epoch." + }, + "endTime": { + "type": "string", + "description": "The end time of the span in nanoseconds from the UNIX epoch." + }, + "parentSpanId": { + "type": "string", + "description": "Identifies the parent of the current span. May be missing. Serialized bytes representation of SpanId.", + "format": "uint64" + }, + "labels": { + "type": "object", + "description": "Annotations via labels.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "Traces": { + "id": "Traces", + "type": "object", + "description": "A list of traces for the PatchTraces method.", + "properties": { + "traces": { + "type": "array", + "description": "A list of traces.", + "items": { + "$ref": "Trace" + } + } + } + }, + "Empty": { + "id": "Empty", + "type": "object", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." + } + }, + "resources": { + "projects": { + "methods": { + "patchTraces": { + "id": "cloudtrace.projects.patchTraces", + "path": "v1/projects/{projectId}/traces", + "httpMethod": "PATCH", + "description": "Updates the existing traces specified by PatchTracesRequest and inserts the new traces. Any existing trace or span fields included in an update are overwritten by the update, and any additional fields in an update are merged with the existing trace data.", + "parameters": { + "projectId": { + "type": "string", + "description": "The project id of the trace to patch.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId" + ], + "request": { + "$ref": "Traces" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "traces": { + "methods": { + "list": { + "id": "cloudtrace.projects.traces.list", + "path": "v1/projects/{projectId}/traces", + "httpMethod": "GET", + "description": "List traces matching the filter expression.", + "parameters": { + "projectId": { + "type": "string", + "description": "The stringified-version of the project id.", + "required": true, + "location": "path" + }, + "view": { + "type": "string", + "description": "ViewType specifies the projection of the result.", + "enum": [ + "VIEW_TYPE_UNSPECIFIED", + "MINIMAL", + "ROOTSPAN", + "COMPLETE" + ], + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of topics to return. If not specified or \u003c= 0, the implementation will select a reasonable value. The implemenation may always return fewer than the requested page_size.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The token identifying the page of results to return from the ListTraces method. If present, this value is should be taken from the next_page_token field of a previous ListTracesResponse.", + "location": "query" + }, + "startTime": { + "type": "string", + "description": "End of the time interval (inclusive).", + "location": "query" + }, + "endTime": { + "type": "string", + "description": "Start of the time interval (exclusive).", + "location": "query" + }, + "filter": { + "type": "string", + "description": "An optional filter for the request.", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "The trace field used to establish the order of traces returned by the ListTraces method. Possible options are: trace_id name (name field of root span) duration (different between end_time and start_time fields of root span) start (start_time field of root span) Descending order can be specified by appending \"desc\" to the sort field: name desc Only one sort field is permitted, though this may change in the future.", + "location": "query" + } + }, + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "ListTracesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "cloudtrace.projects.traces.get", + "path": "v1/projects/{projectId}/traces/{traceId}", + "httpMethod": "GET", + "description": "Gets one trace by id.", + "parameters": { + "projectId": { + "type": "string", + "description": "The project id of the trace to return.", + "required": true, + "location": "path" + }, + "traceId": { + "type": "string", + "description": "The trace id of the trace to return.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "traceId" + ], + "response": { + "$ref": "Trace" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + }, + "v1": { + "methods": { + "getDiscovery": { + "id": "cloudtrace.getDiscovery", + "path": "v1/discovery", + "httpMethod": "GET", + "description": "Returns a discovery document in the specified `format`. The typeurl in the returned google.protobuf.Any value depends on the requested format.", + "parameters": { + "format": { + "type": "string", + "description": "The format requested for discovery.", + "location": "query" + }, + "labels": { + "type": "string", + "description": "A list of labels (like visibility) influencing the scope of the requested doc.", + "repeated": true, + "location": "query" + }, + "version": { + "type": "string", + "description": "The API version of the requested discovery doc.", + "location": "query" + }, + "args": { + "type": "string", + "description": "Any additional arguments.", + "repeated": true, + "location": "query" + } + } + } + } + } + } +} diff --git a/etc/api/clouduseraccounts/alpha/clouduseraccounts-api.json b/etc/api/clouduseraccounts/alpha/clouduseraccounts-api.json index c10e039116..dd8957d37b 100644 --- a/etc/api/clouduseraccounts/alpha/clouduseraccounts-api.json +++ b/etc/api/clouduseraccounts/alpha/clouduseraccounts-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/WIF6fk5SYSeRQS6nHRyvbx1cRUs\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/U5phbNAYtMFFzg2kHw9za_VEak0\"", "discoveryVersion": "v1", "id": "clouduseraccounts:alpha", "name": "clouduseraccounts", "canonicalName": "Cloud User Accounts", "version": "alpha", - "revision": "20150714", + "revision": "20150924", "title": "Cloud User Accounts API", "description": "API for the Google Cloud User Accounts service.", "ownerDomain": "google.com", @@ -73,17 +73,14 @@ "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" + }, "https://www.googleapis.com/auth/cloud.useraccounts": { "description": "Manage your Google Cloud User Accounts" }, "https://www.googleapis.com/auth/cloud.useraccounts.readonly": { "description": "View your Google Cloud User Accounts" - }, - "https://www.googleapis.com/auth/computeaccounts": { - "description": "Manage your Google Compute Accounts" - }, - "https://www.googleapis.com/auth/computeaccounts.readonly": { - "description": "View your Google Compute Accounts" } } } @@ -100,6 +97,102 @@ "items": { "type": "string" } + }, + "sudoer": { + "type": "boolean", + "description": "[Output Only] Whether the user has the ability to elevate on the instance that requested the authorized keys." + } + } + }, + "Binding": { + "id": "Binding", + "type": "object", + "description": "Associates `members` with a `role`.", + "properties": { + "members": { + "type": "array", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats:\n\n* `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`.\n\n* `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`.\n\n* `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", + "items": { + "type": "string" + } + }, + "role": { + "type": "string", + "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + } + }, + "Condition": { + "id": "Condition", + "type": "object", + "description": "A condition to be met.", + "properties": { + "iam": { + "type": "string", + "description": "Trusted attributes supplied by the IAM system.", + "enum": [ + "ATTRIBUTION", + "AUTHORITY", + "NO_ATTR" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "op": { + "type": "string", + "description": "An operator to apply the subject with.", + "enum": [ + "DISCHARGED", + "EQUALS", + "IN", + "NOT_EQUALS", + "NOT_IN", + "NO_OP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ] + }, + "svc": { + "type": "string", + "description": "Trusted attributes discharged by the service." + }, + "sys": { + "type": "string", + "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", + "enum": [ + "IP", + "NAME", + "NO_ATTR", + "REGION", + "SERVICE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "value": { + "type": "string", + "description": "The object of the condition. Exactly one of these must be set." + }, + "values": { + "type": "array", + "description": "The objects of the condition. This is mutually exclusive with 'value'.", + "items": { + "type": "string" + } } } }, @@ -307,6 +400,32 @@ } } }, + "LogConfig": { + "id": "LogConfig", + "type": "object", + "description": "Specifies what kind of log the caller must write", + "properties": { + "counter": { + "$ref": "LogConfigCounterOptions", + "description": "Counter options." + } + } + }, + "LogConfigCounterOptions": { + "id": "LogConfigCounterOptions", + "type": "object", + "description": "Options for counters", + "properties": { + "field": { + "type": "string", + "description": "The field value to attribute." + }, + "metric": { + "type": "string", + "description": "The metric to update." + } + } + }, "Operation": { "id": "Operation", "type": "object", @@ -371,7 +490,7 @@ }, "kind": { "type": "string", - "description": "[Output Only] Type of the resource. Always compute#Operation for Operation resources.", + "description": "[Output Only] Type of the resource. Always compute#operation for Operation resources.", "default": "clouduseraccounts#operation" }, "name": { @@ -380,7 +499,7 @@ }, "operationType": { "type": "string", - "description": "[Output Only] Type of the operation, such as insert, update, and delete." + "description": "[Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete." }, "progress": { "type": "integer", @@ -393,7 +512,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "startTime": { "type": "string", @@ -529,7 +648,38 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." + } + } + }, + "Policy": { + "id": "Policy", + "type": "object", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources.\n\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM.\n\n**Example**\n\n{ \"bindings\": [ { \"role\": \"roles/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com\"] } ] }\n\nFor a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).", + "properties": { + "bindings": { + "type": "array", + "description": "Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + } + }, + "etag": { + "type": "string", + "description": "Can be used to perform a read-modify-write.", + "format": "byte" + }, + "rules": { + "type": "array", + "description": "", + "items": { + "$ref": "Rule" + } + }, + "version": { + "type": "integer", + "description": "Version of the `Policy`. The default version is 0.", + "format": "int32" } } }, @@ -560,6 +710,98 @@ } } }, + "Rule": { + "id": "Rule", + "type": "object", + "description": "A rule to be applied in a Policy.", + "properties": { + "action": { + "type": "string", + "description": "Required", + "enum": [ + "ALLOW", + "ALLOW_WITH_LOG", + "DENY", + "DENY_WITH_LOG", + "LOG", + "NO_ACTION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ] + }, + "conditions": { + "type": "array", + "description": "Additional restrictions that must be met", + "items": { + "$ref": "Condition" + } + }, + "description": { + "type": "string", + "description": "Human-readable description of the rule." + }, + "ins": { + "type": "array", + "description": "The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of entries.", + "items": { + "type": "string" + } + }, + "logConfigs": { + "type": "array", + "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.", + "items": { + "$ref": "LogConfig" + } + }, + "notIns": { + "type": "array", + "description": "The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of entries.", + "items": { + "type": "string" + } + }, + "permissions": { + "type": "array", + "description": "A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", + "items": { + "type": "string" + } + } + } + }, + "TestPermissionsRequest": { + "id": "TestPermissionsRequest", + "type": "object", + "properties": { + "permissions": { + "type": "array", + "description": "The set of permissions to check for the 'resource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", + "items": { + "type": "string" + } + } + } + }, + "TestPermissionsResponse": { + "id": "TestPermissionsResponse", + "type": "object", + "properties": { + "permissions": { + "type": "array", + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + } + } + } + }, "User": { "id": "User", "type": "object", @@ -683,8 +925,7 @@ ], "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { @@ -717,10 +958,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "list": { @@ -731,7 +971,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -769,10 +1009,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } @@ -812,8 +1051,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "delete": { @@ -846,8 +1084,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { @@ -880,10 +1117,44 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "getIamPolicy": { + "id": "clouduseraccounts.groups.getIamPolicy", + "path": "{project}/global/groups/{resource}/getIamPolicy", + "httpMethod": "GET", + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "insert": { @@ -911,8 +1182,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "list": { @@ -923,7 +1193,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -961,10 +1231,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "removeMember": { @@ -1000,8 +1269,83 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "setIamPolicy": { + "id": "clouduseraccounts.groups.setIamPolicy", + "path": "{project}/global/groups/{resource}/setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "testIamPermissions": { + "id": "clouduseraccounts.groups.testIamPermissions", + "path": "{project}/global/groups/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } @@ -1020,6 +1364,11 @@ "required": true, "location": "query" }, + "login": { + "type": "boolean", + "description": "Whether the view was requested as part of a user-initiated login.", + "location": "query" + }, "project": { "type": "string", "description": "Project ID for this request.", @@ -1053,10 +1402,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "getLinuxAccountViews": { @@ -1067,7 +1415,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "instance": { @@ -1120,10 +1468,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } @@ -1163,8 +1510,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "delete": { @@ -1197,8 +1543,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { @@ -1231,10 +1576,44 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "getIamPolicy": { + "id": "clouduseraccounts.users.getIamPolicy", + "path": "{project}/global/users/{resource}/getIamPolicy", + "httpMethod": "GET", + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "insert": { @@ -1262,8 +1641,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "list": { @@ -1274,7 +1652,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -1312,10 +1690,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "removePublicKey": { @@ -1356,8 +1733,83 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "setIamPolicy": { + "id": "clouduseraccounts.users.setIamPolicy", + "path": "{project}/global/users/{resource}/setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "testIamPermissions": { + "id": "clouduseraccounts.users.testIamPermissions", + "path": "{project}/global/users/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } diff --git a/etc/api/computeaccounts/alpha/computeaccounts-api.json b/etc/api/clouduseraccounts/beta/clouduseraccounts-api.json similarity index 83% rename from etc/api/computeaccounts/alpha/computeaccounts-api.json rename to etc/api/clouduseraccounts/beta/clouduseraccounts-api.json index 6d63be4472..aae216da51 100644 --- a/etc/api/computeaccounts/alpha/computeaccounts-api.json +++ b/etc/api/clouduseraccounts/beta/clouduseraccounts-api.json @@ -1,14 +1,14 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/E7cd_p6Q6F5Fnwd8jt7TC5Xxeg8\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/D519M8l2K6nc5aW0Rrh50t4ZQRE\"", "discoveryVersion": "v1", - "id": "computeaccounts:alpha", - "name": "computeaccounts", - "canonicalName": "Compute Accounts", - "version": "alpha", - "revision": "20150622", - "title": "Compute Accounts API", - "description": "API for the Google Compute Accounts service.", + "id": "clouduseraccounts:beta", + "name": "clouduseraccounts", + "canonicalName": "Cloud User Accounts", + "version": "beta", + "revision": "20150924", + "title": "Cloud User Accounts API", + "description": "API for the Google Cloud User Accounts service.", "ownerDomain": "google.com", "ownerName": "Google", "icons": { @@ -17,10 +17,10 @@ }, "documentationLink": "https://cloud.google.com/compute/docs/access/user-accounts/api/latest/", "protocol": "rest", - "baseUrl": "https://www.googleapis.com/computeaccounts/alpha/projects/", - "basePath": "/computeaccounts/alpha/projects/", + "baseUrl": "https://www.googleapis.com/clouduseraccounts/beta/projects/", + "basePath": "/clouduseraccounts/beta/projects/", "rootUrl": "https://www.googleapis.com/", - "servicePath": "computeaccounts/alpha/projects/", + "servicePath": "clouduseraccounts/beta/projects/", "batchPath": "batch", "parameters": { "alt": { @@ -73,17 +73,14 @@ "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" + }, "https://www.googleapis.com/auth/cloud.useraccounts": { "description": "Manage your Google Cloud User Accounts" }, "https://www.googleapis.com/auth/cloud.useraccounts.readonly": { "description": "View your Google Cloud User Accounts" - }, - "https://www.googleapis.com/auth/computeaccounts": { - "description": "Manage your Google Compute Accounts" - }, - "https://www.googleapis.com/auth/computeaccounts.readonly": { - "description": "View your Google Compute Accounts" } } } @@ -100,6 +97,10 @@ "items": { "type": "string" } + }, + "sudoer": { + "type": "boolean", + "description": "[Output Only] Whether the user has the ability to elevate on the instance that requested the authorized keys." } } }, @@ -124,7 +125,7 @@ "kind": { "type": "string", "description": "[Output Only] Type of the resource. Always clouduseraccounts#group for groups.", - "default": "computeaccounts#group" + "default": "clouduseraccounts#group" }, "members": { "type": "array", @@ -136,7 +137,12 @@ "name": { "type": "string", "description": "Name of the resource; provided by the client when the resource is created.", - "pattern": "[a-z][-a-z0-9_]{0,31}" + "pattern": "[a-z][-a-z0-9_]{0,31}", + "annotations": { + "required": [ + "clouduseraccounts.groups.insert" + ] + } }, "selfLink": { "type": "string", @@ -162,7 +168,7 @@ "kind": { "type": "string", "description": "[Output Only] Type of resource. Always clouduseraccounts#groupList for lists of groups.", - "default": "computeaccounts#groupList" + "default": "clouduseraccounts#groupList" }, "nextPageToken": { "type": "string", @@ -215,7 +221,7 @@ "kind": { "type": "string", "description": "[Output Only] Type of the resource. Always clouduseraccounts#linuxAccountViews for Linux resources.", - "default": "computeaccounts#linuxAccountViews" + "default": "clouduseraccounts#linuxAccountViews" }, "userViews": { "type": "array", @@ -366,8 +372,8 @@ }, "kind": { "type": "string", - "description": "[Output Only] Type of the resource. Always compute#Operation for Operation resources.", - "default": "computeaccounts#operation" + "description": "[Output Only] Type of the resource. Always compute#operation for Operation resources.", + "default": "clouduseraccounts#operation" }, "name": { "type": "string", @@ -375,7 +381,7 @@ }, "operationType": { "type": "string", - "description": "[Output Only] Type of the operation, such as insert, update, and delete." + "description": "[Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete." }, "progress": { "type": "integer", @@ -388,7 +394,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "startTime": { "type": "string", @@ -516,7 +522,7 @@ "kind": { "type": "string", "description": "[Output Only] Type of resource. Always compute#operations for Operations resource.", - "default": "computeaccounts#operationList" + "default": "clouduseraccounts#operationList" }, "nextPageToken": { "type": "string", @@ -524,7 +530,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -583,16 +589,26 @@ "kind": { "type": "string", "description": "[Output Only] Type of the resource. Always clouduseraccounts#user for users.", - "default": "computeaccounts#user" + "default": "clouduseraccounts#user" }, "name": { "type": "string", "description": "Name of the resource; provided by the client when the resource is created.", - "pattern": "[a-z][-a-z0-9_]{0,31}" + "pattern": "[a-z][-a-z0-9_]{0,31}", + "annotations": { + "required": [ + "clouduseraccounts.users.insert" + ] + } }, "owner": { "type": "string", - "description": "Email address of account's owner. This account will be validated to make sure it exists. The email can belong to any domain, but it must be tied to a Google account." + "description": "Email address of account's owner. This account will be validated to make sure it exists. The email can belong to any domain, but it must be tied to a Google account.", + "annotations": { + "required": [ + "clouduseraccounts.users.insert" + ] + } }, "publicKeys": { "type": "array", @@ -625,7 +641,7 @@ "kind": { "type": "string", "description": "[Output Only] Type of resource. Always clouduseraccounts#userList for lists of users.", - "default": "computeaccounts#userList" + "default": "clouduseraccounts#userList" }, "nextPageToken": { "type": "string", @@ -642,7 +658,7 @@ "globalAccountsOperations": { "methods": { "delete": { - "id": "computeaccounts.globalAccountsOperations.delete", + "id": "clouduseraccounts.globalAccountsOperations.delete", "path": "{project}/global/operations/{operation}", "httpMethod": "DELETE", "description": "Deletes the specified operation resource.", @@ -668,12 +684,11 @@ ], "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { - "id": "computeaccounts.globalAccountsOperations.get", + "id": "clouduseraccounts.globalAccountsOperations.get", "path": "{project}/global/operations/{operation}", "httpMethod": "GET", "description": "Retrieves the specified operation resource.", @@ -702,21 +717,20 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "list": { - "id": "computeaccounts.globalAccountsOperations.list", + "id": "clouduseraccounts.globalAccountsOperations.list", "path": "{project}/global/operations", "httpMethod": "GET", "description": "Retrieves the list of operation resources contained within the specified project.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -754,10 +768,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } @@ -765,7 +778,7 @@ "groups": { "methods": { "addMember": { - "id": "computeaccounts.groups.addMember", + "id": "clouduseraccounts.groups.addMember", "path": "{project}/global/groups/{groupName}/addMember", "httpMethod": "POST", "description": "Adds users to the specified group.", @@ -797,12 +810,11 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "delete": { - "id": "computeaccounts.groups.delete", + "id": "clouduseraccounts.groups.delete", "path": "{project}/global/groups/{groupName}", "httpMethod": "DELETE", "description": "Deletes the specified Group resource.", @@ -831,12 +843,11 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { - "id": "computeaccounts.groups.get", + "id": "clouduseraccounts.groups.get", "path": "{project}/global/groups/{groupName}", "httpMethod": "GET", "description": "Returns the specified Group resource.", @@ -865,14 +876,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "insert": { - "id": "computeaccounts.groups.insert", + "id": "clouduseraccounts.groups.insert", "path": "{project}/global/groups", "httpMethod": "POST", "description": "Creates a Group resource in the specified project using the data included in the request.", @@ -896,19 +906,18 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "list": { - "id": "computeaccounts.groups.list", + "id": "clouduseraccounts.groups.list", "path": "{project}/global/groups", "httpMethod": "GET", "description": "Retrieves the list of groups contained within the specified project.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -946,14 +955,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "removeMember": { - "id": "computeaccounts.groups.removeMember", + "id": "clouduseraccounts.groups.removeMember", "path": "{project}/global/groups/{groupName}/removeMember", "httpMethod": "POST", "description": "Removes users from the specified group.", @@ -985,8 +993,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] } } @@ -994,7 +1001,7 @@ "linux": { "methods": { "getAuthorizedKeysView": { - "id": "computeaccounts.linux.getAuthorizedKeysView", + "id": "clouduseraccounts.linux.getAuthorizedKeysView", "path": "{project}/zones/{zone}/authorizedKeysView/{user}", "httpMethod": "POST", "description": "Returns a list of authorized public keys for a specific user account.", @@ -1005,6 +1012,11 @@ "required": true, "location": "query" }, + "login": { + "type": "boolean", + "description": "Whether the view was requested as part of a user-initiated login.", + "location": "query" + }, "project": { "type": "string", "description": "Project ID for this request.", @@ -1038,21 +1050,20 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "getLinuxAccountViews": { - "id": "computeaccounts.linux.getLinuxAccountViews", + "id": "clouduseraccounts.linux.getLinuxAccountViews", "path": "{project}/zones/{zone}/linuxAccountViews", "httpMethod": "POST", "description": "Retrieves a list of user accounts for an instance within a specific project.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "instance": { @@ -1087,12 +1098,6 @@ "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", "location": "path" }, - "user": { - "type": "string", - "description": "If provided, the user requesting the views. If left blank, the system is requesting the views, instead of a particular user.", - "pattern": "[a-z][-a-z0-9_]{0,31}", - "location": "query" - }, "zone": { "type": "string", "description": "Name of the zone for this request.", @@ -1111,10 +1116,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } @@ -1122,7 +1126,7 @@ "users": { "methods": { "addPublicKey": { - "id": "computeaccounts.users.addPublicKey", + "id": "clouduseraccounts.users.addPublicKey", "path": "{project}/global/users/{user}/addPublicKey", "httpMethod": "POST", "description": "Adds a public key to the specified User resource with the data included in the request.", @@ -1154,12 +1158,11 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "delete": { - "id": "computeaccounts.users.delete", + "id": "clouduseraccounts.users.delete", "path": "{project}/global/users/{user}", "httpMethod": "DELETE", "description": "Deletes the specified User resource.", @@ -1188,12 +1191,11 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { - "id": "computeaccounts.users.get", + "id": "clouduseraccounts.users.get", "path": "{project}/global/users/{user}", "httpMethod": "GET", "description": "Returns the specified User resource.", @@ -1222,14 +1224,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "insert": { - "id": "computeaccounts.users.insert", + "id": "clouduseraccounts.users.insert", "path": "{project}/global/users", "httpMethod": "POST", "description": "Creates a User resource in the specified project using the data included in the request.", @@ -1253,19 +1254,18 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "list": { - "id": "computeaccounts.users.list", + "id": "clouduseraccounts.users.list", "path": "{project}/global/users", "httpMethod": "GET", "description": "Retrieves a list of users contained within the specified project.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -1303,14 +1303,13 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "removePublicKey": { - "id": "computeaccounts.users.removePublicKey", + "id": "clouduseraccounts.users.removePublicKey", "path": "{project}/global/users/{user}/removePublicKey", "httpMethod": "POST", "description": "Removes the specified public key from the user.", @@ -1347,8 +1346,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] } } diff --git a/etc/api/clouduseraccounts/vm_alpha/clouduseraccounts-api.json b/etc/api/clouduseraccounts/vm_alpha/clouduseraccounts-api.json index 436cb3d237..62c6539557 100644 --- a/etc/api/clouduseraccounts/vm_alpha/clouduseraccounts-api.json +++ b/etc/api/clouduseraccounts/vm_alpha/clouduseraccounts-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/BpR07_0y6yfGK4qx0cJgXMHUdjo\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/0MIiLWWcykp_nkLBfG8-4z5ddAA\"", "discoveryVersion": "v1", "id": "clouduseraccounts:vm_alpha", "name": "clouduseraccounts", "canonicalName": "Cloud User Accounts", "version": "vm_alpha", - "revision": "20150714", + "revision": "20150924", "title": "Cloud User Accounts API", "description": "API for the Google Cloud User Accounts service.", "ownerDomain": "google.com", @@ -73,17 +73,14 @@ "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" + }, "https://www.googleapis.com/auth/cloud.useraccounts": { "description": "Manage your Google Cloud User Accounts" }, "https://www.googleapis.com/auth/cloud.useraccounts.readonly": { "description": "View your Google Cloud User Accounts" - }, - "https://www.googleapis.com/auth/computeaccounts": { - "description": "Manage your Google Compute Accounts" - }, - "https://www.googleapis.com/auth/computeaccounts.readonly": { - "description": "View your Google Compute Accounts" } } } @@ -100,6 +97,102 @@ "items": { "type": "string" } + }, + "sudoer": { + "type": "boolean", + "description": "[Output Only] Whether the user has the ability to elevate on the instance that requested the authorized keys." + } + } + }, + "Binding": { + "id": "Binding", + "type": "object", + "description": "Associates `members` with a `role`.", + "properties": { + "members": { + "type": "array", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats:\n\n* `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account.\n\n* `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account.\n\n* `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`.\n\n* `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`.\n\n* `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`.\n\n* `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", + "items": { + "type": "string" + } + }, + "role": { + "type": "string", + "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`." + } + } + }, + "Condition": { + "id": "Condition", + "type": "object", + "description": "A condition to be met.", + "properties": { + "iam": { + "type": "string", + "description": "Trusted attributes supplied by the IAM system.", + "enum": [ + "ATTRIBUTION", + "AUTHORITY", + "NO_ATTR" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "op": { + "type": "string", + "description": "An operator to apply the subject with.", + "enum": [ + "DISCHARGED", + "EQUALS", + "IN", + "NOT_EQUALS", + "NOT_IN", + "NO_OP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ] + }, + "svc": { + "type": "string", + "description": "Trusted attributes discharged by the service." + }, + "sys": { + "type": "string", + "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", + "enum": [ + "IP", + "NAME", + "NO_ATTR", + "REGION", + "SERVICE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "value": { + "type": "string", + "description": "The object of the condition. Exactly one of these must be set." + }, + "values": { + "type": "array", + "description": "The objects of the condition. This is mutually exclusive with 'value'.", + "items": { + "type": "string" + } } } }, @@ -307,6 +400,32 @@ } } }, + "LogConfig": { + "id": "LogConfig", + "type": "object", + "description": "Specifies what kind of log the caller must write", + "properties": { + "counter": { + "$ref": "LogConfigCounterOptions", + "description": "Counter options." + } + } + }, + "LogConfigCounterOptions": { + "id": "LogConfigCounterOptions", + "type": "object", + "description": "Options for counters", + "properties": { + "field": { + "type": "string", + "description": "The field value to attribute." + }, + "metric": { + "type": "string", + "description": "The metric to update." + } + } + }, "Operation": { "id": "Operation", "type": "object", @@ -371,7 +490,7 @@ }, "kind": { "type": "string", - "description": "[Output Only] Type of the resource. Always compute#Operation for Operation resources.", + "description": "[Output Only] Type of the resource. Always compute#operation for Operation resources.", "default": "clouduseraccounts#operation" }, "name": { @@ -380,7 +499,7 @@ }, "operationType": { "type": "string", - "description": "[Output Only] Type of the operation, such as insert, update, and delete." + "description": "[Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete." }, "progress": { "type": "integer", @@ -393,7 +512,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "startTime": { "type": "string", @@ -529,7 +648,38 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." + } + } + }, + "Policy": { + "id": "Policy", + "type": "object", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources.\n\n\n\nA `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM.\n\n**Example**\n\n{ \"bindings\": [ { \"role\": \"roles/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com\"] } ] }\n\nFor a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).", + "properties": { + "bindings": { + "type": "array", + "description": "Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + } + }, + "etag": { + "type": "string", + "description": "Can be used to perform a read-modify-write.", + "format": "byte" + }, + "rules": { + "type": "array", + "description": "", + "items": { + "$ref": "Rule" + } + }, + "version": { + "type": "integer", + "description": "Version of the `Policy`. The default version is 0.", + "format": "int32" } } }, @@ -560,6 +710,98 @@ } } }, + "Rule": { + "id": "Rule", + "type": "object", + "description": "A rule to be applied in a Policy.", + "properties": { + "action": { + "type": "string", + "description": "Required", + "enum": [ + "ALLOW", + "ALLOW_WITH_LOG", + "DENY", + "DENY_WITH_LOG", + "LOG", + "NO_ACTION" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ] + }, + "conditions": { + "type": "array", + "description": "Additional restrictions that must be met", + "items": { + "$ref": "Condition" + } + }, + "description": { + "type": "string", + "description": "Human-readable description of the rule." + }, + "ins": { + "type": "array", + "description": "The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of entries.", + "items": { + "type": "string" + } + }, + "logConfigs": { + "type": "array", + "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.", + "items": { + "$ref": "LogConfig" + } + }, + "notIns": { + "type": "array", + "description": "The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of entries.", + "items": { + "type": "string" + } + }, + "permissions": { + "type": "array", + "description": "A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", + "items": { + "type": "string" + } + } + } + }, + "TestPermissionsRequest": { + "id": "TestPermissionsRequest", + "type": "object", + "properties": { + "permissions": { + "type": "array", + "description": "The set of permissions to check for the 'resource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", + "items": { + "type": "string" + } + } + } + }, + "TestPermissionsResponse": { + "id": "TestPermissionsResponse", + "type": "object", + "properties": { + "permissions": { + "type": "array", + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + } + } + } + }, "User": { "id": "User", "type": "object", @@ -683,8 +925,7 @@ ], "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { @@ -717,10 +958,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "list": { @@ -731,7 +971,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -769,10 +1009,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } @@ -812,8 +1051,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "delete": { @@ -846,8 +1084,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { @@ -880,10 +1117,44 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "getIamPolicy": { + "id": "clouduseraccounts.groups.getIamPolicy", + "path": "{project}/global/groups/{resource}/getIamPolicy", + "httpMethod": "GET", + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "insert": { @@ -911,8 +1182,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "list": { @@ -923,7 +1193,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -961,10 +1231,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "removeMember": { @@ -1000,8 +1269,83 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "setIamPolicy": { + "id": "clouduseraccounts.groups.setIamPolicy", + "path": "{project}/global/groups/{resource}/setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "testIamPermissions": { + "id": "clouduseraccounts.groups.testIamPermissions", + "path": "{project}/global/groups/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } @@ -1020,6 +1364,11 @@ "required": true, "location": "query" }, + "login": { + "type": "boolean", + "description": "Whether the view was requested as part of a user-initiated login.", + "location": "query" + }, "project": { "type": "string", "description": "Project ID for this request.", @@ -1053,10 +1402,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "getLinuxAccountViews": { @@ -1067,7 +1415,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "instance": { @@ -1120,10 +1468,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } @@ -1163,8 +1510,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "delete": { @@ -1197,8 +1543,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "get": { @@ -1231,10 +1576,44 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "getIamPolicy": { + "id": "clouduseraccounts.users.getIamPolicy", + "path": "{project}/global/users/{resource}/getIamPolicy", + "httpMethod": "GET", + "description": "Gets the access control policy for a resource. May be empty if no such policy or resource exists.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "insert": { @@ -1262,8 +1641,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts" ] }, "list": { @@ -1274,7 +1652,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -1312,10 +1690,9 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/cloud.useraccounts.readonly", - "https://www.googleapis.com/auth/computeaccounts", - "https://www.googleapis.com/auth/computeaccounts.readonly" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] }, "removePublicKey": { @@ -1356,8 +1733,83 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "setIamPolicy": { + "id": "clouduseraccounts.users.setIamPolicy", + "path": "{project}/global/users/{resource}/setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "Policy" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/cloud.useraccounts", - "https://www.googleapis.com/auth/computeaccounts" + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "testIamPermissions": { + "id": "clouduseraccounts.users.testIamPermissions", + "path": "{project}/global/users/{resource}/testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "Name of the resource for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9_]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "resource" + ], + "request": { + "$ref": "TestPermissionsRequest" + }, + "response": { + "$ref": "TestPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" ] } } diff --git a/etc/api/clouduseraccounts/vm_beta/clouduseraccounts-api.json b/etc/api/clouduseraccounts/vm_beta/clouduseraccounts-api.json new file mode 100644 index 0000000000..feb2f5966c --- /dev/null +++ b/etc/api/clouduseraccounts/vm_beta/clouduseraccounts-api.json @@ -0,0 +1,1355 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/xtYn4IkClTRM5q-jfDqJWPk-ng0\"", + "discoveryVersion": "v1", + "id": "clouduseraccounts:vm_beta", + "name": "clouduseraccounts", + "canonicalName": "Cloud User Accounts", + "version": "vm_beta", + "revision": "20150924", + "title": "Cloud User Accounts API", + "description": "API for the Google Cloud User Accounts service.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "https://www.google.com/images/icons/product/compute_engine-16.png", + "x32": "https://www.google.com/images/icons/product/compute_engine-32.png" + }, + "documentationLink": "https://cloud.google.com/compute/docs/access/user-accounts/api/latest/", + "protocol": "rest", + "baseUrl": "https://www.googleapis.com/clouduseraccounts/vm_beta/projects/", + "basePath": "/clouduseraccounts/vm_beta/projects/", + "rootUrl": "https://www.googleapis.com/", + "servicePath": "clouduseraccounts/vm_beta/projects/", + "batchPath": "batch", + "parameters": { + "alt": { + "type": "string", + "description": "Data format for the response.", + "default": "json", + "enum": [ + "json" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json" + ], + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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. Overrides userIp if both are provided.", + "location": "query" + }, + "userIp": { + "type": "string", + "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", + "location": "query" + } + }, + "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" + }, + "https://www.googleapis.com/auth/cloud.useraccounts": { + "description": "Manage your Google Cloud User Accounts" + }, + "https://www.googleapis.com/auth/cloud.useraccounts.readonly": { + "description": "View your Google Cloud User Accounts" + } + } + } + }, + "schemas": { + "AuthorizedKeysView": { + "id": "AuthorizedKeysView", + "type": "object", + "description": "A list of authorized public keys for a user account.", + "properties": { + "keys": { + "type": "array", + "description": "[Output Only] The list of authorized public keys in SSH format.", + "items": { + "type": "string" + } + }, + "sudoer": { + "type": "boolean", + "description": "[Output Only] Whether the user has the ability to elevate on the instance that requested the authorized keys." + } + } + }, + "Group": { + "id": "Group", + "type": "object", + "description": "A Group resource.", + "properties": { + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "An optional textual description of the resource; provided by the client when the resource is created." + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always clouduseraccounts#group for groups.", + "default": "clouduseraccounts#group" + }, + "members": { + "type": "array", + "description": "[Output Only] A list of URLs to User resources who belong to the group. Users may only be members of groups in the same project.", + "items": { + "type": "string" + } + }, + "name": { + "type": "string", + "description": "Name of the resource; provided by the client when the resource is created.", + "pattern": "[a-z][-a-z0-9_]{0,31}", + "annotations": { + "required": [ + "clouduseraccounts.groups.insert" + ] + } + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server defined URL for the resource." + } + } + }, + "GroupList": { + "id": "GroupList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "[Output Only] A list of Group resources.", + "items": { + "$ref": "Group" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always clouduseraccounts#groupList for lists of groups.", + "default": "clouduseraccounts#groupList" + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncated list request." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server defined URL for this resource." + } + } + }, + "GroupsAddMemberRequest": { + "id": "GroupsAddMemberRequest", + "type": "object", + "properties": { + "users": { + "type": "array", + "description": "Fully-qualified URLs of the User resources to add.", + "items": { + "type": "string" + } + } + } + }, + "GroupsRemoveMemberRequest": { + "id": "GroupsRemoveMemberRequest", + "type": "object", + "properties": { + "users": { + "type": "array", + "description": "Fully-qualified URLs of the User resources to remove.", + "items": { + "type": "string" + } + } + } + }, + "LinuxAccountViews": { + "id": "LinuxAccountViews", + "type": "object", + "description": "A list of all Linux accounts for this project. This API is only used by Compute Engine virtual machines to get information about user accounts for a project or instance. Linux resources are read-only views into users and groups managed by the Compute Engine Accounts API.", + "properties": { + "groupViews": { + "type": "array", + "description": "[Output Only] A list of all groups within a project.", + "items": { + "$ref": "LinuxGroupView" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always clouduseraccounts#linuxAccountViews for Linux resources.", + "default": "clouduseraccounts#linuxAccountViews" + }, + "userViews": { + "type": "array", + "description": "[Output Only] A list of all users within a project.", + "items": { + "$ref": "LinuxUserView" + } + } + } + }, + "LinuxGetAuthorizedKeysViewResponse": { + "id": "LinuxGetAuthorizedKeysViewResponse", + "type": "object", + "properties": { + "resource": { + "$ref": "AuthorizedKeysView", + "description": "[Output Only] A list of authorized public keys for a user." + } + } + }, + "LinuxGetLinuxAccountViewsResponse": { + "id": "LinuxGetLinuxAccountViewsResponse", + "type": "object", + "properties": { + "resource": { + "$ref": "LinuxAccountViews", + "description": "[Output Only] A list of authorized user accounts and groups." + } + } + }, + "LinuxGroupView": { + "id": "LinuxGroupView", + "type": "object", + "description": "A detailed view of a Linux group.", + "properties": { + "gid": { + "type": "integer", + "description": "[Output Only] The Group ID.", + "format": "uint32" + }, + "groupName": { + "type": "string", + "description": "[Output Only] Group name." + }, + "members": { + "type": "array", + "description": "[Output Only] List of user accounts that belong to the group.", + "items": { + "type": "string" + } + } + } + }, + "LinuxUserView": { + "id": "LinuxUserView", + "type": "object", + "description": "A detailed view of a Linux user account.", + "properties": { + "gecos": { + "type": "string", + "description": "[Output Only] The GECOS (user information) entry for this account." + }, + "gid": { + "type": "integer", + "description": "[Output Only] User's default group ID.", + "format": "uint32" + }, + "homeDirectory": { + "type": "string", + "description": "[Output Only] The path to the home directory for this account." + }, + "shell": { + "type": "string", + "description": "[Output Only] The path to the login shell for this account." + }, + "uid": { + "type": "integer", + "description": "[Output Only] User ID.", + "format": "uint32" + }, + "username": { + "type": "string", + "description": "[Output Only] The username of the account." + } + } + }, + "Operation": { + "id": "Operation", + "type": "object", + "description": "An Operation resource, used to manage asynchronous API requests.", + "properties": { + "clientOperationId": { + "type": "string", + "description": "[Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project." + }, + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "endTime": { + "type": "string", + "description": "[Output Only] The time that this operation was completed. This is in RFC3339 text format." + }, + "error": { + "type": "object", + "description": "[Output Only] If errors are generated during processing of the operation, this field will be populated.", + "properties": { + "errors": { + "type": "array", + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] The error type identifier for this error." + }, + "location": { + "type": "string", + "description": "[Output Only] Indicates the field in the request which caused the error. This property is optional." + }, + "message": { + "type": "string", + "description": "[Output Only] An optional, human-readable error message." + } + } + } + } + } + }, + "httpErrorMessage": { + "type": "string", + "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND." + }, + "httpErrorStatusCode": { + "type": "integer", + "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404.", + "format": "int32" + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "insertTime": { + "type": "string", + "description": "[Output Only] The time that this operation was requested. This is in RFC3339 text format." + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#operation for Operation resources.", + "default": "clouduseraccounts#operation" + }, + "name": { + "type": "string", + "description": "[Output Only] Name of the resource." + }, + "operationType": { + "type": "string", + "description": "[Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete." + }, + "progress": { + "type": "integer", + "description": "[Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses.", + "format": "int32" + }, + "region": { + "type": "string", + "description": "[Output Only] URL of the region where the operation resides. Only applicable for regional resources." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + }, + "startTime": { + "type": "string", + "description": "[Output Only] The time that this operation was started by the server. This is in RFC3339 text format." + }, + "status": { + "type": "string", + "description": "[Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE.", + "enum": [ + "DONE", + "PENDING", + "RUNNING" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "statusMessage": { + "type": "string", + "description": "[Output Only] An optional textual description of the current status of the operation." + }, + "targetId": { + "type": "string", + "description": "[Output Only] Unique target ID which identifies a particular incarnation of the target.", + "format": "uint64" + }, + "targetLink": { + "type": "string", + "description": "[Output Only] URL of the resource the operation is mutating." + }, + "user": { + "type": "string", + "description": "[Output Only] User who requested the operation, for example: user@example.com." + }, + "warnings": { + "type": "array", + "description": "[Output Only] If warning messages are generated during processing of the operation, this field will be populated.", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] The warning type identifier for this warning.", + "enum": [ + "DEPRECATED_RESOURCE_USED", + "DISK_SIZE_LARGER_THAN_IMAGE_SIZE", + "INJECTED_KERNELS_DEPRECATED", + "NEXT_HOP_ADDRESS_NOT_ASSIGNED", + "NEXT_HOP_CANNOT_IP_FORWARD", + "NEXT_HOP_INSTANCE_NOT_FOUND", + "NEXT_HOP_INSTANCE_NOT_ON_NETWORK", + "NEXT_HOP_NOT_RUNNING", + "NOT_CRITICAL_ERROR", + "NO_RESULTS_ON_PAGE", + "REQUIRED_TOS_AGREEMENT", + "RESOURCE_NOT_DELETED", + "SINGLE_INSTANCE_PROPERTY_TEMPLATE", + "UNREACHABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata for this warning in key: value format.", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[Output Only] A key for the warning data." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] Optional human-readable details for this warning." + } + } + } + }, + "zone": { + "type": "string", + "description": "[Output Only] URL of the zone where the operation resides." + } + } + }, + "OperationList": { + "id": "OperationList", + "type": "object", + "description": "Contains a list of Operation resources.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "[Output Only] The Operation resources.", + "items": { + "$ref": "Operation" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always compute#operations for Operations resource.", + "default": "clouduseraccounts#operationList" + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncate." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + } + } + }, + "PublicKey": { + "id": "PublicKey", + "type": "object", + "description": "A public key for authenticating to guests.", + "properties": { + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "An optional textual description of the resource; provided by the client when the resource is created." + }, + "expirationTimestamp": { + "type": "string", + "description": "Optional expiration timestamp. If provided, the timestamp must be in RFC3339 text format. If not provided, the public key never expires." + }, + "fingerprint": { + "type": "string", + "description": "[Output Only] The fingerprint of the key is defined by RFC4716 to be the MD5 digest of the public key." + }, + "key": { + "type": "string", + "description": "Public key text in SSH format, defined by RFC4253 section 6.6." + } + } + }, + "User": { + "id": "User", + "type": "object", + "description": "A User resource.", + "properties": { + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "An optional textual description of the resource; provided by the client when the resource is created." + }, + "groups": { + "type": "array", + "description": "[Output Only] A list of URLs to Group resources who contain the user. Users are only members of groups in the same project.", + "items": { + "type": "string" + } + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always clouduseraccounts#user for users.", + "default": "clouduseraccounts#user" + }, + "name": { + "type": "string", + "description": "Name of the resource; provided by the client when the resource is created.", + "pattern": "[a-z][-a-z0-9_]{0,31}", + "annotations": { + "required": [ + "clouduseraccounts.users.insert" + ] + } + }, + "owner": { + "type": "string", + "description": "Email address of account's owner. This account will be validated to make sure it exists. The email can belong to any domain, but it must be tied to a Google account.", + "annotations": { + "required": [ + "clouduseraccounts.users.insert" + ] + } + }, + "publicKeys": { + "type": "array", + "description": "[Output Only] Public keys that this user may use to login.", + "items": { + "$ref": "PublicKey" + } + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server defined URL for the resource." + } + } + }, + "UserList": { + "id": "UserList", + "type": "object", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "[Output Only] A list of User resources.", + "items": { + "$ref": "User" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always clouduseraccounts#userList for lists of users.", + "default": "clouduseraccounts#userList" + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncated list request." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server defined URL for this resource." + } + } + } + }, + "resources": { + "globalAccountsOperations": { + "methods": { + "delete": { + "id": "clouduseraccounts.globalAccountsOperations.delete", + "path": "{project}/global/operations/{operation}", + "httpMethod": "DELETE", + "description": "Deletes the specified operation resource.", + "parameters": { + "operation": { + "type": "string", + "description": "Name of the Operations resource to delete.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "operation" + ], + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "get": { + "id": "clouduseraccounts.globalAccountsOperations.get", + "path": "{project}/global/operations/{operation}", + "httpMethod": "GET", + "description": "Retrieves the specified operation resource.", + "parameters": { + "operation": { + "type": "string", + "description": "Name of the Operations resource to return.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "operation" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "list": { + "id": "clouduseraccounts.globalAccountsOperations.list", + "path": "{project}/global/operations", + "httpMethod": "GET", + "description": "Retrieves the list of operation resources contained within the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "OperationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + } + } + }, + "groups": { + "methods": { + "addMember": { + "id": "clouduseraccounts.groups.addMember", + "path": "{project}/global/groups/{groupName}/addMember", + "httpMethod": "POST", + "description": "Adds users to the specified group.", + "parameters": { + "groupName": { + "type": "string", + "description": "Name of the group for this request.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "groupName" + ], + "request": { + "$ref": "GroupsAddMemberRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "delete": { + "id": "clouduseraccounts.groups.delete", + "path": "{project}/global/groups/{groupName}", + "httpMethod": "DELETE", + "description": "Deletes the specified Group resource.", + "parameters": { + "groupName": { + "type": "string", + "description": "Name of the Group resource to delete.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "groupName" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "get": { + "id": "clouduseraccounts.groups.get", + "path": "{project}/global/groups/{groupName}", + "httpMethod": "GET", + "description": "Returns the specified Group resource.", + "parameters": { + "groupName": { + "type": "string", + "description": "Name of the Group resource to return.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "groupName" + ], + "response": { + "$ref": "Group" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "insert": { + "id": "clouduseraccounts.groups.insert", + "path": "{project}/global/groups", + "httpMethod": "POST", + "description": "Creates a Group resource in the specified project using the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "Group" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "list": { + "id": "clouduseraccounts.groups.list", + "path": "{project}/global/groups", + "httpMethod": "GET", + "description": "Retrieves the list of groups contained within the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "GroupList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "removeMember": { + "id": "clouduseraccounts.groups.removeMember", + "path": "{project}/global/groups/{groupName}/removeMember", + "httpMethod": "POST", + "description": "Removes users from the specified group.", + "parameters": { + "groupName": { + "type": "string", + "description": "Name of the group for this request.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "groupName" + ], + "request": { + "$ref": "GroupsRemoveMemberRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + } + } + }, + "linux": { + "methods": { + "getAuthorizedKeysView": { + "id": "clouduseraccounts.linux.getAuthorizedKeysView", + "path": "{project}/zones/{zone}/authorizedKeysView/{user}", + "httpMethod": "POST", + "description": "Returns a list of authorized public keys for a specific user account.", + "parameters": { + "instance": { + "type": "string", + "description": "The fully-qualified URL of the virtual machine requesting the view.", + "required": true, + "location": "query" + }, + "login": { + "type": "boolean", + "description": "Whether the view was requested as part of a user-initiated login.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "user": { + "type": "string", + "description": "The user account for which you want to get a list of authorized public keys.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + }, + "zone": { + "type": "string", + "description": "Name of the zone for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "user", + "instance" + ], + "response": { + "$ref": "LinuxGetAuthorizedKeysViewResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "getLinuxAccountViews": { + "id": "clouduseraccounts.linux.getLinuxAccountViews", + "path": "{project}/zones/{zone}/linuxAccountViews", + "httpMethod": "POST", + "description": "Retrieves a list of user accounts for an instance within a specific project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "instance": { + "type": "string", + "description": "The fully-qualified URL of the virtual machine requesting the views.", + "required": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "zone": { + "type": "string", + "description": "Name of the zone for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone", + "instance" + ], + "response": { + "$ref": "LinuxGetLinuxAccountViewsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + } + } + }, + "users": { + "methods": { + "addPublicKey": { + "id": "clouduseraccounts.users.addPublicKey", + "path": "{project}/global/users/{user}/addPublicKey", + "httpMethod": "POST", + "description": "Adds a public key to the specified User resource with the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "user": { + "type": "string", + "description": "Name of the user for this request.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "user" + ], + "request": { + "$ref": "PublicKey" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "delete": { + "id": "clouduseraccounts.users.delete", + "path": "{project}/global/users/{user}", + "httpMethod": "DELETE", + "description": "Deletes the specified User resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "user": { + "type": "string", + "description": "Name of the user resource to delete.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "user" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "get": { + "id": "clouduseraccounts.users.get", + "path": "{project}/global/users/{user}", + "httpMethod": "GET", + "description": "Returns the specified User resource.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "user": { + "type": "string", + "description": "Name of the user resource to return.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "user" + ], + "response": { + "$ref": "User" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "insert": { + "id": "clouduseraccounts.users.insert", + "path": "{project}/global/users", + "httpMethod": "POST", + "description": "Creates a User resource in the specified project using the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "User" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + }, + "list": { + "id": "clouduseraccounts.users.list", + "path": "{project}/global/users", + "httpMethod": "GET", + "description": "Retrieves a list of users contained within the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "Sorts list results by a certain order. By default, results are returned in alphanumerical order based on the resource name.\n\nYou can also sort results in descending order based on the creation timestamp using orderBy=\"creationTimestamp desc\". This sorts results based on the creationTimestamp field in reverse chronological order (newest result first). Use this to sort resources like operations so that the newest operation is returned first.\n\nCurrently, only sorting by name or creationTimestamp desc is supported.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "UserList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/cloud.useraccounts", + "https://www.googleapis.com/auth/cloud.useraccounts.readonly" + ] + }, + "removePublicKey": { + "id": "clouduseraccounts.users.removePublicKey", + "path": "{project}/global/users/{user}/removePublicKey", + "httpMethod": "POST", + "description": "Removes the specified public key from the user.", + "parameters": { + "fingerprint": { + "type": "string", + "description": "The fingerprint of the public key to delete. Public keys are identified by their fingerprint, which is defined by RFC4716 to be the MD5 digest of the public key.", + "required": true, + "pattern": "[a-f0-9]{32}", + "location": "query" + }, + "project": { + "type": "string", + "description": "Project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "user": { + "type": "string", + "description": "Name of the user for this request.", + "required": true, + "pattern": "[a-z][-a-z0-9_]{0,31}", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "user", + "fingerprint" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud.useraccounts" + ] + } + } + } + } +} diff --git a/etc/api/compute/v1/compute-api.json b/etc/api/compute/v1/compute-api.json index 66f8046564..9b2e56d6e3 100644 --- a/etc/api/compute/v1/compute-api.json +++ b/etc/api/compute/v1/compute-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/NXGE8K6l7s4gwLojFu4aKRPUYGk\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/K2YWeNBEH2yOCjdgDssBGJY_KU4\"", "discoveryVersion": "v1", "id": "compute:v1", "name": "compute", "version": "v1", - "revision": "20150713", + "revision": "20151015", "title": "Compute Engine API", "description": "API for the Google Compute Engine service.", "ownerDomain": "google.com", @@ -165,7 +165,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "status": { "type": "string", @@ -215,7 +215,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -246,7 +246,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." } } }, @@ -341,7 +341,7 @@ }, "deviceName": { "type": "string", - "description": "Specifies a unique device name of your choice that is reflected into the /dev/ tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance.\n\nIf not specified, the server chooses a default device name to apply to this disk, in the form persistent-disks-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks." + "description": "Specifies a unique device name of your choice that is reflected into the /dev/disk/by-id/google-* tree of a Linux operating system running within the instance. This name can be used to reference the device for mounting, resizing, and so on, from within the instance.\n\nIf not specified, the server chooses a default device name to apply to this disk, in the form persistent-disks-x, where x is a number assigned by Google Compute Engine. This field is only applicable for persistent disks." }, "index": { "type": "integer", @@ -354,6 +354,7 @@ }, "interface": { "type": "string", + "description": "Specifies the disk interface to use for attaching this disk, either SCSI or NVME. The default is SCSI. For performance characteristics of SCSI over NVMe, see Local SSD performance.", "enum": [ "NVME", "SCSI" @@ -444,7 +445,7 @@ }, "creationTimestamp": { "type": "string", - "description": "Creation timestamp in RFC3339 text format (output only)." + "description": "[Output Only] Creation timestamp in RFC3339 text format." }, "description": { "type": "string", @@ -452,7 +453,7 @@ }, "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only).", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "format": "uint64" }, "kind": { @@ -462,7 +463,7 @@ }, "name": { "type": "string", - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "annotations": { "required": [ @@ -472,7 +473,7 @@ }, "selfLink": { "type": "string", - "description": "Server defined URL for the resource (output only)." + "description": "[Output Only] Server-defined URL for the resource." }, "target": { "type": "string", @@ -480,7 +481,7 @@ }, "zone": { "type": "string", - "description": "URL of the zone where the instance group resides (output only)." + "description": "[Output Only] URL of the zone where the instance group resides." } } }, @@ -490,7 +491,7 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", @@ -507,11 +508,11 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -522,7 +523,7 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -538,11 +539,11 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -763,7 +764,7 @@ "BackendService": { "id": "BackendService", "type": "object", - "description": "A BackendService resource. This resource defines a group of backend VMs together with their serving capacity.", + "description": "A BackendService resource. This resource defines a group of backend virtual machines together with their serving capacity.", "properties": { "backends": { "type": "array", @@ -819,15 +820,17 @@ "protocol": { "type": "string", "enum": [ - "HTTP" + "HTTP", + "HTTPS" ], "enumDescriptions": [ + "", "" ] }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "timeoutSec": { "type": "integer", @@ -1058,7 +1061,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -1089,7 +1092,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -1118,7 +1121,7 @@ }, "defaultDiskSizeGb": { "type": "string", - "description": "[Output Only] Server defined default disk size in GB.", + "description": "[Output Only] Server-defined default disk size in GB.", "format": "int64" }, "deprecated": { @@ -1146,7 +1149,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "validDiskSize": { "type": "string", @@ -1185,7 +1188,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -1216,7 +1219,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -1432,7 +1435,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "sourceRanges": { "type": "array", @@ -1484,14 +1487,14 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, "ForwardingRule": { "id": "ForwardingRule", "type": "object", - "description": "A ForwardingRule resource. A ForwardingRule resource specifies which pool of target VMs to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.", + "description": "A ForwardingRule resource. A ForwardingRule resource specifies which pool of target virtual machines to forward a packet to if it matches the given [IPAddress, IPProtocol, portRange] tuple.", "properties": { "IPAddress": { "type": "string", @@ -1499,7 +1502,7 @@ }, "IPProtocol": { "type": "string", - "description": "The IP protocol to which this rule applies, valid options are TCP, UDP, ESP, AH or SCTP.", + "description": "The IP protocol to which this rule applies. Valid options are TCP, UDP, ESP, AH or SCTP.", "enum": [ "AH", "ESP", @@ -1530,7 +1533,7 @@ }, "kind": { "type": "string", - "description": "Type of the resource.", + "description": "[Output Only] Type of the resource. Always compute#forwardingRule.", "default": "compute#forwardingRule" }, "name": { @@ -1540,7 +1543,7 @@ }, "portRange": { "type": "string", - "description": "Applicable only when `IPProtocol` is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. If portRange is left empty (default value), all ports are forwarded. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges." + "description": "Applicable only when IPProtocol is TCP, UDP, or SCTP, only packets addressed to ports in the specified range will be forwarded to target. Forwarding rules with the same `[IPAddress, IPProtocol]` pair must have disjoint port ranges." }, "region": { "type": "string", @@ -1583,7 +1586,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -1614,7 +1617,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -1745,21 +1748,21 @@ }, "hosts": { "type": "array", - "description": "The list of host patterns to match. They must be valid hostnames except that they may start with *. or *-. The * acts like a glob and will match any string of atoms (separated by .s and -s) to the left.", + "description": "The list of host patterns to match. They must be valid hostnames, except * will match any string of ([a-z0-9-.]*). In that case, * must be the first character and must be followed in the pattern by either - or ..", "items": { "type": "string" } }, "pathMatcher": { "type": "string", - "description": "The name of the PathMatcher to match the path portion of the URL, if the this hostRule matches the URL's host portion." + "description": "The name of the PathMatcher to use to match the path portion of the URL if the hostRule matches the URL's host portion." } } }, "HttpHealthCheck": { "id": "HttpHealthCheck", "type": "object", - "description": "An HttpHealthCheck resource. This resource defines a template for how individual VMs should be checked for health, via HTTP.", + "description": "An HttpHealthCheck resource. This resource defines a template for how individual instances should be checked for health, via HTTP.", "properties": { "checkIntervalSec": { "type": "integer", @@ -1768,7 +1771,7 @@ }, "creationTimestamp": { "type": "string", - "description": "Creation timestamp in RFC3339 text format (output only)." + "description": "[Output Only] Creation timestamp in RFC3339 text format." }, "description": { "type": "string", @@ -1776,7 +1779,7 @@ }, "healthyThreshold": { "type": "integer", - "description": "A so-far unhealthy VM will be marked healthy after this many consecutive successes. The default value is 2.", + "description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", "format": "int32" }, "host": { @@ -1785,7 +1788,7 @@ }, "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only).", + "description": "[Output Only] Unique identifier for the resource. Defined by the server.", "format": "uint64" }, "kind": { @@ -1795,7 +1798,7 @@ }, "name": { "type": "string", - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" }, "port": { @@ -1809,7 +1812,7 @@ }, "selfLink": { "type": "string", - "description": "Server defined URL for the resource (output only)." + "description": "[Output Only] Server-defined URL for the resource." }, "timeoutSec": { "type": "integer", @@ -1818,7 +1821,7 @@ }, "unhealthyThreshold": { "type": "integer", - "description": "A so-far healthy VM will be marked unhealthy after this many consecutive failures. The default value is 2.", + "description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", "format": "int32" } } @@ -1830,7 +1833,7 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource. Defined by the server." }, "items": { "type": "array", @@ -1846,11 +1849,109 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." + } + } + }, + "HttpsHealthCheck": { + "id": "HttpsHealthCheck", + "type": "object", + "description": "An HttpsHealthCheck resource. This resource defines a template for how individual instances should be checked for health, via HTTPS.", + "properties": { + "checkIntervalSec": { + "type": "integer", + "description": "How often (in seconds) to send a health check. The default value is 5 seconds.", + "format": "int32" + }, + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "An optional textual description of the resource; provided by the client when the resource is created." + }, + "healthyThreshold": { + "type": "integer", + "description": "A so-far unhealthy instance will be marked healthy after this many consecutive successes. The default value is 2.", + "format": "int32" + }, + "host": { + "type": "string", + "description": "The value of the host header in the HTTPS health check request. If left empty (default value), the public IP on behalf of which this health check is performed will be used." + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "Type of the resource.", + "default": "compute#httpsHealthCheck" + }, + "name": { + "type": "string", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" + }, + "port": { + "type": "integer", + "description": "The TCP port number for the HTTPS health check request. The default value is 443.", + "format": "int32" + }, + "requestPath": { + "type": "string", + "description": "The request path of the HTTPS health check request. The default value is \"/\"." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + }, + "timeoutSec": { + "type": "integer", + "description": "How long (in seconds) to wait before claiming failure. The default value is 5 seconds. It is invalid for timeoutSec to have a greater value than checkIntervalSec.", + "format": "int32" + }, + "unhealthyThreshold": { + "type": "integer", + "description": "A so-far healthy instance will be marked unhealthy after this many consecutive failures. The default value is 2.", + "format": "int32" + } + } + }, + "HttpsHealthCheckList": { + "id": "HttpsHealthCheckList", + "type": "object", + "description": "Contains a list of HttpsHealthCheck resources.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of HttpsHealthCheck resources.", + "items": { + "$ref": "HttpsHealthCheck" + } + }, + "kind": { + "type": "string", + "description": "Type of resource.", + "default": "compute#httpsHealthCheckList" + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncated list request." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -1940,7 +2041,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "sourceDisk": { "type": "string", @@ -1984,11 +2085,11 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", - "description": "A list of Image resources.", + "description": "[Output Only] A list of Image resources.", "items": { "$ref": "Image" } @@ -2000,11 +2101,11 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -2168,12 +2269,12 @@ }, "fingerprint": { "type": "string", - "description": "[Output Only] The fingerprint of the named ports information. The system uses this fingerprint to detect conflicts when multiple users change the named ports information concurrently.", + "description": "[Output Only] The fingerprint of the named ports. The system uses this fingerprint to detect conflicts when multiple users change the named ports concurrently.", "format": "byte" }, "id": { "type": "string", - "description": "[Output Only] A unique identifier for this instance group. The server defines this identifier.", + "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", "format": "uint64" }, "kind": { @@ -2193,18 +2294,18 @@ }, "namedPorts": { "type": "array", - "description": "Assigns a name to a port number. For example: {name: ?http?, port: 80} This allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: ?http?, port: 80},{name: \"http\", port: 8080}] Named ports apply to all instances in this instance group.", + "description": "Assigns a name to a port number. For example: {name: \"http\", port: 80}\n\nThis allows the system to reference ports by the assigned name instead of a port number. Named ports can also contain multiple ports. For example: [{name: \"http\", port: 80},{name: \"http\", port: 8080}] \n\nNamed ports apply to all instances in this instance group.", "items": { "$ref": "NamedPort" } }, "network": { "type": "string", - "description": "The URL of the network to which all instances in the instance group belong." + "description": "[Output Only] The URL of the network to which all instances in the instance group belong." }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this instance group. The server defines this URL." + "description": "[Output Only] The URL for this instance group. The server generates this URL." }, "size": { "type": "integer", @@ -2213,7 +2314,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located." + "description": "[Output Only] The URL of the zone where the instance group is located." } } }, @@ -2223,7 +2324,7 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of instance groups. The server defines this identifier." + "description": "[Output Only] A unique identifier for this aggregated list of instance groups. The server generates this identifier." }, "items": { "type": "object", @@ -2244,7 +2345,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of instance groups. The server defines this identifier." + "description": "[Output Only] The URL for this resource type. The server generates this URL." } } }, @@ -2255,11 +2356,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this list of instance groups. The server defines this identifier." + "description": "[Output Only] A unique identifier for this list of instance groups. The server generates this identifier." }, "items": { "type": "array", - "description": "A list of InstanceGroup resources.", + "description": "A list of instance groups.", "items": { "$ref": "InstanceGroup" } @@ -2275,22 +2376,15 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this instance group. The server defines this URL." + "description": "[Output Only] The URL for this resource type. The server generates this URL." } } }, "InstanceGroupManager": { "id": "InstanceGroupManager", "type": "object", - "description": "InstanceGroupManagers\n\nNext available tag: 17", + "description": "InstanceGroupManagers\n\nNext available tag: 19", "properties": { - "autoHealingPolicies": { - "type": "array", - "description": "The autohealing policy for this managed instance group. You can specify only one value.", - "items": { - "$ref": "InstanceGroupManagerAutoHealingPolicy" - } - }, "baseInstanceName": { "type": "string", "description": "The base instance name to use for instances in this group. The value must be 1-58 characters long. Instances are named by appending a hyphen and a random four-character string to the base instance name. The base instance name must comply with RFC1035.", @@ -2307,7 +2401,7 @@ }, "currentActions": { "$ref": "InstanceGroupManagerActionsSummary", - "description": "[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for those actions." + "description": "[Output Only] The list of instance actions and the number of instances in this managed instance group that are scheduled for each of those actions." }, "description": { "type": "string", @@ -2315,17 +2409,17 @@ }, "fingerprint": { "type": "string", - "description": "[Output Only] The fingerprint of the target pools information, which is a hash of the contents. This field is used for optimistic locking when updating the target pool entries.", + "description": "[Output Only] The fingerprint of the target pools information. You can use this optional field for optimistic locking when you update the target pool entries.", "format": "byte" }, "id": { "type": "string", - "description": "[Output Only] A unique identifier for this managed instance group. The server defines this identifier.", + "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier.", "format": "uint64" }, "instanceGroup": { "type": "string", - "description": "[Output Only] The URL of the InstanceGroup resource." + "description": "[Output Only] The URL of the Instance Group resource." }, "instanceTemplate": { "type": "string", @@ -2353,11 +2447,11 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this managed instance group." + "description": "[Output Only] The URL for this managed instance group. The server defines this URL." }, "targetPools": { "type": "array", - "description": "The URL of all TargetPool resources to which new instances in the instanceGroup field are added. Updating the target pool values does not affect existing instances.", + "description": "The URLs for all TargetPool resources to which instances in the instanceGroup field are added. The target pools automatically apply to all of the instances in the managed instance group.", "items": { "type": "string" } @@ -2374,7 +2468,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located." + "description": "The name of the zone where the managed instance group is located." } } }, @@ -2384,30 +2478,37 @@ "properties": { "abandoning": { "type": "integer", + "description": "[Output Only] The total number of instances in the managed instance group that are scheduled to be abandoned. Abandoning an instance removes it from the managed instance group without deleting it.", "format": "int32" }, "creating": { "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be created or are currently being created.", "format": "int32" }, "deleting": { "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be deleted or are currently being deleted.", "format": "int32" }, "none": { "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are running and have no scheduled actions.", "format": "int32" }, "recreating": { "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be recreated or are currently being being recreated. Recreating an instance deletes the existing root persistent disk and creates a new disk from the image that is defined in the instance template.", "format": "int32" }, "refreshing": { "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are being reconfigured with properties that do not require a restart or a recreate action. For example, setting or removing target pools for the instance.", "format": "int32" }, "restarting": { "type": "integer", + "description": "[Output Only] The number of instances in the managed instance group that are scheduled to be restarted or are currently being restarted.", "format": "int32" } } @@ -2418,19 +2519,19 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this aggregated list of managed instance groups. The server defines this identifier." + "description": "[Output Only] A unique identifier for this aggregated list of managed instance groups. The server generates this identifier." }, "items": { "type": "object", - "description": "A map of filtered managed instance group lists.", + "description": "[Output Only] A map of filtered managed instance group lists.", "additionalProperties": { "$ref": "InstanceGroupManagersScopedList", - "description": "The name of the scope that contains this set of managed instance groups." + "description": "[Output Only] The name of the scope that contains this set of managed instance groups." } }, "kind": { "type": "string", - "description": "[Output Only] Type of the resource. Always compute#instanceGroupManagerAggregatedList for an aggregated list of managed instance groups.", + "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerAggregatedList for an aggregated list of managed instance groups.", "default": "compute#instanceGroupManagerAggregatedList" }, "nextPageToken": { @@ -2439,51 +2540,29 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this aggregated list of managed instance groups. The server defines this URL." - } - } - }, - "InstanceGroupManagerAutoHealingPolicy": { - "id": "InstanceGroupManagerAutoHealingPolicy", - "type": "object", - "properties": { - "actionType": { - "type": "string", - "description": "The action to perform when an instance becomes unhealthy. Possible values are RECREATE or RESTART. RECREATE replaces an unhealthy instance with a new instance that is based on the instance template for this managed instance group. RESTART performs a soft restart on an instance. If the instance cannot restart softly, the instance performs a hard restart.", - "enum": [ - "RECREATE", - "RESTART" - ], - "enumDescriptions": [ - "", - "" - ] - }, - "healthCheck": { - "type": "string", - "description": "The URL for the HealthCheck that signals autohealing." + "description": "[Output Only] The URL for this resource type. The server generates this URL." } } }, "InstanceGroupManagerList": { "id": "InstanceGroupManagerList", "type": "object", - "description": "[Output Only] A list of InstanceGroupManager resources.", + "description": "[Output Only] A list of managed instance groups.", "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this managed instance group. The server defines this identifier." + "description": "[Output Only] A unique identifier for this resource type. The server generates this identifier." }, "items": { "type": "array", - "description": "[Output Only] A list of managed instance group resources.", + "description": "[Output Only] A list of managed instance groups.", "items": { "$ref": "InstanceGroupManager" } }, "kind": { "type": "string", - "description": "[Output Only] Type of the resource. Always compute#instanceGroupManagerList for a list of managed instance group resources.", + "description": "[Output Only] The resource type, which is always compute#instanceGroupManagerList for a list of managed instance groups.", "default": "compute#instanceGroupManagerList" }, "nextPageToken": { @@ -2492,7 +2571,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this managed instance group. The server defines this URL." + "description": "[Output Only] The URL for this resource type. The server generates this URL." } } }, @@ -2502,7 +2581,7 @@ "properties": { "instances": { "type": "array", - "description": "The names of instances to abandon from the managed instance group.", + "description": "The URL for one or more instances to abandon from the managed instance group.", "items": { "type": "string" } @@ -2515,7 +2594,7 @@ "properties": { "instances": { "type": "array", - "description": "The names of one or more instances to delete.", + "description": "The list of instances to delete from this managed instance group. Specify one or more instance URLs.", "items": { "type": "string" } @@ -2528,7 +2607,7 @@ "properties": { "managedInstances": { "type": "array", - "description": "List of managed instances. If empty - all instances are listed.", + "description": "[Output Only] The list of instances in the managed instance group.", "items": { "$ref": "ManagedInstance" } @@ -2541,7 +2620,7 @@ "properties": { "instances": { "type": "array", - "description": "The names of one or more instances to recreate.", + "description": "The URL for one or more instances to recreate.", "items": { "type": "string" } @@ -2640,12 +2719,12 @@ "properties": { "fingerprint": { "type": "string", - "description": "The fingerprint of the target pools information, which is a hash of the contents. This field is used for optimistic locking when updating the target pool entries.", + "description": "The fingerprint of the target pools information. Use this optional property to prevent conflicts when multiple users change the target pools settings concurrently. Obtain the fingerprint with the instanceGroupManagers.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", "format": "byte" }, "targetPools": { "type": "array", - "description": "The list of target pool URLs that instances in this managed instance group belong to. When the managed instance group creates new instances, the group automatically adds those instances to the target pools that are specified in this parameter. Changing the value of this parameter does not change the target pools of existing instances in this managed instance group.", + "description": "The list of target pool URLs that instances in this managed instance group belong to. The managed instance group applies these target pools to all of the instances in the group. Existing instances and new instances in the group all receive these target pool settings.", "items": { "type": "string" } @@ -2658,7 +2737,7 @@ "properties": { "instances": { "type": "array", - "description": "The instances to add to the instance group.", + "description": "The list of instances to add to the instance group.", "items": { "$ref": "InstanceReference" } @@ -2671,11 +2750,11 @@ "properties": { "id": { "type": "string", - "description": "[Output Only] A unique identifier for this list of instance groups. The server defines this identifier." + "description": "[Output Only] A unique identifier for this list of instance groups. The server generates this identifier." }, "items": { "type": "array", - "description": "A list of InstanceWithNamedPorts resources, which contains all named ports for the given instance.", + "description": "[Output Only] A list of instances and any named ports that are assigned to those instances.", "items": { "$ref": "InstanceWithNamedPorts" } @@ -2691,7 +2770,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] The URL for this list of instance groups. The server defines this URL." + "description": "[Output Only] The URL for this list of instance groups. The server generates this URL." } } }, @@ -2710,11 +2789,6 @@ "", "" ] - }, - "portName": { - "type": "string", - "description": "A filter for the named ports that are associated with instances in the instance group. If you specify this parameter, the generated list includes only instances that are associated with the specified named ports. If you do not specify this parameter, the generated list includes all instances regardless of their named ports.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" } } }, @@ -2724,7 +2798,7 @@ "properties": { "instances": { "type": "array", - "description": "The instances to remove from the instance group.", + "description": "The list of instances to remove from the instance group.", "items": { "$ref": "InstanceReference" } @@ -2813,7 +2887,7 @@ "properties": { "fingerprint": { "type": "string", - "description": "The fingerprint of the named ports information, which is a hash of the contents. Use this field for optimistic locking when you update the named ports entries.", + "description": "The fingerprint of the named ports information for this instance group. Use this optional property to prevent conflicts when multiple users change the named ports settings concurrently. Obtain the fingerprint with the instanceGroups.get method. Then, include the fingerprint in your request to ensure that you do not overwrite changes that were applied from another concurrent request.", "format": "byte" }, "namedPorts": { @@ -2877,7 +2951,7 @@ "properties": { "canIpForward": { "type": "boolean", - "description": "A boolean that specifies if instances created from this template can send packets with source IP addresses other than their own or receive packets with destination IP addresses other than their own. If you use these instances as an IP gateway or as the next-hop in a Route resource, specify true. Otherwise, specify false." + "description": "Enables instances created based on this template to send packets with source IP addresses other than their own and receive packets with destination IP addresses other than their own. If these instances will be used as an IP gateway or it will be set as the next-hop in a Route resource, specify true. If unsure, leave this set to false. See the canIpForward documentation for more information." }, "description": { "type": "string", @@ -2905,14 +2979,14 @@ }, "networkInterfaces": { "type": "array", - "description": "An array of network access configurations for this interface. This specifies how this interface is configured to interact with other network services, such as connecting to the internet. Currently, ONE_TO_ONE_NAT is the only supported access configuration. If you do not specify any access configurations, the instances that are created from this template will have no external internet access.", + "description": "An array of network access configurations for this interface.", "items": { "$ref": "NetworkInterface" } }, "scheduling": { "$ref": "Scheduling", - "description": "A list of scheduling options for the instances that are created from this template." + "description": "Specifies the scheduling options for the instances that are created from this template." }, "serviceAccounts": { "type": "array", @@ -2932,7 +3006,8 @@ "type": "object", "properties": { "instance": { - "type": "string" + "type": "string", + "description": "The URL for a specific instance." } } }, @@ -2961,7 +3036,7 @@ }, "name": { "type": "string", - "description": "The name of the instance template. The name must be 1-63 characters long, and comply with RFC1035.", + "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "annotations": { "required": [ @@ -2971,7 +3046,7 @@ }, "properties": { "$ref": "InstanceProperties", - "description": "The instance properties for the instance template resource." + "description": "The instance properties for this instance template." }, "selfLink": { "type": "string", @@ -2990,7 +3065,7 @@ }, "items": { "type": "array", - "description": "A list of InstanceTemplate resources.", + "description": "[Output Only] list of InstanceTemplate resources.", "items": { "$ref": "InstanceTemplate" } @@ -3016,18 +3091,18 @@ "properties": { "instance": { "type": "string", - "description": "The URL of the instance." + "description": "[Output Only] The URL of the instance." }, "namedPorts": { "type": "array", - "description": "The named ports that belong to this instance group.", + "description": "[Output Only] The named ports that belong to this instance group.", "items": { "$ref": "NamedPort" } }, "status": { "type": "string", - "description": "The status of the instance.", + "description": "[Output Only] The status of the instance.", "enum": [ "PROVISIONING", "RUNNING", @@ -3143,7 +3218,7 @@ }, "name": { "type": "string", - "description": "Name of the resource. The name must be 1-63 characters long, and comply with RCF1035.", + "description": "[Output Only] Name of the resource. The name is 1-63 characters long and complies with RFC1035.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "annotations": { "required": [ @@ -3153,7 +3228,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." } } }, @@ -3230,7 +3305,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "zone": { "type": "string", @@ -3265,7 +3340,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -3296,7 +3371,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -3382,7 +3457,7 @@ "properties": { "currentAction": { "type": "string", - "description": "The current action that the managed instance group has scheduled for the instance.", + "description": "[Output Only] The current action that the managed instance group has scheduled for the instance. Possible values: \n- NONE The instance is running, and the managed instance group does not have any scheduled actions for this instance. \n- CREATING The managed instance group is creating this instance. \n- RECREATING The managed instance group is recreating this instance. \n- DELETING The managed instance group is permanently deleting this instance. \n- ABANDONING The managed instance group is abandoning this instance. The instance will be removed from the instance group and from any target pools that are associated with this group. \n- RESTARTING The managed instance group is restarting the instance. \n- REFRESHING The managed instance group is applying configuration changes to the instance without stopping it. For example, the group can update the target pool list for an instance without stopping that instance.", "enum": [ "ABANDONING", "CREATING", @@ -3404,16 +3479,16 @@ }, "id": { "type": "string", - "description": "The unique identifier for this resource (empty when instance does not exist).", + "description": "[Output only] The unique identifier for this resource. This field is empty when instance does not exist.", "format": "uint64" }, "instance": { "type": "string", - "description": "The URL of the instance (set even though instance does not exist yet)." + "description": "[Output Only] The URL of the instance. The URL can exist even if the instance has not yet been created." }, "instanceStatus": { "type": "string", - "description": "The status of the instance (empty when instance does not exist).", + "description": "[Output Only] The status of the instance. This field is empty when the instance does not exist.", "enum": [ "PROVISIONING", "RUNNING", @@ -3437,7 +3512,7 @@ }, "lastAttempt": { "$ref": "ManagedInstanceLastAttempt", - "description": "Information about the last attempt to create or delete the instance." + "description": "[Output Only] Information about the last attempt to create or delete the instance." } } }, @@ -3447,7 +3522,7 @@ "properties": { "errors": { "type": "object", - "description": "Encountered errors during the last attempt to create or delete the instance.", + "description": "[Output Only] Encountered errors during the last attempt to create or delete the instance.", "properties": { "errors": { "type": "array", @@ -3524,12 +3599,11 @@ "NamedPort": { "id": "NamedPort", "type": "object", - "description": "The named port information. For example: .", + "description": "The named port. For example: .", "properties": { "name": { "type": "string", - "description": "The name for this NamedPort.", - "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" + "description": "The name for this named port. The name must be 1-63 characters long, and comply with RFC1035." }, "port": { "type": "integer", @@ -3546,12 +3620,7 @@ "IPv4Range": { "type": "string", "description": "The range of internal addresses that are legal on this network. This range is a CIDR specification, for example: 192.168.0.0/16. Provided by the client when the network is created.", - "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}/[0-9]{1,2}", - "annotations": { - "required": [ - "compute.networks.insert" - ] - } + "pattern": "[0-9]{1,3}(?:\\.[0-9]{1,3}){3}/[0-9]{1,2}" }, "creationTimestamp": { "type": "string", @@ -3588,7 +3657,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." } } }, @@ -3599,7 +3668,7 @@ "properties": { "accessConfigs": { "type": "array", - "description": "An array of configurations for this interface. Currently, \u003ccodeONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.", + "description": "An array of configurations for this interface. Currently, ONE_TO_ONE_NAT is the only access config supported. If there are no accessConfigs specified, then this instance will have no external internet access.", "items": { "$ref": "AccessConfig" } @@ -3650,7 +3719,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource ." + "description": "[Output Only] Server-defined URL for this resource ." } } }, @@ -3718,7 +3787,7 @@ }, "kind": { "type": "string", - "description": "[Output Only] Type of the resource. Always compute#Operation for Operation resources.", + "description": "[Output Only] Type of the resource. Always compute#operation for Operation resources.", "default": "compute#operation" }, "name": { @@ -3727,7 +3796,7 @@ }, "operationType": { "type": "string", - "description": "[Output Only] Type of the operation, such as insert, update, and delete." + "description": "[Output Only] Type of the operation, such as insert, compute.instanceGroups.update, or compute.instanceGroups.delete." }, "progress": { "type": "integer", @@ -3740,7 +3809,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "startTime": { "type": "string", @@ -3876,7 +3945,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -3907,7 +3976,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -3990,7 +4059,7 @@ "PathMatcher": { "id": "PathMatcher", "type": "object", - "description": "A matcher for the path portion of the URL. The BackendService from the longest-matched rule will serve the URL. If no rule was matched, the default_service will be used.", + "description": "A matcher for the path portion of the URL. The BackendService from the longest-matched rule will serve the URL. If no rule was matched, the default service will be used.", "properties": { "defaultService": { "type": "string", @@ -4048,6 +4117,13 @@ "type": "string", "description": "An optional textual description of the resource." }, + "enabledFeatures": { + "type": "array", + "description": "Restricted features enabled for use on this project.", + "items": { + "type": "string" + } + }, "id": { "type": "string", "description": "[Output Only] Unique identifier for the resource; defined by the server.", @@ -4071,7 +4147,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "usageExportLocation": { "$ref": "UsageExportLocation", @@ -4192,7 +4268,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "status": { "type": "string", @@ -4242,7 +4318,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -4259,7 +4335,7 @@ "Route": { "id": "Route", "type": "object", - "description": "The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with VMs by tag and the set of Routes for a particular VM is called its routing table. For each packet leaving a VM, the system searches that VM's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the nextHop field of the winning Route -- either to another VM destination, a VM gateway or a GCE operated gateway. Packets that do not match any Route in the sending VM's routing table are dropped.", + "description": "The route resource. A Route is a rule that specifies how certain packets should be handled by the virtual network. Routes are associated with instances by tag and the set of Routes for a particular instance is called its routing table. For each packet leaving a instance, the system searches that instance's routing table for a single best matching Route. Routes match packets by destination IP address, preferring smaller or more specific ranges over larger ones. If there is a tie, the system selects the Route with the smallest priority value. If there is still a tie, it uses the layer three and four packet headers to select just one of the remaining matching Routes. The packet is then forwarded as specified by the nextHop field of the winning Route -- either to another instance destination, a instance gateway or a Google Compute Engien-operated gateway. Packets that do not match any Route in the sending instance's routing table are dropped.", "properties": { "creationTimestamp": { "type": "string", @@ -4448,7 +4524,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -4459,11 +4535,11 @@ "properties": { "automaticRestart": { "type": "boolean", - "description": "Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user)." + "description": "Specifies whether the instance should be automatically restarted if it is terminated by Compute Engine (not terminated by a user). You can only set the automatic restart option for standard instances. Preemptible instances cannot be automatically restarted." }, "onHostMaintenance": { "type": "string", - "description": "Defines the maintenance behavior for this instance. The default behavior is MIGRATE. For more information, see Setting maintenance behavior.", + "description": "Defines the maintenance behavior for this instance. For standard instances, the default behavior is MIGRATE. For preemptible instances, the default and only possible behavior is TERMINATE. For more information, see Setting maintenance behavior.", "enum": [ "MIGRATE", "TERMINATE" @@ -4475,7 +4551,7 @@ }, "preemptible": { "type": "boolean", - "description": "Whether the Instance is preemptible." + "description": "Whether the instance is preemptible." } } }, @@ -4613,7 +4689,7 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource. Defined by the server." }, "items": { "type": "array", @@ -4629,11 +4705,84 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." + } + } + }, + "SslCertificate": { + "id": "SslCertificate", + "type": "object", + "description": "An SslCertificate resource. This resource provides a mechanism to upload an SSL key and certificate to global HTTPS loadbalancer to serve secure connections.", + "properties": { + "certificate": { + "type": "string", + "description": "A local certificate file. The certificate must be in PEM format. The certificate chain must be no greater than 5 certs long. The chain must include at least one intermediate cert." + }, + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "An optional textual description of the resource. Provided by the client when the resource is created." + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource. Defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#sslCertificate for SSL certificates.", + "default": "compute#sslCertificate" + }, + "name": { + "type": "string", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" + }, + "privateKey": { + "type": "string", + "description": "A write-only private key in PEM format. Only insert RPCs will include this field." + }, + "selfLink": { + "type": "string", + "description": "[Output only] Server-defined URL for the resource." + } + } + }, + "SslCertificateList": { + "id": "SslCertificateList", + "type": "object", + "description": "Contains a list of SslCertificate resources.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource. Defined by the server." + }, + "items": { + "type": "array", + "description": "A list of SslCertificate resources.", + "items": { + "$ref": "SslCertificate" + } + }, + "kind": { + "type": "string", + "description": "Type of resource.", + "default": "compute#sslCertificateList" + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncated list request." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -4676,7 +4825,7 @@ }, "kind": { "type": "string", - "description": "[Output Only] Type of resource. Always compute#Operation for Operation resources.", + "description": "[Output Only] Type of resource. Always compute#operation for Operation resources.", "default": "compute#targetHttpProxy" }, "name": { @@ -4686,7 +4835,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "urlMap": { "type": "string", @@ -4725,14 +4874,103 @@ } } }, - "TargetInstance": { - "id": "TargetInstance", + "TargetHttpsProxiesSetSslCertificatesRequest": { + "id": "TargetHttpsProxiesSetSslCertificatesRequest", "type": "object", - "description": "A TargetInstance resource. This resource defines an endpoint VM that terminates traffic of certain protocols.", + "properties": { + "sslCertificates": { + "type": "array", + "description": "New set of URLs to SslCertificate resources to associate with this TargetHttpProxy. Currently exactly one ssl certificate must be specified.", + "items": { + "type": "string" + } + } + } + }, + "TargetHttpsProxy": { + "id": "TargetHttpsProxy", + "type": "object", + "description": "A TargetHttpsProxy resource. This resource defines an HTTPS proxy.", "properties": { "creationTimestamp": { "type": "string", - "description": "Creation timestamp in RFC3339 text format (output only)." + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "description": { + "type": "string", + "description": "An optional textual description of the resource. Provided by the client when the resource is created." + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "kind": { + "type": "string", + "description": "Type of the resource.", + "default": "compute#targetHttpsProxy" + }, + "name": { + "type": "string", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + }, + "sslCertificates": { + "type": "array", + "description": "URLs to SslCertificate resources that are used to authenticate connections to Backends. Currently exactly one SSL certificate must be specified.", + "items": { + "type": "string" + } + }, + "urlMap": { + "type": "string", + "description": "URL to the UrlMap resource that defines the mapping from URL to the BackendService." + } + } + }, + "TargetHttpsProxyList": { + "id": "TargetHttpsProxyList", + "type": "object", + "description": "Contains a list of TargetHttpsProxy resources.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "A list of TargetHttpsProxy resources.", + "items": { + "$ref": "TargetHttpsProxy" + } + }, + "kind": { + "type": "string", + "description": "Type of resource.", + "default": "compute#targetHttpsProxyList" + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncated list request." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + } + } + }, + "TargetInstance": { + "id": "TargetInstance", + "type": "object", + "description": "A TargetInstance resource. This resource defines an endpoint instance that terminates traffic of certain protocols.", + "properties": { + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." }, "description": { "type": "string", @@ -4740,7 +4978,7 @@ }, "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only).", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "format": "uint64" }, "instance": { @@ -4754,12 +4992,12 @@ }, "name": { "type": "string", - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" }, "natPolicy": { "type": "string", - "description": "NAT option controlling how IPs are NAT'ed to the VM. Currently only NO_NAT (default value) is supported.", + "description": "NAT option controlling how IPs are NAT'ed to the instance. Currently only NO_NAT (default value) is supported.", "enum": [ "NO_NAT" ], @@ -4769,11 +5007,11 @@ }, "selfLink": { "type": "string", - "description": "Server defined URL for the resource (output only)." + "description": "[Output Only] Server-defined URL for the resource." }, "zone": { "type": "string", - "description": "URL of the zone where the target instance resides (output only)." + "description": "[Output Only] URL of the zone where the target instance resides." } } }, @@ -4783,7 +5021,7 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "object", @@ -4800,11 +5038,11 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -4815,7 +5053,7 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource; defined by the server." }, "items": { "type": "array", @@ -4831,11 +5069,11 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -4918,15 +5156,15 @@ "TargetPool": { "id": "TargetPool", "type": "object", - "description": "A TargetPool resource. This resource defines a pool of VMs, associated HttpHealthCheck resources, and the fallback TargetPool.", + "description": "A TargetPool resource. This resource defines a pool of instances, associated HttpHealthCheck resources, and the fallback TargetPool.", "properties": { "backupPool": { "type": "string", - "description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its 'failoverRatio' field is properly set to a value between [0, 1].\n\n'backupPool' and 'failoverRatio' together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below 'failoverRatio', traffic arriving at the load-balanced IP will be directed to the backup pool.\n\nIn case where 'failoverRatio' and 'backupPool' are not set, or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy." + "description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool, and its failoverRatio field is properly set to a value between [0, 1].\n\nbackupPool and failoverRatio together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below failoverRatio, traffic arriving at the load-balanced IP will be directed to the backup pool.\n\nIn case where failoverRatio and backupPool are not set, or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy." }, "creationTimestamp": { "type": "string", - "description": "Creation timestamp in RFC3339 text format (output only)." + "description": "[Output Only] Creation timestamp in RFC3339 text format." }, "description": { "type": "string", @@ -4934,24 +5172,24 @@ }, "failoverRatio": { "type": "number", - "description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].\n\nIf set, 'backupPool' must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy VMs in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool.\n\nIn case where 'failoverRatio' is not set or all the VMs in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy VMs with the best effort, or to all VMs when no VM is healthy.", + "description": "This field is applicable only when the containing target pool is serving a forwarding rule as the primary pool (i.e., not as a backup pool to some other target pool). The value of the field must be in [0, 1].\n\nIf set, backupPool must also be set. They together define the fallback behavior of the primary target pool: if the ratio of the healthy instances in the primary pool is at or below this number, traffic arriving at the load-balanced IP will be directed to the backup pool.\n\nIn case where failoverRatio is not set or all the instances in the backup pool are unhealthy, the traffic will be directed back to the primary pool in the \"force\" mode, where traffic will be spread to the healthy instances with the best effort, or to all instances when no instance is healthy.", "format": "float" }, "healthChecks": { "type": "array", - "description": "A list of URLs to the HttpHealthCheck resource. A member VM in this pool is considered healthy if and only if all specified health checks pass. An empty list means all member VMs will be considered healthy at all times.", + "description": "A list of URLs to the HttpHealthCheck resource. A member instance in this pool is considered healthy if and only if all specified health checks pass. An empty list means all member instances will be considered healthy at all times.", "items": { "type": "string" } }, "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only).", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", "format": "uint64" }, "instances": { "type": "array", - "description": "A list of resource URLs to the member VMs serving this pool. They must live in zones contained in the same region as this pool.", + "description": "A list of resource URLs to the member virtual machines serving this pool. They must live in zones contained in the same region as this pool.", "items": { "type": "string" } @@ -4963,20 +5201,20 @@ }, "name": { "type": "string", - "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035.", + "description": "Name of the resource. Provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash.", "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?" }, "region": { "type": "string", - "description": "URL of the region where the target pool resides (output only)." + "description": "[Output Only] URL of the region where the target pool resides." }, "selfLink": { "type": "string", - "description": "Server defined URL for the resource (output only)." + "description": "[Output Only] Server-defined URL for the resource." }, "sessionAffinity": { "type": "string", - "description": "Sesssion affinity option, must be one of the following values: 'NONE': Connections from the same client IP may go to any VM in the pool; 'CLIENT_IP': Connections from the same client IP will go to the same VM in the pool while that VM remains healthy. 'CLIENT_IP_PROTO': Connections from the same client IP with the same IP protocol will go to the same VM in the pool while that VM remains healthy.", + "description": "Sesssion affinity option, must be one of the following values:\nNONE: Connections from the same client IP may go to any instance in the pool.\nCLIENT_IP: Connections from the same client IP will go to the same instance in the pool while that instance remains healthy.\nCLIENT_IP_PROTO: Connections from the same client IP with the same IP protocol will go to the same instance in the pool while that instance remains healthy.", "enum": [ "CLIENT_IP", "CLIENT_IP_PROTO", @@ -4996,7 +5234,7 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource. Defined by the server." }, "items": { "type": "object", @@ -5013,11 +5251,11 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -5045,7 +5283,7 @@ "properties": { "id": { "type": "string", - "description": "Unique identifier for the resource; defined by the server (output only)." + "description": "[Output Only] Unique identifier for the resource. Defined by the server." }, "items": { "type": "array", @@ -5061,11 +5299,11 @@ }, "nextPageToken": { "type": "string", - "description": "A token used to continue a truncated list request (output only)." + "description": "[Output Only] A token used to continue a truncated list request." }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -5496,7 +5734,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "tests": { "type": "array", @@ -5534,7 +5772,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -5652,13 +5890,6 @@ "description": "[Output Only] Unique identifier for the resource. Defined by the server.", "format": "uint64" }, - "ikeNetworks": { - "type": "array", - "description": "IKE networks to use when establishing the VPN tunnel with peer VPN gateway. The value should be a CIDR formatted string, for example: 192.168.0.0/16. The ranges should be disjoint.", - "items": { - "type": "string" - } - }, "ikeVersion": { "type": "integer", "description": "IKE protocol version to use when establishing the VPN tunnel with peer VPN gateway. Acceptable IKE versions are 1 or 2. Default version is 2.", @@ -5689,7 +5920,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "sharedSecret": { "type": "string", @@ -5767,7 +5998,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for this resource." + "description": "[Output Only] Server-defined URL for this resource." } } }, @@ -5940,7 +6171,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "status": { "type": "string", @@ -5983,7 +6214,7 @@ }, "selfLink": { "type": "string", - "description": "Server defined URL for this resource (output only)." + "description": "[Output Only] Server-defined URL for this resource." } } } @@ -5999,7 +6230,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -6163,7 +6394,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -6220,7 +6451,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -6384,7 +6615,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -6658,7 +6889,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -6779,7 +7010,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -6866,7 +7097,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -6923,7 +7154,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -7136,7 +7367,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -7288,7 +7519,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -7409,7 +7640,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -7573,7 +7804,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -7769,7 +8000,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -7913,7 +8144,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -7998,7 +8229,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -8107,7 +8338,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -8251,7 +8482,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -8362,6 +8593,222 @@ } } }, + "httpsHealthChecks": { + "methods": { + "delete": { + "id": "compute.httpsHealthChecks.delete", + "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", + "httpMethod": "DELETE", + "description": "Deletes the specified HttpsHealthCheck resource.", + "parameters": { + "httpsHealthCheck": { + "type": "string", + "description": "Name of the HttpsHealthCheck resource to delete.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "httpsHealthCheck" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.httpsHealthChecks.get", + "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", + "httpMethod": "GET", + "description": "Returns the specified HttpsHealthCheck resource.", + "parameters": { + "httpsHealthCheck": { + "type": "string", + "description": "Name of the HttpsHealthCheck resource to return.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "httpsHealthCheck" + ], + "response": { + "$ref": "HttpsHealthCheck" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "id": "compute.httpsHealthChecks.insert", + "path": "{project}/global/httpsHealthChecks", + "httpMethod": "POST", + "description": "Creates a HttpsHealthCheck resource in the specified project using the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "HttpsHealthCheck" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "id": "compute.httpsHealthChecks.list", + "path": "{project}/global/httpsHealthChecks", + "httpMethod": "GET", + "description": "Retrieves the list of HttpsHealthCheck resources available to the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "HttpsHealthCheckList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "patch": { + "id": "compute.httpsHealthChecks.patch", + "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", + "httpMethod": "PATCH", + "description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request. This method supports patch semantics.", + "parameters": { + "httpsHealthCheck": { + "type": "string", + "description": "Name of the HttpsHealthCheck resource to update.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "httpsHealthCheck" + ], + "request": { + "$ref": "HttpsHealthCheck" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "update": { + "id": "compute.httpsHealthChecks.update", + "path": "{project}/global/httpsHealthChecks/{httpsHealthCheck}", + "httpMethod": "PUT", + "description": "Updates a HttpsHealthCheck resource in the specified project using the data included in the request.", + "parameters": { + "httpsHealthCheck": { + "type": "string", + "description": "Name of the HttpsHealthCheck resource to update.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "httpsHealthCheck" + ], + "request": { + "$ref": "HttpsHealthCheck" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "images": { "methods": { "delete": { @@ -8502,11 +8949,11 @@ "id": "compute.images.list", "path": "{project}/global/images", "httpMethod": "GET", - "description": "Retrieves the list of image resources available to the specified project.", + "description": "Retrieves the list of private images available to the specified project. Private images are images you create that belong to your project. This method does not get any images that belong to other projects, including publicly-available images, like Debian 7. If you want to get a list of publicly-available images, use this method to make a request to the respective image project, such as debian-cloud or windows-cloud.\n\nSee Accessing images for more information.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -8551,11 +8998,11 @@ "id": "compute.instanceGroupManagers.abandonInstances", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/abandonInstances", "httpMethod": "POST", - "description": "Removes the specified instances from the managed instance group, and from any target pools where they are a member. The instances are not deleted. The managed instance group automatically reduces its targetSize value by the number of instances that you abandon from the group.", + "description": "Schedules a group action to remove the specified instances from the managed instance group. Abandoning an instance does not delete the instance, but it does remove the instance from any target pools that are applied by the managed instance group. This method reduces the targetSize of the managed instance group by the number of instances that you abandon. This operation is marked as DONE when the action is scheduled even if the instances have not yet been removed from the group. You must separately verify the status of the abandoning action with the listmanagedinstances method.", "parameters": { "instanceGroupManager": { "type": "string", - "description": "The name of the instance group manager.", + "description": "The name of the managed instance group.", "required": true, "location": "path" }, @@ -8568,7 +9015,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -8593,11 +9040,11 @@ "id": "compute.instanceGroupManagers.aggregatedList", "path": "{project}/aggregated/instanceGroupManagers", "httpMethod": "GET", - "description": "Retrieves the list of managed instance groups, and groups them by project and zone.", + "description": "Retrieves the list of managed instance groups and groups them by zone.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -8638,11 +9085,11 @@ "id": "compute.instanceGroupManagers.delete", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "DELETE", - "description": "Deletes the specified managed instance group resource.", + "description": "Deletes the specified managed instance group and all of the instances in that group.", "parameters": { "instanceGroupManager": { "type": "string", - "description": "The name of the instance group manager to delete.", + "description": "The name of the managed instance group to delete.", "required": true, "location": "path" }, @@ -8655,7 +9102,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -8677,11 +9124,11 @@ "id": "compute.instanceGroupManagers.deleteInstances", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/deleteInstances", "httpMethod": "POST", - "description": "Deletes the specified instances. The instances are deleted and removed from the instance group and any target pools where they are a member. The managed instance group automatically reduces its targetSize value by the number of instances that you delete.", + "description": "Schedules a group action to delete the specified instances in the managed instance group. The instances are also removed from any target pools of which they were a member. This method reduces the targetSize of the managed instance group by the number of instances that you delete. This operation is marked as DONE when the action is scheduled even if the instances are still being deleted. You must separately verify the status of the deleting action with the listmanagedinstances method.", "parameters": { "instanceGroupManager": { "type": "string", - "description": "The name of the instance group manager.", + "description": "The name of the managed instance group.", "required": true, "location": "path" }, @@ -8694,7 +9141,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -8719,11 +9166,11 @@ "id": "compute.instanceGroupManagers.get", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}", "httpMethod": "GET", - "description": "Returns the specified managed instance group resource.", + "description": "Returns all of the details about the specified managed instance group.", "parameters": { "instanceGroupManager": { "type": "string", - "description": "The name of the instance group manager resource.", + "description": "The name of the managed instance group.", "required": true, "location": "path" }, @@ -8736,7 +9183,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -8759,7 +9206,7 @@ "id": "compute.instanceGroupManagers.insert", "path": "{project}/zones/{zone}/instanceGroupManagers", "httpMethod": "POST", - "description": "Creates a managed instance group resource in the specified project using the data that is included in the request.", + "description": "Creates a managed instance group using the information that you specify in the request. After the group is created, it schedules an action to create instances in the group using the specified instance template. This operation is marked as DONE when the group is created even if the instances in the group have not yet been created. You must separately verify the status of the individual instances with the listmanagedinstances method.", "parameters": { "project": { "type": "string", @@ -8770,7 +9217,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where you want to create the managed instance group.", "required": true, "location": "path" } @@ -8798,7 +9245,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -8824,7 +9271,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -8846,7 +9293,7 @@ "id": "compute.instanceGroupManagers.listManagedInstances", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/listManagedInstances", "httpMethod": "POST", - "description": "Lists managed instances.", + "description": "Lists all of the instances in the managed instance group. Each instance in the list has a currentAction, which indicates the action that the managed instance group is performing on the instance. For example, if the group is still creating an instance, the currentAction is CREATING. If a previous action failed, the list displays the errors for that failed action.", "parameters": { "instanceGroupManager": { "type": "string", @@ -8863,7 +9310,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -8886,11 +9333,11 @@ "id": "compute.instanceGroupManagers.recreateInstances", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/recreateInstances", "httpMethod": "POST", - "description": "Recreates the specified instances. The instances are deleted, then recreated using the managed instance group's current instance template.", + "description": "Schedules a group action to recreate the specified instances in the managed instance group. The instances are deleted and recreated using the current instance template for the managed instance group. This operation is marked as DONE when the action is scheduled even if the instances have not yet been recreated. You must separately verify the status of the recreating action with the listmanagedinstances method.", "parameters": { "instanceGroupManager": { "type": "string", - "description": "The name of the instance group manager.", + "description": "The name of the managed instance group.", "required": true, "location": "path" }, @@ -8903,7 +9350,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -8928,11 +9375,11 @@ "id": "compute.instanceGroupManagers.resize", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/resize", "httpMethod": "POST", - "description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group removes instances in the order that is outlined in Resizing a managed instance group.", + "description": "Resizes the managed instance group. If you increase the size, the group creates new instances using the current instance template. If you decrease the size, the group deletes instances. The resize operation is marked DONE when the resize actions are scheduled even if the group has not yet added or deleted any instances. You must separately verify the status of the creating or deleting actions with the listmanagedinstances method.", "parameters": { "instanceGroupManager": { "type": "string", - "description": "The name of the instance group manager.", + "description": "The name of the managed instance group.", "required": true, "location": "path" }, @@ -8952,7 +9399,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -8979,7 +9426,7 @@ "parameters": { "instanceGroupManager": { "type": "string", - "description": "The name of the instance group manager.", + "description": "The name of the managed instance group.", "required": true, "location": "path" }, @@ -8992,7 +9439,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -9017,11 +9464,11 @@ "id": "compute.instanceGroupManagers.setTargetPools", "path": "{project}/zones/{zone}/instanceGroupManagers/{instanceGroupManager}/setTargetPools", "httpMethod": "POST", - "description": "Modifies the target pools to which all new instances in this group are assigned. The target pools for existing instances in the group do not change unless you recreate them.", + "description": "Modifies the target pools to which all instances in this managed instance group are assigned. The target pools automatically apply to all of the instances in the managed instance group. This operation is marked DONE when you make the request even if the instances have not yet been added to their target pools. The change might take some time to apply to all of the instances in the group depending on the size of the group.", "parameters": { "instanceGroupManager": { "type": "string", - "description": "The name of the instance group manager.", + "description": "The name of the managed instance group.", "required": true, "location": "path" }, @@ -9034,7 +9481,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the managed instance group is located.", + "description": "The name of the zone where the managed instance group is located.", "required": true, "location": "path" } @@ -9063,7 +9510,7 @@ "id": "compute.instanceGroups.addInstances", "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/addInstances", "httpMethod": "POST", - "description": "Adds a list of instances to an instance group. All of the instances in the instance group must be in the same network.", + "description": "Adds a list of instances to the specified instance group. All of the instances in the instance group must be in the same network/subnetwork. TODO: Change to comment to state \"if IG is load balanced.\"", "parameters": { "instanceGroup": { "type": "string", @@ -9080,7 +9527,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located.", + "description": "The name of the zone where the instance group is located.", "required": true, "location": "path" } @@ -9105,11 +9552,11 @@ "id": "compute.instanceGroups.aggregatedList", "path": "{project}/aggregated/instanceGroups", "httpMethod": "GET", - "description": "Retrieves the list of instance groups, and sorts them by zone.", + "description": "Retrieves the list of instance groups and sorts them by zone.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -9150,7 +9597,7 @@ "id": "compute.instanceGroups.delete", "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}", "httpMethod": "DELETE", - "description": "Deletes the specified instance group.", + "description": "Deletes the specified instance group. The instances in the group are not deleted.", "parameters": { "instanceGroup": { "type": "string", @@ -9167,7 +9614,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located.", + "description": "The name of the zone where the instance group is located.", "required": true, "location": "path" } @@ -9206,7 +9653,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located.", + "description": "The name of the zone where the instance group is located.", "required": true, "location": "path" } @@ -9240,7 +9687,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located.", + "description": "The name of the zone where you want to create the instance group.", "required": true, "location": "path" } @@ -9268,7 +9715,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -9294,7 +9741,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located.", + "description": "The name of the zone where the instance group is located.", "required": true, "location": "path" } @@ -9316,11 +9763,11 @@ "id": "compute.instanceGroups.listInstances", "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/listInstances", "httpMethod": "POST", - "description": "Lists instances in an instance group. The parameters for this method specify whether the list filters instances by state and named ports information.", + "description": "Lists the instances in the specified instance group.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "instanceGroup": { @@ -9352,7 +9799,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located.", + "description": "The name of the zone where the instance group is located.", "required": true, "location": "path" } @@ -9378,7 +9825,7 @@ "id": "compute.instanceGroups.removeInstances", "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/removeInstances", "httpMethod": "POST", - "description": "Removes a list of instances from an instance group.", + "description": "Removes one or more instances from the specified instance group, but does not delete those instances.", "parameters": { "instanceGroup": { "type": "string", @@ -9395,7 +9842,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located.", + "description": "The name of the zone where the instance group is located.", "required": true, "location": "path" } @@ -9420,7 +9867,7 @@ "id": "compute.instanceGroups.setNamedPorts", "path": "{project}/zones/{zone}/instanceGroups/{instanceGroup}/setNamedPorts", "httpMethod": "POST", - "description": "Sets the named ports in an instance group.", + "description": "Sets the named ports for the specified instance group.", "parameters": { "instanceGroup": { "type": "string", @@ -9437,7 +9884,7 @@ }, "zone": { "type": "string", - "description": "The URL of the zone where the instance group is located.", + "description": "The name of the zone where the instance group is located.", "required": true, "location": "path" } @@ -9565,7 +10012,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -9661,10 +10108,11 @@ "id": "compute.instances.aggregatedList", "path": "{project}/aggregated/instances", "httpMethod": "GET", + "description": "Retrieves aggregated list of instance resources.", "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -9912,7 +10360,7 @@ }, "zone": { "type": "string", - "description": "The name of the The name of the zone for this request..", + "description": "The name of the zone for this request.", "required": true, "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", "location": "path" @@ -10027,7 +10475,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -10433,7 +10881,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -10520,7 +10968,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -10672,7 +11120,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -10946,7 +11394,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -11037,7 +11485,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -11181,7 +11629,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -11297,7 +11745,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -11336,6 +11784,150 @@ } } }, + "sslCertificates": { + "methods": { + "delete": { + "id": "compute.sslCertificates.delete", + "path": "{project}/global/sslCertificates/{sslCertificate}", + "httpMethod": "DELETE", + "description": "Deletes the specified SslCertificate resource.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "sslCertificate": { + "type": "string", + "description": "Name of the SslCertificate resource to delete.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "sslCertificate" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.sslCertificates.get", + "path": "{project}/global/sslCertificates/{sslCertificate}", + "httpMethod": "GET", + "description": "Returns the specified SslCertificate resource.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "sslCertificate": { + "type": "string", + "description": "Name of the SslCertificate resource to return.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "sslCertificate" + ], + "response": { + "$ref": "SslCertificate" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "id": "compute.sslCertificates.insert", + "path": "{project}/global/sslCertificates", + "httpMethod": "POST", + "description": "Creates a SslCertificate resource in the specified project using the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "SslCertificate" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "id": "compute.sslCertificates.list", + "path": "{project}/global/sslCertificates", + "httpMethod": "GET", + "description": "Retrieves the list of SslCertificate resources available to the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "SslCertificateList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + } + } + }, "targetHttpProxies": { "methods": { "delete": { @@ -11441,7 +12033,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -11516,6 +12108,222 @@ } } }, + "targetHttpsProxies": { + "methods": { + "delete": { + "id": "compute.targetHttpsProxies.delete", + "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}", + "httpMethod": "DELETE", + "description": "Deletes the specified TargetHttpsProxy resource.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "targetHttpsProxy": { + "type": "string", + "description": "Name of the TargetHttpsProxy resource to delete.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "targetHttpsProxy" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "get": { + "id": "compute.targetHttpsProxies.get", + "path": "{project}/global/targetHttpsProxies/{targetHttpsProxy}", + "httpMethod": "GET", + "description": "Returns the specified TargetHttpsProxy resource.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "targetHttpsProxy": { + "type": "string", + "description": "Name of the TargetHttpsProxy resource to return.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "targetHttpsProxy" + ], + "response": { + "$ref": "TargetHttpsProxy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "insert": { + "id": "compute.targetHttpsProxies.insert", + "path": "{project}/global/targetHttpsProxies", + "httpMethod": "POST", + "description": "Creates a TargetHttpsProxy resource in the specified project using the data included in the request.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "TargetHttpsProxy" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "list": { + "id": "compute.targetHttpsProxies.list", + "path": "{project}/global/targetHttpsProxies", + "httpMethod": "GET", + "description": "Retrieves the list of TargetHttpsProxy resources available to the specified project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "TargetHttpsProxyList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute", + "https://www.googleapis.com/auth/compute.readonly" + ] + }, + "setSslCertificates": { + "id": "compute.targetHttpsProxies.setSslCertificates", + "path": "{project}/targetHttpsProxies/{targetHttpsProxy}/setSslCertificates", + "httpMethod": "POST", + "description": "Replaces SslCertificates for TargetHttpsProxy.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "targetHttpsProxy": { + "type": "string", + "description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "targetHttpsProxy" + ], + "request": { + "$ref": "TargetHttpsProxiesSetSslCertificatesRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + }, + "setUrlMap": { + "id": "compute.targetHttpsProxies.setUrlMap", + "path": "{project}/targetHttpsProxies/{targetHttpsProxy}/setUrlMap", + "httpMethod": "POST", + "description": "Changes the URL map for TargetHttpsProxy.", + "parameters": { + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "targetHttpsProxy": { + "type": "string", + "description": "Name of the TargetHttpsProxy resource whose URL map is to be set.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "targetHttpsProxy" + ], + "request": { + "$ref": "UrlMapReference" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/compute" + ] + } + } + }, "targetInstances": { "methods": { "aggregatedList": { @@ -11526,7 +12334,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -11690,7 +12498,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -11833,7 +12641,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -12041,7 +12849,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -12234,7 +13042,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -12398,7 +13206,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -12550,7 +13358,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -12707,7 +13515,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -12871,7 +13679,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -13008,7 +13816,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -13099,7 +13907,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { diff --git a/etc/api/container/v1/container-api.json b/etc/api/container/v1/container-api.json new file mode 100644 index 0000000000..9041b8cf29 --- /dev/null +++ b/etc/api/container/v1/container-api.json @@ -0,0 +1,690 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/FD4oCwspiZqN6eCjsBmxDzsj5B8\"", + "discoveryVersion": "v1", + "id": "container:v1", + "name": "container", + "version": "v1", + "revision": "20150603", + "title": "Google Container Engine API", + "description": "The Google Container Engine API is used for building and managing container based applications, powered by the open source Kubernetes technology.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://cloud.google.com/container-engine/", + "protocol": "rest", + "baseUrl": "https://container.googleapis.com/", + "basePath": "/", + "rootUrl": "https://container.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "schemas": { + "ListClustersResponse": { + "id": "ListClustersResponse", + "type": "object", + "description": "ListClustersResponse is the result of ListClustersRequest.", + "properties": { + "clusters": { + "type": "array", + "description": "A list of clusters in the project in the specified zone, or across all ones.", + "items": { + "$ref": "Cluster" + } + } + } + }, + "Cluster": { + "id": "Cluster", + "type": "object", + "description": "A Google Container Engine cluster.", + "properties": { + "name": { + "type": "string", + "description": "The name of this cluster. The name must be unique within this project and zone, and can be up to 40 characters with the following restrictions: * Lowercase letters, numbers, and hyphens only. * Must start with a letter. * Must end with a number or a letter." + }, + "description": { + "type": "string", + "description": "An optional description of this cluster." + }, + "initialNodeCount": { + "type": "integer", + "description": "The number of nodes to create in this cluster. You must ensure that your Compute Engine [resource quota](/compute/docs/resource-quotas) is sufficient for this number of instances. You must also have available firewall and routes quota.", + "format": "int32" + }, + "nodeConfig": { + "$ref": "NodeConfig", + "description": "Parameters used in creating the cluster's nodes. See the descriptions of the child properties of `nodeConfig`. If unspecified, the defaults for all child properties are used." + }, + "masterAuth": { + "$ref": "MasterAuth", + "description": "The authentication information for accessing the master." + }, + "loggingService": { + "type": "string", + "description": "The logging service that the cluster should write logs to. Currently available options: * \"logging.googleapis.com\" - the Google Cloud Logging service * \"none\" - no logs will be exported from the cluster * \"\" - default value; the default is \"logging.googleapis.com\"" + }, + "monitoringService": { + "type": "string", + "description": "The monitoring service that the cluster should write metrics to. Currently available options: * \"monitoring.googleapis.com\" - the Google Cloud Monitoring service * \"none\" - no metrics will be exported from the cluster * \"\" - default value; the default is \"monitoring.googleapis.com\"" + }, + "network": { + "type": "string", + "description": "The name of the Google Compute Engine [network](/compute/docs/networking#networks_1) to which the cluster is connected. If left unspecified, the \"default\" network will be used." + }, + "clusterIpv4Cidr": { + "type": "string", + "description": "The IP address range of the container pods in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `10.96.0.0/14`). Leave blank to have one automatically chosen or specify a `/14` block in `10.0.0.0/8`." + }, + "selfLink": { + "type": "string", + "description": "[Output only] Server-defined URL for the resource." + }, + "zone": { + "type": "string", + "description": "[Output only] The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides." + }, + "endpoint": { + "type": "string", + "description": "[Output only] The IP address of this cluster's Kubernetes master endpoint. The endpoint can be accessed from the internet at `https://username:password@endpoint/`. See the `masterAuth` property of this resource for username and password information." + }, + "initialClusterVersion": { + "type": "string", + "description": "[Output only] The software version of Kubernetes master and kubelets used in the cluster when it was first created. The version can be upgraded over time." + }, + "currentMasterVersion": { + "type": "string", + "description": "[Output only] The current software version of the master endpoint." + }, + "currentNodeVersion": { + "type": "string", + "description": "[Output only] The current version of the node software components. If they are currently at different versions because they're in the process of being upgraded, this reflects the minimum version of any of them." + }, + "createTime": { + "type": "string", + "description": "[Output only] The time the cluster was created, in [RFC3339](https://www.ietf.org/rfc/rfc3339.txt) text format." + }, + "status": { + "type": "string", + "description": "[Output only] The current status of this cluster.", + "enum": [ + "STATUS_UNSPECIFIED", + "PROVISIONING", + "RUNNING", + "RECONCILING", + "STOPPING", + "ERROR" + ] + }, + "statusMessage": { + "type": "string", + "description": "[Output only] Additional information about the current status of this cluster, if available." + }, + "nodeIpv4CidrSize": { + "type": "integer", + "description": "[Output only] The size of the address space on each node for hosting containers. This is provisioned from within the container_ipv4_cidr range.", + "format": "int32" + }, + "servicesIpv4Cidr": { + "type": "string", + "description": "[Output only] The IP address range of the Kubernetes services in this cluster, in [CIDR](http://en.wikipedia.org/wiki/Classless_Inter-Domain_Routing) notation (e.g. `1.2.3.4/29`). Service addresses are typically put in the last /16 from the container CIDR." + }, + "instanceGroupUrls": { + "type": "array", + "description": "[Output only] The resource URLs of [instance groups](/compute/docs/instance-groups/) associated with this cluster.", + "items": { + "type": "string" + } + } + } + }, + "NodeConfig": { + "id": "NodeConfig", + "type": "object", + "description": "Per-node parameters.", + "properties": { + "machineType": { + "type": "string", + "description": "The name of a Google Compute Engine [machine type](/compute/docs/machine-types) (e.g. `n1-standard-1`). If unspecified, the default machine type is `n1-standard-1`." + }, + "diskSizeGb": { + "type": "integer", + "description": "Size of the disk attached to each node, specified in GB. The smallest allowed disk size is 10GB. If unspecified, the default disk size is 100GB.", + "format": "int32" + }, + "oauthScopes": { + "type": "array", + "description": "The set of Google API scopes to be made available on all of the node VMs under the \"default\" service account. The following scopes are recommended, but not required, and by default are not included: * `https://www.googleapis.com/auth/compute` is required for mounting persistent storage on your nodes. * `https://www.googleapis.com/auth/devstorage.read_only` is required for communicating with *gcr.io*. If unspecified, no scopes are added.", + "items": { + "type": "string" + } + } + } + }, + "MasterAuth": { + "id": "MasterAuth", + "type": "object", + "description": "The authentication information for accessing the master endpoint. Authentication can be done using HTTP basic auth or using client certificates.", + "properties": { + "username": { + "type": "string", + "description": "The username to use for HTTP basic authentication when accessing the Kubernetes master endpoint." + }, + "password": { + "type": "string", + "description": "The password to use for HTTP basic authentication when accessing the Kubernetes master endpoint. Because the master endpoint is open to the internet, you should create a strong password." + }, + "clusterCaCertificate": { + "type": "string", + "description": "[Output only] Base64 encoded public certificate that is the root of trust for the cluster." + }, + "clientCertificate": { + "type": "string", + "description": "[Output only] Base64 encoded public certificate used by clients to authenticate to the cluster endpoint." + }, + "clientKey": { + "type": "string", + "description": "[Output only] Base64 encoded private key used by clients to authenticate to the cluster endpoint." + } + } + }, + "CreateClusterRequest": { + "id": "CreateClusterRequest", + "type": "object", + "description": "CreateClusterRequest creates a cluster.", + "properties": { + "cluster": { + "$ref": "Cluster", + "description": "A [cluster resource](/container-engine/reference/rest/v1/projects.zones.clusters)" + } + } + }, + "Operation": { + "id": "Operation", + "type": "object", + "description": "Defines the operation resource. All fields are output only.", + "properties": { + "name": { + "type": "string", + "description": "The server-assigned ID for the operation." + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the operation is taking place." + }, + "operationType": { + "type": "string", + "description": "The operation type.", + "enum": [ + "TYPE_UNSPECIFIED", + "CREATE_CLUSTER", + "DELETE_CLUSTER", + "UPGRADE_MASTER", + "UPGRADE_NODES", + "REPAIR_CLUSTER" + ] + }, + "status": { + "type": "string", + "description": "The current status of the operation.", + "enum": [ + "STATUS_UNSPECIFIED", + "PENDING", + "RUNNING", + "DONE" + ] + }, + "statusMessage": { + "type": "string", + "description": "If an error has occurred, a textual description of the error." + }, + "selfLink": { + "type": "string", + "description": "Server-defined URL for the resource." + }, + "targetLink": { + "type": "string", + "description": "Server-defined URL for the target of the operation." + } + } + }, + "UpdateClusterRequest": { + "id": "UpdateClusterRequest", + "type": "object", + "description": "UpdateClusterRequest updates a cluster.", + "properties": { + "update": { + "$ref": "ClusterUpdate", + "description": "A description of the update." + } + } + }, + "ClusterUpdate": { + "id": "ClusterUpdate", + "type": "object", + "description": "ClusterUpdate describes an update to the cluster.", + "properties": { + "desiredNodeVersion": { + "type": "string", + "description": "The Kubernetes version to change the nodes to (typically an upgrade). Use \"-\" to upgrade to the latest version supported by the server." + } + } + }, + "ListOperationsResponse": { + "id": "ListOperationsResponse", + "type": "object", + "description": "ListOperationsResponse is the result of ListOperationsRequest.", + "properties": { + "operations": { + "type": "array", + "description": "A list of operations in the project in the specified zone.", + "items": { + "$ref": "Operation" + } + } + } + }, + "ServerConfig": { + "id": "ServerConfig", + "type": "object", + "description": "Container Engine Server configuration.", + "properties": { + "defaultClusterVersion": { + "type": "string", + "description": "What version this server deploys by default." + }, + "validNodeVersions": { + "type": "array", + "description": "List of valid node upgrade target versions.", + "items": { + "type": "string" + } + } + } + } + }, + "resources": { + "projects": { + "resources": { + "zones": { + "methods": { + "getServerconfig": { + "id": "container.projects.zones.getServerconfig", + "path": "v1/projects/{projectId}/zones/{zone}/serverconfig", + "httpMethod": "GET", + "description": "Returns configuration info about the Container Engine service.", + "parameters": { + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber).", + "required": true, + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or \"-\" for all zones.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "zone" + ], + "response": { + "$ref": "ServerConfig" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + }, + "resources": { + "clusters": { + "methods": { + "list": { + "id": "container.projects.zones.clusters.list", + "path": "v1/projects/{projectId}/zones/{zone}/clusters", + "httpMethod": "GET", + "description": "Lists all clusters owned by a project in either the specified zone or all zones.", + "parameters": { + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber).", + "required": true, + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides, or \"-\" for all zones.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "zone" + ], + "response": { + "$ref": "ListClustersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "container.projects.zones.clusters.get", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "httpMethod": "GET", + "description": "Gets a specific cluster.", + "parameters": { + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber).", + "required": true, + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides.", + "required": true, + "location": "path" + }, + "clusterId": { + "type": "string", + "description": "The name of the cluster to retrieve.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Cluster" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "create": { + "id": "container.projects.zones.clusters.create", + "path": "v1/projects/{projectId}/zones/{zone}/clusters", + "httpMethod": "POST", + "description": "Creates a cluster, consisting of the specified number and type of Google Compute Engine instances, plus a Kubernetes master endpoint. By default, the cluster is created in the project's [default network](/compute/docs/networking#networks_1). One firewall is added for the cluster. After cluster creation, the cluster creates routes for each node to allow the containers on that node to communicate with all other instances in the cluster. Finally, an entry is added to the project's global metadata indicating which CIDR range is being used by the cluster.", + "parameters": { + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber).", + "required": true, + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "zone" + ], + "request": { + "$ref": "CreateClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "update": { + "id": "container.projects.zones.clusters.update", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "httpMethod": "PUT", + "description": "Update settings of a specific cluster.", + "parameters": { + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber).", + "required": true, + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides.", + "required": true, + "location": "path" + }, + "clusterId": { + "type": "string", + "description": "The name of the cluster to upgrade.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "request": { + "$ref": "UpdateClusterRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "id": "container.projects.zones.clusters.delete", + "path": "v1/projects/{projectId}/zones/{zone}/clusters/{clusterId}", + "httpMethod": "DELETE", + "description": "Deletes the cluster, including the Kubernetes endpoint and all worker nodes. Firewalls and routes that were configured during cluster creation are also deleted.", + "parameters": { + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber).", + "required": true, + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides.", + "required": true, + "location": "path" + }, + "clusterId": { + "type": "string", + "description": "The name of the cluster to delete.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "zone", + "clusterId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "operations": { + "methods": { + "list": { + "id": "container.projects.zones.operations.list", + "path": "v1/projects/{projectId}/zones/{zone}/operations", + "httpMethod": "GET", + "description": "Lists all operations in a project in a specific zone or all zones.", + "parameters": { + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber).", + "required": true, + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) to return operations for, or \"-\" for all zones.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "zone" + ], + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "container.projects.zones.operations.get", + "path": "v1/projects/{projectId}/zones/{zone}/operations/{operationId}", + "httpMethod": "GET", + "description": "Gets the specified operation.", + "parameters": { + "projectId": { + "type": "string", + "description": "The Google Developers Console [project ID or project number](https://developers.google.com/console/help/new/#projectnumber).", + "required": true, + "location": "path" + }, + "zone": { + "type": "string", + "description": "The name of the Google Compute Engine [zone](/compute/docs/zones#available) in which the cluster resides.", + "required": true, + "location": "path" + }, + "operationId": { + "type": "string", + "description": "The server-assigned `name` of the operation.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "zone", + "operationId" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } + } + } + } + } +} diff --git a/etc/api/container/v1beta1/container-api.json b/etc/api/container/v1beta1/container-api.json index eea1ccbec0..3ee4d2e009 100644 --- a/etc/api/container/v1beta1/container-api.json +++ b/etc/api/container/v1beta1/container-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/qwJnkUMoGYLzu0cB6f0uamqbj3k\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/MMM1eku07yBWMoyhM-gsRmxhXoM\"", "discoveryVersion": "v1", "id": "container:v1beta1", "name": "container", "version": "v1beta1", - "revision": "20150713", + "revision": "20151005", "title": "Google Container Engine API", "description": "The Google Container Engine API is used for building and managing container based applications, powered by the open source Kubernetes technology.", "ownerDomain": "google.com", @@ -86,7 +86,7 @@ }, "containerIpv4Cidr": { "type": "string", - "description": "The IP address range of the container pods in this cluster, in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8 or 172.16.0.0/12." + "description": "The IP address range of the container pods in this cluster, in CIDR notation (e.g. 10.96.0.0/14). Leave blank to have one automatically chosen or specify a /14 block in 10.0.0.0/8." }, "creationTimestamp": { "type": "string", @@ -307,9 +307,17 @@ "description": "The operation type.", "enum": [ "createCluster", - "deleteCluster" + "deleteCluster", + "repairCluster", + "updateCluster", + "upgradeMaster", + "upgradeNodes" ], "enumDescriptions": [ + "", + "", + "", + "", "", "" ] diff --git a/etc/api/content/v2/content-api.json b/etc/api/content/v2/content-api.json index cd251d91b7..b9cc3c7d40 100644 --- a/etc/api/content/v2/content-api.json +++ b/etc/api/content/v2/content-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/ZkR-AOQeuSbCQ7gjAz0_-RpvTqg\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/9a0Kcwe-I_RuYTkvOCAf5DnBIRE\"", "discoveryVersion": "v1", "id": "content:v2", "name": "content", "canonicalName": "Shopping Content", "version": "v2", - "revision": "20150710", + "revision": "20151002", "title": "Content API for Shopping", "description": "Manage product items, inventory, and Merchant Center accounts for Google Shopping.", "ownerDomain": "google.com", @@ -15,7 +15,7 @@ "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "documentationLink": "https://developers.google.com/shopping-content/v2/", + "documentationLink": "https://developers.google.com/shopping-content", "protocol": "rest", "baseUrl": "https://www.googleapis.com/content/v2/", "basePath": "/content/v2/", @@ -262,7 +262,7 @@ }, "saleCountry": { "type": "string", - "description": "Sale country for which this carrier rate is valid, represented as an ISO 3166-1 Alpha-2 code.", + "description": "The sale country for which this carrier rate is valid, represented as a CLDR territory code.", "annotations": { "required": [ "content.accountshipping.update" @@ -322,7 +322,7 @@ "properties": { "country": { "type": "string", - "description": "The country in which this location group is, represented as ISO 3166-1 Alpha-2 code.", + "description": "The CLDR territory code of the country in which this location group is.", "annotations": { "required": [ "content.accountshipping.update" @@ -410,7 +410,7 @@ }, "saleCountry": { "type": "string", - "description": "Sale country for which this table is valid, represented as an ISO 3166-1 Alpha-2 code.", + "description": "The sale country for which this table is valid, represented as a CLDR territory code.", "annotations": { "required": [ "content.accountshipping.update" @@ -466,7 +466,7 @@ }, "saleCountry": { "type": "string", - "description": "Sale country for which this service can be used, represented as an ISO 3166-1 Alpha-2 code.", + "description": "The CLDR territory code of the sale country for which this service can be used.", "annotations": { "required": [ "content.accountshipping.update" @@ -1205,7 +1205,7 @@ }, "targetCountry": { "type": "string", - "description": "The two-letter ISO 3166 country where the items in the feed will be included in the search index.", + "description": "The country where the items in the feed will be included in the search index, represented as a CLDR territory code.", "annotations": { "required": [ "content.datafeeds.insert", @@ -1635,6 +1635,11 @@ "salePriceEffectiveDate": { "type": "string", "description": "A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates might be specified as 'null' if undecided." + }, + "sellOnGoogleQuantity": { + "type": "integer", + "description": "The quantity of the product that is reserved for sell-on-google ads. Supported only for online products.", + "format": "uint32" } } }, @@ -1743,6 +1748,11 @@ "salePriceEffectiveDate": { "type": "string", "description": "A date range represented by a pair of ISO 8601 dates separated by a space, comma, or slash. Both dates might be specified as 'null' if undecided." + }, + "sellOnGoogleQuantity": { + "type": "integer", + "description": "The quantity of the product that is reserved for sell-on-google ads. Supported only for online products.", + "format": "uint32" } } }, @@ -1777,6 +1787,1221 @@ } } }, + "Order": { + "id": "Order", + "type": "object", + "properties": { + "acknowledged": { + "type": "boolean", + "description": "Whether the order was acknowledged." + }, + "customer": { + "$ref": "OrderCustomer", + "description": "The details of the customer who placed the order." + }, + "deliveryDetails": { + "$ref": "OrderDeliveryDetails", + "description": "The details for the delivery." + }, + "id": { + "type": "string", + "description": "The REST id of the order. Globally unique." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#order\".", + "default": "content#order" + }, + "lineItems": { + "type": "array", + "description": "Line items that are ordered.", + "items": { + "$ref": "OrderLineItem" + } + }, + "merchantId": { + "type": "string", + "format": "uint64" + }, + "merchantOrderId": { + "type": "string", + "description": "Merchant-provided id of the order." + }, + "netAmount": { + "$ref": "Price", + "description": "The net amount for the order. For example, if an order was originally for a grand total of $100 and a refund was issued for $20, the net amount will be $80." + }, + "paymentMethod": { + "$ref": "OrderPaymentMethod", + "description": "The details of the payment method." + }, + "paymentStatus": { + "type": "string", + "description": "The status of the payment." + }, + "placedDate": { + "type": "string", + "description": "The date when the order was placed, in ISO 8601 format." + }, + "refunds": { + "type": "array", + "description": "Refunds for the order.", + "items": { + "$ref": "OrderRefund" + } + }, + "shipments": { + "type": "array", + "description": "Shipments of the order.", + "items": { + "$ref": "OrderShipment" + } + }, + "shippingCost": { + "$ref": "Price", + "description": "The total cost of shipping for all items." + }, + "shippingCostTax": { + "$ref": "Price", + "description": "The tax for the total shipping cost." + }, + "shippingOption": { + "type": "string", + "description": "The requested shipping option." + }, + "status": { + "type": "string", + "description": "The status of the order." + } + } + }, + "OrderAddress": { + "id": "OrderAddress", + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "CLDR country code (e.g. \"US\")." + }, + "fullAddress": { + "type": "array", + "description": "Strings representing the lines of the printed label for mailing the order, for example:\nJohn Smith\n1600 Amphitheatre Parkway\nMountain View, CA, 94043\nUnited States", + "items": { + "type": "string" + } + }, + "isPostOfficeBox": { + "type": "boolean", + "description": "Whether the address is a post office box." + }, + "locality": { + "type": "string", + "description": "City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs)." + }, + "postalCode": { + "type": "string", + "description": "Postal Code or ZIP (e.g. \"94043\")." + }, + "recipientName": { + "type": "string", + "description": "Name of the recipient." + }, + "region": { + "type": "string", + "description": "Top-level administrative subdivision of the country (e.g. \"CA\")." + }, + "streetAddress": { + "type": "array", + "description": "Street-level part of the address.", + "items": { + "type": "string" + } + } + } + }, + "OrderCancellation": { + "id": "OrderCancellation", + "type": "object", + "properties": { + "actor": { + "type": "string", + "description": "The actor that created the cancellation." + }, + "creationDate": { + "type": "string", + "description": "Date on which the cancellation has been created, in ISO 8601 format." + }, + "quantity": { + "type": "integer", + "description": "The quantity that was canceled.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrderCustomer": { + "id": "OrderCustomer", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email address of the customer." + }, + "explicitMarketingPreference": { + "type": "boolean", + "description": "If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow." + }, + "fullName": { + "type": "string", + "description": "Full name of the customer." + } + } + }, + "OrderDeliveryDetails": { + "id": "OrderDeliveryDetails", + "type": "object", + "properties": { + "address": { + "$ref": "OrderAddress", + "description": "The delivery address" + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the person receiving the delivery." + } + } + }, + "OrderLineItem": { + "id": "OrderLineItem", + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "description": "Cancellations of the line item.", + "items": { + "$ref": "OrderCancellation" + } + }, + "id": { + "type": "string", + "description": "The id of the line item." + }, + "price": { + "$ref": "Price", + "description": "Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20." + }, + "product": { + "$ref": "OrderLineItemProduct", + "description": "Product data from the time of the order placement." + }, + "quantityCanceled": { + "type": "integer", + "description": "Number of items canceled.", + "format": "uint32" + }, + "quantityDelivered": { + "type": "integer", + "description": "Number of items delivered.", + "format": "uint32" + }, + "quantityOrdered": { + "type": "integer", + "description": "Number of items ordered.", + "format": "uint32" + }, + "quantityPending": { + "type": "integer", + "description": "Number of items pending.", + "format": "uint32" + }, + "quantityReturned": { + "type": "integer", + "description": "Number of items returned.", + "format": "uint32" + }, + "quantityShipped": { + "type": "integer", + "description": "Number of items shipped.", + "format": "uint32" + }, + "returnInfo": { + "$ref": "OrderLineItemReturnInfo", + "description": "Details of the return policy for the line item." + }, + "returns": { + "type": "array", + "description": "Returns of the line item.", + "items": { + "$ref": "OrderReturn" + } + }, + "shippingDetails": { + "$ref": "OrderLineItemShippingDetails", + "description": "Details of the requested shipping for the line item." + }, + "tax": { + "$ref": "Price", + "description": "Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4." + } + } + }, + "OrderLineItemProduct": { + "id": "OrderLineItemProduct", + "type": "object", + "properties": { + "brand": { + "type": "string", + "description": "Brand of the item." + }, + "channel": { + "type": "string", + "description": "The item's channel (online or local)." + }, + "condition": { + "type": "string", + "description": "Condition or state of the item." + }, + "contentLanguage": { + "type": "string", + "description": "The two-letter ISO 639-1 language code for the item." + }, + "gtin": { + "type": "string", + "description": "Global Trade Item Number (GTIN) of the item." + }, + "id": { + "type": "string", + "description": "The REST id of the product." + }, + "imageLink": { + "type": "string", + "description": "URL of an image of the item." + }, + "itemGroupId": { + "type": "string", + "description": "Shared identifier for all variants of the same product." + }, + "mpn": { + "type": "string", + "description": "Manufacturer Part Number (MPN) of the item." + }, + "offerId": { + "type": "string", + "description": "An identifier of the item." + }, + "price": { + "$ref": "Price", + "description": "Price of the item." + }, + "shownImage": { + "type": "string", + "description": "URL to the cached image shown to the user when order was placed." + }, + "targetCountry": { + "type": "string", + "description": "The CLDR territory code of the target country of the product." + }, + "title": { + "type": "string", + "description": "The title of the product." + }, + "variantAttributes": { + "type": "array", + "description": "Variant attributes for the item. These are dimensions of the product, such as color, gender, material, pattern, and size. You can find a comprehensive list of variant attributes here.", + "items": { + "$ref": "OrderLineItemProductVariantAttribute" + } + } + } + }, + "OrderLineItemProductVariantAttribute": { + "id": "OrderLineItemProductVariantAttribute", + "type": "object", + "properties": { + "dimension": { + "type": "string", + "description": "The dimension of the variant." + }, + "value": { + "type": "string", + "description": "The value for the dimension." + } + } + }, + "OrderLineItemReturnInfo": { + "id": "OrderLineItemReturnInfo", + "type": "object", + "properties": { + "daysToReturn": { + "type": "integer", + "description": "How many days later the item can be returned.", + "format": "int32", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "isReturnable": { + "type": "boolean", + "description": "Whether the item is returnable.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "policyUrl": { + "type": "string", + "description": "URL of the item return policy.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "OrderLineItemShippingDetails": { + "id": "OrderLineItemShippingDetails", + "type": "object", + "properties": { + "deliverByDate": { + "type": "string", + "description": "The delivery by date, in ISO 8601 format.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "method": { + "$ref": "OrderLineItemShippingDetailsMethod", + "description": "Details of the shipping method.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shipByDate": { + "type": "string", + "description": "The ship by date, in ISO 8601 format.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "OrderLineItemShippingDetailsMethod": { + "id": "OrderLineItemShippingDetailsMethod", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier for the shipping. Optional." + }, + "maxDaysInTransit": { + "type": "integer", + "description": "Maximum transit time.", + "format": "uint32", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "methodName": { + "type": "string", + "description": "The name of the shipping method.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "minDaysInTransit": { + "type": "integer", + "description": "Minimum transit time.", + "format": "uint32", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "OrderPaymentMethod": { + "id": "OrderPaymentMethod", + "type": "object", + "properties": { + "billingAddress": { + "$ref": "OrderAddress", + "description": "The billing address." + }, + "expirationMonth": { + "type": "integer", + "description": "The card expiration month (January = 1, February = 2 etc.).", + "format": "int32" + }, + "expirationYear": { + "type": "integer", + "description": "The card expiration year (4-digit, e.g. 2015).", + "format": "int32" + }, + "lastFourDigits": { + "type": "string", + "description": "The last four digits of the card number." + }, + "phoneNumber": { + "type": "string", + "description": "The billing phone number." + }, + "type": { + "type": "string", + "description": "The type of instrument (VISA, Mastercard, etc)." + } + } + }, + "OrderRefund": { + "id": "OrderRefund", + "type": "object", + "properties": { + "actor": { + "type": "string", + "description": "The actor that created the refund." + }, + "amount": { + "$ref": "Price", + "description": "The amount that is refunded." + }, + "creationDate": { + "type": "string", + "description": "Date on which the item has been created, in ISO 8601 format." + }, + "reason": { + "type": "string", + "description": "The reason for the refund." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrderReturn": { + "id": "OrderReturn", + "type": "object", + "properties": { + "actor": { + "type": "string", + "description": "The actor that created the refund." + }, + "creationDate": { + "type": "string", + "description": "Date on which the item has been created, in ISO 8601 format." + }, + "quantity": { + "type": "integer", + "description": "Quantity that is returned.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the return." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrderShipment": { + "id": "OrderShipment", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment." + }, + "creationDate": { + "type": "string", + "description": "Date on which the shipment has been created, in ISO 8601 format." + }, + "deliveryDate": { + "type": "string", + "description": "Date on which the shipment has been delivered, in ISO 8601 format. Present only if status is delievered" + }, + "id": { + "type": "string", + "description": "The id of the shipment." + }, + "lineItems": { + "type": "array", + "description": "The line items that are shipped.", + "items": { + "$ref": "OrderShipmentLineItemShipment" + } + }, + "status": { + "type": "string", + "description": "The status of the shipment." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment." + } + } + }, + "OrderShipmentLineItemShipment": { + "id": "OrderShipmentLineItemShipment", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The id of the line item that is shipped." + }, + "quantity": { + "type": "integer", + "description": "The quantity that is shipped.", + "format": "uint32" + } + } + }, + "OrdersAcknowledgeRequest": { + "id": "OrdersAcknowledgeRequest", + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + } + } + }, + "OrdersAcknowledgeResponse": { + "id": "OrdersAcknowledgeResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersAcknowledgeResponse\".", + "default": "content#ordersAcknowledgeResponse" + } + } + }, + "OrdersAdvanceTestOrderResponse": { + "id": "OrdersAdvanceTestOrderResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersAdvanceTestOrderResponse\".", + "default": "content#ordersAdvanceTestOrderResponse" + } + } + }, + "OrdersCancelLineItemRequest": { + "id": "OrdersCancelLineItemRequest", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The ID of the line item to cancel." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "quantity": { + "type": "integer", + "description": "The quantity to cancel.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCancelLineItemResponse": { + "id": "OrdersCancelLineItemResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelLineItemResponse\".", + "default": "content#ordersCancelLineItemResponse" + } + } + }, + "OrdersCancelRequest": { + "id": "OrdersCancelRequest", + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCancelResponse": { + "id": "OrdersCancelResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelResponse\".", + "default": "content#ordersCancelResponse" + } + } + }, + "OrdersCreateTestOrderRequest": { + "id": "OrdersCreateTestOrderRequest", + "type": "object", + "properties": { + "templateName": { + "type": "string", + "description": "The test order template to use. Specify as an alternative to testOrder as a shortcut for retrieving a template and then creating an order using that template." + }, + "testOrder": { + "$ref": "TestOrder", + "description": "The test order to create." + } + } + }, + "OrdersCreateTestOrderResponse": { + "id": "OrdersCreateTestOrderResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCreateTestOrderResponse\".", + "default": "content#ordersCreateTestOrderResponse" + }, + "orderId": { + "type": "string", + "description": "The ID of the newly created test order." + } + } + }, + "OrdersCustomBatchRequest": { + "id": "OrdersCustomBatchRequest", + "type": "object", + "properties": { + "entries": { + "type": "array", + "description": "The request entries to be processed in the batch.", + "items": { + "$ref": "OrdersCustomBatchRequestEntry" + } + } + } + }, + "OrdersCustomBatchRequestEntry": { + "id": "OrdersCustomBatchRequestEntry", + "type": "object", + "properties": { + "batchId": { + "type": "integer", + "description": "An entry ID, unique within the batch request.", + "format": "uint32" + }, + "cancel": { + "$ref": "OrdersCustomBatchRequestEntryCancel", + "description": "Required for cancel method." + }, + "cancelLineItem": { + "$ref": "OrdersCustomBatchRequestEntryCancelLineItem", + "description": "Required for cancelLineItem method." + }, + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "format": "uint64" + }, + "merchantOrderId": { + "type": "string", + "description": "The merchant order id. Required for updateMerchantOrderId and getByMerchantOrderId methods." + }, + "method": { + "type": "string", + "description": "The method to apply." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order. Required for all methods beside get and getByMerchantOrderId." + }, + "orderId": { + "type": "string", + "description": "The ID of the order. Required for all methods beside getByMerchantOrderId." + }, + "refund": { + "$ref": "OrdersCustomBatchRequestEntryRefund", + "description": "Required for refund method." + }, + "returnLineItem": { + "$ref": "OrdersCustomBatchRequestEntryReturnLineItem", + "description": "Required for returnLineItem method." + }, + "shipLineItems": { + "$ref": "OrdersCustomBatchRequestEntryShipLineItems", + "description": "Required for shipLineItems method." + }, + "updateShipment": { + "$ref": "OrdersCustomBatchRequestEntryUpdateShipment", + "description": "Required for updateShipment method." + } + } + }, + "OrdersCustomBatchRequestEntryCancel": { + "id": "OrdersCustomBatchRequestEntryCancel", + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCustomBatchRequestEntryCancelLineItem": { + "id": "OrdersCustomBatchRequestEntryCancelLineItem", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The ID of the line item to cancel." + }, + "quantity": { + "type": "integer", + "description": "The quantity to cancel.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCustomBatchRequestEntryRefund": { + "id": "OrdersCustomBatchRequestEntryRefund", + "type": "object", + "properties": { + "amount": { + "$ref": "Price", + "description": "The amount that is refunded." + }, + "reason": { + "type": "string", + "description": "The reason for the refund." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCustomBatchRequestEntryReturnLineItem": { + "id": "OrdersCustomBatchRequestEntryReturnLineItem", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The ID of the line item to return." + }, + "quantity": { + "type": "integer", + "description": "The quantity to return.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the return." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCustomBatchRequestEntryShipLineItems": { + "id": "OrdersCustomBatchRequestEntryShipLineItems", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment." + }, + "lineItems": { + "type": "array", + "description": "Line items to ship.", + "items": { + "$ref": "OrderShipmentLineItemShipment" + } + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment." + } + } + }, + "OrdersCustomBatchRequestEntryUpdateShipment": { + "id": "OrdersCustomBatchRequestEntryUpdateShipment", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment. Not updated if missing." + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment." + }, + "status": { + "type": "string", + "description": "New status for the shipment. Not updated if missing." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment. Not updated if missing." + } + } + }, + "OrdersCustomBatchResponse": { + "id": "OrdersCustomBatchResponse", + "type": "object", + "properties": { + "entries": { + "type": "array", + "description": "The result of the execution of the batch requests.", + "items": { + "$ref": "OrdersCustomBatchResponseEntry" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCustomBatchResponse\".", + "default": "content#ordersCustomBatchResponse" + } + } + }, + "OrdersCustomBatchResponseEntry": { + "id": "OrdersCustomBatchResponseEntry", + "type": "object", + "properties": { + "batchId": { + "type": "integer", + "description": "The ID of the request entry this entry responds to.", + "format": "uint32" + }, + "errors": { + "$ref": "Errors", + "description": "A list of errors defined if and only if the request failed." + }, + "executionStatus": { + "type": "string", + "description": "The status of the execution. Only defined if the method is not get or getByMerchantOrderId and if the request was successful." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCustomBatchResponseEntry\".", + "default": "content#ordersCustomBatchResponseEntry" + }, + "order": { + "$ref": "Order", + "description": "The retrieved order. Only defined if the method is get and if the request was successful." + } + } + }, + "OrdersGetByMerchantOrderIdResponse": { + "id": "OrdersGetByMerchantOrderIdResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersGetByMerchantOrderIdResponse\".", + "default": "content#ordersGetByMerchantOrderIdResponse" + }, + "order": { + "$ref": "Order", + "description": "The requested order." + } + } + }, + "OrdersGetTestOrderTemplateResponse": { + "id": "OrdersGetTestOrderTemplateResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersGetTestOrderTemplateResponse\".", + "default": "content#ordersGetTestOrderTemplateResponse" + }, + "template": { + "$ref": "TestOrder", + "description": "The requested test order template." + } + } + }, + "OrdersListResponse": { + "id": "OrdersListResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersListResponse\".", + "default": "content#ordersListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "The token for the retrieval of the next page of orders." + }, + "resources": { + "type": "array", + "items": { + "$ref": "Order" + } + } + } + }, + "OrdersRefundRequest": { + "id": "OrdersRefundRequest", + "type": "object", + "properties": { + "amount": { + "$ref": "Price", + "description": "The amount that is refunded." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "reason": { + "type": "string", + "description": "The reason for the refund." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersRefundResponse": { + "id": "OrdersRefundResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersRefundResponse\".", + "default": "content#ordersRefundResponse" + } + } + }, + "OrdersReturnLineItemRequest": { + "id": "OrdersReturnLineItemRequest", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The ID of the line item to return." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "quantity": { + "type": "integer", + "description": "The quantity to return.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the return." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersReturnLineItemResponse": { + "id": "OrdersReturnLineItemResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersReturnLineItemResponse\".", + "default": "content#ordersReturnLineItemResponse" + } + } + }, + "OrdersShipLineItemsRequest": { + "id": "OrdersShipLineItemsRequest", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment." + }, + "lineItems": { + "type": "array", + "description": "Line items to ship.", + "items": { + "$ref": "OrderShipmentLineItemShipment" + } + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment." + } + } + }, + "OrdersShipLineItemsResponse": { + "id": "OrdersShipLineItemsResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersShipLineItemsResponse\".", + "default": "content#ordersShipLineItemsResponse" + } + } + }, + "OrdersUpdateMerchantOrderIdRequest": { + "id": "OrdersUpdateMerchantOrderIdRequest", + "type": "object", + "properties": { + "merchantOrderId": { + "type": "string", + "description": "The merchant order id to be assigned to the order. Must be unique per merchant." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + } + } + }, + "OrdersUpdateMerchantOrderIdResponse": { + "id": "OrdersUpdateMerchantOrderIdResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateMerchantOrderIdResponse\".", + "default": "content#ordersUpdateMerchantOrderIdResponse" + } + } + }, + "OrdersUpdateShipmentRequest": { + "id": "OrdersUpdateShipmentRequest", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment. Not updated if missing." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment." + }, + "status": { + "type": "string", + "description": "New status for the shipment. Not updated if missing." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment. Not updated if missing." + } + } + }, + "OrdersUpdateShipmentResponse": { + "id": "OrdersUpdateShipmentResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateShipmentResponse\".", + "default": "content#ordersUpdateShipmentResponse" + } + } + }, "Price": { "id": "Price", "type": "object", @@ -2047,6 +3272,11 @@ "type": "string", "description": "Date range during which the item is on sale (see product feed specifications)." }, + "sellOnGoogleQuantity": { + "type": "string", + "description": "The quantity of the product that is reserved for sell-on-google ads.", + "format": "int64" + }, "shipping": { "type": "array", "description": "Shipping rules.", @@ -2091,7 +3321,7 @@ }, "targetCountry": { "type": "string", - "description": "The two-letter ISO 3166 country code for the item.", + "description": "The CLDR territory code for the item.", "annotations": { "required": [ "content.products.insert" @@ -2225,7 +3455,7 @@ "properties": { "country": { "type": "string", - "description": "The two-letter ISO 3166 country code for the country to which an item will ship." + "description": "The CLDR territory code of the country to which an item will ship." }, "locationGroupName": { "type": "string", @@ -2396,7 +3626,7 @@ "properties": { "country": { "type": "string", - "description": "The country within which the item is taxed, specified with a two-letter ISO 3166 country code." + "description": "The country within which the item is taxed, specified as a CLDR territory code." }, "locationId": { "type": "string", @@ -2658,6 +3888,282 @@ } } }, + "TestOrder": { + "id": "TestOrder", + "type": "object", + "properties": { + "customer": { + "$ref": "TestOrderCustomer", + "description": "The details of the customer who placed the order.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#testOrder\".", + "default": "content#testOrder" + }, + "lineItems": { + "type": "array", + "description": "Line items that are ordered. At least one line item must be provided.", + "items": { + "$ref": "TestOrderLineItem" + }, + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "paymentMethod": { + "$ref": "TestOrderPaymentMethod", + "description": "The details of the payment method." + }, + "predefinedDeliveryAddress": { + "type": "string", + "description": "Identifier of one of the predefined delivery addresses for the delivery.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shippingCost": { + "$ref": "Price", + "description": "The total cost of shipping for all items.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shippingCostTax": { + "$ref": "Price", + "description": "The tax for the total shipping cost.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shippingOption": { + "type": "string", + "description": "The requested shipping option.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "TestOrderCustomer": { + "id": "TestOrderCustomer", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email address of the customer.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "explicitMarketingPreference": { + "type": "boolean", + "description": "If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. Optional." + }, + "fullName": { + "type": "string", + "description": "Full name of the customer." + } + } + }, + "TestOrderLineItem": { + "id": "TestOrderLineItem", + "type": "object", + "properties": { + "product": { + "$ref": "TestOrderLineItemProduct", + "description": "Product data from the time of the order placement." + }, + "quantityOrdered": { + "type": "integer", + "description": "Number of items ordered.", + "format": "uint32", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "returnInfo": { + "$ref": "OrderLineItemReturnInfo", + "description": "Details of the return policy for the line item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shippingDetails": { + "$ref": "OrderLineItemShippingDetails", + "description": "Details of the requested shipping for the line item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "unitTax": { + "$ref": "Price", + "description": "Unit tax for the line item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "TestOrderLineItemProduct": { + "id": "TestOrderLineItemProduct", + "type": "object", + "properties": { + "brand": { + "type": "string", + "description": "Brand of the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "channel": { + "type": "string", + "description": "The item's channel.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "condition": { + "type": "string", + "description": "Condition or state of the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "contentLanguage": { + "type": "string", + "description": "The two-letter ISO 639-1 language code for the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "gtin": { + "type": "string", + "description": "Global Trade Item Number (GTIN) of the item. Optional." + }, + "imageLink": { + "type": "string", + "description": "URL of an image of the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "itemGroupId": { + "type": "string", + "description": "Shared identifier for all variants of the same product. Optional." + }, + "mpn": { + "type": "string", + "description": "Manufacturer Part Number (MPN) of the item. Optional." + }, + "offerId": { + "type": "string", + "description": "An identifier of the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "price": { + "$ref": "Price", + "description": "The price for the product.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "targetCountry": { + "type": "string", + "description": "The CLDR territory code of the target country of the product.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "title": { + "type": "string", + "description": "The title of the product.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "variantAttributes": { + "type": "array", + "description": "Variant attributes for the item. Optional.", + "items": { + "$ref": "OrderLineItemProductVariantAttribute" + } + } + } + }, + "TestOrderPaymentMethod": { + "id": "TestOrderPaymentMethod", + "type": "object", + "properties": { + "expirationMonth": { + "type": "integer", + "description": "The card expiration month (January = 1, February = 2 etc.).", + "format": "int32" + }, + "expirationYear": { + "type": "integer", + "description": "The card expiration year (4-digit, e.g. 2015).", + "format": "int32" + }, + "lastFourDigits": { + "type": "string", + "description": "The last four digits of the card number." + }, + "predefinedBillingAddress": { + "type": "string", + "description": "The billing address." + }, + "type": { + "type": "string", + "description": "The type of instrument. Note that real orders might have different values than the four values accepted by createTestOrder." + } + } + }, "Weight": { "id": "Weight", "type": "object", @@ -3684,7 +5190,7 @@ "id": "content.inventory.custombatch", "path": "inventory/batch", "httpMethod": "POST", - "description": "Updates price and availability for multiple products or stores in a single request.", + "description": "Updates price and availability for multiple products or stores in a single request. This operation does not update the expiration date of the products.", "parameters": { "dryRun": { "type": "boolean", @@ -3706,7 +5212,7 @@ "id": "content.inventory.set", "path": "{merchantId}/inventory/{storeCode}/products/{productId}", "httpMethod": "POST", - "description": "Updates price and availability of a product in your Merchant Center account.", + "description": "Updates price and availability of a product in your Merchant Center account. This operation does not update the expiration date of the product.", "parameters": { "dryRun": { "type": "boolean", @@ -3750,6 +5256,551 @@ } } }, + "orders": { + "methods": { + "acknowledge": { + "id": "content.orders.acknowledge", + "path": "{merchantId}/orders/{orderId}/acknowledge", + "httpMethod": "POST", + "description": "Marks an order as acknowledged.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersAcknowledgeRequest" + }, + "response": { + "$ref": "OrdersAcknowledgeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "advancetestorder": { + "id": "content.orders.advancetestorder", + "path": "{merchantId}/testorders/{orderId}/advance", + "httpMethod": "POST", + "description": "Sandbox only. Moves a test order from state \"inProgress\" to state \"pendingShipment\".", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the test order to modify.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "response": { + "$ref": "OrdersAdvanceTestOrderResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "cancel": { + "id": "content.orders.cancel", + "path": "{merchantId}/orders/{orderId}/cancel", + "httpMethod": "POST", + "description": "Cancels all line items in an order.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order to cancel.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersCancelRequest" + }, + "response": { + "$ref": "OrdersCancelResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "cancellineitem": { + "id": "content.orders.cancellineitem", + "path": "{merchantId}/orders/{orderId}/cancelLineItem", + "httpMethod": "POST", + "description": "Cancels a line item.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersCancelLineItemRequest" + }, + "response": { + "$ref": "OrdersCancelLineItemResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "createtestorder": { + "id": "content.orders.createtestorder", + "path": "{merchantId}/testorders", + "httpMethod": "POST", + "description": "Sandbox only. Creates a test order.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + } + }, + "parameterOrder": [ + "merchantId" + ], + "request": { + "$ref": "OrdersCreateTestOrderRequest" + }, + "response": { + "$ref": "OrdersCreateTestOrderResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "custombatch": { + "id": "content.orders.custombatch", + "path": "orders/batch", + "httpMethod": "POST", + "description": "Retrieves or modifies multiple orders in a single request.", + "request": { + "$ref": "OrdersCustomBatchRequest" + }, + "response": { + "$ref": "OrdersCustomBatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "id": "content.orders.get", + "path": "{merchantId}/orders/{orderId}", + "httpMethod": "GET", + "description": "Retrieves an order from your Merchant Center account.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "response": { + "$ref": "Order" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "getbymerchantorderid": { + "id": "content.orders.getbymerchantorderid", + "path": "{merchantId}/ordersbymerchantid/{merchantOrderId}", + "httpMethod": "GET", + "description": "Retrieves an order using merchant order id.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "merchantOrderId": { + "type": "string", + "description": "The merchant order id to be looked for.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "merchantOrderId" + ], + "response": { + "$ref": "OrdersGetByMerchantOrderIdResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "gettestordertemplate": { + "id": "content.orders.gettestordertemplate", + "path": "{merchantId}/testordertemplates/{templateName}", + "httpMethod": "GET", + "description": "Sandbox only. Retrieves an order template that can be used to quickly create a new order in sandbox.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "templateName": { + "type": "string", + "description": "The name of the template to retrieve.", + "required": true, + "enum": [ + "template1", + "template2" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "templateName" + ], + "response": { + "$ref": "OrdersGetTestOrderTemplateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "id": "content.orders.list", + "path": "{merchantId}/orders", + "httpMethod": "GET", + "description": "Lists the orders in your Merchant Center account.", + "parameters": { + "acknowledged": { + "type": "boolean", + "description": "Obtains orders that match the acknowledgement status. When set to true, obtains orders that have been acknowledged. When false, obtains orders that have not been acknowledged.\nWe recommend using this filter set to false, in conjunction with the acknowledge call, such that only un-acknowledged orders are returned.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "The maximum number of orders to return in the response, used for paging. The default value is 25 orders per page, and the maximum allowed value is 250 orders per page.\nKnown issue: All List calls will return all Orders without limit regardless of the value of this field.", + "format": "uint32", + "location": "query" + }, + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderBy": { + "type": "string", + "description": "The ordering of the returned list. The only supported value are placedDate desc and placedDate asc for now, which returns orders sorted by placement date. \"placedDate desc\" stands for listing orders by placement date, from oldest to most recent. \"placedDate asc\" stands for listing orders by placement date, from most recent to oldest. In future releases we'll support other sorting criteria.", + "enum": [ + "placedDate asc", + "placedDate desc" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The token returned by the previous request.", + "location": "query" + }, + "placedDateEnd": { + "type": "string", + "description": "Obtains orders placed before this date (exclusively), in ISO 8601 format.", + "location": "query" + }, + "placedDateStart": { + "type": "string", + "description": "Obtains orders placed after this date (inclusively), in ISO 8601 format.", + "location": "query" + }, + "statuses": { + "type": "string", + "description": "Obtains orders that match any of the specified statuses. Multiple values can be specified with comma separation. Additionally, please note that active is a shortcut for pendingShipment and partiallyShipped, and completed is a shortcut for shipped , partiallyDelivered, delivered, partiallyReturned, returned, and canceled.", + "enum": [ + "active", + "canceled", + "completed", + "delivered", + "inProgress", + "partiallyDelivered", + "partiallyReturned", + "partiallyShipped", + "pendingShipment", + "returned", + "shipped" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "merchantId" + ], + "response": { + "$ref": "OrdersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "refund": { + "id": "content.orders.refund", + "path": "{merchantId}/orders/{orderId}/refund", + "httpMethod": "POST", + "description": "Refund a portion of the order, up to the full amount paid.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order to refund.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersRefundRequest" + }, + "response": { + "$ref": "OrdersRefundResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "returnlineitem": { + "id": "content.orders.returnlineitem", + "path": "{merchantId}/orders/{orderId}/returnLineItem", + "httpMethod": "POST", + "description": "Returns a line item.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersReturnLineItemRequest" + }, + "response": { + "$ref": "OrdersReturnLineItemResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "shiplineitems": { + "id": "content.orders.shiplineitems", + "path": "{merchantId}/orders/{orderId}/shipLineItems", + "httpMethod": "POST", + "description": "Marks line item(s) as shipped.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersShipLineItemsRequest" + }, + "response": { + "$ref": "OrdersShipLineItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updatemerchantorderid": { + "id": "content.orders.updatemerchantorderid", + "path": "{merchantId}/orders/{orderId}/updateMerchantOrderId", + "httpMethod": "POST", + "description": "Updates the merchant order ID for a given order.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersUpdateMerchantOrderIdRequest" + }, + "response": { + "$ref": "OrdersUpdateMerchantOrderIdResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateshipment": { + "id": "content.orders.updateshipment", + "path": "{merchantId}/orders/{orderId}/updateShipment", + "httpMethod": "POST", + "description": "Updates a shipment's status, carrier, and/or tracking ID.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersUpdateShipmentRequest" + }, + "response": { + "$ref": "OrdersUpdateShipmentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + }, "products": { "methods": { "custombatch": { diff --git a/etc/api/content/v2sandbox/content-api.json b/etc/api/content/v2sandbox/content-api.json new file mode 100644 index 0000000000..857102e3cf --- /dev/null +++ b/etc/api/content/v2sandbox/content-api.json @@ -0,0 +1,2175 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/7Iu5kMHrRHr5nelB0QQuq067Ovg\"", + "discoveryVersion": "v1", + "id": "content:v2sandbox", + "name": "content", + "canonicalName": "Shopping Content", + "version": "v2sandbox", + "revision": "20151002", + "title": "Content API for Shopping", + "description": "Manage product items, inventory, and Merchant Center accounts for Google Shopping.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/shopping-content", + "protocol": "rest", + "baseUrl": "https://www.googleapis.com/content/v2sandbox/", + "basePath": "/content/v2sandbox/", + "rootUrl": "https://www.googleapis.com/", + "servicePath": "content/v2sandbox/", + "batchPath": "batch", + "parameters": { + "alt": { + "type": "string", + "description": "Data format for the response.", + "default": "json", + "enum": [ + "json" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json" + ], + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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. Overrides userIp if both are provided.", + "location": "query" + }, + "userIp": { + "type": "string", + "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/content": { + "description": "Manage your product listings and accounts for Google Shopping" + } + } + } + }, + "schemas": { + "Error": { + "id": "Error", + "type": "object", + "description": "An error returned by the API.", + "properties": { + "domain": { + "type": "string", + "description": "The domain of the error." + }, + "message": { + "type": "string", + "description": "A description of the error." + }, + "reason": { + "type": "string", + "description": "The error code." + } + } + }, + "Errors": { + "id": "Errors", + "type": "object", + "description": "A list of errors returned by a failed batch entry.", + "properties": { + "code": { + "type": "integer", + "description": "The HTTP status of the first error in errors.", + "format": "uint32" + }, + "errors": { + "type": "array", + "description": "A list of errors.", + "items": { + "$ref": "Error" + } + }, + "message": { + "type": "string", + "description": "The message of the first error in errors." + } + } + }, + "Order": { + "id": "Order", + "type": "object", + "properties": { + "acknowledged": { + "type": "boolean", + "description": "Whether the order was acknowledged." + }, + "customer": { + "$ref": "OrderCustomer", + "description": "The details of the customer who placed the order." + }, + "deliveryDetails": { + "$ref": "OrderDeliveryDetails", + "description": "The details for the delivery." + }, + "id": { + "type": "string", + "description": "The REST id of the order. Globally unique." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#order\".", + "default": "content#order" + }, + "lineItems": { + "type": "array", + "description": "Line items that are ordered.", + "items": { + "$ref": "OrderLineItem" + } + }, + "merchantId": { + "type": "string", + "format": "uint64" + }, + "merchantOrderId": { + "type": "string", + "description": "Merchant-provided id of the order." + }, + "netAmount": { + "$ref": "Price", + "description": "The net amount for the order. For example, if an order was originally for a grand total of $100 and a refund was issued for $20, the net amount will be $80." + }, + "paymentMethod": { + "$ref": "OrderPaymentMethod", + "description": "The details of the payment method." + }, + "paymentStatus": { + "type": "string", + "description": "The status of the payment." + }, + "placedDate": { + "type": "string", + "description": "The date when the order was placed, in ISO 8601 format." + }, + "refunds": { + "type": "array", + "description": "Refunds for the order.", + "items": { + "$ref": "OrderRefund" + } + }, + "shipments": { + "type": "array", + "description": "Shipments of the order.", + "items": { + "$ref": "OrderShipment" + } + }, + "shippingCost": { + "$ref": "Price", + "description": "The total cost of shipping for all items." + }, + "shippingCostTax": { + "$ref": "Price", + "description": "The tax for the total shipping cost." + }, + "shippingOption": { + "type": "string", + "description": "The requested shipping option." + }, + "status": { + "type": "string", + "description": "The status of the order." + } + } + }, + "OrderAddress": { + "id": "OrderAddress", + "type": "object", + "properties": { + "country": { + "type": "string", + "description": "CLDR country code (e.g. \"US\")." + }, + "fullAddress": { + "type": "array", + "description": "Strings representing the lines of the printed label for mailing the order, for example:\nJohn Smith\n1600 Amphitheatre Parkway\nMountain View, CA, 94043\nUnited States", + "items": { + "type": "string" + } + }, + "isPostOfficeBox": { + "type": "boolean", + "description": "Whether the address is a post office box." + }, + "locality": { + "type": "string", + "description": "City, town or commune. May also include dependent localities or sublocalities (e.g. neighborhoods or suburbs)." + }, + "postalCode": { + "type": "string", + "description": "Postal Code or ZIP (e.g. \"94043\")." + }, + "recipientName": { + "type": "string", + "description": "Name of the recipient." + }, + "region": { + "type": "string", + "description": "Top-level administrative subdivision of the country (e.g. \"CA\")." + }, + "streetAddress": { + "type": "array", + "description": "Street-level part of the address.", + "items": { + "type": "string" + } + } + } + }, + "OrderCancellation": { + "id": "OrderCancellation", + "type": "object", + "properties": { + "actor": { + "type": "string", + "description": "The actor that created the cancellation." + }, + "creationDate": { + "type": "string", + "description": "Date on which the cancellation has been created, in ISO 8601 format." + }, + "quantity": { + "type": "integer", + "description": "The quantity that was canceled.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrderCustomer": { + "id": "OrderCustomer", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email address of the customer." + }, + "explicitMarketingPreference": { + "type": "boolean", + "description": "If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow." + }, + "fullName": { + "type": "string", + "description": "Full name of the customer." + } + } + }, + "OrderDeliveryDetails": { + "id": "OrderDeliveryDetails", + "type": "object", + "properties": { + "address": { + "$ref": "OrderAddress", + "description": "The delivery address" + }, + "phoneNumber": { + "type": "string", + "description": "The phone number of the person receiving the delivery." + } + } + }, + "OrderLineItem": { + "id": "OrderLineItem", + "type": "object", + "properties": { + "cancellations": { + "type": "array", + "description": "Cancellations of the line item.", + "items": { + "$ref": "OrderCancellation" + } + }, + "id": { + "type": "string", + "description": "The id of the line item." + }, + "price": { + "$ref": "Price", + "description": "Total price for the line item. For example, if two items for $10 are purchased, the total price will be $20." + }, + "product": { + "$ref": "OrderLineItemProduct", + "description": "Product data from the time of the order placement." + }, + "quantityCanceled": { + "type": "integer", + "description": "Number of items canceled.", + "format": "uint32" + }, + "quantityDelivered": { + "type": "integer", + "description": "Number of items delivered.", + "format": "uint32" + }, + "quantityOrdered": { + "type": "integer", + "description": "Number of items ordered.", + "format": "uint32" + }, + "quantityPending": { + "type": "integer", + "description": "Number of items pending.", + "format": "uint32" + }, + "quantityReturned": { + "type": "integer", + "description": "Number of items returned.", + "format": "uint32" + }, + "quantityShipped": { + "type": "integer", + "description": "Number of items shipped.", + "format": "uint32" + }, + "returnInfo": { + "$ref": "OrderLineItemReturnInfo", + "description": "Details of the return policy for the line item." + }, + "returns": { + "type": "array", + "description": "Returns of the line item.", + "items": { + "$ref": "OrderReturn" + } + }, + "shippingDetails": { + "$ref": "OrderLineItemShippingDetails", + "description": "Details of the requested shipping for the line item." + }, + "tax": { + "$ref": "Price", + "description": "Total tax amount for the line item. For example, if two items are purchased, and each have a cost tax of $2, the total tax amount will be $4." + } + } + }, + "OrderLineItemProduct": { + "id": "OrderLineItemProduct", + "type": "object", + "properties": { + "brand": { + "type": "string", + "description": "Brand of the item." + }, + "channel": { + "type": "string", + "description": "The item's channel (online or local)." + }, + "condition": { + "type": "string", + "description": "Condition or state of the item." + }, + "contentLanguage": { + "type": "string", + "description": "The two-letter ISO 639-1 language code for the item." + }, + "gtin": { + "type": "string", + "description": "Global Trade Item Number (GTIN) of the item." + }, + "id": { + "type": "string", + "description": "The REST id of the product." + }, + "imageLink": { + "type": "string", + "description": "URL of an image of the item." + }, + "itemGroupId": { + "type": "string", + "description": "Shared identifier for all variants of the same product." + }, + "mpn": { + "type": "string", + "description": "Manufacturer Part Number (MPN) of the item." + }, + "offerId": { + "type": "string", + "description": "An identifier of the item." + }, + "price": { + "$ref": "Price", + "description": "Price of the item." + }, + "shownImage": { + "type": "string", + "description": "URL to the cached image shown to the user when order was placed." + }, + "targetCountry": { + "type": "string", + "description": "The CLDR territory code of the target country of the product." + }, + "title": { + "type": "string", + "description": "The title of the product." + }, + "variantAttributes": { + "type": "array", + "description": "Variant attributes for the item. These are dimensions of the product, such as color, gender, material, pattern, and size. You can find a comprehensive list of variant attributes here.", + "items": { + "$ref": "OrderLineItemProductVariantAttribute" + } + } + } + }, + "OrderLineItemProductVariantAttribute": { + "id": "OrderLineItemProductVariantAttribute", + "type": "object", + "properties": { + "dimension": { + "type": "string", + "description": "The dimension of the variant." + }, + "value": { + "type": "string", + "description": "The value for the dimension." + } + } + }, + "OrderLineItemReturnInfo": { + "id": "OrderLineItemReturnInfo", + "type": "object", + "properties": { + "daysToReturn": { + "type": "integer", + "description": "How many days later the item can be returned.", + "format": "int32", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "isReturnable": { + "type": "boolean", + "description": "Whether the item is returnable.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "policyUrl": { + "type": "string", + "description": "URL of the item return policy.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "OrderLineItemShippingDetails": { + "id": "OrderLineItemShippingDetails", + "type": "object", + "properties": { + "deliverByDate": { + "type": "string", + "description": "The delivery by date, in ISO 8601 format.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "method": { + "$ref": "OrderLineItemShippingDetailsMethod", + "description": "Details of the shipping method.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shipByDate": { + "type": "string", + "description": "The ship by date, in ISO 8601 format.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "OrderLineItemShippingDetailsMethod": { + "id": "OrderLineItemShippingDetailsMethod", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier for the shipping. Optional." + }, + "maxDaysInTransit": { + "type": "integer", + "description": "Maximum transit time.", + "format": "uint32", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "methodName": { + "type": "string", + "description": "The name of the shipping method.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "minDaysInTransit": { + "type": "integer", + "description": "Minimum transit time.", + "format": "uint32", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "OrderPaymentMethod": { + "id": "OrderPaymentMethod", + "type": "object", + "properties": { + "billingAddress": { + "$ref": "OrderAddress", + "description": "The billing address." + }, + "expirationMonth": { + "type": "integer", + "description": "The card expiration month (January = 1, February = 2 etc.).", + "format": "int32" + }, + "expirationYear": { + "type": "integer", + "description": "The card expiration year (4-digit, e.g. 2015).", + "format": "int32" + }, + "lastFourDigits": { + "type": "string", + "description": "The last four digits of the card number." + }, + "phoneNumber": { + "type": "string", + "description": "The billing phone number." + }, + "type": { + "type": "string", + "description": "The type of instrument (VISA, Mastercard, etc)." + } + } + }, + "OrderRefund": { + "id": "OrderRefund", + "type": "object", + "properties": { + "actor": { + "type": "string", + "description": "The actor that created the refund." + }, + "amount": { + "$ref": "Price", + "description": "The amount that is refunded." + }, + "creationDate": { + "type": "string", + "description": "Date on which the item has been created, in ISO 8601 format." + }, + "reason": { + "type": "string", + "description": "The reason for the refund." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrderReturn": { + "id": "OrderReturn", + "type": "object", + "properties": { + "actor": { + "type": "string", + "description": "The actor that created the refund." + }, + "creationDate": { + "type": "string", + "description": "Date on which the item has been created, in ISO 8601 format." + }, + "quantity": { + "type": "integer", + "description": "Quantity that is returned.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the return." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrderShipment": { + "id": "OrderShipment", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment." + }, + "creationDate": { + "type": "string", + "description": "Date on which the shipment has been created, in ISO 8601 format." + }, + "deliveryDate": { + "type": "string", + "description": "Date on which the shipment has been delivered, in ISO 8601 format. Present only if status is delievered" + }, + "id": { + "type": "string", + "description": "The id of the shipment." + }, + "lineItems": { + "type": "array", + "description": "The line items that are shipped.", + "items": { + "$ref": "OrderShipmentLineItemShipment" + } + }, + "status": { + "type": "string", + "description": "The status of the shipment." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment." + } + } + }, + "OrderShipmentLineItemShipment": { + "id": "OrderShipmentLineItemShipment", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The id of the line item that is shipped." + }, + "quantity": { + "type": "integer", + "description": "The quantity that is shipped.", + "format": "uint32" + } + } + }, + "OrdersAcknowledgeRequest": { + "id": "OrdersAcknowledgeRequest", + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + } + } + }, + "OrdersAcknowledgeResponse": { + "id": "OrdersAcknowledgeResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersAcknowledgeResponse\".", + "default": "content#ordersAcknowledgeResponse" + } + } + }, + "OrdersAdvanceTestOrderResponse": { + "id": "OrdersAdvanceTestOrderResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersAdvanceTestOrderResponse\".", + "default": "content#ordersAdvanceTestOrderResponse" + } + } + }, + "OrdersCancelLineItemRequest": { + "id": "OrdersCancelLineItemRequest", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The ID of the line item to cancel." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "quantity": { + "type": "integer", + "description": "The quantity to cancel.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCancelLineItemResponse": { + "id": "OrdersCancelLineItemResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelLineItemResponse\".", + "default": "content#ordersCancelLineItemResponse" + } + } + }, + "OrdersCancelRequest": { + "id": "OrdersCancelRequest", + "type": "object", + "properties": { + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCancelResponse": { + "id": "OrdersCancelResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCancelResponse\".", + "default": "content#ordersCancelResponse" + } + } + }, + "OrdersCreateTestOrderRequest": { + "id": "OrdersCreateTestOrderRequest", + "type": "object", + "properties": { + "templateName": { + "type": "string", + "description": "The test order template to use. Specify as an alternative to testOrder as a shortcut for retrieving a template and then creating an order using that template." + }, + "testOrder": { + "$ref": "TestOrder", + "description": "The test order to create." + } + } + }, + "OrdersCreateTestOrderResponse": { + "id": "OrdersCreateTestOrderResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCreateTestOrderResponse\".", + "default": "content#ordersCreateTestOrderResponse" + }, + "orderId": { + "type": "string", + "description": "The ID of the newly created test order." + } + } + }, + "OrdersCustomBatchRequest": { + "id": "OrdersCustomBatchRequest", + "type": "object", + "properties": { + "entries": { + "type": "array", + "description": "The request entries to be processed in the batch.", + "items": { + "$ref": "OrdersCustomBatchRequestEntry" + } + } + } + }, + "OrdersCustomBatchRequestEntry": { + "id": "OrdersCustomBatchRequestEntry", + "type": "object", + "properties": { + "batchId": { + "type": "integer", + "description": "An entry ID, unique within the batch request.", + "format": "uint32" + }, + "cancel": { + "$ref": "OrdersCustomBatchRequestEntryCancel", + "description": "Required for cancel method." + }, + "cancelLineItem": { + "$ref": "OrdersCustomBatchRequestEntryCancelLineItem", + "description": "Required for cancelLineItem method." + }, + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "format": "uint64" + }, + "merchantOrderId": { + "type": "string", + "description": "The merchant order id. Required for updateMerchantOrderId and getByMerchantOrderId methods." + }, + "method": { + "type": "string", + "description": "The method to apply." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order. Required for all methods beside get and getByMerchantOrderId." + }, + "orderId": { + "type": "string", + "description": "The ID of the order. Required for all methods beside getByMerchantOrderId." + }, + "refund": { + "$ref": "OrdersCustomBatchRequestEntryRefund", + "description": "Required for refund method." + }, + "returnLineItem": { + "$ref": "OrdersCustomBatchRequestEntryReturnLineItem", + "description": "Required for returnLineItem method." + }, + "shipLineItems": { + "$ref": "OrdersCustomBatchRequestEntryShipLineItems", + "description": "Required for shipLineItems method." + }, + "updateShipment": { + "$ref": "OrdersCustomBatchRequestEntryUpdateShipment", + "description": "Required for updateShipment method." + } + } + }, + "OrdersCustomBatchRequestEntryCancel": { + "id": "OrdersCustomBatchRequestEntryCancel", + "type": "object", + "properties": { + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCustomBatchRequestEntryCancelLineItem": { + "id": "OrdersCustomBatchRequestEntryCancelLineItem", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The ID of the line item to cancel." + }, + "quantity": { + "type": "integer", + "description": "The quantity to cancel.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the cancellation." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCustomBatchRequestEntryRefund": { + "id": "OrdersCustomBatchRequestEntryRefund", + "type": "object", + "properties": { + "amount": { + "$ref": "Price", + "description": "The amount that is refunded." + }, + "reason": { + "type": "string", + "description": "The reason for the refund." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCustomBatchRequestEntryReturnLineItem": { + "id": "OrdersCustomBatchRequestEntryReturnLineItem", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The ID of the line item to return." + }, + "quantity": { + "type": "integer", + "description": "The quantity to return.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the return." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersCustomBatchRequestEntryShipLineItems": { + "id": "OrdersCustomBatchRequestEntryShipLineItems", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment." + }, + "lineItems": { + "type": "array", + "description": "Line items to ship.", + "items": { + "$ref": "OrderShipmentLineItemShipment" + } + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment." + } + } + }, + "OrdersCustomBatchRequestEntryUpdateShipment": { + "id": "OrdersCustomBatchRequestEntryUpdateShipment", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment. Not updated if missing." + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment." + }, + "status": { + "type": "string", + "description": "New status for the shipment. Not updated if missing." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment. Not updated if missing." + } + } + }, + "OrdersCustomBatchResponse": { + "id": "OrdersCustomBatchResponse", + "type": "object", + "properties": { + "entries": { + "type": "array", + "description": "The result of the execution of the batch requests.", + "items": { + "$ref": "OrdersCustomBatchResponseEntry" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCustomBatchResponse\".", + "default": "content#ordersCustomBatchResponse" + } + } + }, + "OrdersCustomBatchResponseEntry": { + "id": "OrdersCustomBatchResponseEntry", + "type": "object", + "properties": { + "batchId": { + "type": "integer", + "description": "The ID of the request entry this entry responds to.", + "format": "uint32" + }, + "errors": { + "$ref": "Errors", + "description": "A list of errors defined if and only if the request failed." + }, + "executionStatus": { + "type": "string", + "description": "The status of the execution. Only defined if the method is not get or getByMerchantOrderId and if the request was successful." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersCustomBatchResponseEntry\".", + "default": "content#ordersCustomBatchResponseEntry" + }, + "order": { + "$ref": "Order", + "description": "The retrieved order. Only defined if the method is get and if the request was successful." + } + } + }, + "OrdersGetByMerchantOrderIdResponse": { + "id": "OrdersGetByMerchantOrderIdResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersGetByMerchantOrderIdResponse\".", + "default": "content#ordersGetByMerchantOrderIdResponse" + }, + "order": { + "$ref": "Order", + "description": "The requested order." + } + } + }, + "OrdersGetTestOrderTemplateResponse": { + "id": "OrdersGetTestOrderTemplateResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersGetTestOrderTemplateResponse\".", + "default": "content#ordersGetTestOrderTemplateResponse" + }, + "template": { + "$ref": "TestOrder", + "description": "The requested test order template." + } + } + }, + "OrdersListResponse": { + "id": "OrdersListResponse", + "type": "object", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersListResponse\".", + "default": "content#ordersListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "The token for the retrieval of the next page of orders." + }, + "resources": { + "type": "array", + "items": { + "$ref": "Order" + } + } + } + }, + "OrdersRefundRequest": { + "id": "OrdersRefundRequest", + "type": "object", + "properties": { + "amount": { + "$ref": "Price", + "description": "The amount that is refunded." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "reason": { + "type": "string", + "description": "The reason for the refund." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersRefundResponse": { + "id": "OrdersRefundResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersRefundResponse\".", + "default": "content#ordersRefundResponse" + } + } + }, + "OrdersReturnLineItemRequest": { + "id": "OrdersReturnLineItemRequest", + "type": "object", + "properties": { + "lineItemId": { + "type": "string", + "description": "The ID of the line item to return." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "quantity": { + "type": "integer", + "description": "The quantity to return.", + "format": "uint32" + }, + "reason": { + "type": "string", + "description": "The reason for the return." + }, + "reasonText": { + "type": "string", + "description": "The explanation of the reason." + } + } + }, + "OrdersReturnLineItemResponse": { + "id": "OrdersReturnLineItemResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersReturnLineItemResponse\".", + "default": "content#ordersReturnLineItemResponse" + } + } + }, + "OrdersShipLineItemsRequest": { + "id": "OrdersShipLineItemsRequest", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment." + }, + "lineItems": { + "type": "array", + "description": "Line items to ship.", + "items": { + "$ref": "OrderShipmentLineItemShipment" + } + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment." + } + } + }, + "OrdersShipLineItemsResponse": { + "id": "OrdersShipLineItemsResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersShipLineItemsResponse\".", + "default": "content#ordersShipLineItemsResponse" + } + } + }, + "OrdersUpdateMerchantOrderIdRequest": { + "id": "OrdersUpdateMerchantOrderIdRequest", + "type": "object", + "properties": { + "merchantOrderId": { + "type": "string", + "description": "The merchant order id to be assigned to the order. Must be unique per merchant." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + } + } + }, + "OrdersUpdateMerchantOrderIdResponse": { + "id": "OrdersUpdateMerchantOrderIdResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateMerchantOrderIdResponse\".", + "default": "content#ordersUpdateMerchantOrderIdResponse" + } + } + }, + "OrdersUpdateShipmentRequest": { + "id": "OrdersUpdateShipmentRequest", + "type": "object", + "properties": { + "carrier": { + "type": "string", + "description": "The carrier handling the shipment. Not updated if missing." + }, + "operationId": { + "type": "string", + "description": "The ID of the operation. Unique across all operations for a given order." + }, + "shipmentId": { + "type": "string", + "description": "The ID of the shipment." + }, + "status": { + "type": "string", + "description": "New status for the shipment. Not updated if missing." + }, + "trackingId": { + "type": "string", + "description": "The tracking id for the shipment. Not updated if missing." + } + } + }, + "OrdersUpdateShipmentResponse": { + "id": "OrdersUpdateShipmentResponse", + "type": "object", + "properties": { + "executionStatus": { + "type": "string", + "description": "The status of the execution." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#ordersUpdateShipmentResponse\".", + "default": "content#ordersUpdateShipmentResponse" + } + } + }, + "Price": { + "id": "Price", + "type": "object", + "properties": { + "currency": { + "type": "string", + "description": "The currency of the price." + }, + "value": { + "type": "string", + "description": "The price represented as a number." + } + } + }, + "TestOrder": { + "id": "TestOrder", + "type": "object", + "properties": { + "customer": { + "$ref": "TestOrderCustomer", + "description": "The details of the customer who placed the order.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"content#testOrder\".", + "default": "content#testOrder" + }, + "lineItems": { + "type": "array", + "description": "Line items that are ordered. At least one line item must be provided.", + "items": { + "$ref": "TestOrderLineItem" + }, + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "paymentMethod": { + "$ref": "TestOrderPaymentMethod", + "description": "The details of the payment method." + }, + "predefinedDeliveryAddress": { + "type": "string", + "description": "Identifier of one of the predefined delivery addresses for the delivery.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shippingCost": { + "$ref": "Price", + "description": "The total cost of shipping for all items.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shippingCostTax": { + "$ref": "Price", + "description": "The tax for the total shipping cost.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shippingOption": { + "type": "string", + "description": "The requested shipping option.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "TestOrderCustomer": { + "id": "TestOrderCustomer", + "type": "object", + "properties": { + "email": { + "type": "string", + "description": "Email address of the customer.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "explicitMarketingPreference": { + "type": "boolean", + "description": "If set, this indicates the user had a choice to opt in or out of providing marketing rights to the merchant. If unset, this indicates the user has already made this choice in a previous purchase, and was thus not shown the marketing right opt in/out checkbox during the Purchases on Google checkout flow. Optional." + }, + "fullName": { + "type": "string", + "description": "Full name of the customer." + } + } + }, + "TestOrderLineItem": { + "id": "TestOrderLineItem", + "type": "object", + "properties": { + "product": { + "$ref": "TestOrderLineItemProduct", + "description": "Product data from the time of the order placement." + }, + "quantityOrdered": { + "type": "integer", + "description": "Number of items ordered.", + "format": "uint32", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "returnInfo": { + "$ref": "OrderLineItemReturnInfo", + "description": "Details of the return policy for the line item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "shippingDetails": { + "$ref": "OrderLineItemShippingDetails", + "description": "Details of the requested shipping for the line item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "unitTax": { + "$ref": "Price", + "description": "Unit tax for the line item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + } + } + }, + "TestOrderLineItemProduct": { + "id": "TestOrderLineItemProduct", + "type": "object", + "properties": { + "brand": { + "type": "string", + "description": "Brand of the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "channel": { + "type": "string", + "description": "The item's channel.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "condition": { + "type": "string", + "description": "Condition or state of the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "contentLanguage": { + "type": "string", + "description": "The two-letter ISO 639-1 language code for the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "gtin": { + "type": "string", + "description": "Global Trade Item Number (GTIN) of the item. Optional." + }, + "imageLink": { + "type": "string", + "description": "URL of an image of the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "itemGroupId": { + "type": "string", + "description": "Shared identifier for all variants of the same product. Optional." + }, + "mpn": { + "type": "string", + "description": "Manufacturer Part Number (MPN) of the item. Optional." + }, + "offerId": { + "type": "string", + "description": "An identifier of the item.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "price": { + "$ref": "Price", + "description": "The price for the product.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "targetCountry": { + "type": "string", + "description": "The CLDR territory code of the target country of the product.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "title": { + "type": "string", + "description": "The title of the product.", + "annotations": { + "required": [ + "content.orders.createtestorder" + ] + } + }, + "variantAttributes": { + "type": "array", + "description": "Variant attributes for the item. Optional.", + "items": { + "$ref": "OrderLineItemProductVariantAttribute" + } + } + } + }, + "TestOrderPaymentMethod": { + "id": "TestOrderPaymentMethod", + "type": "object", + "properties": { + "expirationMonth": { + "type": "integer", + "description": "The card expiration month (January = 1, February = 2 etc.).", + "format": "int32" + }, + "expirationYear": { + "type": "integer", + "description": "The card expiration year (4-digit, e.g. 2015).", + "format": "int32" + }, + "lastFourDigits": { + "type": "string", + "description": "The last four digits of the card number." + }, + "predefinedBillingAddress": { + "type": "string", + "description": "The billing address." + }, + "type": { + "type": "string", + "description": "The type of instrument. Note that real orders might have different values than the four values accepted by createTestOrder." + } + } + } + }, + "resources": { + "orders": { + "methods": { + "acknowledge": { + "id": "content.orders.acknowledge", + "path": "{merchantId}/orders/{orderId}/acknowledge", + "httpMethod": "POST", + "description": "Marks an order as acknowledged.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersAcknowledgeRequest" + }, + "response": { + "$ref": "OrdersAcknowledgeResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "advancetestorder": { + "id": "content.orders.advancetestorder", + "path": "{merchantId}/testorders/{orderId}/advance", + "httpMethod": "POST", + "description": "Sandbox only. Moves a test order from state \"inProgress\" to state \"pendingShipment\".", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the test order to modify.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "response": { + "$ref": "OrdersAdvanceTestOrderResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "cancel": { + "id": "content.orders.cancel", + "path": "{merchantId}/orders/{orderId}/cancel", + "httpMethod": "POST", + "description": "Cancels all line items in an order.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order to cancel.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersCancelRequest" + }, + "response": { + "$ref": "OrdersCancelResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "cancellineitem": { + "id": "content.orders.cancellineitem", + "path": "{merchantId}/orders/{orderId}/cancelLineItem", + "httpMethod": "POST", + "description": "Cancels a line item.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersCancelLineItemRequest" + }, + "response": { + "$ref": "OrdersCancelLineItemResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "createtestorder": { + "id": "content.orders.createtestorder", + "path": "{merchantId}/testorders", + "httpMethod": "POST", + "description": "Sandbox only. Creates a test order.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + } + }, + "parameterOrder": [ + "merchantId" + ], + "request": { + "$ref": "OrdersCreateTestOrderRequest" + }, + "response": { + "$ref": "OrdersCreateTestOrderResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "custombatch": { + "id": "content.orders.custombatch", + "path": "orders/batch", + "httpMethod": "POST", + "description": "Retrieves or modifies multiple orders in a single request.", + "request": { + "$ref": "OrdersCustomBatchRequest" + }, + "response": { + "$ref": "OrdersCustomBatchResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "get": { + "id": "content.orders.get", + "path": "{merchantId}/orders/{orderId}", + "httpMethod": "GET", + "description": "Retrieves an order from your Merchant Center account.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "response": { + "$ref": "Order" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "getbymerchantorderid": { + "id": "content.orders.getbymerchantorderid", + "path": "{merchantId}/ordersbymerchantid/{merchantOrderId}", + "httpMethod": "GET", + "description": "Retrieves an order using merchant order id.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "merchantOrderId": { + "type": "string", + "description": "The merchant order id to be looked for.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "merchantOrderId" + ], + "response": { + "$ref": "OrdersGetByMerchantOrderIdResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "gettestordertemplate": { + "id": "content.orders.gettestordertemplate", + "path": "{merchantId}/testordertemplates/{templateName}", + "httpMethod": "GET", + "description": "Sandbox only. Retrieves an order template that can be used to quickly create a new order in sandbox.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "templateName": { + "type": "string", + "description": "The name of the template to retrieve.", + "required": true, + "enum": [ + "template1", + "template2" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "templateName" + ], + "response": { + "$ref": "OrdersGetTestOrderTemplateResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "list": { + "id": "content.orders.list", + "path": "{merchantId}/orders", + "httpMethod": "GET", + "description": "Lists the orders in your Merchant Center account.", + "parameters": { + "acknowledged": { + "type": "boolean", + "description": "Obtains orders that match the acknowledgement status. When set to true, obtains orders that have been acknowledged. When false, obtains orders that have not been acknowledged.\nWe recommend using this filter set to false, in conjunction with the acknowledge call, such that only un-acknowledged orders are returned.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "The maximum number of orders to return in the response, used for paging. The default value is 25 orders per page, and the maximum allowed value is 250 orders per page.\nKnown issue: All List calls will return all Orders without limit regardless of the value of this field.", + "format": "uint32", + "location": "query" + }, + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderBy": { + "type": "string", + "description": "The ordering of the returned list. The only supported value are placedDate desc and placedDate asc for now, which returns orders sorted by placement date. \"placedDate desc\" stands for listing orders by placement date, from oldest to most recent. \"placedDate asc\" stands for listing orders by placement date, from most recent to oldest. In future releases we'll support other sorting criteria.", + "enum": [ + "placedDate asc", + "placedDate desc" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The token returned by the previous request.", + "location": "query" + }, + "placedDateEnd": { + "type": "string", + "description": "Obtains orders placed before this date (exclusively), in ISO 8601 format.", + "location": "query" + }, + "placedDateStart": { + "type": "string", + "description": "Obtains orders placed after this date (inclusively), in ISO 8601 format.", + "location": "query" + }, + "statuses": { + "type": "string", + "description": "Obtains orders that match any of the specified statuses. Multiple values can be specified with comma separation. Additionally, please note that active is a shortcut for pendingShipment and partiallyShipped, and completed is a shortcut for shipped , partiallyDelivered, delivered, partiallyReturned, returned, and canceled.", + "enum": [ + "active", + "canceled", + "completed", + "delivered", + "inProgress", + "partiallyDelivered", + "partiallyReturned", + "partiallyShipped", + "pendingShipment", + "returned", + "shipped" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "merchantId" + ], + "response": { + "$ref": "OrdersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "refund": { + "id": "content.orders.refund", + "path": "{merchantId}/orders/{orderId}/refund", + "httpMethod": "POST", + "description": "Refund a portion of the order, up to the full amount paid.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order to refund.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersRefundRequest" + }, + "response": { + "$ref": "OrdersRefundResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "returnlineitem": { + "id": "content.orders.returnlineitem", + "path": "{merchantId}/orders/{orderId}/returnLineItem", + "httpMethod": "POST", + "description": "Returns a line item.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersReturnLineItemRequest" + }, + "response": { + "$ref": "OrdersReturnLineItemResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "shiplineitems": { + "id": "content.orders.shiplineitems", + "path": "{merchantId}/orders/{orderId}/shipLineItems", + "httpMethod": "POST", + "description": "Marks line item(s) as shipped.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersShipLineItemsRequest" + }, + "response": { + "$ref": "OrdersShipLineItemsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updatemerchantorderid": { + "id": "content.orders.updatemerchantorderid", + "path": "{merchantId}/orders/{orderId}/updateMerchantOrderId", + "httpMethod": "POST", + "description": "Updates the merchant order ID for a given order.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersUpdateMerchantOrderIdRequest" + }, + "response": { + "$ref": "OrdersUpdateMerchantOrderIdResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + }, + "updateshipment": { + "id": "content.orders.updateshipment", + "path": "{merchantId}/orders/{orderId}/updateShipment", + "httpMethod": "POST", + "description": "Updates a shipment's status, carrier, and/or tracking ID.", + "parameters": { + "merchantId": { + "type": "string", + "description": "The ID of the managing account.", + "required": true, + "format": "uint64", + "location": "path" + }, + "orderId": { + "type": "string", + "description": "The ID of the order.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "merchantId", + "orderId" + ], + "request": { + "$ref": "OrdersUpdateShipmentRequest" + }, + "response": { + "$ref": "OrdersUpdateShipmentResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/content" + ] + } + } + } + } +} diff --git a/etc/api/coordinate/v1/coordinate-api.json b/etc/api/coordinate/v1/coordinate-api.json index 958af3154d..d749cf9aff 100644 --- a/etc/api/coordinate/v1/coordinate-api.json +++ b/etc/api/coordinate/v1/coordinate-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Oe1OM8HbjTHLlKoRM5huCxnk-hs\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/RNf67Qs-KGgGShWEZ1M0BbfJUQg\"", "discoveryVersion": "v1", "id": "coordinate:v1", "name": "coordinate", "version": "v1", - "revision": "20141215", + "revision": "20150811", "title": "Google Maps Coordinate API", "description": "Lets you view and manage jobs in a Coordinate team.", "ownerDomain": "google.com", @@ -694,6 +694,11 @@ "format": "uint64", "location": "query" }, + "omitJobChanges": { + "type": "boolean", + "description": "Whether to omit detail job history information.", + "location": "query" + }, "pageToken": { "type": "string", "description": "Continuation token", diff --git a/etc/api/dataflow/v1b3/dataflow-api.json b/etc/api/dataflow/v1b3/dataflow-api.json index eaf0b6d684..91f6b9981b 100644 --- a/etc/api/dataflow/v1b3/dataflow-api.json +++ b/etc/api/dataflow/v1b3/dataflow-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/zns4Y3D5E2S2gwCEbkUlMZNgyY0\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/5KuD_AhxWtT--XElMYogfy5V-SU\"", "discoveryVersion": "v1", "id": "dataflow:v1b3", "name": "dataflow", "version": "v1b3", - "revision": "20150322", + "revision": "20150401", "title": "Google Dataflow API", "description": "Google Dataflow API.", "ownerDomain": "google.com", @@ -14,26 +14,40 @@ "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "documentationLink": "", + "documentationLink": "https://cloud.google.com/dataflow", "protocol": "rest", - "baseUrl": "https://dataflow.googleapis.com/v1b3/projects/", - "basePath": "/v1b3/projects/", + "baseUrl": "https://dataflow.googleapis.com/", + "basePath": "/", "rootUrl": "https://dataflow.googleapis.com/", - "servicePath": "v1b3/projects/", + "servicePath": "", "batchPath": "batch", "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, "alt": { "type": "string", - "description": "Data format for the response.", + "description": "Data format for response.", "default": "json", - "enum": [ - "json" - ], "enumDescriptions": [ - "Responses with Content-Type of application/json" + "Responses with Content-Type of application/json", + "Media download with context-dependent Content-Type", + "Responses with Content-Type of application/x-protobuf" ], "location": "query" }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, "fields": { "type": "string", "description": "Selector specifying which fields to include in a partial response.", @@ -49,6 +63,12 @@ "description": "OAuth 2.0 token for the current user.", "location": "query" }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, "prettyPrint": { "type": "boolean", "description": "Returns response with indentations and line breaks.", @@ -57,12 +77,26 @@ }, "quotaUser": { "type": "string", - "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. Overrides userIp if both are provided.", + "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" }, - "userIp": { + "upload_protocol": { "type": "string", - "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], "location": "query" } }, @@ -79,359 +113,473 @@ } }, "schemas": { - "ApproximateProgress": { - "id": "ApproximateProgress", + "Job": { + "id": "Job", "type": "object", + "description": "Defines a job to be run by the Dataflow service.", "properties": { - "percentComplete": { - "type": "number", - "format": "float" - }, - "position": { - "$ref": "Position" - }, - "remainingTime": { - "type": "string" - } - } - }, - "AutoscalingSettings": { - "id": "AutoscalingSettings", - "type": "object", - "properties": { - "algorithm": { + "id": { "type": "string", + "description": "The unique ID of this job. This field is set by the Dataflow service when the Job is created, and is immutable for the life of the Job." + }, + "projectId": { + "type": "string", + "description": "The project which owns the job." + }, + "name": { + "type": "string", + "description": "The user-specified Dataflow job name. Only one Job with a given name may exist in a project at any given time. If a caller attempts to create a Job with the same name as an already-existing Job, the attempt will return the existing Job. The name must match the regular expression [a-z]([-a-z0-9]{0,38}[a-z0-9])?" + }, + "type": { + "type": "string", + "description": "The type of dataflow job.", "enum": [ - "AUTOSCALING_ALGORITHM_BASIC", - "AUTOSCALING_ALGORITHM_NONE", - "AUTOSCALING_ALGORITHM_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "" + "JOB_TYPE_UNKNOWN", + "JOB_TYPE_BATCH", + "JOB_TYPE_STREAMING" ] }, - "maxNumWorkers": { - "type": "integer", - "format": "int32" - } - } - }, - "ComputationTopology": { - "id": "ComputationTopology", - "type": "object", - "properties": { - "computationId": { - "type": "string" + "environment": { + "$ref": "Environment", + "description": "Environment for the job." }, - "inputs": { + "steps": { "type": "array", + "description": "The top-level steps that constitute the entire job.", "items": { - "$ref": "StreamLocation" + "$ref": "Step" } }, - "keyRanges": { - "type": "array", - "items": { - "$ref": "KeyRangeLocation" - } + "currentState": { + "type": "string", + "description": "The current state of the job. Jobs are created in the JOB_STATE_STOPPED state unless otherwise specified. A job in the JOB_STATE_RUNNING state may asynchronously enter a terminal state. Once a job has reached a terminal state, no further state updates may be made. This field may be mutated by the Dataflow service; callers cannot mutate it.", + "enum": [ + "JOB_STATE_UNKNOWN", + "JOB_STATE_STOPPED", + "JOB_STATE_RUNNING", + "JOB_STATE_DONE", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLED", + "JOB_STATE_UPDATED" + ] }, - "outputs": { - "type": "array", - "items": { - "$ref": "StreamLocation" - } + "currentStateTime": { + "type": "string", + "description": "The timestamp associated with the current state." }, - "systemStageName": { - "type": "string" + "requestedState": { + "type": "string", + "description": "The job's requested state. UpdateJob may be used to switch between the JOB_STATE_STOPPED and JOB_STATE_RUNNING states, by setting requested_state. UpdateJob may also be used to directly set a job's requested state to JOB_STATE_CANCELLED or JOB_STATE_DONE, irrevocably terminating the job if it has not already reached a terminal state.", + "enum": [ + "JOB_STATE_UNKNOWN", + "JOB_STATE_STOPPED", + "JOB_STATE_RUNNING", + "JOB_STATE_DONE", + "JOB_STATE_FAILED", + "JOB_STATE_CANCELLED", + "JOB_STATE_UPDATED" + ] }, - "userStageName": { - "type": "string" - } - } - }, - "CustomSourceLocation": { - "id": "CustomSourceLocation", - "type": "object", - "properties": { - "stateful": { - "type": "boolean" - } - } - }, - "DataDiskAssignment": { - "id": "DataDiskAssignment", - "type": "object", - "properties": { - "dataDisks": { - "type": "array", - "items": { + "executionInfo": { + "$ref": "JobExecutionInfo", + "description": "Information about how the Dataflow service will actually run the job." + }, + "createTime": { + "type": "string", + "description": "Timestamp when job was initially created. Immutable, set by the Dataflow service." + }, + "replaceJobId": { + "type": "string", + "description": "If this job is an update of an existing job, this field will be the ID of the job it replaced. When sending a CreateJobRequest, you can update a job by specifying it here. The job named here will be stopped, and its intermediate state transferred to this job." + }, + "transformNameMapping": { + "type": "object", + "description": "Map of transform name prefixes of the job to be replaced to the corresponding name prefixes of the new job.", + "additionalProperties": { "type": "string" } }, - "vmInstance": { - "type": "string" - } - } - }, - "DerivedSource": { - "id": "DerivedSource", - "type": "object", - "properties": { - "derivationMode": { + "clientRequestId": { "type": "string", - "enum": [ - "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", - "SOURCE_DERIVATION_MODE_INDEPENDENT", - "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT", - "SOURCE_DERIVATION_MODE_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ] + "description": "Client's unique identifier of the job, re-used by SDK across retried attempts. If this field is set, the service will ensure its uniqueness. That is, the request to create a job will fail if the service has knowledge of a previously submitted job with the same client's id and job name. The caller may, for example, use this field to ensure idempotence of job creation across retried attempts to create a job. By default, the field is empty and, in that case, the service ignores it." }, - "source": { - "$ref": "Source" - } - } - }, - "Disk": { - "id": "Disk", - "type": "object", - "properties": { - "diskType": { - "type": "string" - }, - "mountPoint": { - "type": "string" - }, - "sizeGb": { - "type": "integer", - "format": "int32" - } - } - }, - "DynamicSourceSplit": { - "id": "DynamicSourceSplit", - "type": "object", - "properties": { - "primary": { - "$ref": "DerivedSource" - }, - "residual": { - "$ref": "DerivedSource" + "replacedByJobId": { + "type": "string", + "description": "If another job is an update of this job (and thus, this job is in JOB_STATE_UPDATED), this field will contain the ID of that job." } } }, "Environment": { "id": "Environment", "type": "object", + "description": "Describes the environment in which a Dataflow Job runs.", "properties": { - "clusterManagerApiService": { - "type": "string" + "tempStoragePrefix": { + "type": "string", + "description": "The prefix of the resources the system should use for temporary storage. The system will append the suffix \"/temp-{JOBNAME} to this resource prefix, where {JOBNAME} is the value of the job_name field. The resulting bucket and object prefix is used as the prefix of the resources used to store temporary data needed during the job execution. NOTE: This will override the value in taskrunner_settings. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}" }, - "dataset": { - "type": "string" + "clusterManagerApiService": { + "type": "string", + "description": "The type of cluster manager API to use. If unknown or unspecified, the service will attempt to choose a reasonable default. This should be in the form of the API service name, e.g. \"compute.googleapis.com\"." }, "experiments": { "type": "array", + "description": "The list of experiments to enable.", "items": { "type": "string" } }, - "internalExperiments": { - "type": "object", - "additionalProperties": { - "type": "any" - } - }, - "sdkPipelineOptions": { - "type": "object", - "additionalProperties": { - "type": "any" - } - }, - "tempStoragePrefix": { - "type": "string" - }, - "userAgent": { - "type": "object", - "additionalProperties": { - "type": "any" - } - }, - "version": { - "type": "object", - "additionalProperties": { - "type": "any" - } - }, "workerPools": { "type": "array", + "description": "Worker pools. At least one \"harness\" worker pool must be specified in order for the job to have workers.", "items": { "$ref": "WorkerPool" } - } - } - }, - "FlattenInstruction": { - "id": "FlattenInstruction", - "type": "object", - "properties": { - "inputs": { - "type": "array", - "items": { - "$ref": "InstructionInput" - } - } - } - }, - "GoogleprotobufValue": { - "id": "GoogleprotobufValue", - "type": "any" - }, - "InstructionInput": { - "id": "InstructionInput", - "type": "object", - "properties": { - "outputNum": { - "type": "integer", - "format": "int32" }, - "producerInstructionIndex": { - "type": "integer", - "format": "int32" - } - } - }, - "InstructionOutput": { - "id": "InstructionOutput", - "type": "object", - "properties": { - "codec": { + "userAgent": { "type": "object", + "description": "A description of the process that generated the request.", "additionalProperties": { - "type": "any" + "type": "any", + "description": "Properties of the object." } }, - "name": { - "type": "string" + "version": { + "type": "object", + "description": "A structure describing which components and their versions of the service are required in order to run the job.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "dataset": { + "type": "string", + "description": "The dataset for the current project where various workflow related tables are stored. The supported resource type is: Google BigQuery: bigquery.googleapis.com/{dataset}" + }, + "sdkPipelineOptions": { + "type": "object", + "description": "The Dataflow SDK pipeline options specified by the user. These options are passed through the service and are used to recreate the SDK pipeline options on the worker in a language agnostic and platform independent way.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "internalExperiments": { + "type": "object", + "description": "Experimental settings.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } } } }, - "Job": { - "id": "Job", + "WorkerPool": { + "id": "WorkerPool", "type": "object", + "description": "Describes one particular pool of Dataflow workers to be instantiated by the Dataflow service in order to perform the computations required by a job. Note that a workflow job may use multiple pools, in order to match the various computational requirements of the various stages of the job.", "properties": { - "clientRequestId": { - "type": "string" - }, - "createTime": { - "type": "string" - }, - "currentState": { + "kind": { "type": "string", - "enum": [ - "JOB_STATE_CANCELLED", - "JOB_STATE_DONE", - "JOB_STATE_FAILED", - "JOB_STATE_RUNNING", - "JOB_STATE_STOPPED", - "JOB_STATE_UNKNOWN", - "JOB_STATE_UPDATED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ] + "description": "The kind of the worker pool; currently only 'harness' and 'shuffle' are supported." }, - "currentStateTime": { - "type": "string" + "numWorkers": { + "type": "integer", + "description": "Number of Google Compute Engine workers in this pool needed to execute the job. If zero or unspecified, the service will attempt to choose a reasonable default.", + "format": "int32" }, - "environment": { - "$ref": "Environment" - }, - "executionInfo": { - "$ref": "JobExecutionInfo" - }, - "id": { - "type": "string" - }, - "name": { - "type": "string" - }, - "projectId": { - "type": "string" - }, - "replaceJobId": { - "type": "string" - }, - "replacedByJobId": { - "type": "string" - }, - "requestedState": { - "type": "string", - "enum": [ - "JOB_STATE_CANCELLED", - "JOB_STATE_DONE", - "JOB_STATE_FAILED", - "JOB_STATE_RUNNING", - "JOB_STATE_STOPPED", - "JOB_STATE_UNKNOWN", - "JOB_STATE_UPDATED" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "" - ] - }, - "steps": { + "packages": { "type": "array", + "description": "Packages to be installed on workers.", "items": { - "$ref": "Step" + "$ref": "Package" } }, - "transformNameMapping": { + "defaultPackageSet": { + "type": "string", + "description": "The default package set to install. This allows the service to select a default set of packages which are useful to worker harnesses written in a particular language.", + "enum": [ + "DEFAULT_PACKAGE_SET_UNKNOWN", + "DEFAULT_PACKAGE_SET_NONE", + "DEFAULT_PACKAGE_SET_JAVA", + "DEFAULT_PACKAGE_SET_PYTHON" + ] + }, + "machineType": { + "type": "string", + "description": "Machine type (e.g. \"n1-standard-1\"). If empty or unspecified, the service will attempt to choose a reasonable default." + }, + "teardownPolicy": { + "type": "string", + "description": "Sets the policy for determining when to turndown worker pool. Allowed values are: TEARDOWN_ALWAYS, TEARDOWN_ON_SUCCESS, and TEARDOWN_NEVER. TEARDOWN_ALWAYS means workers are always torn down regardless of whether the job succeeds. TEARDOWN_ON_SUCCESS means workers are torn down if the job succeeds. TEARDOWN_NEVER means the workers are never torn down. If the workers are not torn down by the service, they will continue to run and use Google Compute Engine VM resources in the user's project until they are explicitly terminated by the user. Because of this, Google recommends using the TEARDOWN_ALWAYS policy except for small, manually supervised test jobs. If unknown or unspecified, the service will attempt to choose a reasonable default.", + "enum": [ + "TEARDOWN_POLICY_UNKNOWN", + "TEARDOWN_ALWAYS", + "TEARDOWN_ON_SUCCESS", + "TEARDOWN_NEVER" + ] + }, + "diskSizeGb": { + "type": "integer", + "description": "Size of root disk for VMs, in GB. If zero or unspecified, the service will attempt to choose a reasonable default.", + "format": "int32" + }, + "diskType": { + "type": "string", + "description": "Type of root disk for VMs. If empty or unspecified, the service will attempt to choose a reasonable default." + }, + "diskSourceImage": { + "type": "string", + "description": "Fully qualified source image for disks." + }, + "zone": { + "type": "string", + "description": "Zone to run the worker pools in (e.g. \"us-central1-b\"). If empty or unspecified, the service will attempt to choose a reasonable default." + }, + "taskrunnerSettings": { + "$ref": "TaskRunnerSettings", + "description": "Settings passed through to Google Compute Engine workers when using the standard Dataflow task runner. Users should ignore this field." + }, + "onHostMaintenance": { + "type": "string", + "description": "The action to take on host maintenance, as defined by the Google Compute Engine API." + }, + "dataDisks": { + "type": "array", + "description": "Data disks that are used by a VM in this workflow.", + "items": { + "$ref": "Disk" + } + }, + "metadata": { "type": "object", + "description": "Metadata to set on the Google Compute Engine VMs.", "additionalProperties": { "type": "string" } }, - "type": { + "autoscalingSettings": { + "$ref": "AutoscalingSettings", + "description": "Settings for autoscaling of this WorkerPool." + }, + "poolArgs": { + "type": "object", + "description": "Extra arguments for this worker pool.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + }, + "network": { "type": "string", + "description": "Network to which VMs will be assigned. If empty or unspecified, the service will use the network \"default\"." + } + } + }, + "Package": { + "id": "Package", + "type": "object", + "description": "Packages that need to be installed in order for a worker to run the steps of the Dataflow job which will be assigned to its worker pool. This is the mechanism by which the SDK causes code to be loaded onto the workers. For example, the Dataflow Java SDK might use this to install jars containing the user's code and all of the various dependencies (libraries, data files, etc) required in order for that code to run.", + "properties": { + "name": { + "type": "string", + "description": "The name of the package." + }, + "location": { + "type": "string", + "description": "The resource to read the package from. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket} bucket.storage.googleapis.com/" + } + } + }, + "TaskRunnerSettings": { + "id": "TaskRunnerSettings", + "type": "object", + "description": "Taskrunner configuration settings.", + "properties": { + "taskUser": { + "type": "string", + "description": "The UNIX user ID on the worker VM to use for tasks launched by taskrunner; e.g. \"root\"." + }, + "taskGroup": { + "type": "string", + "description": "The UNIX group ID on the worker VM to use for tasks launched by taskrunner; e.g. \"wheel\"." + }, + "oauthScopes": { + "type": "array", + "description": "OAuth2 scopes to be requested by the taskrunner in order to access the dataflow API.", + "items": { + "type": "string" + } + }, + "baseUrl": { + "type": "string", + "description": "The base URL for the taskrunner to use when accessing Google Cloud APIs. When workers access Google Cloud APIs, they logically do so via relative URLs. If this field is specified, it supplies the base URL to use for resolving these relative URLs. The normative algorithm used is defined by RFC 1808, \"Relative Uniform Resource Locators\". If not specified, the default value is \"http://www.googleapis.com/\"" + }, + "dataflowApiVersion": { + "type": "string", + "description": "API version of endpoint, e.g. \"v1b3\"" + }, + "parallelWorkerSettings": { + "$ref": "WorkerSettings", + "description": "Settings to pass to the parallel worker harness." + }, + "baseTaskDir": { + "type": "string", + "description": "Location on the worker for task-specific subdirectories." + }, + "continueOnException": { + "type": "boolean", + "description": "Do we continue taskrunner if an exception is hit?" + }, + "logToSerialconsole": { + "type": "boolean", + "description": "Send taskrunner log into to Google Compute Engine VM serial console?" + }, + "alsologtostderr": { + "type": "boolean", + "description": "Also send taskrunner log info to stderr?" + }, + "logUploadLocation": { + "type": "string", + "description": "Indicates where to put logs. If this is not specified, the logs will not be uploaded. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}" + }, + "logDir": { + "type": "string", + "description": "Directory on the VM to store logs." + }, + "tempStoragePrefix": { + "type": "string", + "description": "The prefix of the resources the taskrunner should use for temporary storage. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}" + }, + "harnessCommand": { + "type": "string", + "description": "Command to launch the worker harness." + }, + "workflowFileName": { + "type": "string", + "description": "Store the workflow in this file." + }, + "commandlinesFileName": { + "type": "string", + "description": "Store preprocessing commands in this file." + }, + "vmId": { + "type": "string", + "description": "ID string of VM." + }, + "languageHint": { + "type": "string", + "description": "Suggested backend language." + }, + "streamingWorkerMainClass": { + "type": "string", + "description": "Streaming worker main class name." + } + } + }, + "WorkerSettings": { + "id": "WorkerSettings", + "type": "object", + "description": "Provides data to pass through to the worker harness.", + "properties": { + "baseUrl": { + "type": "string", + "description": "The base URL for accessing Google Cloud APIs. When workers access Google Cloud APIs, they logically do so via relative URLs. If this field is specified, it supplies the base URL to use for resolving these relative URLs. The normative algorithm used is defined by RFC 1808, \"Relative Uniform Resource Locators\". If not specified, the default value is \"http://www.googleapis.com/\"" + }, + "reportingEnabled": { + "type": "boolean", + "description": "Send work progress updates to service." + }, + "servicePath": { + "type": "string", + "description": "The Dataflow service path relative to the root URL, for example, \"dataflow/v1b3/projects\"." + }, + "shuffleServicePath": { + "type": "string", + "description": "The Shuffle service path relative to the root URL, for example, \"shuffle/v1beta1\"." + }, + "workerId": { + "type": "string", + "description": "ID of the worker running this pipeline." + }, + "tempStoragePrefix": { + "type": "string", + "description": "The prefix of the resources the system should use for temporary storage. The supported resource type is: Google Cloud Storage: storage.googleapis.com/{bucket}/{object} bucket.storage.googleapis.com/{object}" + } + } + }, + "Disk": { + "id": "Disk", + "type": "object", + "description": "Describes the data disk used by a workflow job.", + "properties": { + "sizeGb": { + "type": "integer", + "description": "Size of disk in GB. If zero or unspecified, the service will attempt to choose a reasonable default.", + "format": "int32" + }, + "diskType": { + "type": "string", + "description": "Disk storage type, as defined by Google Compute Engine. This must be a disk type appropriate to the project and zone in which the workers will run. If unknown or unspecified, the service will attempt to choose a reasonable default. For example, the standard persistent disk type is a resource name typically ending in \"pd-standard\". If SSD persistent disks are available, the resource name typically ends with \"pd-ssd\". The actual valid values are defined the Google Compute Engine API, not by the Dataflow API; consult the Google Compute Engine documentation for more information about determining the set of available disk types for a particular project and zone. Google Compute Engine Disk types are local to a particular project in a particular zone, and so the resource name will typically look something like this: compute.googleapis.com/projects/\n/zones//diskTypes/pd-standard" + }, + "mountPoint": { + "type": "string", + "description": "Directory in a VM where disk is mounted." + } + } + }, + "AutoscalingSettings": { + "id": "AutoscalingSettings", + "type": "object", + "description": "Settings for WorkerPool autoscaling.", + "properties": { + "algorithm": { + "type": "string", + "description": "The algorithm to use for autoscaling.", "enum": [ - "JOB_TYPE_BATCH", - "JOB_TYPE_STREAMING", - "JOB_TYPE_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "" + "AUTOSCALING_ALGORITHM_UNKNOWN", + "AUTOSCALING_ALGORITHM_NONE", + "AUTOSCALING_ALGORITHM_BASIC" ] + }, + "maxNumWorkers": { + "type": "integer", + "description": "The maximum number of workers to cap scaling at.", + "format": "int32" + } + } + }, + "Step": { + "id": "Step", + "type": "object", + "description": "Defines a particular step within a Dataflow job. A job consists of multiple steps, each of which performs some specific operation as part of the overall job. Data is typically passed from one step to another as part of the job. Here's an example of a sequence of steps which together implement a Map-Reduce job: * Read a collection of data from some source, parsing the collection's elements. * Validate the elements. * Apply a user-defined function to map each element to some value and extract an element-specific key value. * Group elements with the same key into a single element with that key, transforming a multiply-keyed collection into a uniquely-keyed collection. * Write the elements out to some data sink. (Note that the Dataflow service may be used to run many different types of jobs, not just Map-Reduce).", + "properties": { + "kind": { + "type": "string", + "description": "The kind of step in the dataflow Job." + }, + "name": { + "type": "string", + "description": "Name identifying the step. This must be unique for each step with respect to all other steps in the dataflow Job." + }, + "properties": { + "type": "object", + "description": "Named properties associated with the step. Each kind of predefined step has its own required set of properties.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } } } }, "JobExecutionInfo": { "id": "JobExecutionInfo", "type": "object", + "description": "Additional information about how a Dataflow job will be executed which isn’t contained in the submitted job.", "properties": { "stages": { "type": "object", + "description": "A mapping from each stage to the information about that stage.", "additionalProperties": { "$ref": "JobExecutionStageInfo" } @@ -441,696 +589,480 @@ "JobExecutionStageInfo": { "id": "JobExecutionStageInfo", "type": "object", + "description": "Contains information about how a particular [google.dataflow.v1beta3.Step][google.dataflow.v1beta3.Step] will be executed.", "properties": { "stepName": { "type": "array", + "description": "The steps associated with the execution stage. Note that stages may have several steps, and that a given step might be run by more than one stage.", "items": { "type": "string" } } } }, - "JobMessage": { - "id": "JobMessage", - "type": "object", - "properties": { - "id": { - "type": "string" - }, - "messageImportance": { - "type": "string", - "enum": [ - "JOB_MESSAGE_BASIC", - "JOB_MESSAGE_DEBUG", - "JOB_MESSAGE_DETAILED", - "JOB_MESSAGE_ERROR", - "JOB_MESSAGE_IMPORTANCE_UNKNOWN", - "JOB_MESSAGE_WARNING" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" - ] - }, - "messageText": { - "type": "string" - }, - "time": { - "type": "string" - } - } - }, - "JobMetrics": { - "id": "JobMetrics", - "type": "object", - "properties": { - "metricTime": { - "type": "string" - }, - "metrics": { - "type": "array", - "items": { - "$ref": "MetricUpdate" - } - } - } - }, - "KeyRangeDataDiskAssignment": { - "id": "KeyRangeDataDiskAssignment", - "type": "object", - "properties": { - "dataDisk": { - "type": "string" - }, - "end": { - "type": "string" - }, - "start": { - "type": "string" - } - } - }, - "KeyRangeLocation": { - "id": "KeyRangeLocation", - "type": "object", - "properties": { - "dataDisk": { - "type": "string" - }, - "deliveryEndpoint": { - "type": "string" - }, - "end": { - "type": "string" - }, - "persistentDirectory": { - "type": "string" - }, - "start": { - "type": "string" - } - } - }, - "LeaseWorkItemRequest": { - "id": "LeaseWorkItemRequest", - "type": "object", - "properties": { - "currentWorkerTime": { - "type": "string" - }, - "requestedLeaseDuration": { - "type": "string" - }, - "workItemTypes": { - "type": "array", - "items": { - "type": "string" - } - }, - "workerCapabilities": { - "type": "array", - "items": { - "type": "string" - } - }, - "workerId": { - "type": "string" - } - } - }, - "LeaseWorkItemResponse": { - "id": "LeaseWorkItemResponse", - "type": "object", - "properties": { - "workItems": { - "type": "array", - "items": { - "$ref": "WorkItem" - } - } - } - }, - "ListJobMessagesResponse": { - "id": "ListJobMessagesResponse", - "type": "object", - "properties": { - "jobMessages": { - "type": "array", - "items": { - "$ref": "JobMessage" - } - }, - "nextPageToken": { - "type": "string" - } - } - }, "ListJobsResponse": { "id": "ListJobsResponse", "type": "object", + "description": "Response to a request to list Dataflow jobs. This may be a partial response, depending on the page size in the ListJobsRequest.", "properties": { "jobs": { "type": "array", + "description": "A subset of the requested job information.", "items": { "$ref": "Job" } }, "nextPageToken": { - "type": "string" + "type": "string", + "description": "Set if there may be more results than fit in this response." } } }, - "MapTask": { - "id": "MapTask", + "ListJobMessagesResponse": { + "id": "ListJobMessagesResponse", "type": "object", + "description": "Response to a request to list job messages.", "properties": { - "instructions": { + "jobMessages": { "type": "array", + "description": "Messages in ascending timestamp order.", "items": { - "$ref": "ParallelInstruction" + "$ref": "JobMessage" } }, - "stageName": { - "type": "string" - }, - "systemName": { - "type": "string" + "nextPageToken": { + "type": "string", + "description": "The token to obtain the next page of results if there are more." } } }, - "MetricStructuredName": { - "id": "MetricStructuredName", + "JobMessage": { + "id": "JobMessage", "type": "object", + "description": "A particular message pertaining to a Dataflow job.", "properties": { - "context": { - "type": "object", - "additionalProperties": { - "type": "string" + "id": { + "type": "string", + "description": "Identifies the message. This is automatically generated by the service; the caller should treat it as an opaque string." + }, + "time": { + "type": "string", + "description": "The timestamp of the message." + }, + "messageText": { + "type": "string", + "description": "The text of the message." + }, + "messageImportance": { + "type": "string", + "description": "Importance level of the message.", + "enum": [ + "JOB_MESSAGE_IMPORTANCE_UNKNOWN", + "JOB_MESSAGE_DEBUG", + "JOB_MESSAGE_DETAILED", + "JOB_MESSAGE_BASIC", + "JOB_MESSAGE_WARNING", + "JOB_MESSAGE_ERROR" + ] + } + } + }, + "JobMetrics": { + "id": "JobMetrics", + "type": "object", + "description": "JobMetrics contains a collection of metrics descibing the detailed progress of a Dataflow job. Metrics correspond to user-defined and system-defined metrics in the job. This resource captures only the most recent values of each metric; time-series data can be queried for them (under the same metric names) from Cloud Monitoring.", + "properties": { + "metricTime": { + "type": "string", + "description": "Timestamp as of which metric values are current." + }, + "metrics": { + "type": "array", + "description": "All metrics for this job.", + "items": { + "$ref": "MetricUpdate" } - }, - "name": { - "type": "string" - }, - "origin": { - "type": "string" } } }, "MetricUpdate": { "id": "MetricUpdate", "type": "object", + "description": "Describes the state of a metric.", "properties": { - "cumulative": { - "type": "boolean" - }, - "internal": { - "$ref": "GoogleprotobufValue" + "name": { + "$ref": "MetricStructuredName", + "description": "Name of the metric." }, "kind": { - "type": "string" + "type": "string", + "description": "Metric aggregation kind. The possible metric aggregation kinds are \"Sum\", \"Max\", \"Min\", \"Mean\", \"Set\", \"And\", and \"Or\". The specified aggregation kind is case-insensitive. If omitted, this is not an aggregated value but instead a single metric sample value." }, - "meanCount": { - "$ref": "GoogleprotobufValue" - }, - "meanSum": { - "$ref": "GoogleprotobufValue" - }, - "name": { - "$ref": "MetricStructuredName" + "cumulative": { + "type": "boolean", + "description": "True if this metric is reported as the total cumulative aggregate value accumulated since the worker started working on this WorkItem. By default this is false, indicating that this metric is reported as a delta that is not associated with any WorkItem." }, "scalar": { - "$ref": "GoogleprotobufValue" + "type": "any", + "description": "Worker-computed aggregate value for aggregation kinds \"Sum\", \"Max\", \"Min\", \"And\", and \"Or\". The possible value types are Long, Double, and Boolean." + }, + "meanSum": { + "type": "any", + "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind. This holds the sum of the aggregated values and is used in combination with mean_count below to obtain the actual mean aggregate value. The only possible value types are Long and Double." + }, + "meanCount": { + "type": "any", + "description": "Worker-computed aggregate value for the \"Mean\" aggregation kind. This holds the count of the aggregated values and is used in combination with mean_sum above to obtain the actual mean aggregate value. The only possible value type is Long." }, "set": { - "$ref": "GoogleprotobufValue" + "type": "any", + "description": "Worker-computed aggregate value for the \"Set\" aggregation kind. The only possible value type is a list of Values whose type can be Long, Double, or String, according to the metric's type. All Values in the list must be of the same type." + }, + "internal": { + "type": "any", + "description": "Worker-computed aggregate value for internal use by the Dataflow service." }, "updateTime": { - "type": "string" + "type": "string", + "description": "Timestamp associated with the metric value. Optional when workers are reporting work progress; it will be filled in responses from the metrics API." } } }, - "MountedDataDisk": { - "id": "MountedDataDisk", + "MetricStructuredName": { + "id": "MetricStructuredName", "type": "object", + "description": "Identifies a metric, by describing the source which generated the metric.", "properties": { - "dataDisk": { - "type": "string" - } - } - }, - "MultiOutputInfo": { - "id": "MultiOutputInfo", - "type": "object", - "properties": { - "tag": { - "type": "string" - } - } - }, - "Package": { - "id": "Package", - "type": "object", - "properties": { - "location": { - "type": "string" + "origin": { + "type": "string", + "description": "Origin (namespace) of metric name. May be blank for user-define metrics; will be \"dataflow\" for metrics defined by the Dataflow service or SDK." }, "name": { - "type": "string" - } - } - }, - "ParDoInstruction": { - "id": "ParDoInstruction", - "type": "object", - "properties": { - "input": { - "$ref": "InstructionInput" - }, - "multiOutputInfos": { - "type": "array", - "items": { - "$ref": "MultiOutputInfo" - } - }, - "numOutputs": { - "type": "integer", - "format": "int32" - }, - "sideInputs": { - "type": "array", - "items": { - "$ref": "SideInputInfo" - } - }, - "userFn": { - "type": "object", - "additionalProperties": { - "type": "any" - } - } - } - }, - "ParallelInstruction": { - "id": "ParallelInstruction", - "type": "object", - "properties": { - "flatten": { - "$ref": "FlattenInstruction" - }, - "name": { - "type": "string" - }, - "outputs": { - "type": "array", - "items": { - "$ref": "InstructionOutput" - } - }, - "parDo": { - "$ref": "ParDoInstruction" - }, - "partialGroupByKey": { - "$ref": "PartialGroupByKeyInstruction" - }, - "read": { - "$ref": "ReadInstruction" - }, - "systemName": { - "type": "string" - }, - "write": { - "$ref": "WriteInstruction" - } - } - }, - "PartialGroupByKeyInstruction": { - "id": "PartialGroupByKeyInstruction", - "type": "object", - "properties": { - "input": { - "$ref": "InstructionInput" - }, - "inputElementCodec": { - "type": "object", - "additionalProperties": { - "type": "any" - } - }, - "valueCombiningFn": { - "type": "object", - "additionalProperties": { - "type": "any" - } - } - } - }, - "Position": { - "id": "Position", - "type": "object", - "properties": { - "byteOffset": { "type": "string", - "format": "int64" + "description": "Worker-defined metric name." }, - "end": { - "type": "boolean" - }, - "key": { - "type": "string" - }, - "recordIndex": { - "type": "string", - "format": "int64" - }, - "shufflePosition": { - "type": "string" - } - } - }, - "PubsubLocation": { - "id": "PubsubLocation", - "type": "object", - "properties": { - "dropLateData": { - "type": "boolean" - }, - "idLabel": { - "type": "string" - }, - "subscription": { - "type": "string" - }, - "timestampLabel": { - "type": "string" - }, - "topic": { - "type": "string" - }, - "trackingSubscription": { - "type": "string" - } - } - }, - "ReadInstruction": { - "id": "ReadInstruction", - "type": "object", - "properties": { - "source": { - "$ref": "Source" + "context": { + "type": "object", + "description": "Zero or more labeled fields which identify the part of the job this metric is associated with, such as the name of a step or collection. For example, built-in counters associated with steps will have context['step'] = . Counters associated with PCollections in the SDK will have context['pcollection'] =\n.", + "additionalProperties": { + "type": "string" + } } } }, "ReportWorkItemStatusRequest": { "id": "ReportWorkItemStatusRequest", "type": "object", + "description": "Request to report the status of WorkItems.", "properties": { - "currentWorkerTime": { - "type": "string" + "workerId": { + "type": "string", + "description": "The ID of the worker reporting the WorkItem status. If this does not match the ID of the worker which the Dataflow service believes currently has the lease on the WorkItem, the report will be dropped (with an error response)." }, "workItemStatuses": { "type": "array", + "description": "The order is unimportant, except that the order of the WorkItemServiceState messages in the ReportWorkItemStatusResponse corresponds to the order of WorkItemStatus messages here.", "items": { "$ref": "WorkItemStatus" } }, - "workerId": { - "type": "string" + "currentWorkerTime": { + "type": "string", + "description": "The current timestamp at the worker." } } }, - "ReportWorkItemStatusResponse": { - "id": "ReportWorkItemStatusResponse", + "WorkItemStatus": { + "id": "WorkItemStatus", "type": "object", + "description": "Conveys a worker's progress through the work described by a WorkItem.", "properties": { - "workItemServiceStates": { + "workItemId": { + "type": "string", + "description": "Identifies the WorkItem." + }, + "reportIndex": { + "type": "string", + "description": "The report index. When a WorkItem is leased, the lease will contain an initial report index. When a WorkItem's status is reported to the system, the report should be sent with that report index, and the response will contain the index the worker should use for the next report. Reports received with unexpected index values will be rejected by the service. In order to preserve idempotency, the worker should not alter the contents of a report, even if the worker must submit the same report multiple times before getting back a response. The worker should not submit a subsequent report until the response for the previous report had been received from the service.", + "format": "int64" + }, + "requestedLeaseDuration": { + "type": "string", + "description": "Amount of time the worker requests for its lease." + }, + "completed": { + "type": "boolean", + "description": "True if the WorkItem was completed (successfully or unsuccessfully)." + }, + "errors": { "type": "array", + "description": "Specifies errors which occurred during processing. If errors are provided, and completed = true, then the WorkItem is considered to have failed.", "items": { - "$ref": "WorkItemServiceState" + "$ref": "Status" } - } - } - }, - "SeqMapTask": { - "id": "SeqMapTask", - "type": "object", - "properties": { - "inputs": { + }, + "metricUpdates": { "type": "array", + "description": "Worker output metrics (counters) for this WorkItem.", "items": { - "$ref": "SideInputInfo" + "$ref": "MetricUpdate" } }, - "name": { - "type": "string" + "progress": { + "$ref": "ApproximateProgress", + "description": "The WorkItem's approximate progress." }, - "outputInfos": { - "type": "array", - "items": { - "$ref": "SeqMapTaskOutputInfo" - } + "stopPosition": { + "$ref": "Position", + "description": "A worker may split an active map task in two parts, \"primary\" and \"residual\", continuing to process the primary part and returning the residual part into the pool of available work. This event is called a \"dynamic split\" and is critical to the dynamic work rebalancing feature. The two obtained sub-tasks are called \"parts\" of the split. The parts, if concatenated, must represent the same input as would be read by the current task if the split did not happen. The exact way in which the original task is decomposed into the two parts is specified either as a position demarcating them (stop_position), or explicitly as two DerivedSources, if this task consumes a user-defined source type (dynamic_source_split). The \"current\" task is adjusted as a result of the split: after a task with range [A, B) sends a stop_position update at C, its range is considered to be [A, C), e.g.: * Progress should be interpreted relative to the new range, e.g. \"75% completed\" means \"75% of [A, C) completed\" * The worker should interpret proposed_stop_position relative to the new range, e.g. \"split at 68%\" should be interpreted as \"split at 68% of [A, C)\". * If the worker chooses to split again using stop_position, only stop_positions in [A, C) will be accepted. * Etc. dynamic_source_split has similar semantics: e.g., if a task with source S splits using dynamic_source_split into {P, R} (where P and R must be together equivalent to S), then subsequent progress and proposed_stop_position should be interpreted relative to P, and in a potential subsequent dynamic_source_split into {P', R'}, P' and R' must be together equivalent to P, etc." }, - "stageName": { - "type": "string" + "dynamicSourceSplit": { + "$ref": "DynamicSourceSplit", + "description": "See documentation of stop_position." }, - "systemName": { - "type": "string" + "sourceOperationResponse": { + "$ref": "SourceOperationResponse", + "description": "If the work item represented a SourceOperationRequest, and the work is completed, contains the result of the operation." }, - "userFn": { - "type": "object", - "additionalProperties": { - "type": "any" - } + "sourceFork": { + "$ref": "SourceFork", + "description": "DEPRECATED in favor of dynamic_source_split." } } }, - "SeqMapTaskOutputInfo": { - "id": "SeqMapTaskOutputInfo", + "Status": { + "id": "Status", "type": "object", + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of [google.rpc.Code][], but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.", "properties": { - "sink": { - "$ref": "Sink" - }, - "tag": { - "type": "string" - } - } - }, - "ShellTask": { - "id": "ShellTask", - "type": "object", - "properties": { - "command": { - "type": "string" - }, - "exitCode": { + "code": { "type": "integer", + "description": "The status code, which should be an enum value of [google.rpc.Code][].", "format": "int32" - } - } - }, - "SideInputInfo": { - "id": "SideInputInfo", - "type": "object", - "properties": { - "kind": { - "type": "object", - "additionalProperties": { - "type": "any" - } }, - "sources": { + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." + }, + "details": { "type": "array", + "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", "items": { - "$ref": "Source" + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } } - }, - "tag": { - "type": "string" } } }, - "Sink": { - "id": "Sink", + "ApproximateProgress": { + "id": "ApproximateProgress", "type": "object", + "description": "A progress measurement of a WorkItem by a worker.", "properties": { - "codec": { - "type": "object", - "additionalProperties": { - "type": "any" - } + "position": { + "$ref": "Position", + "description": "A Position within the work to represent a progress." }, - "spec": { - "type": "object", - "additionalProperties": { - "type": "any" - } + "percentComplete": { + "type": "number", + "description": "Completion as percentage of the work, from 0.0 (beginning, nothing complete), to 1.0 (end of the work range, entire WorkItem complete).", + "format": "float" + }, + "remainingTime": { + "type": "string", + "description": "Completion as an estimated time remaining." + } + } + }, + "Position": { + "id": "Position", + "type": "object", + "description": "Position defines a position within a collection of data. The value can be either the end position, a key (used with ordered collections), a byte offset, or a record index.", + "properties": { + "end": { + "type": "boolean", + "description": "Position is past all other positions. Also useful for the end position of an unbounded range." + }, + "key": { + "type": "string", + "description": "Position is a string key, ordered lexicographically." + }, + "byteOffset": { + "type": "string", + "description": "Position is a byte offset.", + "format": "int64" + }, + "recordIndex": { + "type": "string", + "description": "Position is a record index.", + "format": "int64" + }, + "shufflePosition": { + "type": "string", + "description": "CloudPosition is a base64 encoded BatchShufflePosition (with FIXED sharding)." + }, + "concatPosition": { + "$ref": "ConcatPosition", + "description": "CloudPosition is a concat position." + } + } + }, + "ConcatPosition": { + "id": "ConcatPosition", + "type": "object", + "description": "A position that encapsulates an inner position and an index for the inner position. A ConcatPosition can be used by a reader of a source that encapsulates a set of other sources.", + "properties": { + "index": { + "type": "integer", + "description": "Index of the inner source.", + "format": "int32" + }, + "position": { + "$ref": "Position", + "description": "Position within the inner source." + } + } + }, + "DynamicSourceSplit": { + "id": "DynamicSourceSplit", + "type": "object", + "description": "When a task splits using WorkItemStatus.dynamic_source_split, this message describes the two parts of the split relative to the description of the current task's input.", + "properties": { + "primary": { + "$ref": "DerivedSource", + "description": "Primary part (continued to be processed by worker). Specified relative to the previously-current source. Becomes current." + }, + "residual": { + "$ref": "DerivedSource", + "description": "Residual part (returned to the pool of work). Specified relative to the previously-current source." + } + } + }, + "DerivedSource": { + "id": "DerivedSource", + "type": "object", + "description": "Specification of one of the bundles produced as a result of splitting a Source (e.g. when executing a SourceSplitRequest, or when splitting an active task using WorkItemStatus.dynamic_source_split), relative to the source being split.", + "properties": { + "source": { + "$ref": "Source", + "description": "Specification of the source." + }, + "derivationMode": { + "type": "string", + "description": "What source to base the produced source on (if any).", + "enum": [ + "SOURCE_DERIVATION_MODE_UNKNOWN", + "SOURCE_DERIVATION_MODE_INDEPENDENT", + "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", + "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" + ] } } }, "Source": { "id": "Source", "type": "object", + "description": "A source that records can be read and decoded from.", "properties": { - "baseSpecs": { - "type": "array", - "items": { - "type": "object", - "additionalProperties": { - "type": "any" - } + "spec": { + "type": "object", + "description": "The source to read from, plus its parameters.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." } }, "codec": { "type": "object", + "description": "The codec to use to decode data read from the source.", "additionalProperties": { - "type": "any" + "type": "any", + "description": "Properties of the object." } }, + "baseSpecs": { + "type": "array", + "description": "While splitting, sources may specify the produced bundles as differences against another source, in order to save backend-side memory and allow bigger jobs. For details, see SourceSplitRequest. To support this use case, the full set of parameters of the source is logically obtained by taking the latest explicitly specified value of each parameter in the order: base_specs (later items win), spec (overrides anything in base_specs).", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + }, + "metadata": { + "$ref": "SourceMetadata", + "description": "Optionally, metadata for this source can be supplied right away, avoiding a SourceGetMetadataOperation roundtrip (see SourceOperationRequest). This field is meaningful only in the Source objects populated by the user (e.g. when filling in a DerivedSource). Source objects supplied by the framework to the user don't have this field populated." + }, "doesNotNeedSplitting": { - "type": "boolean" - }, - "metadata": { - "$ref": "SourceMetadata" - }, - "spec": { - "type": "object", - "additionalProperties": { - "type": "any" - } - } - } - }, - "SourceFork": { - "id": "SourceFork", - "type": "object", - "properties": { - "primary": { - "$ref": "SourceSplitShard" - }, - "primarySource": { - "$ref": "DerivedSource" - }, - "residual": { - "$ref": "SourceSplitShard" - }, - "residualSource": { - "$ref": "DerivedSource" - } - } - }, - "SourceGetMetadataRequest": { - "id": "SourceGetMetadataRequest", - "type": "object", - "properties": { - "source": { - "$ref": "Source" - } - } - }, - "SourceGetMetadataResponse": { - "id": "SourceGetMetadataResponse", - "type": "object", - "properties": { - "metadata": { - "$ref": "SourceMetadata" + "type": "boolean", + "description": "Setting this value to true hints to the framework that the source doesn't need splitting, and using SourceSplitRequest on it would yield SOURCE_SPLIT_OUTCOME_USE_CURRENT. E.g. a file splitter may set this to true when splitting a single file into a set of byte ranges of appropriate size, and set this to false when splitting a filepattern into individual files. However, for efficiency, a file splitter may decide to produce file subranges directly from the filepattern to avoid a splitting round-trip. See SourceSplitRequest for an overview of the splitting process. This field is meaningful only in the Source objects populated by the user (e.g. when filling in a DerivedSource). Source objects supplied by the framework to the user don't have this field populated." } } }, "SourceMetadata": { "id": "SourceMetadata", "type": "object", + "description": "Metadata about a Source useful for automatically optimizing and tuning the pipeline, etc.", "properties": { - "estimatedSizeBytes": { - "type": "string", - "format": "int64" + "producesSortedKeys": { + "type": "boolean", + "description": "Whether this source is known to produce key/value pairs with the (encoded) keys in lexicographically sorted order." }, "infinite": { - "type": "boolean" + "type": "boolean", + "description": "Specifies that the size of this source is known to be infinite (this is a streaming source)." }, - "producesSortedKeys": { - "type": "boolean" - } - } - }, - "SourceOperationRequest": { - "id": "SourceOperationRequest", - "type": "object", - "properties": { - "getMetadata": { - "$ref": "SourceGetMetadataRequest" - }, - "split": { - "$ref": "SourceSplitRequest" + "estimatedSizeBytes": { + "type": "string", + "description": "An estimate of the total size (in bytes) of the data that would be read from this source. This estimate is in terms of external storage size, before any decompression or other processing done by the reader.", + "format": "int64" } } }, "SourceOperationResponse": { "id": "SourceOperationResponse", "type": "object", + "description": "The result of a SourceOperationRequest, specified in ReportWorkItemStatusRequest.source_operation when the work item is completed.", "properties": { - "getMetadata": { - "$ref": "SourceGetMetadataResponse" - }, "split": { - "$ref": "SourceSplitResponse" - } - } - }, - "SourceSplitOptions": { - "id": "SourceSplitOptions", - "type": "object", - "properties": { - "desiredBundleSizeBytes": { - "type": "string", - "format": "int64" + "$ref": "SourceSplitResponse", + "description": "A response to a request to split a source." }, - "desiredShardSizeBytes": { - "type": "string", - "format": "int64" - } - } - }, - "SourceSplitRequest": { - "id": "SourceSplitRequest", - "type": "object", - "properties": { - "options": { - "$ref": "SourceSplitOptions" - }, - "source": { - "$ref": "Source" + "getMetadata": { + "$ref": "SourceGetMetadataResponse", + "description": "A response to a request to get metadata about a source." } } }, "SourceSplitResponse": { "id": "SourceSplitResponse", "type": "object", + "description": "The response to a SourceSplitRequest.", "properties": { + "outcome": { + "type": "string", + "description": "Indicates whether splitting happened and produced a list of bundles. If this is USE_CURRENT_SOURCE_AS_IS, the current source should be processed \"as is\" without splitting. \"bundles\" is ignored in this case. If this is SPLITTING_HAPPENED, then \"bundles\" contains a list of bundles into which the source was split.", + "enum": [ + "SOURCE_SPLIT_OUTCOME_UNKNOWN", + "SOURCE_SPLIT_OUTCOME_USE_CURRENT", + "SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED" + ] + }, "bundles": { "type": "array", + "description": "If outcome is SPLITTING_HAPPENED, then this is a list of bundles into which the source was split. Otherwise this field is ignored. This list can be empty, which means the source represents an empty input.", "items": { "$ref": "DerivedSource" } }, - "outcome": { - "type": "string", - "enum": [ - "SOURCE_SPLIT_OUTCOME_SPLITTING_HAPPENED", - "SOURCE_SPLIT_OUTCOME_UNKNOWN", - "SOURCE_SPLIT_OUTCOME_USE_CURRENT" - ], - "enumDescriptions": [ - "", - "", - "" - ] - }, "shards": { "type": "array", + "description": "DEPRECATED in favor of bundles.", "items": { "$ref": "SourceSplitShard" } @@ -1140,511 +1072,944 @@ "SourceSplitShard": { "id": "SourceSplitShard", "type": "object", + "description": "DEPRECATED in favor of DerivedSource.", "properties": { + "source": { + "$ref": "Source", + "description": "DEPRECATED" + }, "derivationMode": { "type": "string", + "description": "DEPRECATED", "enum": [ - "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", + "SOURCE_DERIVATION_MODE_UNKNOWN", "SOURCE_DERIVATION_MODE_INDEPENDENT", - "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT", - "SOURCE_DERIVATION_MODE_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "", - "" + "SOURCE_DERIVATION_MODE_CHILD_OF_CURRENT", + "SOURCE_DERIVATION_MODE_SIBLING_OF_CURRENT" ] - }, - "source": { - "$ref": "Source" } } }, - "Status": { - "id": "Status", + "SourceGetMetadataResponse": { + "id": "SourceGetMetadataResponse", "type": "object", + "description": "The result of a SourceGetMetadataOperation.", "properties": { - "code": { - "type": "integer", - "format": "int32" + "metadata": { + "$ref": "SourceMetadata", + "description": "The computed metadata." + } + } + }, + "SourceFork": { + "id": "SourceFork", + "type": "object", + "description": "DEPRECATED in favor of DynamicSourceSplit.", + "properties": { + "primary": { + "$ref": "SourceSplitShard", + "description": "DEPRECATED" }, - "details": { + "residual": { + "$ref": "SourceSplitShard", + "description": "DEPRECATED" + }, + "primarySource": { + "$ref": "DerivedSource", + "description": "DEPRECATED" + }, + "residualSource": { + "$ref": "DerivedSource", + "description": "DEPRECATED" + } + } + }, + "ReportWorkItemStatusResponse": { + "id": "ReportWorkItemStatusResponse", + "type": "object", + "description": "Response from a request to report the status of WorkItems.", + "properties": { + "workItemServiceStates": { "type": "array", + "description": "A set of messages indicating the service-side state for each WorkItem whose status was reported, in the same order as the WorkItemStatus messages in the ReportWorkItemStatusRequest which resulting in this response.", "items": { - "type": "object", - "additionalProperties": { - "type": "any" - } - } - }, - "message": { - "type": "string" - } - } - }, - "Step": { - "id": "Step", - "type": "object", - "properties": { - "kind": { - "type": "string" - }, - "name": { - "type": "string" - }, - "properties": { - "type": "object", - "additionalProperties": { - "type": "any" + "$ref": "WorkItemServiceState" } } } }, - "StreamLocation": { - "id": "StreamLocation", + "WorkItemServiceState": { + "id": "WorkItemServiceState", "type": "object", + "description": "The Dataflow service's idea of the current state of a WorkItem being processed by a worker.", "properties": { - "customSourceLocation": { - "$ref": "CustomSourceLocation" + "suggestedStopPoint": { + "$ref": "ApproximateProgress", + "description": "The progress point in the WorkItem where the Dataflow service suggests that the worker truncate the task." }, - "pubsubLocation": { - "$ref": "PubsubLocation" - }, - "sideInputLocation": { - "$ref": "StreamingSideInputLocation" - }, - "streamingStageLocation": { - "$ref": "StreamingStageLocation" - } - } - }, - "StreamingComputationRanges": { - "id": "StreamingComputationRanges", - "type": "object", - "properties": { - "computationId": { - "type": "string" - }, - "rangeAssignments": { - "type": "array", - "items": { - "$ref": "KeyRangeDataDiskAssignment" - } - } - } - }, - "StreamingComputationTask": { - "id": "StreamingComputationTask", - "type": "object", - "properties": { - "computationRanges": { - "type": "array", - "items": { - "$ref": "StreamingComputationRanges" - } - }, - "dataDisks": { - "type": "array", - "items": { - "$ref": "MountedDataDisk" - } - }, - "taskType": { + "leaseExpireTime": { "type": "string", - "enum": [ - "STREAMING_COMPUTATION_TASK_START", - "STREAMING_COMPUTATION_TASK_STOP", - "STREAMING_COMPUTATION_TASK_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "" - ] - } - } - }, - "StreamingSetupTask": { - "id": "StreamingSetupTask", - "type": "object", - "properties": { - "receiveWorkPort": { - "type": "integer", - "format": "int32" + "description": "Time at which the current lease will expire." }, - "streamingComputationTopology": { - "$ref": "TopologyConfig" + "reportStatusInterval": { + "type": "string", + "description": "New recommended reporting interval." }, - "workerHarnessPort": { - "type": "integer", - "format": "int32" - } - } - }, - "StreamingSideInputLocation": { - "id": "StreamingSideInputLocation", - "type": "object", - "properties": { - "tag": { - "type": "string" - } - } - }, - "StreamingStageLocation": { - "id": "StreamingStageLocation", - "type": "object", - "properties": { - "streamId": { - "type": "string" - } - } - }, - "TaskRunnerSettings": { - "id": "TaskRunnerSettings", - "type": "object", - "properties": { - "alsologtostderr": { - "type": "boolean" - }, - "baseTaskDir": { - "type": "string" - }, - "baseUrl": { - "type": "string" - }, - "commandlinesFileName": { - "type": "string" - }, - "continueOnException": { - "type": "boolean" - }, - "dataflowApiVersion": { - "type": "string" - }, - "harnessCommand": { - "type": "string" - }, - "languageHint": { - "type": "string" - }, - "logDir": { - "type": "string" - }, - "logToSerialconsole": { - "type": "boolean" - }, - "logUploadLocation": { - "type": "string" - }, - "oauthScopes": { - "type": "array", - "items": { - "type": "string" - } - }, - "parallelWorkerSettings": { - "$ref": "WorkerSettings" - }, - "streamingWorkerMainClass": { - "type": "string" - }, - "taskGroup": { - "type": "string" - }, - "taskUser": { - "type": "string" - }, - "tempStoragePrefix": { - "type": "string" - }, - "vmId": { - "type": "string" - }, - "workflowFileName": { - "type": "string" - } - } - }, - "TopologyConfig": { - "id": "TopologyConfig", - "type": "object", - "properties": { - "computations": { - "type": "array", - "items": { - "$ref": "ComputationTopology" - } - }, - "dataDiskAssignments": { - "type": "array", - "items": { - "$ref": "DataDiskAssignment" - } - }, - "userStageToComputationNameMap": { + "harnessData": { "type": "object", + "description": "Other data returned by the service, specific to the particular worker harness.", "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "nextReportIndex": { + "type": "string", + "description": "The index value to use for the next report sent by the worker. Note: If the report call fails for whatever reason, the worker should reuse this index for subsequent report attempts.", + "format": "int64" + }, + "suggestedStopPosition": { + "$ref": "Position", + "description": "Obsolete, always empty." + } + } + }, + "LeaseWorkItemRequest": { + "id": "LeaseWorkItemRequest", + "type": "object", + "description": "Request to lease WorkItems.", + "properties": { + "workItemTypes": { + "type": "array", + "description": "Filter for WorkItem type.", + "items": { "type": "string" } + }, + "workerCapabilities": { + "type": "array", + "description": "Worker capabilities. WorkItems might be limited to workers with specific capabilities.", + "items": { + "type": "string" + } + }, + "requestedLeaseDuration": { + "type": "string", + "description": "The initial lease period." + }, + "currentWorkerTime": { + "type": "string", + "description": "The current timestamp at the worker." + }, + "workerId": { + "type": "string", + "description": "Identifies the worker leasing work -- typically the ID of the virtual machine running the worker." + } + } + }, + "LeaseWorkItemResponse": { + "id": "LeaseWorkItemResponse", + "type": "object", + "description": "Response to a request to lease WorkItems.", + "properties": { + "workItems": { + "type": "array", + "description": "A list of the leased WorkItems.", + "items": { + "$ref": "WorkItem" + } } } }, "WorkItem": { "id": "WorkItem", "type": "object", + "description": "WorkItem represents basic information about a WorkItem to be executed in the cloud.", "properties": { - "configuration": { - "type": "string" - }, "id": { "type": "string", + "description": "Identifies this WorkItem.", "format": "int64" }, + "projectId": { + "type": "string", + "description": "Identifies the cloud project this WorkItem belongs to." + }, + "jobId": { + "type": "string", + "description": "Identifies the workflow job this WorkItem belongs to." + }, + "packages": { + "type": "array", + "description": "Any required packages that need to be fetched in order to execute this WorkItem.", + "items": { + "$ref": "Package" + } + }, + "mapTask": { + "$ref": "MapTask", + "description": "Additional information for MapTask WorkItems." + }, + "seqMapTask": { + "$ref": "SeqMapTask", + "description": "Additional information for SeqMapTask WorkItems." + }, + "shellTask": { + "$ref": "ShellTask", + "description": "Additional information for ShellTask WorkItems." + }, + "streamingSetupTask": { + "$ref": "StreamingSetupTask", + "description": "Additional information for StreamingSetupTask WorkItems." + }, + "sourceOperationTask": { + "$ref": "SourceOperationRequest", + "description": "Additional information for source operation WorkItems." + }, + "streamingComputationTask": { + "$ref": "StreamingComputationTask", + "description": "Additional information for StreamingComputationTask WorkItems." + }, + "reportStatusInterval": { + "type": "string", + "description": "Recommended reporting interval." + }, + "leaseExpireTime": { + "type": "string", + "description": "Time when the lease on this [Work][] will expire." + }, + "configuration": { + "type": "string", + "description": "Work item-specific configuration as an opaque blob." + }, "initialReportIndex": { "type": "string", + "description": "The initial index to use when reporting the status of the WorkItem.", "format": "int64" - }, - "jobId": { - "type": "string" - }, - "leaseExpireTime": { - "type": "string" - }, - "mapTask": { - "$ref": "MapTask" - }, - "packages": { - "type": "array", - "items": { - "$ref": "Package" - } - }, - "projectId": { - "type": "string" - }, - "reportStatusInterval": { - "type": "string" - }, - "seqMapTask": { - "$ref": "SeqMapTask" - }, - "shellTask": { - "$ref": "ShellTask" - }, - "sourceOperationTask": { - "$ref": "SourceOperationRequest" - }, - "streamingComputationTask": { - "$ref": "StreamingComputationTask" - }, - "streamingSetupTask": { - "$ref": "StreamingSetupTask" } } }, - "WorkItemServiceState": { - "id": "WorkItemServiceState", + "MapTask": { + "id": "MapTask", "type": "object", + "description": "MapTask consists of an ordered set of instructions, each of which describes one particular low-level operation for the worker to perform in order to accomplish the MapTask's WorkItem. Each instruction must appear in the list before any instructions which depends on its output.", "properties": { - "harnessData": { - "type": "object", - "additionalProperties": { - "type": "any" + "instructions": { + "type": "array", + "description": "The instructions in the MapTask.", + "items": { + "$ref": "ParallelInstruction" } }, - "leaseExpireTime": { - "type": "string" - }, - "nextReportIndex": { + "systemName": { "type": "string", - "format": "int64" + "description": "System-defined name of this MapTask. Unique across the workflow." }, - "reportStatusInterval": { - "type": "string" - }, - "suggestedStopPoint": { - "$ref": "ApproximateProgress" - }, - "suggestedStopPosition": { - "$ref": "Position" + "stageName": { + "type": "string", + "description": "System-defined name of the stage containing this MapTask. Unique across the workflow." } } }, - "WorkItemStatus": { - "id": "WorkItemStatus", + "ParallelInstruction": { + "id": "ParallelInstruction", "type": "object", + "description": "Describes a particular operation comprising a MapTask.", "properties": { - "completed": { - "type": "boolean" - }, - "dynamicSourceSplit": { - "$ref": "DynamicSourceSplit" - }, - "errors": { - "type": "array", - "items": { - "$ref": "Status" - } - }, - "metricUpdates": { - "type": "array", - "items": { - "$ref": "MetricUpdate" - } - }, - "progress": { - "$ref": "ApproximateProgress" - }, - "reportIndex": { + "systemName": { "type": "string", - "format": "int64" + "description": "System-defined name of this operation. Unique across the workflow." }, - "requestedLeaseDuration": { - "type": "string" + "name": { + "type": "string", + "description": "User-provided name of this operation." }, - "sourceFork": { - "$ref": "SourceFork" + "read": { + "$ref": "ReadInstruction", + "description": "Additional information for Read instructions." }, - "sourceOperationResponse": { - "$ref": "SourceOperationResponse" + "write": { + "$ref": "WriteInstruction", + "description": "Additional information for Write instructions." }, - "stopPosition": { - "$ref": "Position" + "parDo": { + "$ref": "ParDoInstruction", + "description": "Additional information for ParDo instructions." }, - "workItemId": { - "type": "string" + "partialGroupByKey": { + "$ref": "PartialGroupByKeyInstruction", + "description": "Additional information for PartialGroupByKey instructions." + }, + "flatten": { + "$ref": "FlattenInstruction", + "description": "Additional information for Flatten instructions." + }, + "outputs": { + "type": "array", + "description": "Describes the outputs of the instruction.", + "items": { + "$ref": "InstructionOutput" + } } } }, - "WorkerPool": { - "id": "WorkerPool", + "ReadInstruction": { + "id": "ReadInstruction", "type": "object", + "description": "An instruction that reads records. Takes no inputs, produces one output.", "properties": { - "autoscalingSettings": { - "$ref": "AutoscalingSettings" - }, - "dataDisks": { - "type": "array", - "items": { - "$ref": "Disk" - } - }, - "defaultPackageSet": { - "type": "string", - "enum": [ - "DEFAULT_PACKAGE_SET_JAVA", - "DEFAULT_PACKAGE_SET_NONE", - "DEFAULT_PACKAGE_SET_PYTHON", - "DEFAULT_PACKAGE_SET_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ] - }, - "diskSizeGb": { - "type": "integer", - "format": "int32" - }, - "diskSourceImage": { - "type": "string" - }, - "diskType": { - "type": "string" - }, - "kind": { - "type": "string" - }, - "machineType": { - "type": "string" - }, - "metadata": { - "type": "object", - "additionalProperties": { - "type": "string" - } - }, - "network": { - "type": "string" - }, - "numWorkers": { - "type": "integer", - "format": "int32" - }, - "onHostMaintenance": { - "type": "string" - }, - "packages": { - "type": "array", - "items": { - "$ref": "Package" - } - }, - "poolArgs": { - "type": "object", - "additionalProperties": { - "type": "any" - } - }, - "taskrunnerSettings": { - "$ref": "TaskRunnerSettings" - }, - "teardownPolicy": { - "type": "string", - "enum": [ - "TEARDOWN_ALWAYS", - "TEARDOWN_NEVER", - "TEARDOWN_ON_SUCCESS", - "TEARDOWN_POLICY_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "", - "" - ] - }, - "zone": { - "type": "string" - } - } - }, - "WorkerSettings": { - "id": "WorkerSettings", - "type": "object", - "properties": { - "baseUrl": { - "type": "string" - }, - "reportingEnabled": { - "type": "boolean" - }, - "servicePath": { - "type": "string" - }, - "shuffleServicePath": { - "type": "string" - }, - "tempStoragePrefix": { - "type": "string" - }, - "workerId": { - "type": "string" + "source": { + "$ref": "Source", + "description": "The source to read from." } } }, "WriteInstruction": { "id": "WriteInstruction", "type": "object", + "description": "An instruction that writes records. Takes one input, produces no outputs.", "properties": { "input": { - "$ref": "InstructionInput" + "$ref": "InstructionInput", + "description": "The input." }, "sink": { - "$ref": "Sink" + "$ref": "Sink", + "description": "The sink to write to." + } + } + }, + "InstructionInput": { + "id": "InstructionInput", + "type": "object", + "description": "An input of an instruction, as a reference to an output of a producer instruction.", + "properties": { + "producerInstructionIndex": { + "type": "integer", + "description": "The index (origin zero) of the parallel instruction that produces the output to be consumed by this input. This index is relative to the list of instructions in this input's instruction's containing MapTask.", + "format": "int32" + }, + "outputNum": { + "type": "integer", + "description": "The output index (origin zero) within the producer.", + "format": "int32" + } + } + }, + "Sink": { + "id": "Sink", + "type": "object", + "description": "A sink that records can be encoded and written to.", + "properties": { + "spec": { + "type": "object", + "description": "The sink to write to, plus its parameters.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "codec": { + "type": "object", + "description": "The codec to use to encode data written to the sink.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "ParDoInstruction": { + "id": "ParDoInstruction", + "type": "object", + "description": "An instruction that does a ParDo operation. Takes one main input and zero or more side inputs, and produces zero or more outputs. Runs user code.", + "properties": { + "input": { + "$ref": "InstructionInput", + "description": "The input." + }, + "sideInputs": { + "type": "array", + "description": "Zero or more side inputs.", + "items": { + "$ref": "SideInputInfo" + } + }, + "userFn": { + "type": "object", + "description": "The user function to invoke.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "numOutputs": { + "type": "integer", + "description": "The number of outputs.", + "format": "int32" + }, + "multiOutputInfos": { + "type": "array", + "description": "Information about each of the outputs, if user_fn is a MultiDoFn.", + "items": { + "$ref": "MultiOutputInfo" + } + } + } + }, + "SideInputInfo": { + "id": "SideInputInfo", + "type": "object", + "description": "Information about a side input of a DoFn or an input of a SeqDoFn.", + "properties": { + "sources": { + "type": "array", + "description": "The source(s) to read element(s) from to get the value of this side input. If more than one source, then the elements are taken from the sources, in the specified order if order matters. At least one source is required.", + "items": { + "$ref": "Source" + } + }, + "kind": { + "type": "object", + "description": "How to interpret the source element(s) as a side input value.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "tag": { + "type": "string", + "description": "The id of the tag the user code will access this side input by; this should correspond to the tag of some MultiOutputInfo." + } + } + }, + "MultiOutputInfo": { + "id": "MultiOutputInfo", + "type": "object", + "description": "Information about an output of a multi-output DoFn.", + "properties": { + "tag": { + "type": "string", + "description": "The id of the tag the user code will emit to this output by; this should correspond to the tag of some SideInputInfo." + } + } + }, + "PartialGroupByKeyInstruction": { + "id": "PartialGroupByKeyInstruction", + "type": "object", + "description": "An instruction that does a partial group-by-key. One input and one output.", + "properties": { + "input": { + "$ref": "InstructionInput", + "description": "Describes the input to the partial group-by-key instruction." + }, + "inputElementCodec": { + "type": "object", + "description": "The codec to use for interpreting an element in the input PTable.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "valueCombiningFn": { + "type": "object", + "description": "The value combining function to invoke.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "FlattenInstruction": { + "id": "FlattenInstruction", + "type": "object", + "description": "An instruction that copies its inputs (zero or more) to its (single) output.", + "properties": { + "inputs": { + "type": "array", + "description": "Describes the inputs to the flatten instruction.", + "items": { + "$ref": "InstructionInput" + } + } + } + }, + "InstructionOutput": { + "id": "InstructionOutput", + "type": "object", + "description": "An output of an instruction.", + "properties": { + "name": { + "type": "string", + "description": "The user-provided name of this output." + }, + "systemName": { + "type": "string", + "description": "System-defined name of this output. Unique across the workflow." + }, + "codec": { + "type": "object", + "description": "The codec to use to encode data being written via this output.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + } + } + }, + "SeqMapTask": { + "id": "SeqMapTask", + "type": "object", + "description": "Describes a particular function to invoke.", + "properties": { + "inputs": { + "type": "array", + "description": "Information about each of the inputs.", + "items": { + "$ref": "SideInputInfo" + } + }, + "userFn": { + "type": "object", + "description": "The user function to invoke.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object." + } + }, + "outputInfos": { + "type": "array", + "description": "Information about each of the outputs.", + "items": { + "$ref": "SeqMapTaskOutputInfo" + } + }, + "name": { + "type": "string", + "description": "The user-provided name of the SeqDo operation." + }, + "systemName": { + "type": "string", + "description": "System-defined name of the SeqDo operation. Unique across the workflow." + }, + "stageName": { + "type": "string", + "description": "System-defined name of the stage containing the SeqDo operation. Unique across the workflow." + } + } + }, + "SeqMapTaskOutputInfo": { + "id": "SeqMapTaskOutputInfo", + "type": "object", + "description": "Information about an output of a SeqMapTask.", + "properties": { + "tag": { + "type": "string", + "description": "The id of the TupleTag the user code will tag the output value by." + }, + "sink": { + "$ref": "Sink", + "description": "The sink to write the output value to." + } + } + }, + "ShellTask": { + "id": "ShellTask", + "type": "object", + "description": "A task which consists of a shell command for the worker to execute.", + "properties": { + "command": { + "type": "string", + "description": "The shell command to run." + }, + "exitCode": { + "type": "integer", + "description": "Exit code for the task.", + "format": "int32" + } + } + }, + "StreamingSetupTask": { + "id": "StreamingSetupTask", + "type": "object", + "description": "A task which initializes part of a streaming Dataflow job.", + "properties": { + "receiveWorkPort": { + "type": "integer", + "description": "The TCP port on which the worker should listen for messages from other streaming computation workers.", + "format": "int32" + }, + "workerHarnessPort": { + "type": "integer", + "description": "The TCP port used by the worker to communicate with the Dataflow worker harness.", + "format": "int32" + }, + "streamingComputationTopology": { + "$ref": "TopologyConfig", + "description": "The global topology of the streaming Dataflow job." + } + } + }, + "TopologyConfig": { + "id": "TopologyConfig", + "type": "object", + "description": "Global topology of the streaming Dataflow job, including all computations and their sharded locations.", + "properties": { + "computations": { + "type": "array", + "description": "The computations associated with a streaming Dataflow job.", + "items": { + "$ref": "ComputationTopology" + } + }, + "dataDiskAssignments": { + "type": "array", + "description": "The disks assigned to a streaming Dataflow job.", + "items": { + "$ref": "DataDiskAssignment" + } + }, + "userStageToComputationNameMap": { + "type": "object", + "description": "Maps user stage names to stable computation names.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ComputationTopology": { + "id": "ComputationTopology", + "type": "object", + "description": "All configuration data for a particular Computation.", + "properties": { + "systemStageName": { + "type": "string", + "description": "The system stage name." + }, + "computationId": { + "type": "string", + "description": "The ID of the computation." + }, + "userStageName": { + "type": "string", + "description": "The user stage name." + }, + "keyRanges": { + "type": "array", + "description": "The key ranges processed by the computation.", + "items": { + "$ref": "KeyRangeLocation" + } + }, + "inputs": { + "type": "array", + "description": "The inputs to the computation.", + "items": { + "$ref": "StreamLocation" + } + }, + "outputs": { + "type": "array", + "description": "The outputs from the computation.", + "items": { + "$ref": "StreamLocation" + } + }, + "stateFamilies": { + "type": "array", + "description": "The state family values.", + "items": { + "$ref": "StateFamilyConfig" + } + } + } + }, + "KeyRangeLocation": { + "id": "KeyRangeLocation", + "type": "object", + "description": "Location information for a specific key-range of a sharded computation. Currently we only support UTF-8 character splits to simplify encoding into JSON.", + "properties": { + "start": { + "type": "string", + "description": "The start (inclusive) of the key range." + }, + "end": { + "type": "string", + "description": "The end (exclusive) of the key range." + }, + "deliveryEndpoint": { + "type": "string", + "description": "The physical location of this range assignment to be used for streaming computation cross-worker message delivery." + }, + "persistentDirectory": { + "type": "string", + "description": "The location of the persistent state for this range, as a persistent directory in the worker local filesystem." + }, + "dataDisk": { + "type": "string", + "description": "The name of the data disk where data for this range is stored. This name is local to the Google Cloud Platform project and uniquely identifies the disk within that project, for example \"myproject-1014-104817-4c2-harness-0-disk-1\"." + } + } + }, + "StreamLocation": { + "id": "StreamLocation", + "type": "object", + "description": "Describes a stream of data, either as input to be processed or as output of a streaming Dataflow job.", + "properties": { + "streamingStageLocation": { + "$ref": "StreamingStageLocation", + "description": "The stream is part of another computation within the current streaming Dataflow job." + }, + "pubsubLocation": { + "$ref": "PubsubLocation", + "description": "The stream is a pubsub stream." + }, + "sideInputLocation": { + "$ref": "StreamingSideInputLocation", + "description": "The stream is a streaming side input." + }, + "customSourceLocation": { + "$ref": "CustomSourceLocation", + "description": "The stream is a custom source." + } + } + }, + "StreamingStageLocation": { + "id": "StreamingStageLocation", + "type": "object", + "description": "Identifies the location of a streaming computation stage, for stage-to-stage communication.", + "properties": { + "streamId": { + "type": "string", + "description": "Identifies the particular stream within the streaming Dataflow job." + } + } + }, + "PubsubLocation": { + "id": "PubsubLocation", + "type": "object", + "description": "Identifies a pubsub location to use for transferring data into or out of a streaming Dataflow job.", + "properties": { + "topic": { + "type": "string", + "description": "A pubsub topic, in the form of \"pubsub.googleapis.com/topics/\n/\"" + }, + "subscription": { + "type": "string", + "description": "A pubsub subscription, in the form of \"pubsub.googleapis.com/subscriptions/\n/\"" + }, + "timestampLabel": { + "type": "string", + "description": "If set, contains a pubsub label from which to extract record timestamps. If left empty, record timestamps will be generated upon arrival." + }, + "idLabel": { + "type": "string", + "description": "If set, contains a pubsub label from which to extract record ids. If left empty, record deduplication will be strictly best effort." + }, + "dropLateData": { + "type": "boolean", + "description": "Indicates whether the pipeline allows late-arriving data." + }, + "trackingSubscription": { + "type": "string", + "description": "If set, specifies the pubsub subscription that will be used for tracking custom time timestamps for watermark estimation." + } + } + }, + "StreamingSideInputLocation": { + "id": "StreamingSideInputLocation", + "type": "object", + "description": "Identifies the location of a streaming side input.", + "properties": { + "tag": { + "type": "string", + "description": "Identifies the particular side input within the streaming Dataflow job." + }, + "stateFamily": { + "type": "string", + "description": "Identifies the state family where this side input is stored." + } + } + }, + "CustomSourceLocation": { + "id": "CustomSourceLocation", + "type": "object", + "description": "Identifies the location of a custom souce.", + "properties": { + "stateful": { + "type": "boolean", + "description": "Whether this source is stateful." + } + } + }, + "StateFamilyConfig": { + "id": "StateFamilyConfig", + "type": "object", + "description": "State family configuration.", + "properties": { + "stateFamily": { + "type": "string", + "description": "The state family value." + }, + "isRead": { + "type": "boolean", + "description": "If true, this family corresponds to a read operation." + } + } + }, + "DataDiskAssignment": { + "id": "DataDiskAssignment", + "type": "object", + "description": "Data disk assignment for a given VM instance.", + "properties": { + "vmInstance": { + "type": "string", + "description": "VM instance name the data disks mounted to, for example \"myproject-1014-104817-4c2-harness-0\"." + }, + "dataDisks": { + "type": "array", + "description": "Mounted data disks. The order is important a data disk's 0-based index in this list defines which persistent directory the disk is mounted to, for example the list of { \"myproject-1014-104817-4c2-harness-0-disk-0\" }, { \"myproject-1014-104817-4c2-harness-0-disk-1\" }.", + "items": { + "type": "string" + } + } + } + }, + "SourceOperationRequest": { + "id": "SourceOperationRequest", + "type": "object", + "description": "A work item that represents the different operations that can be performed on a user-defined Source specification.", + "properties": { + "split": { + "$ref": "SourceSplitRequest", + "description": "Information about a request to split a source." + }, + "getMetadata": { + "$ref": "SourceGetMetadataRequest", + "description": "Information about a request to get metadata about a source." + } + } + }, + "SourceSplitRequest": { + "id": "SourceSplitRequest", + "type": "object", + "description": "Represents the operation to split a high-level Source specification into bundles (parts for parallel processing). At a high level, splitting of a source into bundles happens as follows: SourceSplitRequest is applied to the source. If it returns SOURCE_SPLIT_OUTCOME_USE_CURRENT, no further splitting happens and the source is used \"as is\". Otherwise, splitting is applied recursively to each produced DerivedSource. As an optimization, for any Source, if its does_not_need_splitting is true, the framework assumes that splitting this source would return SOURCE_SPLIT_OUTCOME_USE_CURRENT, and doesn't initiate a SourceSplitRequest. This applies both to the initial source being split and to bundles produced from it.", + "properties": { + "source": { + "$ref": "Source", + "description": "Specification of the source to be split." + }, + "options": { + "$ref": "SourceSplitOptions", + "description": "Hints for tuning the splitting process." + } + } + }, + "SourceSplitOptions": { + "id": "SourceSplitOptions", + "type": "object", + "description": "Hints for splitting a Source into bundles (parts for parallel processing) using SourceSplitRequest.", + "properties": { + "desiredBundleSizeBytes": { + "type": "string", + "description": "The source should be split into a set of bundles where the estimated size of each is approximately this many bytes.", + "format": "int64" + }, + "desiredShardSizeBytes": { + "type": "string", + "description": "DEPRECATED in favor of desired_bundle_size_bytes.", + "format": "int64" + } + } + }, + "SourceGetMetadataRequest": { + "id": "SourceGetMetadataRequest", + "type": "object", + "description": "A request to compute the SourceMetadata of a Source.", + "properties": { + "source": { + "$ref": "Source", + "description": "Specification of the source whose metadata should be computed." + } + } + }, + "StreamingComputationTask": { + "id": "StreamingComputationTask", + "type": "object", + "description": "A task which describes what action should be performed for the specified streaming computation ranges.", + "properties": { + "taskType": { + "type": "string", + "description": "A type of streaming computation task.", + "enum": [ + "STREAMING_COMPUTATION_TASK_UNKNOWN", + "STREAMING_COMPUTATION_TASK_STOP", + "STREAMING_COMPUTATION_TASK_START" + ] + }, + "dataDisks": { + "type": "array", + "description": "Describes the set of data disks this task should apply to.", + "items": { + "$ref": "MountedDataDisk" + } + }, + "computationRanges": { + "type": "array", + "description": "Contains ranges of a streaming computation this task should apply to.", + "items": { + "$ref": "StreamingComputationRanges" + } + } + } + }, + "MountedDataDisk": { + "id": "MountedDataDisk", + "type": "object", + "description": "Describes mounted data disk.", + "properties": { + "dataDisk": { + "type": "string", + "description": "The name of the data disk. This name is local to the Google Cloud Platform project and uniquely identifies the disk within that project, for example \"myproject-1014-104817-4c2-harness-0-disk-1\"." + } + } + }, + "StreamingComputationRanges": { + "id": "StreamingComputationRanges", + "type": "object", + "description": "Describes full or partial data disk assignment information of the computation ranges.", + "properties": { + "computationId": { + "type": "string", + "description": "The ID of the computation." + }, + "rangeAssignments": { + "type": "array", + "description": "Data disk assignments for ranges from this computation.", + "items": { + "$ref": "KeyRangeDataDiskAssignment" + } + } + } + }, + "KeyRangeDataDiskAssignment": { + "id": "KeyRangeDataDiskAssignment", + "type": "object", + "description": "Data disk assignment information for a specific key-range of a sharded computation. Currently we only support UTF-8 character splits to simplify encoding into JSON.", + "properties": { + "start": { + "type": "string", + "description": "The start (inclusive) of the key range." + }, + "end": { + "type": "string", + "description": "The end (exclusive) of the key range." + }, + "dataDisk": { + "type": "string", + "description": "The name of the data disk where data for this range is stored. This name is local to the Google Cloud Platform project and uniquely identifies the disk within that project, for example \"myproject-1014-104817-4c2-harness-0-disk-1\"." } } } @@ -1656,32 +2021,30 @@ "methods": { "create": { "id": "dataflow.projects.jobs.create", - "path": "{projectId}/jobs", + "path": "v1b3/projects/{projectId}/jobs", "httpMethod": "POST", "description": "Creates a dataflow job.", "parameters": { "projectId": { "type": "string", + "description": "The project which owns the job.", "required": true, "location": "path" }, - "replaceJobId": { - "type": "string", - "location": "query" - }, "view": { "type": "string", + "description": "Level of information requested in response.", "enum": [ - "JOB_VIEW_ALL", + "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", - "JOB_VIEW_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "" + "JOB_VIEW_ALL" ], "location": "query" + }, + "replaceJobId": { + "type": "string", + "description": "DEPRECATED. This field is now on the Job message.", + "location": "query" } }, "parameterOrder": [ @@ -1700,31 +2063,29 @@ }, "get": { "id": "dataflow.projects.jobs.get", - "path": "{projectId}/jobs/{jobId}", + "path": "v1b3/projects/{projectId}/jobs/{jobId}", "httpMethod": "GET", "description": "Gets the state of the specified dataflow job.", "parameters": { - "jobId": { + "projectId": { "type": "string", + "description": "The project which owns the job.", "required": true, "location": "path" }, - "projectId": { + "jobId": { "type": "string", + "description": "Identifies a single job.", "required": true, "location": "path" }, "view": { "type": "string", + "description": "Level of information requested in response.", "enum": [ - "JOB_VIEW_ALL", + "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", - "JOB_VIEW_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "" + "JOB_VIEW_ALL" ], "location": "query" } @@ -1741,33 +2102,34 @@ "https://www.googleapis.com/auth/userinfo.email" ] }, - "getMetrics": { - "id": "dataflow.projects.jobs.getMetrics", - "path": "{projectId}/jobs/{jobId}/metrics", - "httpMethod": "GET", - "description": "Request the job status.", + "update": { + "id": "dataflow.projects.jobs.update", + "path": "v1b3/projects/{projectId}/jobs/{jobId}", + "httpMethod": "PUT", + "description": "Updates the state of an existing dataflow job.", "parameters": { - "jobId": { - "type": "string", - "required": true, - "location": "path" - }, "projectId": { "type": "string", + "description": "The project which owns the job.", "required": true, "location": "path" }, - "startTime": { + "jobId": { "type": "string", - "location": "query" + "description": "Identifies a single job.", + "required": true, + "location": "path" } }, "parameterOrder": [ "projectId", "jobId" ], + "request": { + "$ref": "Job" + }, "response": { - "$ref": "JobMetrics" + "$ref": "Job" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -1776,37 +2138,36 @@ }, "list": { "id": "dataflow.projects.jobs.list", - "path": "{projectId}/jobs", + "path": "v1b3/projects/{projectId}/jobs", "httpMethod": "GET", "description": "List the jobs of a project", "parameters": { - "pageSize": { - "type": "integer", - "format": "int32", - "location": "query" - }, - "pageToken": { - "type": "string", - "location": "query" - }, "projectId": { "type": "string", + "description": "The project which owns the jobs.", "required": true, "location": "path" }, "view": { "type": "string", + "description": "Level of information requested in response. Default is SUMMARY.", "enum": [ - "JOB_VIEW_ALL", + "JOB_VIEW_UNKNOWN", "JOB_VIEW_SUMMARY", - "JOB_VIEW_UNKNOWN" - ], - "enumDescriptions": [ - "", - "", - "" + "JOB_VIEW_ALL" ], "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "If there are many jobs, limit response to at most this many. The actual number of jobs returned will be the lesser of max_responses and an unspecified server-defined limit.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Set this to the 'next_page_token' field of a previous response to request additional results in a long list.", + "location": "query" } }, "parameterOrder": [ @@ -1820,64 +2181,36 @@ "https://www.googleapis.com/auth/userinfo.email" ] }, - "patch": { - "id": "dataflow.projects.jobs.patch", - "path": "{projectId}/jobs/{jobId}", - "httpMethod": "PATCH", - "description": "Updates the state of an existing dataflow job. This method supports patch semantics.", + "getMetrics": { + "id": "dataflow.projects.jobs.getMetrics", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/metrics", + "httpMethod": "GET", + "description": "Request the job status.", "parameters": { - "jobId": { + "projectId": { "type": "string", + "description": "A project id.", "required": true, "location": "path" }, - "projectId": { + "jobId": { "type": "string", + "description": "The job to get messages for.", "required": true, "location": "path" + }, + "startTime": { + "type": "string", + "description": "Return only metric data that has changed since this time. Default is to return all information about all metrics for the job.", + "location": "query" } }, "parameterOrder": [ "projectId", "jobId" ], - "request": { - "$ref": "Job" - }, "response": { - "$ref": "Job" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/userinfo.email" - ] - }, - "update": { - "id": "dataflow.projects.jobs.update", - "path": "{projectId}/jobs/{jobId}", - "httpMethod": "PUT", - "description": "Updates the state of an existing dataflow job.", - "parameters": { - "jobId": { - "type": "string", - "required": true, - "location": "path" - }, - "projectId": { - "type": "string", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "projectId", - "jobId" - ], - "request": { - "$ref": "Job" - }, - "response": { - "$ref": "Job" + "$ref": "JobMetrics" }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", @@ -1890,55 +2223,54 @@ "methods": { "list": { "id": "dataflow.projects.jobs.messages.list", - "path": "{projectId}/jobs/{jobId}/messages", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/messages", "httpMethod": "GET", "description": "Request the job status.", "parameters": { - "endTime": { + "projectId": { "type": "string", - "location": "query" + "description": "A project id.", + "required": true, + "location": "path" }, "jobId": { "type": "string", + "description": "The job to get messages about.", "required": true, "location": "path" }, "minimumImportance": { "type": "string", + "description": "Filter to only get messages with importance \u003e= level", "enum": [ - "JOB_MESSAGE_BASIC", + "JOB_MESSAGE_IMPORTANCE_UNKNOWN", "JOB_MESSAGE_DEBUG", "JOB_MESSAGE_DETAILED", - "JOB_MESSAGE_ERROR", - "JOB_MESSAGE_IMPORTANCE_UNKNOWN", - "JOB_MESSAGE_WARNING" - ], - "enumDescriptions": [ - "", - "", - "", - "", - "", - "" + "JOB_MESSAGE_BASIC", + "JOB_MESSAGE_WARNING", + "JOB_MESSAGE_ERROR" ], "location": "query" }, "pageSize": { "type": "integer", + "description": "If specified, determines the maximum number of messages to return. If unspecified, the service may choose an appropriate default, or may return an arbitrarily large number of results.", "format": "int32", "location": "query" }, "pageToken": { "type": "string", + "description": "If supplied, this should be the value of next_page_token returned by an earlier call. This will cause the next page of results to be returned.", "location": "query" }, - "projectId": { - "type": "string", - "required": true, - "location": "path" - }, "startTime": { "type": "string", + "description": "If specified, return only messages with timestamps \u003e= start_time. The default is the job creation time (i.e. beginning of messages).", + "location": "query" + }, + "endTime": { + "type": "string", + "description": "Return only messages with timestamps \u003c end_time. The default is now (i.e. return up to the latest messages available).", "location": "query" } }, @@ -1958,51 +2290,21 @@ }, "workItems": { "methods": { - "lease": { - "id": "dataflow.projects.jobs.workItems.lease", - "path": "{projectId}/jobs/{jobId}/workItems:lease", - "httpMethod": "POST", - "description": "Leases a dataflow WorkItem to run.", - "parameters": { - "jobId": { - "type": "string", - "required": true, - "location": "path" - }, - "projectId": { - "type": "string", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "projectId", - "jobId" - ], - "request": { - "$ref": "LeaseWorkItemRequest" - }, - "response": { - "$ref": "LeaseWorkItemResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/userinfo.email" - ] - }, "reportStatus": { "id": "dataflow.projects.jobs.workItems.reportStatus", - "path": "{projectId}/jobs/{jobId}/workItems:reportStatus", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/workItems:reportStatus", "httpMethod": "POST", "description": "Reports the status of dataflow WorkItems leased by a worker.", "parameters": { - "jobId": { + "projectId": { "type": "string", + "description": "The project which owns the WorkItem's job.", "required": true, "location": "path" }, - "projectId": { + "jobId": { "type": "string", + "description": "The job which the WorkItem is part of.", "required": true, "location": "path" } @@ -2021,6 +2323,40 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/userinfo.email" ] + }, + "lease": { + "id": "dataflow.projects.jobs.workItems.lease", + "path": "v1b3/projects/{projectId}/jobs/{jobId}/workItems:lease", + "httpMethod": "POST", + "description": "Leases a dataflow WorkItem to run.", + "parameters": { + "projectId": { + "type": "string", + "description": "Identifies the project this worker belongs to.", + "required": true, + "location": "path" + }, + "jobId": { + "type": "string", + "description": "Identifies the workflow job this worker belongs to.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId", + "jobId" + ], + "request": { + "$ref": "LeaseWorkItemRequest" + }, + "response": { + "$ref": "LeaseWorkItemResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/userinfo.email" + ] } } } diff --git a/etc/api/datastore/v1beta1/datastore-api.json b/etc/api/datastore/v1beta1/datastore-api.json index 1ba259d19e..3ef5f82458 100644 --- a/etc/api/datastore/v1beta1/datastore-api.json +++ b/etc/api/datastore/v1beta1/datastore-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/fIJ3DBpWQxusVwOa-ZxrsUl27A4\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/hS1zMof9P8B2C8w_Owx9Czuou4A\"", "discoveryVersion": "v1", "id": "datastore:v1beta1", "name": "datastore", "version": "v1beta1", - "revision": "20150402", + "revision": "20151008", "title": "Google Cloud Datastore API", "description": "API for accessing Google Cloud Datastore.", "ownerDomain": "google.com", diff --git a/etc/api/datastore/v1beta2/datastore-api.json b/etc/api/datastore/v1beta2/datastore-api.json index 55388fe589..1beb3d98d1 100644 --- a/etc/api/datastore/v1beta2/datastore-api.json +++ b/etc/api/datastore/v1beta2/datastore-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/JTCpJ6erGSGSQjeOlJBcixKgvo8\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/6udOBwkBXi0ODcCOihFtqaSzzSw\"", "discoveryVersion": "v1", "id": "datastore:v1beta2", "name": "datastore", "version": "v1beta2", - "revision": "20150402", + "revision": "20151008", "title": "Google Cloud Datastore API", "description": "API for accessing Google Cloud Datastore.", "ownerDomain": "google.com", diff --git a/etc/api/deploymentmanager/v2/deploymentmanager-api.json b/etc/api/deploymentmanager/v2/deploymentmanager-api.json new file mode 100644 index 0000000000..22f7433cd1 --- /dev/null +++ b/etc/api/deploymentmanager/v2/deploymentmanager-api.json @@ -0,0 +1,1394 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/3wCGcnGwi3iQywGP6Ncdo6mexyQ\"", + "discoveryVersion": "v1", + "id": "deploymentmanager:v2", + "name": "deploymentmanager", + "canonicalName": "Deployment Manager", + "version": "v2", + "revision": "20150831", + "title": "Google Cloud Deployment Manager API", + "description": "The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://cloud.google.com/deployment-manager/", + "protocol": "rest", + "baseUrl": "https://www.googleapis.com/deploymentmanager/v2/projects/", + "basePath": "/deploymentmanager/v2/projects/", + "rootUrl": "https://www.googleapis.com/", + "servicePath": "deploymentmanager/v2/projects/", + "batchPath": "batch", + "parameters": { + "alt": { + "type": "string", + "description": "Data format for the response.", + "default": "json", + "enum": [ + "json" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json" + ], + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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. Overrides userIp if both are provided.", + "location": "query" + }, + "userIp": { + "type": "string", + "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", + "location": "query" + } + }, + "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" + }, + "https://www.googleapis.com/auth/ndev.cloudman": { + "description": "View and manage your Google Cloud Platform management resources and deployment status information" + }, + "https://www.googleapis.com/auth/ndev.cloudman.readonly": { + "description": "View your Google Cloud Platform management resources and deployment status information" + } + } + } + }, + "schemas": { + "ConfigFile": { + "id": "ConfigFile", + "type": "object", + "description": "", + "properties": { + "content": { + "type": "string", + "description": "The contents of the file." + } + } + }, + "Deployment": { + "id": "Deployment", + "type": "object", + "description": "", + "properties": { + "description": { + "type": "string", + "description": "An optional user-provided description of the deployment." + }, + "fingerprint": { + "type": "string", + "description": "Provides a fingerprint to use in requests to modify a deployment, such as update(), stop(), and cancelPreview() requests. A fingerprint is a randomly generated value that must be provided with update(), stop(), and cancelPreview() requests to perform optimistic locking. This ensures optimistic concurrency so that only one request happens at a time.\n\nThe fingerprint is initially generated by Deployment Manager and changes after every request to modify data. To get the latest fingerprint value, perform a get() request to a deployment.", + "format": "byte" + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "insertTime": { + "type": "string", + "description": "[Output Only] Timestamp when the deployment was created, in RFC3339 text format ." + }, + "manifest": { + "type": "string", + "description": "[Output Only] URL of the manifest representing the last manifest that was successfully deployed." + }, + "name": { + "type": "string", + "description": "Name of the resource; provided by the client when the resource is created. The name must be 1-63 characters long, and comply with RFC1035. Specifically, the name must be 1-63 characters long and match the regular expression [a-z]([-a-z0-9]*[a-z0-9])? which means the first character must be a lowercase letter, and all following characters must be a dash, lowercase letter, or digit, except the last character, which cannot be a dash." + }, + "operation": { + "$ref": "Operation", + "description": "[Output Only] The Operation that most recently ran, or is currently running, on this deployment." + }, + "target": { + "$ref": "TargetConfiguration", + "description": "[Input Only] The parameters that define your deployment, including the deployment configuration and relevant templates." + }, + "update": { + "$ref": "DeploymentUpdate", + "description": "[Output Only] If Deployment Manager is currently updating or previewing an update to this deployment, the updated configuration appears here." + } + } + }, + "DeploymentUpdate": { + "id": "DeploymentUpdate", + "type": "object", + "description": "", + "properties": { + "manifest": { + "type": "string", + "description": "[Output Only] URL of the manifest representing the update configuration of this deployment." + } + } + }, + "DeploymentsCancelPreviewRequest": { + "id": "DeploymentsCancelPreviewRequest", + "type": "object", + "description": "", + "properties": { + "fingerprint": { + "type": "string", + "description": "Specifies a fingerprint for cancelPreview() requests. A fingerprint is a randomly generated value that must be provided in cancelPreview() requests to perform optimistic locking. This ensures optimistic concurrency so that the deployment does not have conflicting requests (e.g. if someone attempts to make a new update request while another user attempts to cancel a preview, this would prevent one of the requests).\n\nThe fingerprint is initially generated by Deployment Manager and changes after every request to modify a deployment. To get the latest fingerprint value, perform a get() request to a deployment.", + "format": "byte" + } + } + }, + "DeploymentsListResponse": { + "id": "DeploymentsListResponse", + "type": "object", + "description": "A response containing a partial list of deployments and a page token used to build the next request if the request has been truncated.", + "properties": { + "deployments": { + "type": "array", + "description": "[Output Only] The deployments contained in this response.", + "items": { + "$ref": "Deployment" + } + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncated list request." + } + } + }, + "DeploymentsStopRequest": { + "id": "DeploymentsStopRequest", + "type": "object", + "description": "", + "properties": { + "fingerprint": { + "type": "string", + "description": "Specifies a fingerprint for stop() requests. A fingerprint is a randomly generated value that must be provided in stop() requests to perform optimistic locking. This ensures optimistic concurrency so that the deployment does not have conflicting requests (e.g. if someone attempts to make a new update request while another user attempts to stop an ongoing update request, this would prevent a collision).\n\nThe fingerprint is initially generated by Deployment Manager and changes after every request to modify a deployment. To get the latest fingerprint value, perform a get() request to a deployment.", + "format": "byte" + } + } + }, + "ImportFile": { + "id": "ImportFile", + "type": "object", + "description": "", + "properties": { + "content": { + "type": "string", + "description": "The contents of the file." + }, + "name": { + "type": "string", + "description": "The name of the file." + } + } + }, + "Manifest": { + "id": "Manifest", + "type": "object", + "description": "", + "properties": { + "config": { + "$ref": "ConfigFile", + "description": "[Output Only] The YAML configuration for this manifest." + }, + "expandedConfig": { + "type": "string", + "description": "[Output Only] The fully-expanded configuration file, including any templates and references." + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "imports": { + "type": "array", + "description": "[Output Only] The imported files for this manifest.", + "items": { + "$ref": "ImportFile" + } + }, + "insertTime": { + "type": "string", + "description": "[Output Only] Timestamp when the manifest was created, in RFC3339 text format." + }, + "layout": { + "type": "string", + "description": "[Output Only] The YAML layout for this manifest." + }, + "name": { + "type": "string", + "description": "[Output Only] The name of the manifest." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Self link for the manifest." + } + } + }, + "ManifestsListResponse": { + "id": "ManifestsListResponse", + "type": "object", + "description": "A response containing a partial list of manifests and a page token used to build the next request if the request has been truncated.", + "properties": { + "manifests": { + "type": "array", + "description": "[Output Only] Manifests contained in this list response.", + "items": { + "$ref": "Manifest" + } + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncated list request." + } + } + }, + "Operation": { + "id": "Operation", + "type": "object", + "description": "An Operation resource, used to manage asynchronous API requests.", + "properties": { + "clientOperationId": { + "type": "string", + "description": "[Output Only] An optional identifier specified by the client when the mutation was initiated. Must be unique for all Operation resources in the project." + }, + "creationTimestamp": { + "type": "string", + "description": "[Output Only] Creation timestamp in RFC3339 text format." + }, + "endTime": { + "type": "string", + "description": "[Output Only] The time that this operation was completed. This is in RFC3339 text format." + }, + "error": { + "type": "object", + "description": "[Output Only] If errors are generated during processing of the operation, this field will be populated.", + "properties": { + "errors": { + "type": "array", + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] The error type identifier for this error." + }, + "location": { + "type": "string", + "description": "[Output Only] Indicates the field in the request which caused the error. This property is optional." + }, + "message": { + "type": "string", + "description": "[Output Only] An optional, human-readable error message." + } + } + } + } + } + }, + "httpErrorMessage": { + "type": "string", + "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as NOT FOUND." + }, + "httpErrorStatusCode": { + "type": "integer", + "description": "[Output Only] If the operation fails, this field contains the HTTP error message that was returned, such as 404.", + "format": "int32" + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "insertTime": { + "type": "string", + "description": "[Output Only] The time that this operation was requested. This is in RFC3339 text format." + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of the resource. Always compute#Operation for Operation resources.", + "default": "deploymentmanager#operation" + }, + "name": { + "type": "string", + "description": "[Output Only] Name of the resource." + }, + "operationType": { + "type": "string", + "description": "[Output Only] Type of the operation, such as insert, update, and delete." + }, + "progress": { + "type": "integer", + "description": "[Output Only] An optional progress indicator that ranges from 0 to 100. There is no requirement that this be linear or support any granularity of operations. This should not be used to guess at when the operation will be complete. This number should monotonically increase as the operation progresses.", + "format": "int32" + }, + "region": { + "type": "string", + "description": "[Output Only] URL of the region where the operation resides. Only applicable for regional resources." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for the resource." + }, + "startTime": { + "type": "string", + "description": "[Output Only] The time that this operation was started by the server. This is in RFC3339 text format." + }, + "status": { + "type": "string", + "description": "[Output Only] Status of the operation. Can be one of the following: PENDING, RUNNING, or DONE." + }, + "statusMessage": { + "type": "string", + "description": "[Output Only] An optional textual description of the current status of the operation." + }, + "targetId": { + "type": "string", + "description": "[Output Only] Unique target ID which identifies a particular incarnation of the target.", + "format": "uint64" + }, + "targetLink": { + "type": "string", + "description": "[Output Only] URL of the resource the operation is mutating." + }, + "user": { + "type": "string", + "description": "[Output Only] User who requested the operation, for example: user@example.com." + }, + "warnings": { + "type": "array", + "description": "[Output Only] If warning messages are generated during processing of the operation, this field will be populated.", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] The warning type identifier for this warning." + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata for this warning in key: value format.", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[Output Only] A key for the warning data." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] Optional human-readable details for this warning." + } + } + } + }, + "zone": { + "type": "string", + "description": "[Output Only] URL of the zone where the operation resides." + } + } + }, + "OperationsListResponse": { + "id": "OperationsListResponse", + "type": "object", + "description": "A response containing a partial list of operations and a page token used to build the next request if the request has been truncated.", + "properties": { + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncated list request." + }, + "operations": { + "type": "array", + "description": "[Output Only] Operations contained in this list response.", + "items": { + "$ref": "Operation" + } + } + } + }, + "Resource": { + "id": "Resource", + "type": "object", + "description": "", + "properties": { + "finalProperties": { + "type": "string", + "description": "[Output Only] The evaluated properties of the resource with references expanded. Returned as serialized YAML." + }, + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "insertTime": { + "type": "string", + "description": "[Output Only] Timestamp when the resource was created or acquired, in RFC3339 text format ." + }, + "manifest": { + "type": "string", + "description": "[Output Only] URL of the manifest representing the current configuration of this resource." + }, + "name": { + "type": "string", + "description": "[Output Only] The name of the resource as it appears in the YAML config." + }, + "properties": { + "type": "string", + "description": "[Output Only] The current properties of the resource before any references have been filled in. Returned as serialized YAML." + }, + "type": { + "type": "string", + "description": "[Output Only] The type of the resource, for example compute.v1.instance, or replicaPools.v1beta2.instanceGroupManager." + }, + "update": { + "$ref": "ResourceUpdate", + "description": "[Output Only] If Deployment Manager is currently updating or previewing an update to this resource, the updated configuration appears here." + }, + "updateTime": { + "type": "string", + "description": "[Output Only] Timestamp when the resource was updated, in RFC3339 text format ." + }, + "url": { + "type": "string", + "description": "[Output Only] The URL of the actual resource." + }, + "warnings": { + "type": "array", + "description": "[Output Only] If warning messages are generated during processing of this resource, this field will be populated.", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] The warning type identifier for this warning." + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata for this warning in key: value format.", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[Output Only] A key for the warning data." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] Optional human-readable details for this warning." + } + } + } + } + } + }, + "ResourceUpdate": { + "id": "ResourceUpdate", + "type": "object", + "description": "", + "properties": { + "error": { + "type": "object", + "description": "[Output Only] If errors are generated during update of the resource, this field will be populated.", + "properties": { + "errors": { + "type": "array", + "description": "[Output Only] The array of errors encountered while processing this operation.", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] The error type identifier for this error." + }, + "location": { + "type": "string", + "description": "[Output Only] Indicates the field in the request which caused the error. This property is optional." + }, + "message": { + "type": "string", + "description": "[Output Only] An optional, human-readable error message." + } + } + } + } + } + }, + "finalProperties": { + "type": "string", + "description": "[Output Only] The expanded properties of the resource with reference values expanded. Returned as serialized YAML." + }, + "intent": { + "type": "string", + "description": "[Output Only] The intent of the resource: PREVIEW, UPDATE, or CANCEL." + }, + "manifest": { + "type": "string", + "description": "[Output Only] URL of the manifest representing the update configuration of this resource." + }, + "properties": { + "type": "string", + "description": "[Output Only] The set of updated properties for this resource, before references are expanded. Returned as serialized YAML." + }, + "state": { + "type": "string", + "description": "[Output Only] The state of the resource." + }, + "warnings": { + "type": "array", + "description": "[Output Only] If warning messages are generated during processing of this resource, this field will be populated.", + "items": { + "type": "object", + "properties": { + "code": { + "type": "string", + "description": "[Output Only] The warning type identifier for this warning." + }, + "data": { + "type": "array", + "description": "[Output Only] Metadata for this warning in key: value format.", + "items": { + "type": "object", + "properties": { + "key": { + "type": "string", + "description": "[Output Only] A key for the warning data." + }, + "value": { + "type": "string", + "description": "[Output Only] A warning data value corresponding to the key." + } + } + } + }, + "message": { + "type": "string", + "description": "[Output Only] Optional human-readable details for this warning." + } + } + } + } + } + }, + "ResourcesListResponse": { + "id": "ResourcesListResponse", + "type": "object", + "description": "A response containing a partial list of resources and a page token used to build the next request if the request has been truncated.", + "properties": { + "nextPageToken": { + "type": "string", + "description": "A token used to continue a truncated list request." + }, + "resources": { + "type": "array", + "description": "Resources contained in this list response.", + "items": { + "$ref": "Resource" + } + } + } + }, + "TargetConfiguration": { + "id": "TargetConfiguration", + "type": "object", + "description": "", + "properties": { + "config": { + "$ref": "ConfigFile", + "description": "The configuration to use for this deployment." + }, + "imports": { + "type": "array", + "description": "Specifies any files to import for this configuration. This can be used to import templates or other files. For example, you might import a text file in order to use the file in a template.", + "items": { + "$ref": "ImportFile" + } + } + } + }, + "Type": { + "id": "Type", + "type": "object", + "description": "A resource type supported by Deployment Manager.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "insertTime": { + "type": "string", + "description": "[Output Only] Timestamp when the type was created, in RFC3339 text format." + }, + "name": { + "type": "string", + "description": "Name of the type." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Self link for the type." + } + } + }, + "TypesListResponse": { + "id": "TypesListResponse", + "type": "object", + "description": "A response that returns all Types supported by Deployment Manager", + "properties": { + "nextPageToken": { + "type": "string", + "description": "A token used to continue a truncated list request." + }, + "types": { + "type": "array", + "description": "[Output Only] A list of resource types supported by Deployment Manager.", + "items": { + "$ref": "Type" + } + } + } + } + }, + "resources": { + "deployments": { + "methods": { + "cancelPreview": { + "id": "deploymentmanager.deployments.cancelPreview", + "path": "{project}/global/deployments/{deployment}/cancelPreview", + "httpMethod": "POST", + "description": "Cancels and removes the preview currently associated with the deployment.", + "parameters": { + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment" + ], + "request": { + "$ref": "DeploymentsCancelPreviewRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.cloudman" + ] + }, + "delete": { + "id": "deploymentmanager.deployments.delete", + "path": "{project}/global/deployments/{deployment}", + "httpMethod": "DELETE", + "description": "Deletes a deployment and all of the resources in the deployment.", + "parameters": { + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.cloudman" + ] + }, + "get": { + "id": "deploymentmanager.deployments.get", + "path": "{project}/global/deployments/{deployment}", + "httpMethod": "GET", + "description": "Gets information about a specific deployment.", + "parameters": { + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment" + ], + "response": { + "$ref": "Deployment" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + }, + "insert": { + "id": "deploymentmanager.deployments.insert", + "path": "{project}/global/deployments", + "httpMethod": "POST", + "description": "Creates a deployment and all of the resources described by the deployment manifest.", + "parameters": { + "preview": { + "type": "boolean", + "description": "If set to true, creates a deployment and creates \"shell\" resources but does not actually instantiate these resources. This allows you to preview what your deployment looks like. After previewing a deployment, you can deploy your resources by making a request with the update() method or you can use the cancelPreview() method to cancel the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", + "location": "query" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.cloudman" + ] + }, + "list": { + "id": "deploymentmanager.deployments.list", + "path": "{project}/global/deployments", + "httpMethod": "GET", + "description": "Lists all deployments for a given project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "DeploymentsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + }, + "patch": { + "id": "deploymentmanager.deployments.patch", + "path": "{project}/global/deployments/{deployment}", + "httpMethod": "PATCH", + "description": "Updates a deployment and all of the resources described by the deployment manifest. This method supports patch semantics.", + "parameters": { + "createPolicy": { + "type": "string", + "description": "Sets the policy to use for creating new resources.", + "default": "CREATE_OR_ACQUIRE", + "enum": [ + "ACQUIRE", + "CREATE_OR_ACQUIRE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "deletePolicy": { + "type": "string", + "description": "Sets the policy to use for deleting resources.", + "default": "DELETE", + "enum": [ + "ABANDON", + "DELETE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "preview": { + "type": "boolean", + "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment looks like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", + "default": "false", + "location": "query" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment" + ], + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.cloudman" + ] + }, + "stop": { + "id": "deploymentmanager.deployments.stop", + "path": "{project}/global/deployments/{deployment}/stop", + "httpMethod": "POST", + "description": "Stops an ongoing operation. This does not roll back any work that has already been completed, but prevents any new work from being started.", + "parameters": { + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment" + ], + "request": { + "$ref": "DeploymentsStopRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.cloudman" + ] + }, + "update": { + "id": "deploymentmanager.deployments.update", + "path": "{project}/global/deployments/{deployment}", + "httpMethod": "PUT", + "description": "Updates a deployment and all of the resources described by the deployment manifest.", + "parameters": { + "createPolicy": { + "type": "string", + "description": "Sets the policy to use for creating new resources.", + "default": "CREATE_OR_ACQUIRE", + "enum": [ + "ACQUIRE", + "CREATE_OR_ACQUIRE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "deletePolicy": { + "type": "string", + "description": "Sets the policy to use for deleting resources.", + "default": "DELETE", + "enum": [ + "ABANDON", + "DELETE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "preview": { + "type": "boolean", + "description": "If set to true, updates the deployment and creates and updates the \"shell\" resources but does not actually alter or instantiate these resources. This allows you to preview what your deployment looks like. You can use this intent to preview how an update would affect your deployment. You must provide a target.config with a configuration if this is set to true. After previewing a deployment, you can deploy your resources by making a request with the update() or you can cancelPreview() to remove the preview altogether. Note that the deployment will still exist after you cancel the preview and you must separately delete this deployment if you want to remove it.", + "default": "false", + "location": "query" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment" + ], + "request": { + "$ref": "Deployment" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/ndev.cloudman" + ] + } + } + }, + "manifests": { + "methods": { + "get": { + "id": "deploymentmanager.manifests.get", + "path": "{project}/global/deployments/{deployment}/manifests/{manifest}", + "httpMethod": "GET", + "description": "Gets information about a specific manifest.", + "parameters": { + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "manifest": { + "type": "string", + "description": "The name of the manifest for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment", + "manifest" + ], + "response": { + "$ref": "Manifest" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + }, + "list": { + "id": "deploymentmanager.manifests.list", + "path": "{project}/global/deployments/{deployment}/manifests", + "httpMethod": "GET", + "description": "Lists all manifests for a given deployment.", + "parameters": { + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment" + ], + "response": { + "$ref": "ManifestsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + } + } + }, + "operations": { + "methods": { + "get": { + "id": "deploymentmanager.operations.get", + "path": "{project}/global/operations/{operation}", + "httpMethod": "GET", + "description": "Gets information about a specific operation.", + "parameters": { + "operation": { + "type": "string", + "description": "The name of the operation for this request.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "operation" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + }, + "list": { + "id": "deploymentmanager.operations.list", + "path": "{project}/global/operations", + "httpMethod": "GET", + "description": "Lists all operations for a project.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "OperationsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + } + } + }, + "resources": { + "methods": { + "get": { + "id": "deploymentmanager.resources.get", + "path": "{project}/global/deployments/{deployment}/resources/{resource}", + "httpMethod": "GET", + "description": "Gets information about a single resource.", + "parameters": { + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "resource": { + "type": "string", + "description": "The name of the resource for this request.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment", + "resource" + ], + "response": { + "$ref": "Resource" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + }, + "list": { + "id": "deploymentmanager.resources.list", + "path": "{project}/global/deployments/{deployment}/resources", + "httpMethod": "GET", + "description": "Lists all resources in a given deployment.", + "parameters": { + "deployment": { + "type": "string", + "description": "The name of the deployment for this request.", + "required": true, + "pattern": "[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?", + "location": "path" + }, + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project", + "deployment" + ], + "response": { + "$ref": "ResourcesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + } + } + }, + "types": { + "methods": { + "list": { + "id": "deploymentmanager.types.list", + "path": "{project}/global/types", + "httpMethod": "GET", + "description": "Lists all resource types for Deployment Manager.", + "parameters": { + "filter": { + "type": "string", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum count of results to be returned.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Specifies a page token to use. Use this parameter if you want to list the next page of results. Set pageToken to the nextPageToken returned by a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "The project ID for this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "TypesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/ndev.cloudman", + "https://www.googleapis.com/auth/ndev.cloudman.readonly" + ] + } + } + } + } +} diff --git a/etc/api/deploymentmanager/v2beta1/deploymentmanager-api.json b/etc/api/deploymentmanager/v2beta1/deploymentmanager-api.json index b8838b4490..127d9fea60 100644 --- a/etc/api/deploymentmanager/v2beta1/deploymentmanager-api.json +++ b/etc/api/deploymentmanager/v2beta1/deploymentmanager-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/s4z2eJyMDiFWurSMIIUJE60QEOE\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/u5FQM4I03EZTfBK_pxzZ11vNzAs\"", "discoveryVersion": "v1", "id": "deploymentmanager:v2beta1", "name": "deploymentmanager", "version": "v2beta1", - "revision": "20150715", - "title": "Google Cloud Deployment Manager API V2", + "revision": "20150831", + "title": "Google Cloud Deployment Manager API", "description": "The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.", "ownerDomain": "google.com", "ownerName": "Google", @@ -75,6 +75,9 @@ "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" + }, "https://www.googleapis.com/auth/ndev.cloudman": { "description": "View and manage your Google Cloud Platform management resources and deployment status information" }, @@ -484,6 +487,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -552,6 +556,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -598,6 +603,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -646,6 +652,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -683,6 +690,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -723,6 +731,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -769,6 +778,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -817,6 +827,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -861,6 +872,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] diff --git a/etc/api/deploymentmanager/v2beta2/deploymentmanager-api.json b/etc/api/deploymentmanager/v2beta2/deploymentmanager-api.json index b4806342f8..2172451947 100644 --- a/etc/api/deploymentmanager/v2beta2/deploymentmanager-api.json +++ b/etc/api/deploymentmanager/v2beta2/deploymentmanager-api.json @@ -1,13 +1,13 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/7OGyLzBmnM10uDn_nCHmZOUgRH8\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/L3qYQaCmypSCqWoWq866HN97aNc\"", "discoveryVersion": "v1", "id": "deploymentmanager:v2beta2", "name": "deploymentmanager", "canonicalName": "Deployment Manager", "version": "v2beta2", - "revision": "20150715", - "title": "Google Cloud Deployment Manager API V2", + "revision": "20150831", + "title": "Google Cloud Deployment Manager API", "description": "The Deployment Manager API allows users to declaratively configure, deploy and run complex solutions on the Google Cloud Platform.", "ownerDomain": "google.com", "ownerName": "Google", @@ -73,6 +73,9 @@ "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" + }, "https://www.googleapis.com/auth/ndev.cloudman": { "description": "View and manage your Google Cloud Platform management resources and deployment status information" }, @@ -334,7 +337,7 @@ }, "selfLink": { "type": "string", - "description": "[Output Only] Server defined URL for the resource." + "description": "[Output Only] Server-defined URL for the resource." }, "startTime": { "type": "string", @@ -485,7 +488,7 @@ }, "intent": { "type": "string", - "description": "[Output Only] The intent of the resource, PREVIEW, UPDATE, or CANCEL." + "description": "[Output Only] The intent of the resource: PREVIEW, UPDATE, or CANCEL." }, "manifest": { "type": "string", @@ -542,9 +545,22 @@ "type": "object", "description": "A resource type supported by Deployment Manager.", "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server.", + "format": "uint64" + }, + "insertTime": { + "type": "string", + "description": "[Output Only] Timestamp when the type was created, in RFC3339 text format." + }, "name": { "type": "string", "description": "Name of the type." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Self link for the type." } } }, @@ -633,6 +649,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -673,7 +690,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -706,6 +723,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -908,6 +926,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -927,7 +946,7 @@ }, "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -961,6 +980,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -998,6 +1018,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -1010,7 +1031,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -1043,6 +1064,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -1088,6 +1110,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -1107,7 +1130,7 @@ }, "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -1141,6 +1164,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -1157,7 +1181,7 @@ "parameters": { "filter": { "type": "string", - "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must contain the following:\nFIELD_NAME COMPARISON_STRING LITERAL_STRING\n \n- FIELD_NAME: The name of the field you want to compare. The field name must be valid for the type of resource being filtered. Only atomic field types are supported (string, number, boolean). Array and object fields are not currently supported. \n- COMPARISON_STRING: The comparison string, either eq (equals) or ne (not equals). \n- LITERAL_STRING: The literal string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field. For example, you can filter by the name of a resource:\nfilter=name ne example-instance\nThe above filter returns only results whose name field does not equal example-instance. You can also enclose your literal string in single, double, or no quotes.", + "description": "Sets a filter expression for filtering listed resources, in the form filter={expression}. Your {expression} must be in the format: FIELD_NAME COMPARISON_STRING LITERAL_STRING.\n\nThe FIELD_NAME is the name of the field you want to compare. Only atomic field types are supported (string, number, boolean). The COMPARISON_STRING must be either eq (equals) or ne (not equals). The LITERAL_STRING is the string value to filter to. The literal value must be valid for the type of field (string, number, boolean). For string fields, the literal value is interpreted as a regular expression using RE2 syntax. The literal value must match the entire field.\n\nFor example, filter=name ne example-instance.", "location": "query" }, "maxResults": { @@ -1190,6 +1214,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] diff --git a/etc/api/dfareporting/v1.1/dfareporting-api.json b/etc/api/dfareporting/v1.1/dfareporting-api.json index 7fb0433735..26d406dd55 100644 --- a/etc/api/dfareporting/v1.1/dfareporting-api.json +++ b/etc/api/dfareporting/v1.1/dfareporting-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/5Jbupdmxforak0N9AJ7qL2buh0Q\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/xQdDSJ3xbHBMKOH8qlJs2NcU7GI\"", "discoveryVersion": "v1", "id": "dfareporting:v1.1", "name": "dfareporting", "version": "v1.1", - "revision": "20150326", + "revision": "20150717", "title": "DFA Reporting API", "description": "Lets you create, run and download reports.", "ownerDomain": "google.com", diff --git a/etc/api/dfareporting/v1.2/dfareporting-api.json b/etc/api/dfareporting/v1.2/dfareporting-api.json index f8186ed1c5..9886d608ef 100644 --- a/etc/api/dfareporting/v1.2/dfareporting-api.json +++ b/etc/api/dfareporting/v1.2/dfareporting-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/MGFmvOzx9bsO02Q9lzkQ8vQ-Hc0\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/l-W9FqK7KUevoQj6xnpj92wCY44\"", "discoveryVersion": "v1", "id": "dfareporting:v1.2", "name": "dfareporting", "version": "v1.2", - "revision": "20150326", + "revision": "20150717", "title": "DFA Reporting API", "description": "Lets you create, run and download reports.", "ownerDomain": "google.com", diff --git a/etc/api/dfareporting/v1.3/dfareporting-api.json b/etc/api/dfareporting/v1.3/dfareporting-api.json index 1a4df690ab..e4040d1281 100644 --- a/etc/api/dfareporting/v1.3/dfareporting-api.json +++ b/etc/api/dfareporting/v1.3/dfareporting-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/alwCpLBY38z4Gpjx5d9ZkHlpMA8\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Vol2Js4n6yBlbMWNNbpw3qZ-yII\"", "discoveryVersion": "v1", "id": "dfareporting:v1.3", "name": "dfareporting", "version": "v1.3", - "revision": "20150326", + "revision": "20150717", "title": "DFA Reporting API", "description": "Lets you create, run and download reports.", "ownerDomain": "google.com", diff --git a/etc/api/dfareporting/v1/dfareporting-api.json b/etc/api/dfareporting/v1/dfareporting-api.json index 1bc2b82f4e..dc0720702a 100644 --- a/etc/api/dfareporting/v1/dfareporting-api.json +++ b/etc/api/dfareporting/v1/dfareporting-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/_s-I2GvBt5V0FtLzVHcSFiuUwZQ\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/B10GWa_UwHrdc-P0ql_bCGXLROA\"", "discoveryVersion": "v1", "id": "dfareporting:v1", "name": "dfareporting", "version": "v1", - "revision": "20150326", + "revision": "20150717", "title": "DFA Reporting API", "description": "Lets you create, run and download reports.", "ownerDomain": "google.com", diff --git a/etc/api/dfareporting/v2.0/dfareporting-api.json b/etc/api/dfareporting/v2.0/dfareporting-api.json index c33b5511eb..90e9bb9724 100644 --- a/etc/api/dfareporting/v2.0/dfareporting-api.json +++ b/etc/api/dfareporting/v2.0/dfareporting-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/14gemQgeOwkk8XbVog9HBJLI5Js\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/hsqpr9X90U7kI0NDFJRw_wW8z3w\"", "discoveryVersion": "v1", "id": "dfareporting:v2.0", "name": "dfareporting", "version": "v2.0", - "revision": "20150326", + "revision": "20150717", "title": "DCM/DFA Reporting And Trafficking API", "description": "Manage your DoubleClick Campaign Manager ad campaigns and reports.", "ownerDomain": "google.com", @@ -2050,6 +2050,7 @@ "RICH_MEDIA_MULTI_FLOATING", "RICH_MEDIA_PEEL_DOWN", "TRACKING_TEXT", + "VAST_REDIRECT", "VPAID_LINEAR", "VPAID_NON_LINEAR" ], @@ -2076,6 +2077,7 @@ "", "", "", + "", "" ] }, @@ -4037,7 +4039,7 @@ }, "sslCompliant": { "type": "boolean", - "description": "Whether this tag is SSL-compliant or not." + "description": "Whether this tag is SSL-compliant or not. This is a read-only field." }, "status": { "type": "string", @@ -4441,7 +4443,6 @@ "enum": [ "U1", "U10", - "U100", "U11", "U12", "U13", @@ -4453,174 +4454,15 @@ "U19", "U2", "U20", - "U21", - "U22", - "U23", - "U24", - "U25", - "U26", - "U27", - "U28", - "U29", "U3", - "U30", - "U31", - "U32", - "U33", - "U34", - "U35", - "U36", - "U37", - "U38", - "U39", "U4", - "U40", - "U41", - "U42", - "U43", - "U44", - "U45", - "U46", - "U47", - "U48", - "U49", "U5", - "U50", - "U51", - "U52", - "U53", - "U54", - "U55", - "U56", - "U57", - "U58", - "U59", "U6", - "U60", - "U61", - "U62", - "U63", - "U64", - "U65", - "U66", - "U67", - "U68", - "U69", "U7", - "U70", - "U71", - "U72", - "U73", - "U74", - "U75", - "U76", - "U77", - "U78", - "U79", "U8", - "U80", - "U81", - "U82", - "U83", - "U84", - "U85", - "U86", - "U87", - "U88", - "U89", - "U9", - "U90", - "U91", - "U92", - "U93", - "U94", - "U95", - "U96", - "U97", - "U98", - "U99" + "U9" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", "", "", "", @@ -5709,12 +5551,17 @@ "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", @@ -5733,6 +5580,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ] } @@ -7254,7 +7106,7 @@ }, "sites": { "type": "array", - "description": "Site collection", + "description": "Site collection.", "items": { "$ref": "Site" } @@ -7422,12 +7274,17 @@ "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", @@ -7446,6 +7303,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ] }, @@ -7657,7 +7519,6 @@ "enum": [ "U1", "U10", - "U100", "U11", "U12", "U13", @@ -7669,174 +7530,15 @@ "U19", "U2", "U20", - "U21", - "U22", - "U23", - "U24", - "U25", - "U26", - "U27", - "U28", - "U29", "U3", - "U30", - "U31", - "U32", - "U33", - "U34", - "U35", - "U36", - "U37", - "U38", - "U39", "U4", - "U40", - "U41", - "U42", - "U43", - "U44", - "U45", - "U46", - "U47", - "U48", - "U49", "U5", - "U50", - "U51", - "U52", - "U53", - "U54", - "U55", - "U56", - "U57", - "U58", - "U59", "U6", - "U60", - "U61", - "U62", - "U63", - "U64", - "U65", - "U66", - "U67", - "U68", - "U69", "U7", - "U70", - "U71", - "U72", - "U73", - "U74", - "U75", - "U76", - "U77", - "U78", - "U79", "U8", - "U80", - "U81", - "U82", - "U83", - "U84", - "U85", - "U86", - "U87", - "U88", - "U89", - "U9", - "U90", - "U91", - "U92", - "U93", - "U94", - "U95", - "U96", - "U97", - "U98", - "U99" + "U9" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", "", "", "", @@ -8777,6 +8479,7 @@ "RICH_MEDIA_MULTI_FLOATING", "RICH_MEDIA_PEEL_DOWN", "TRACKING_TEXT", + "VAST_REDIRECT", "VPAID_LINEAR", "VPAID_NON_LINEAR" ], @@ -8803,6 +8506,7 @@ "", "", "", + "", "" ], "location": "query" @@ -9908,6 +9612,7 @@ "ACTION_PUSH", "ACTION_REMOVE", "ACTION_SEND", + "ACTION_SHARE", "ACTION_UNASSIGN", "ACTION_UNLINK", "ACTION_UPDATE" @@ -9928,6 +9633,7 @@ "", "", "", + "", "" ], "location": "query" @@ -11429,6 +11135,7 @@ "RICH_MEDIA_MULTI_FLOATING", "RICH_MEDIA_PEEL_DOWN", "TRACKING_TEXT", + "VAST_REDIRECT", "VPAID_LINEAR", "VPAID_NON_LINEAR" ], @@ -11455,6 +11162,7 @@ "", "", "", + "", "" ], "repeated": true, @@ -11957,12 +11665,12 @@ }, "definitionsOnly": { "type": "boolean", - "description": "Examine only the specified ad or campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign is examined as well. In addition, when set to false, the status field is examined as well along with the enabledByDefault field.", + "description": "Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags.", "location": "query" }, "enabled": { "type": "boolean", - "description": "Select only enabled event tags. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.", + "description": "Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.", "location": "query" }, "eventTagTypes": { @@ -13782,12 +13490,17 @@ "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", @@ -13806,6 +13519,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ], "repeated": true, diff --git a/etc/api/dfareporting/v2.1/dfareporting-api.json b/etc/api/dfareporting/v2.1/dfareporting-api.json index e0597e95f1..346a1a3250 100644 --- a/etc/api/dfareporting/v2.1/dfareporting-api.json +++ b/etc/api/dfareporting/v2.1/dfareporting-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/SEeO9vuT8hjPFMX0KTUcZsDuJV4\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/xZQxxa_Tb2iO1EIpR9uJ-M5uVs4\"", "discoveryVersion": "v1", "id": "dfareporting:v2.1", "name": "dfareporting", "version": "v2.1", - "revision": "20150326", + "revision": "20150717", "title": "DCM/DFA Reporting And Trafficking API", "description": "Manage your DoubleClick Campaign Manager ad campaigns and reports.", "ownerDomain": "google.com", @@ -2119,6 +2119,7 @@ "RICH_MEDIA_MULTI_FLOATING", "RICH_MEDIA_PEEL_DOWN", "TRACKING_TEXT", + "VAST_REDIRECT", "VPAID_LINEAR", "VPAID_NON_LINEAR" ], @@ -2145,6 +2146,7 @@ "", "", "", + "", "" ] }, @@ -4118,7 +4120,7 @@ }, "sslCompliant": { "type": "boolean", - "description": "Whether this tag is SSL-compliant or not." + "description": "Whether this tag is SSL-compliant or not. This is a read-only field." }, "status": { "type": "string", @@ -4549,7 +4551,6 @@ "enum": [ "U1", "U10", - "U100", "U11", "U12", "U13", @@ -4561,174 +4562,15 @@ "U19", "U2", "U20", - "U21", - "U22", - "U23", - "U24", - "U25", - "U26", - "U27", - "U28", - "U29", "U3", - "U30", - "U31", - "U32", - "U33", - "U34", - "U35", - "U36", - "U37", - "U38", - "U39", "U4", - "U40", - "U41", - "U42", - "U43", - "U44", - "U45", - "U46", - "U47", - "U48", - "U49", "U5", - "U50", - "U51", - "U52", - "U53", - "U54", - "U55", - "U56", - "U57", - "U58", - "U59", "U6", - "U60", - "U61", - "U62", - "U63", - "U64", - "U65", - "U66", - "U67", - "U68", - "U69", "U7", - "U70", - "U71", - "U72", - "U73", - "U74", - "U75", - "U76", - "U77", - "U78", - "U79", "U8", - "U80", - "U81", - "U82", - "U83", - "U84", - "U85", - "U86", - "U87", - "U88", - "U89", - "U9", - "U90", - "U91", - "U92", - "U93", - "U94", - "U95", - "U96", - "U97", - "U98", - "U99" + "U9" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", "", "", "", @@ -6325,12 +6167,17 @@ "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", @@ -6349,6 +6196,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ] } @@ -7306,7 +7158,7 @@ "RemarketingList": { "id": "RemarketingList", "type": "object", - "description": "Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingList resource.", + "description": "Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.", "properties": { "accountId": { "type": "string", @@ -8248,7 +8100,7 @@ }, "sites": { "type": "array", - "description": "Site collection", + "description": "Site collection.", "items": { "$ref": "Site" } @@ -8416,12 +8268,17 @@ "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", @@ -8440,6 +8297,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ] }, @@ -8525,7 +8387,7 @@ "TargetableRemarketingList": { "id": "TargetableRemarketingList", "type": "object", - "description": "Contains properties of a targetable remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource is a read-only view of a remarketing list to be used to faciliate targeting ads to specific lists. Remarketing lists that are owned by your advertisers and those that are shared to your advertisers or account are accessible via this resource. To manage remarketing lists that are owned by your advertisers, use the RemarketingList resource.", + "description": "Contains properties of a targetable remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource is a read-only view of a remarketing list to be used to faciliate targeting ads to specific lists. Remarketing lists that are owned by your advertisers and those that are shared to your advertisers or account are accessible via this resource. To manage remarketing lists that are owned by your advertisers, use the RemarketingLists resource.", "properties": { "accountId": { "type": "string", @@ -8750,7 +8612,6 @@ "enum": [ "U1", "U10", - "U100", "U11", "U12", "U13", @@ -8762,174 +8623,15 @@ "U19", "U2", "U20", - "U21", - "U22", - "U23", - "U24", - "U25", - "U26", - "U27", - "U28", - "U29", "U3", - "U30", - "U31", - "U32", - "U33", - "U34", - "U35", - "U36", - "U37", - "U38", - "U39", "U4", - "U40", - "U41", - "U42", - "U43", - "U44", - "U45", - "U46", - "U47", - "U48", - "U49", "U5", - "U50", - "U51", - "U52", - "U53", - "U54", - "U55", - "U56", - "U57", - "U58", - "U59", "U6", - "U60", - "U61", - "U62", - "U63", - "U64", - "U65", - "U66", - "U67", - "U68", - "U69", "U7", - "U70", - "U71", - "U72", - "U73", - "U74", - "U75", - "U76", - "U77", - "U78", - "U79", "U8", - "U80", - "U81", - "U82", - "U83", - "U84", - "U85", - "U86", - "U87", - "U88", - "U89", - "U9", - "U90", - "U91", - "U92", - "U93", - "U94", - "U95", - "U96", - "U97", - "U98", - "U99" + "U9" ], "enumDescriptions": [ - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", - "", "", "", "", @@ -9897,6 +9599,7 @@ "RICH_MEDIA_MULTI_FLOATING", "RICH_MEDIA_PEEL_DOWN", "TRACKING_TEXT", + "VAST_REDIRECT", "VPAID_LINEAR", "VPAID_NON_LINEAR" ], @@ -9923,6 +9626,7 @@ "", "", "", + "", "" ], "location": "query" @@ -11028,6 +10732,7 @@ "ACTION_PUSH", "ACTION_REMOVE", "ACTION_SEND", + "ACTION_SHARE", "ACTION_UNASSIGN", "ACTION_UNLINK", "ACTION_UPDATE" @@ -11048,6 +10753,7 @@ "", "", "", + "", "" ], "location": "query" @@ -12581,6 +12287,7 @@ "RICH_MEDIA_MULTI_FLOATING", "RICH_MEDIA_PEEL_DOWN", "TRACKING_TEXT", + "VAST_REDIRECT", "VPAID_LINEAR", "VPAID_NON_LINEAR" ], @@ -12607,6 +12314,7 @@ "", "", "", + "", "" ], "repeated": true, @@ -13136,12 +12844,12 @@ }, "definitionsOnly": { "type": "boolean", - "description": "Examine only the specified ad or campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign is examined as well. In addition, when set to false, the status field is examined as well along with the enabledByDefault field.", + "description": "Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags.", "location": "query" }, "enabled": { "type": "boolean", - "description": "Select only enabled event tags. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.", + "description": "Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.", "location": "query" }, "eventTagTypes": { @@ -15472,12 +15180,17 @@ "PLACEMENT_TAG_CLICK_COMMANDS", "PLACEMENT_TAG_IFRAME_ILAYER", "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", "PLACEMENT_TAG_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", "PLACEMENT_TAG_STANDARD", "PLACEMENT_TAG_TRACKING", "PLACEMENT_TAG_TRACKING_IFRAME", @@ -15496,6 +15209,11 @@ "", "", "", + "", + "", + "", + "", + "", "" ], "repeated": true, diff --git a/etc/api/dfareporting/v2.2/dfareporting-api.json b/etc/api/dfareporting/v2.2/dfareporting-api.json new file mode 100644 index 0000000000..e4ff709080 --- /dev/null +++ b/etc/api/dfareporting/v2.2/dfareporting-api.json @@ -0,0 +1,17672 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/qexyTX_0gifZ9lTG0KLr53MQrI4\"", + "discoveryVersion": "v1", + "id": "dfareporting:v2.2", + "name": "dfareporting", + "version": "v2.2", + "revision": "20150717", + "title": "DCM/DFA Reporting And Trafficking API", + "description": "Manage your DoubleClick Campaign Manager ad campaigns and reports.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "https://www.google.com/images/icons/product/doubleclick-16.gif", + "x32": "https://www.google.com/images/icons/product/doubleclick-32.gif" + }, + "documentationLink": "https://developers.google.com/doubleclick-advertisers/reporting/", + "protocol": "rest", + "baseUrl": "https://www.googleapis.com/dfareporting/v2.2/", + "basePath": "/dfareporting/v2.2/", + "rootUrl": "https://www.googleapis.com/", + "servicePath": "dfareporting/v2.2/", + "batchPath": "batch", + "parameters": { + "alt": { + "type": "string", + "description": "Data format for the response.", + "default": "json", + "enum": [ + "json" + ], + "enumDescriptions": [ + "Responses with Content-Type of application/json" + ], + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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. Overrides userIp if both are provided.", + "location": "query" + }, + "userIp": { + "type": "string", + "description": "IP address of the site where the request originates. Use this if you want to enforce per-user limits.", + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/dfareporting": { + "description": "View and manage DoubleClick for Advertisers reports" + }, + "https://www.googleapis.com/auth/dfatrafficking": { + "description": "View and manage your DoubleClick Campaign Manager's (DCM) display ad campaigns" + } + } + } + }, + "schemas": { + "Account": { + "id": "Account", + "type": "object", + "description": "Contains properties of a DCM account.", + "properties": { + "accountPermissionIds": { + "type": "array", + "description": "Account permissions assigned to this account.", + "items": { + "type": "string", + "format": "int64" + } + }, + "accountProfile": { + "type": "string", + "description": "Profile for this account. This is a read-only field that can be left blank.", + "enum": [ + "ACCOUNT_PROFILE_BASIC", + "ACCOUNT_PROFILE_STANDARD" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "active": { + "type": "boolean", + "description": "Whether this account is active." + }, + "activeAdsLimitTier": { + "type": "string", + "description": "Maximum number of active ads allowed for this account.", + "enum": [ + "ACTIVE_ADS_TIER_100K", + "ACTIVE_ADS_TIER_200K", + "ACTIVE_ADS_TIER_300K", + "ACTIVE_ADS_TIER_40K", + "ACTIVE_ADS_TIER_75K" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "activeViewOptOut": { + "type": "boolean", + "description": "Whether to serve creatives with Active View tags. If disabled, viewability data will not be available for any impressions." + }, + "availablePermissionIds": { + "type": "array", + "description": "User role permissions available to the user roles of this account.", + "items": { + "type": "string", + "format": "int64" + } + }, + "comscoreVceEnabled": { + "type": "boolean", + "description": "Whether campaigns created in this account will be enabled for comScore vCE by default." + }, + "countryId": { + "type": "string", + "description": "ID of the country associated with this account.", + "format": "int64" + }, + "currencyId": { + "type": "string", + "description": "ID of currency associated with this account. This is a required field.\nAcceptable values are: \n- \"1\" for USD \n- \"2\" for GBP \n- \"3\" for ESP \n- \"4\" for SEK \n- \"5\" for CAD \n- \"6\" for JPY \n- \"7\" for DEM \n- \"8\" for AUD \n- \"9\" for FRF \n- \"10\" for ITL \n- \"11\" for DKK \n- \"12\" for NOK \n- \"13\" for FIM \n- \"14\" for ZAR \n- \"15\" for IEP \n- \"16\" for NLG \n- \"17\" for EUR \n- \"18\" for KRW \n- \"19\" for TWD \n- \"20\" for SGD \n- \"21\" for CNY \n- \"22\" for HKD \n- \"23\" for NZD \n- \"24\" for MYR \n- \"25\" for BRL \n- \"26\" for PTE \n- \"27\" for MXP \n- \"28\" for CLP \n- \"29\" for TRY \n- \"30\" for ARS \n- \"31\" for PEN \n- \"32\" for ILS \n- \"33\" for CHF \n- \"34\" for VEF \n- \"35\" for COP \n- \"36\" for GTQ", + "format": "int64" + }, + "defaultCreativeSizeId": { + "type": "string", + "description": "Default placement dimensions for this account.", + "format": "int64" + }, + "description": { + "type": "string", + "description": "Description of this account." + }, + "id": { + "type": "string", + "description": "ID of this account. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#account\".", + "default": "dfareporting#account" + }, + "locale": { + "type": "string", + "description": "Locale of this account.\nAcceptable values are: \n- \"cs\" (Czech) \n- \"de\" (German) \n- \"en\" (English) \n- \"en-GB\" (English United Kingdom) \n- \"es\" (Spanish) \n- \"fr\" (French) \n- \"it\" (Italian) \n- \"ja\" (Japanese) \n- \"ko\" (Korean) \n- \"pl\" (Polish) \n- \"pt-BR\" (Portuguese Brazil) \n- \"ru\" (Russian) \n- \"sv\" (Swedish) \n- \"tr\" (Turkish) \n- \"zh-CN\" (Chinese Simplified) \n- \"zh-TW\" (Chinese Traditional)" + }, + "maximumImageSize": { + "type": "string", + "description": "Maximum image size allowed for this account.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "Name of this account. This is a required field, and must be less than 128 characters long and be globally unique." + }, + "nielsenOcrEnabled": { + "type": "boolean", + "description": "Whether campaigns created in this account will be enabled for Nielsen OCR reach ratings by default." + }, + "reportsConfiguration": { + "$ref": "ReportsConfiguration", + "description": "Reporting configuration of this account." + }, + "teaserSizeLimit": { + "type": "string", + "description": "File size limit in kilobytes of Rich Media teaser creatives. Must be between 1 and 10240.", + "format": "int64" + } + } + }, + "AccountActiveAdSummary": { + "id": "AccountActiveAdSummary", + "type": "object", + "description": "Gets a summary of active ads in an account.", + "properties": { + "accountId": { + "type": "string", + "description": "ID of the account.", + "format": "int64" + }, + "activeAds": { + "type": "string", + "description": "Ads that have been activated for the account", + "format": "int64" + }, + "activeAdsLimitTier": { + "type": "string", + "description": "Maximum number of active ads allowed for the account.", + "enum": [ + "ACTIVE_ADS_TIER_100K", + "ACTIVE_ADS_TIER_200K", + "ACTIVE_ADS_TIER_300K", + "ACTIVE_ADS_TIER_40K", + "ACTIVE_ADS_TIER_75K" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "availableAds": { + "type": "string", + "description": "Ads that can be activated for the account.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountActiveAdSummary\".", + "default": "dfareporting#accountActiveAdSummary" + } + } + }, + "AccountPermission": { + "id": "AccountPermission", + "type": "object", + "description": "AccountPermissions contains information about a particular account permission. Some features of DCM require an account permission to be present in the account.", + "properties": { + "accountProfiles": { + "type": "array", + "description": "Account profiles associated with this account permission.\n\nPossible values are:\n- \"ACCOUNT_PROFILE_BASIC\"\n- \"ACCOUNT_PROFILE_STANDARD\"", + "items": { + "type": "string", + "enum": [ + "ACCOUNT_PROFILE_BASIC", + "ACCOUNT_PROFILE_STANDARD" + ], + "enumDescriptions": [ + "", + "" + ] + } + }, + "id": { + "type": "string", + "description": "ID of this account permission.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermission\".", + "default": "dfareporting#accountPermission" + }, + "level": { + "type": "string", + "description": "Administrative level required to enable this account permission.", + "enum": [ + "ADMINISTRATOR", + "USER" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "name": { + "type": "string", + "description": "Name of this account permission." + }, + "permissionGroupId": { + "type": "string", + "description": "Permission group of this account permission.", + "format": "int64" + } + } + }, + "AccountPermissionGroup": { + "id": "AccountPermissionGroup", + "type": "object", + "description": "AccountPermissionGroups contains a mapping of permission group IDs to names. A permission group is a grouping of account permissions.", + "properties": { + "id": { + "type": "string", + "description": "ID of this account permission group.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionGroup\".", + "default": "dfareporting#accountPermissionGroup" + }, + "name": { + "type": "string", + "description": "Name of this account permission group." + } + } + }, + "AccountPermissionGroupsListResponse": { + "id": "AccountPermissionGroupsListResponse", + "type": "object", + "description": "Account Permission Group List Response", + "properties": { + "accountPermissionGroups": { + "type": "array", + "description": "Account permission group collection.", + "items": { + "$ref": "AccountPermissionGroup" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionGroupsListResponse\".", + "default": "dfareporting#accountPermissionGroupsListResponse" + } + } + }, + "AccountPermissionsListResponse": { + "id": "AccountPermissionsListResponse", + "type": "object", + "description": "Account Permission List Response", + "properties": { + "accountPermissions": { + "type": "array", + "description": "Account permission collection.", + "items": { + "$ref": "AccountPermission" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountPermissionsListResponse\".", + "default": "dfareporting#accountPermissionsListResponse" + } + } + }, + "AccountUserProfile": { + "id": "AccountUserProfile", + "type": "object", + "description": "AccountUserProfiles contains properties of a DCM user profile. This resource is specifically for managing user profiles, whereas UserProfiles is for accessing the API.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of the user profile. This is a read-only field that can be left blank.", + "format": "int64" + }, + "active": { + "type": "boolean", + "description": "Whether this user profile is active. This defaults to false, and must be set true on insert for the user profile to be usable." + }, + "advertiserFilter": { + "$ref": "ObjectFilter", + "description": "Filter that describes which advertisers are visible to the user profile." + }, + "campaignFilter": { + "$ref": "ObjectFilter", + "description": "Filter that describes which campaigns are visible to the user profile." + }, + "comments": { + "type": "string", + "description": "Comments for this user profile." + }, + "email": { + "type": "string", + "description": "Email of the user profile. The email addresss must be linked to a Google Account. This field is required on insertion and is read-only after insertion." + }, + "id": { + "type": "string", + "description": "ID of the user profile. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountUserProfile\".", + "default": "dfareporting#accountUserProfile" + }, + "locale": { + "type": "string", + "description": "Locale of the user profile. This is a required field.\nAcceptable values are: \n- \"cs\" (Czech) \n- \"de\" (German) \n- \"en\" (English) \n- \"en-GB\" (English United Kingdom) \n- \"es\" (Spanish) \n- \"fr\" (French) \n- \"it\" (Italian) \n- \"ja\" (Japanese) \n- \"ko\" (Korean) \n- \"pl\" (Polish) \n- \"pt-BR\" (Portuguese Brazil)\n- \"ru\" (Russian) \n- \"sv\" (Swedish) \n- \"tr\" (Turkish) \n- \"zh-CN\" (Chinese Simplified) \n- \"zh-TW\" (Chinese Traditional)" + }, + "name": { + "type": "string", + "description": "Name of the user profile. This is a required field. Must be less than 64 characters long, must be globally unique, and cannot contain whitespace or any of the following characters: \"&;\"#%,\"." + }, + "siteFilter": { + "$ref": "ObjectFilter", + "description": "Filter that describes which sites are visible to the user profile." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of the user profile. This is a read-only field that can be left blank.", + "format": "int64" + }, + "traffickerType": { + "type": "string", + "description": "Trafficker type of this user profile.", + "enum": [ + "EXTERNAL_TRAFFICKER", + "INTERNAL_NON_TRAFFICKER", + "INTERNAL_TRAFFICKER" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "userAccessType": { + "type": "string", + "description": "User type of the user profile. This is a read-only field that can be left blank.", + "enum": [ + "INTERNAL_ADMINISTRATOR", + "NORMAL_USER", + "SUPER_USER" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "userRoleFilter": { + "$ref": "ObjectFilter", + "description": "Filter that describes which user roles are visible to the user profile." + }, + "userRoleId": { + "type": "string", + "description": "User role ID of the user profile. This is a required field.", + "format": "int64" + } + } + }, + "AccountUserProfilesListResponse": { + "id": "AccountUserProfilesListResponse", + "type": "object", + "description": "Account User Profile List Response", + "properties": { + "accountUserProfiles": { + "type": "array", + "description": "Account user profile collection.", + "items": { + "$ref": "AccountUserProfile" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountUserProfilesListResponse\".", + "default": "dfareporting#accountUserProfilesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "AccountsListResponse": { + "id": "AccountsListResponse", + "type": "object", + "description": "Account List Response", + "properties": { + "accounts": { + "type": "array", + "description": "Account collection.", + "items": { + "$ref": "Account" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#accountsListResponse\".", + "default": "dfareporting#accountsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "Activities": { + "id": "Activities", + "type": "object", + "description": "Represents an activity group.", + "properties": { + "filters": { + "type": "array", + "description": "List of activity filters. The dimension values need to be all either of type \"dfa:activity\" or \"dfa:activityGroup\".", + "items": { + "$ref": "DimensionValue" + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#activities.", + "default": "dfareporting#activities" + }, + "metricNames": { + "type": "array", + "description": "List of names of floodlight activity metrics.", + "items": { + "type": "string" + } + } + } + }, + "Ad": { + "id": "Ad", + "type": "object", + "description": "Contains properties of a DCM ad.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this ad. This is a read-only field that can be left blank.", + "format": "int64" + }, + "active": { + "type": "boolean", + "description": "Whether this ad is active." + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this ad. This is a required field on insertion.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "archived": { + "type": "boolean", + "description": "Whether this ad is archived." + }, + "audienceSegmentId": { + "type": "string", + "description": "Audience segment ID that is being targeted for this ad. Applicable when type is AD_SERVING_STANDARD_AD.", + "format": "int64" + }, + "campaignId": { + "type": "string", + "description": "Campaign ID of this ad. This is a required field on insertion.", + "format": "int64" + }, + "campaignIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field." + }, + "clickThroughUrl": { + "$ref": "ClickThroughUrl", + "description": "Click-through URL for this ad. This is a required field on insertion. Applicable when type is AD_SERVING_CLICK_TRACKER." + }, + "clickThroughUrlSuffixProperties": { + "$ref": "ClickThroughUrlSuffixProperties", + "description": "Click-through URL suffix properties for this ad. Applies to the URL in the ad or (if overriding ad properties) the URL in the creative." + }, + "comments": { + "type": "string", + "description": "Comments for this ad." + }, + "compatibility": { + "type": "string", + "description": "Compatibility of this ad. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.", + "enum": [ + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "WEB", + "WEB_INTERSTITIAL" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this ad.This is a read-only field." + }, + "creativeGroupAssignments": { + "type": "array", + "description": "Creative group assignments for this ad. Applicable when type is AD_SERVING_CLICK_TRACKER. Only one assignment per creative group number is allowed for a maximum of two assignments.", + "items": { + "$ref": "CreativeGroupAssignment" + } + }, + "creativeRotation": { + "$ref": "CreativeRotation", + "description": "Creative rotation for this ad. Applicable when type is AD_SERVING_DEFAULT_AD, AD_SERVING_STANDARD_AD, or AD_SERVING_TRACKING. When type is AD_SERVING_DEFAULT_AD, this field should have exactly one creativeAssignment." + }, + "dayPartTargeting": { + "$ref": "DayPartTargeting", + "description": "Time and day targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "defaultClickThroughEventTagProperties": { + "$ref": "DefaultClickThroughEventTagProperties", + "description": "Default click-through event tag properties for this ad." + }, + "deliverySchedule": { + "$ref": "DeliverySchedule", + "description": "Delivery schedule information for this ad. Applicable when type is AD_SERVING_STANDARD_AD or AD_SERVING_TRACKING. This field along with subfields priority and impressionRatio are required on insertion when type is AD_SERVING_STANDARD_AD." + }, + "dynamicClickTracker": { + "type": "boolean", + "description": "Whether this ad is a dynamic click tracker. Applicable when type is AD_SERVING_CLICK_TRACKER. This is a required field on insert, and is read-only after insert." + }, + "endTime": { + "type": "string", + "description": "Date and time that this ad should stop serving. Must be later than the start time. This is a required field on insertion.", + "format": "date-time" + }, + "eventTagOverrides": { + "type": "array", + "description": "Event tag overrides for this ad.", + "items": { + "$ref": "EventTagOverride" + } + }, + "geoTargeting": { + "$ref": "GeoTargeting", + "description": "Geographical targeting information for this ad.Applicable when type is AD_SERVING_STANDARD_AD." + }, + "id": { + "type": "string", + "description": "ID of this ad. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this ad. This is a read-only, auto-generated field." + }, + "keyValueTargetingExpression": { + "$ref": "KeyValueTargetingExpression", + "description": "Key-value targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#ad\".", + "default": "dfareporting#ad" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this ad. This is a read-only field." + }, + "name": { + "type": "string", + "description": "Name of this ad. This is a required field and must be less than 256 characters long." + }, + "placementAssignments": { + "type": "array", + "description": "Placement assignments for this ad.", + "items": { + "$ref": "PlacementAssignment" + } + }, + "remarketingListExpression": { + "$ref": "ListTargetingExpression", + "description": "Applicable when type is AD_SERVING_STANDARD_AD. Remarketing list targeting expression for this ad." + }, + "size": { + "$ref": "Size", + "description": "Size of this ad. Applicable when type is AD_SERVING_DEFAULT_AD." + }, + "sslCompliant": { + "type": "boolean", + "description": "Whether this ad is ssl compliant. This is a read-only field that is auto-generated when the ad is inserted or updated." + }, + "sslRequired": { + "type": "boolean", + "description": "Whether this ad requires ssl. This is a read-only field that is auto-generated when the ad is inserted or updated." + }, + "startTime": { + "type": "string", + "description": "Date and time that this ad should start serving. If creating an ad, this field must be a time in the future. This is a required field on insertion.", + "format": "date-time" + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this ad. This is a read-only field that can be left blank.", + "format": "int64" + }, + "technologyTargeting": { + "$ref": "TechnologyTargeting", + "description": "Technology platform targeting information for this ad. Applicable when type is AD_SERVING_STANDARD_AD." + }, + "type": { + "type": "string", + "description": "Type of ad. This is a required field on insertion. Note that default ads (AD_SERVING_DEFAULT_AD) cannot be created directly (see Creative resource).", + "enum": [ + "AD_SERVING_CLICK_TRACKER", + "AD_SERVING_DEFAULT_AD", + "AD_SERVING_STANDARD_AD", + "AD_SERVING_TRACKING" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + } + } + }, + "AdSlot": { + "id": "AdSlot", + "type": "object", + "description": "Ad Slot", + "properties": { + "comment": { + "type": "string", + "description": "Comment for this ad slot." + }, + "compatibility": { + "type": "string", + "description": "Ad slot compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.", + "enum": [ + "PLANNING_RENDERING_ENVIRONMENT_TYPE_APP", + "PLANNING_RENDERING_ENVIRONMENT_TYPE_APP_INTERSTITIAL", + "PLANNING_RENDERING_ENVIRONMENT_TYPE_IN_STREAM_VIDEO", + "PLANNING_RENDERING_ENVIRONMENT_TYPE_WEB", + "PLANNING_RENDERING_ENVIRONMENT_TYPE_WEB_INTERSTITIAL" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "height": { + "type": "string", + "description": "Height of this ad slot.", + "format": "int64" + }, + "linkedPlacementId": { + "type": "string", + "description": "ID of the placement from an external platform that is linked to this ad slot.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "Name of this ad slot." + }, + "paymentSourceType": { + "type": "string", + "description": "Payment source type of this ad slot.", + "enum": [ + "PLANNING_PAYMENT_SOURCE_TYPE_AGENCY_PAID", + "PLANNING_PAYMENT_SOURCE_TYPE_PUBLISHER_PAID" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "primary": { + "type": "boolean", + "description": "Primary ad slot of a roadblock inventory item." + }, + "width": { + "type": "string", + "description": "Width of this ad slot.", + "format": "int64" + } + } + }, + "AdsListResponse": { + "id": "AdsListResponse", + "type": "object", + "description": "Ad List Response", + "properties": { + "ads": { + "type": "array", + "description": "Ad collection.", + "items": { + "$ref": "Ad" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#adsListResponse\".", + "default": "dfareporting#adsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "Advertiser": { + "id": "Advertiser", + "type": "object", + "description": "Contains properties of a DCM advertiser.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this advertiser.This is a read-only field that can be left blank.", + "format": "int64" + }, + "advertiserGroupId": { + "type": "string", + "description": "ID of the advertiser group this advertiser belongs to. You can group advertisers for reporting purposes, allowing you to see aggregated information for all advertisers in each group.", + "format": "int64" + }, + "clickThroughUrlSuffix": { + "type": "string", + "description": "Suffix added to click-through URL of ad creative associations under this advertiser. Must be less than 129 characters long." + }, + "defaultClickThroughEventTagId": { + "type": "string", + "description": "ID of the click-through event tag to apply by default to the landing pages of this advertiser's campaigns.", + "format": "int64" + }, + "defaultEmail": { + "type": "string", + "description": "Default email address used in sender field for tag emails." + }, + "floodlightConfigurationId": { + "type": "string", + "description": "Floodlight configuration ID of this advertiser. The floodlight configuration ID will be created automatically, so on insert this field should be left blank. This field can be set to another advertiser's floodlight configuration ID in order to share that advertiser's floodlight configuration with this advertiser, so long as: \n- This advertiser's original floodlight configuration is not already associated with floodlight activities or floodlight activity groups. \n- This advertiser's original floodlight configuration is not already shared with another advertiser.", + "format": "int64" + }, + "floodlightConfigurationIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field." + }, + "id": { + "type": "string", + "description": "ID of this advertiser. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this advertiser. This is a read-only, auto-generated field." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiser\".", + "default": "dfareporting#advertiser" + }, + "name": { + "type": "string", + "description": "Name of this advertiser. This is a required field and must be less than 256 characters long and unique among advertisers of the same account." + }, + "originalFloodlightConfigurationId": { + "type": "string", + "description": "Original floodlight configuration before any sharing occurred. Set the floodlightConfigurationId of this advertiser to originalFloodlightConfigurationId to unshare the advertiser's current floodlight configuration. You cannot unshare an advertiser's floodlight configuration if the shared configuration has activities associated with any campaign or placement.", + "format": "int64" + }, + "status": { + "type": "string", + "description": "Status of this advertiser.", + "enum": [ + "APPROVED", + "ON_HOLD" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this advertiser.This is a read-only field that can be left blank.", + "format": "int64" + }, + "suspended": { + "type": "boolean", + "description": "Suspension status of this advertiser." + } + } + }, + "AdvertiserGroup": { + "id": "AdvertiserGroup", + "type": "object", + "description": "Groups advertisers together so that reports can be generated for the entire group at once.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this advertiser group. This is a read-only field that can be left blank.", + "format": "int64" + }, + "id": { + "type": "string", + "description": "ID of this advertiser group. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserGroup\".", + "default": "dfareporting#advertiserGroup" + }, + "name": { + "type": "string", + "description": "Name of this advertiser group. This is a required field and must be less than 256 characters long and unique among advertiser groups of the same account." + } + } + }, + "AdvertiserGroupsListResponse": { + "id": "AdvertiserGroupsListResponse", + "type": "object", + "description": "Advertiser Group List Response", + "properties": { + "advertiserGroups": { + "type": "array", + "description": "Advertiser group collection.", + "items": { + "$ref": "AdvertiserGroup" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertiserGroupsListResponse\".", + "default": "dfareporting#advertiserGroupsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "AdvertisersListResponse": { + "id": "AdvertisersListResponse", + "type": "object", + "description": "Advertiser List Response", + "properties": { + "advertisers": { + "type": "array", + "description": "Advertiser collection.", + "items": { + "$ref": "Advertiser" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#advertisersListResponse\".", + "default": "dfareporting#advertisersListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "AudienceSegment": { + "id": "AudienceSegment", + "type": "object", + "description": "Audience Segment.", + "properties": { + "allocation": { + "type": "integer", + "description": "Weight allocated to this segment. Must be between 1 and 1000. The weight assigned will be understood in proportion to the weights assigned to other segments in the same segment group.", + "format": "int32" + }, + "id": { + "type": "string", + "description": "ID of this audience segment. This is a read-only, auto-generated field.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "Name of this audience segment. This is a required field and must be less than 65 characters long." + } + } + }, + "AudienceSegmentGroup": { + "id": "AudienceSegmentGroup", + "type": "object", + "description": "Audience Segment Group.", + "properties": { + "audienceSegments": { + "type": "array", + "description": "Audience segments assigned to this group. The number of segments must be between 2 and 100.", + "items": { + "$ref": "AudienceSegment" + } + }, + "id": { + "type": "string", + "description": "ID of this audience segment group. This is a read-only, auto-generated field.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "Name of this audience segment group. This is a required field and must be less than 65 characters long." + } + } + }, + "Browser": { + "id": "Browser", + "type": "object", + "description": "Contains information about a browser that can be targeted by ads.", + "properties": { + "browserVersionId": { + "type": "string", + "description": "ID referring to this grouping of browser and version numbers. This is the ID used for targeting.", + "format": "int64" + }, + "dartId": { + "type": "string", + "description": "DART ID of this browser. This is the ID used when generating reports.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#browser\".", + "default": "dfareporting#browser" + }, + "majorVersion": { + "type": "string", + "description": "Major version number (leftmost number) of this browser. For example, for Chrome 5.0.376.86 beta, this field should be set to 5. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is." + }, + "minorVersion": { + "type": "string", + "description": "Minor version number (number after first dot on left) of this browser. For example, for Chrome 5.0.375.86 beta, this field should be set to 0. An asterisk (*) may be used to target any version number, and a question mark (?) may be used to target cases where the version number cannot be identified. For example, Chrome *.* targets any version of Chrome: 1.2, 2.5, 3.5, and so on. Chrome 3.* targets Chrome 3.1, 3.5, but not 4.0. Firefox ?.? targets cases where the ad server knows the browser is Firefox but can't tell which version it is." + }, + "name": { + "type": "string", + "description": "Name of this browser." + } + } + }, + "BrowsersListResponse": { + "id": "BrowsersListResponse", + "type": "object", + "description": "Browser List Response", + "properties": { + "browsers": { + "type": "array", + "description": "Browser collection.", + "items": { + "$ref": "Browser" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#browsersListResponse\".", + "default": "dfareporting#browsersListResponse" + } + } + }, + "Campaign": { + "id": "Campaign", + "type": "object", + "description": "Contains properties of a DCM campaign.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this campaign. This is a read-only field that can be left blank.", + "format": "int64" + }, + "additionalCreativeOptimizationConfigurations": { + "type": "array", + "description": "Additional creative optimization configurations for the campaign.", + "items": { + "$ref": "CreativeOptimizationConfiguration" + } + }, + "advertiserGroupId": { + "type": "string", + "description": "Advertiser group ID of the associated advertiser.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this campaign. This is a required field.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the advertiser ID of this campaign. This is a read-only, auto-generated field." + }, + "archived": { + "type": "boolean", + "description": "Whether this campaign has been archived." + }, + "audienceSegmentGroups": { + "type": "array", + "description": "Audience segment groups assigned to this campaign. Cannot have more than 300 segment groups.", + "items": { + "$ref": "AudienceSegmentGroup" + } + }, + "billingInvoiceCode": { + "type": "string", + "description": "Billing invoice code included in the DCM client billing invoices associated with the campaign." + }, + "clickThroughUrlSuffixProperties": { + "$ref": "ClickThroughUrlSuffixProperties", + "description": "Click-through URL suffix override properties for this campaign." + }, + "comment": { + "type": "string", + "description": "Arbitrary comments about this campaign. Must be less than 256 characters long." + }, + "comscoreVceEnabled": { + "type": "boolean", + "description": "Whether comScore vCE reports are enabled for this campaign." + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this campaign. This is a read-only field." + }, + "creativeGroupIds": { + "type": "array", + "description": "List of creative group IDs that are assigned to the campaign.", + "items": { + "type": "string", + "format": "int64" + } + }, + "creativeOptimizationConfiguration": { + "$ref": "CreativeOptimizationConfiguration", + "description": "Creative optimization configuration for the campaign." + }, + "defaultClickThroughEventTagProperties": { + "$ref": "DefaultClickThroughEventTagProperties", + "description": "Click-through event tag ID override properties for this campaign." + }, + "endDate": { + "type": "string", + "description": "Date on which the campaign will stop running. On insert, the end date must be today or a future date. The end date must be later than or be the same as the start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective campaign run date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This is a required field.", + "format": "date" + }, + "eventTagOverrides": { + "type": "array", + "description": "Overrides that can be used to activate or deactivate advertiser event tags.", + "items": { + "$ref": "EventTagOverride" + } + }, + "externalId": { + "type": "string", + "description": "External ID for this campaign." + }, + "id": { + "type": "string", + "description": "ID of this campaign. This is a read-only auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this campaign. This is a read-only, auto-generated field." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaign\".", + "default": "dfareporting#campaign" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this campaign. This is a read-only field." + }, + "lookbackConfiguration": { + "$ref": "LookbackConfiguration", + "description": "Lookback window settings for the campaign." + }, + "name": { + "type": "string", + "description": "Name of this campaign. This is a required field and must be less than 256 characters long and unique among campaigns of the same advertiser." + }, + "nielsenOcrEnabled": { + "type": "boolean", + "description": "Whether Nielsen reports are enabled for this campaign." + }, + "startDate": { + "type": "string", + "description": "Date on which the campaign starts running. The start date can be any date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This is a required field.", + "format": "date" + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this campaign. This is a read-only field that can be left blank.", + "format": "int64" + }, + "traffickerEmails": { + "type": "array", + "description": "Campaign trafficker contact emails.", + "items": { + "type": "string" + } + } + } + }, + "CampaignCreativeAssociation": { + "id": "CampaignCreativeAssociation", + "type": "object", + "description": "Identifies a creative which has been associated with a given campaign.", + "properties": { + "creativeId": { + "type": "string", + "description": "ID of the creative associated with the campaign. This is a required field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignCreativeAssociation\".", + "default": "dfareporting#campaignCreativeAssociation" + } + } + }, + "CampaignCreativeAssociationsListResponse": { + "id": "CampaignCreativeAssociationsListResponse", + "type": "object", + "description": "Campaign Creative Association List Response", + "properties": { + "campaignCreativeAssociations": { + "type": "array", + "description": "Campaign creative association collection", + "items": { + "$ref": "CampaignCreativeAssociation" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignCreativeAssociationsListResponse\".", + "default": "dfareporting#campaignCreativeAssociationsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "CampaignsListResponse": { + "id": "CampaignsListResponse", + "type": "object", + "description": "Campaign List Response", + "properties": { + "campaigns": { + "type": "array", + "description": "Campaign collection.", + "items": { + "$ref": "Campaign" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#campaignsListResponse\".", + "default": "dfareporting#campaignsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "ChangeLog": { + "id": "ChangeLog", + "type": "object", + "description": "Describes a change that a user has made to a resource.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of the modified object.", + "format": "int64" + }, + "action": { + "type": "string", + "description": "Action which caused the change." + }, + "changeTime": { + "type": "string", + "description": "Time when the object was modified.", + "format": "date-time" + }, + "fieldName": { + "type": "string", + "description": "Field name of the object which changed." + }, + "id": { + "type": "string", + "description": "ID of this change log.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#changeLog\".", + "default": "dfareporting#changeLog" + }, + "newValue": { + "type": "string", + "description": "New value of the object field." + }, + "objectId": { + "type": "string", + "description": "ID of the object of this change log. The object could be a campaign, placement, ad, or other type.", + "format": "int64" + }, + "objectType": { + "type": "string", + "description": "Object type of the change log." + }, + "oldValue": { + "type": "string", + "description": "Old value of the object field." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of the modified object.", + "format": "int64" + }, + "transactionId": { + "type": "string", + "description": "Transaction ID of this change log. When a single API call results in many changes, each change will have a separate ID in the change log but will share the same transactionId.", + "format": "int64" + }, + "userProfileId": { + "type": "string", + "description": "ID of the user who modified the object.", + "format": "int64" + }, + "userProfileName": { + "type": "string", + "description": "User profile name of the user who modified the object." + } + } + }, + "ChangeLogsListResponse": { + "id": "ChangeLogsListResponse", + "type": "object", + "description": "Change Log List Response", + "properties": { + "changeLogs": { + "type": "array", + "description": "Change log collection.", + "items": { + "$ref": "ChangeLog" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#changeLogsListResponse\".", + "default": "dfareporting#changeLogsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "CitiesListResponse": { + "id": "CitiesListResponse", + "type": "object", + "description": "City List Response", + "properties": { + "cities": { + "type": "array", + "description": "City collection.", + "items": { + "$ref": "City" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#citiesListResponse\".", + "default": "dfareporting#citiesListResponse" + } + } + }, + "City": { + "id": "City", + "type": "object", + "description": "Contains information about a city that can be targeted by ads.", + "properties": { + "countryCode": { + "type": "string", + "description": "Country code of the country to which this city belongs." + }, + "countryDartId": { + "type": "string", + "description": "DART ID of the country to which this city belongs.", + "format": "int64" + }, + "dartId": { + "type": "string", + "description": "DART ID of this city. This is the ID used for targeting and generating reports.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#city\".", + "default": "dfareporting#city" + }, + "metroCode": { + "type": "string", + "description": "Metro region code of the metro region (DMA) to which this city belongs." + }, + "metroDmaId": { + "type": "string", + "description": "ID of the metro region (DMA) to which this city belongs.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "Name of this city." + }, + "regionCode": { + "type": "string", + "description": "Region code of the region to which this city belongs." + }, + "regionDartId": { + "type": "string", + "description": "DART ID of the region to which this city belongs.", + "format": "int64" + } + } + }, + "ClickTag": { + "id": "ClickTag", + "type": "object", + "description": "Creative Click Tag.", + "properties": { + "eventName": { + "type": "string", + "description": "Advertiser event name associated with the click tag. This field is used by ENHANCED_BANNER, ENHANCED_IMAGE, and HTML5_BANNER creatives." + }, + "name": { + "type": "string", + "description": "Parameter name for the specified click tag. For ENHANCED_IMAGE creative assets, this field must match the value of the creative asset's creativeAssetId.name field." + }, + "value": { + "type": "string", + "description": "Parameter value for the specified click tag. This field contains a click-through url." + } + } + }, + "ClickThroughUrl": { + "id": "ClickThroughUrl", + "type": "object", + "description": "Click-through URL", + "properties": { + "computedClickThroughUrl": { + "type": "string", + "description": "Read-only convenience field representing the actual URL that will be used for this click-through. The URL is computed as follows: \n- If defaultLandingPage is enabled then the campaign's default landing page URL is assigned to this field.\n- If defaultLandingPage is not enabled and a landingPageId is specified then that landing page's URL is assigned to this field.\n- If neither of the above cases apply, then the customClickThroughUrl is assigned to this field." + }, + "customClickThroughUrl": { + "type": "string", + "description": "Custom click-through URL. Applicable if the defaultLandingPage field is set to false and the landingPageId field is left unset." + }, + "defaultLandingPage": { + "type": "boolean", + "description": "Whether the campaign default landing page is used." + }, + "landingPageId": { + "type": "string", + "description": "ID of the landing page for the click-through URL. Applicable if the defaultLandingPage field is set to false.", + "format": "int64" + } + } + }, + "ClickThroughUrlSuffixProperties": { + "id": "ClickThroughUrlSuffixProperties", + "type": "object", + "description": "Click Through URL Suffix settings.", + "properties": { + "clickThroughUrlSuffix": { + "type": "string", + "description": "Click-through URL suffix to apply to all ads in this entity's scope. Must be less than 128 characters long." + }, + "overrideInheritedSuffix": { + "type": "boolean", + "description": "Whether this entity should override the inherited click-through URL suffix with its own defined value." + } + } + }, + "CompanionClickThroughOverride": { + "id": "CompanionClickThroughOverride", + "type": "object", + "description": "Companion Click-through override.", + "properties": { + "clickThroughUrl": { + "$ref": "ClickThroughUrl", + "description": "Click-through URL of this companion click-through override." + }, + "creativeId": { + "type": "string", + "description": "ID of the creative for this companion click-through override.", + "format": "int64" + } + } + }, + "CompatibleFields": { + "id": "CompatibleFields", + "type": "object", + "description": "Represents a response to the queryCompatibleFields method.", + "properties": { + "crossDimensionReachReportCompatibleFields": { + "$ref": "CrossDimensionReachReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"CROSS_DIMENSION_REACH\"." + }, + "floodlightReportCompatibleFields": { + "$ref": "FloodlightReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"FLOODLIGHT\"." + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#compatibleFields.", + "default": "dfareporting#compatibleFields" + }, + "pathToConversionReportCompatibleFields": { + "$ref": "PathToConversionReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"PATH_TO_CONVERSION\"." + }, + "reachReportCompatibleFields": { + "$ref": "ReachReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"REACH\"." + }, + "reportCompatibleFields": { + "$ref": "ReportCompatibleFields", + "description": "Contains items that are compatible to be selected for a report of type \"STANDARD\"." + } + } + }, + "ConnectionType": { + "id": "ConnectionType", + "type": "object", + "description": "Contains information about an internet connection type that can be targeted by ads. Clients can use the connection type to target mobile vs. broadband users.", + "properties": { + "id": { + "type": "string", + "description": "ID of this connection type.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#connectionType\".", + "default": "dfareporting#connectionType" + }, + "name": { + "type": "string", + "description": "Name of this connection type." + } + } + }, + "ConnectionTypesListResponse": { + "id": "ConnectionTypesListResponse", + "type": "object", + "description": "Connection Type List Response", + "properties": { + "connectionTypes": { + "type": "array", + "description": "Collection of connection types such as broadband and mobile.", + "items": { + "$ref": "ConnectionType" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#connectionTypesListResponse\".", + "default": "dfareporting#connectionTypesListResponse" + } + } + }, + "ContentCategoriesListResponse": { + "id": "ContentCategoriesListResponse", + "type": "object", + "description": "Content Category List Response", + "properties": { + "contentCategories": { + "type": "array", + "description": "Content category collection.", + "items": { + "$ref": "ContentCategory" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#contentCategoriesListResponse\".", + "default": "dfareporting#contentCategoriesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "ContentCategory": { + "id": "ContentCategory", + "type": "object", + "description": "Organizes placements according to the contents of their associated webpages.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this content category. This is a read-only field that can be left blank.", + "format": "int64" + }, + "id": { + "type": "string", + "description": "ID of this content category. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#contentCategory\".", + "default": "dfareporting#contentCategory" + }, + "name": { + "type": "string", + "description": "Name of this content category. This is a required field and must be less than 256 characters long and unique among content categories of the same account." + } + } + }, + "CountriesListResponse": { + "id": "CountriesListResponse", + "type": "object", + "description": "Country List Response", + "properties": { + "countries": { + "type": "array", + "description": "Country collection.", + "items": { + "$ref": "Country" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#countriesListResponse\".", + "default": "dfareporting#countriesListResponse" + } + } + }, + "Country": { + "id": "Country", + "type": "object", + "description": "Contains information about a country that can be targeted by ads.", + "properties": { + "countryCode": { + "type": "string", + "description": "Country code." + }, + "dartId": { + "type": "string", + "description": "DART ID of this country. This is the ID used for targeting and generating reports.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#country\".", + "default": "dfareporting#country" + }, + "name": { + "type": "string", + "description": "Name of this country." + }, + "sslEnabled": { + "type": "boolean", + "description": "Whether ad serving supports secure servers in this country." + } + } + }, + "Creative": { + "id": "Creative", + "type": "object", + "description": "Contains properties of a Creative.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.", + "format": "int64" + }, + "active": { + "type": "boolean", + "description": "Whether the creative is active. Applicable to all creative types." + }, + "adParameters": { + "type": "string", + "description": "Ad parameters user for VPAID creative. This is a read-only field. Applicable to the following creative types: all VPAID." + }, + "adTagKeys": { + "type": "array", + "description": "Keywords for a Rich Media creative. Keywords let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use keywords to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "items": { + "type": "string" + } + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this creative. This is a required field. Applicable to all creative types.", + "format": "int64" + }, + "allowScriptAccess": { + "type": "boolean", + "description": "Whether script access is allowed for this creative. This is a read-only and deprecated field which will automatically be set to true on update. Applicable to the following creative types: FLASH_INPAGE." + }, + "archived": { + "type": "boolean", + "description": "Whether the creative is archived. Applicable to all creative types." + }, + "artworkType": { + "type": "string", + "description": "Type of artwork used for the creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "enum": [ + "ARTWORK_TYPE_FLASH", + "ARTWORK_TYPE_HTML5", + "ARTWORK_TYPE_MIXED" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "authoringTool": { + "type": "string", + "description": "Authoring tool for HTML5 banner creatives. This is a read-only field. Applicable to the following creative types: HTML5_BANNER.", + "enum": [ + "NINJA", + "SWIFFY" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "auto_advance_images": { + "type": "boolean", + "description": "Whether images are automatically advanced for enhanced image creatives. Applicable to the following creative types: ENHANCED_IMAGE." + }, + "backgroundColor": { + "type": "string", + "description": "The 6-character HTML color code, beginning with #, for the background of the window area where the Flash file is displayed. Default is white. Applicable to the following creative types: FLASH_INPAGE." + }, + "backupImageClickThroughUrl": { + "type": "string", + "description": "Click-through URL for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER." + }, + "backupImageFeatures": { + "type": "array", + "description": "List of feature dependencies that will cause a backup image to be served if the browser that serves the ad does not support them. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative asset correctly. This field is initially auto-generated to contain all features detected by DCM for all the assets of this creative and can then be modified by the client. To reset this field, copy over all the creativeAssets' detected features. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.", + "items": { + "type": "string", + "enum": [ + "APPLICATION_CACHE", + "AUDIO", + "CANVAS", + "CANVAS_TEXT", + "CSS_ANIMATIONS", + "CSS_BACKGROUND_SIZE", + "CSS_BORDER_IMAGE", + "CSS_BORDER_RADIUS", + "CSS_BOX_SHADOW", + "CSS_COLUMNS", + "CSS_FLEX_BOX", + "CSS_FONT_FACE", + "CSS_GENERATED_CONTENT", + "CSS_GRADIENTS", + "CSS_HSLA", + "CSS_MULTIPLE_BGS", + "CSS_OPACITY", + "CSS_REFLECTIONS", + "CSS_RGBA", + "CSS_TEXT_SHADOW", + "CSS_TRANSFORMS", + "CSS_TRANSFORMS3D", + "CSS_TRANSITIONS", + "DRAG_AND_DROP", + "GEO_LOCATION", + "HASH_CHANGE", + "HISTORY", + "INDEXED_DB", + "INLINE_SVG", + "INPUT_ATTR_AUTOCOMPLETE", + "INPUT_ATTR_AUTOFOCUS", + "INPUT_ATTR_LIST", + "INPUT_ATTR_MAX", + "INPUT_ATTR_MIN", + "INPUT_ATTR_MULTIPLE", + "INPUT_ATTR_PATTERN", + "INPUT_ATTR_PLACEHOLDER", + "INPUT_ATTR_REQUIRED", + "INPUT_ATTR_STEP", + "INPUT_TYPE_COLOR", + "INPUT_TYPE_DATE", + "INPUT_TYPE_DATETIME", + "INPUT_TYPE_DATETIME_LOCAL", + "INPUT_TYPE_EMAIL", + "INPUT_TYPE_MONTH", + "INPUT_TYPE_NUMBER", + "INPUT_TYPE_RANGE", + "INPUT_TYPE_SEARCH", + "INPUT_TYPE_TEL", + "INPUT_TYPE_TIME", + "INPUT_TYPE_URL", + "INPUT_TYPE_WEEK", + "LOCAL_STORAGE", + "POST_MESSAGE", + "SESSION_STORAGE", + "SMIL", + "SVG_CLIP_PATHS", + "SVG_FE_IMAGE", + "SVG_FILTERS", + "SVG_HREF", + "TOUCH", + "VIDEO", + "WEBGL", + "WEB_SOCKETS", + "WEB_SQL_DATABASE", + "WEB_WORKERS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + }, + "backupImageReportingLabel": { + "type": "string", + "description": "Reporting label used for HTML5 banner backup image. Applicable to the following creative types: ENHANCED_BANNER." + }, + "backupImageTargetWindow": { + "$ref": "TargetWindow", + "description": "Target window for backup image. Applicable to the following creative types: ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER." + }, + "clickTags": { + "type": "array", + "description": "Click tags of the creative. For ENHANCED_BANNER, FLASH_INPAGE, and HTML5_BANNER creatives, this is a subset of detected click tags for the assets associated with this creative. After creating a flash asset, detected click tags will be returned in the creativeAssetMetadata. When inserting the creative, populate the creative clickTags field using the creativeAssetMetadata.clickTags field. For ENHANCED_IMAGE creatives, there should be exactly one entry in this list for each image creative asset. A click tag is matched with a corresponding creative asset by matching the clickTag.name field with the creativeAsset.assetIdentifier.name field. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER.", + "items": { + "$ref": "ClickTag" + } + }, + "commercialId": { + "type": "string", + "description": "Industry standard ID assigned to creative for reach and frequency. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID." + }, + "companionCreatives": { + "type": "array", + "description": "List of companion creatives assigned to an in-Stream videocreative. Acceptable values include IDs of existing flash and image creatives. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.", + "items": { + "type": "string", + "format": "int64" + } + }, + "compatibility": { + "type": "array", + "description": "Compatibilities associated with this creative. This is a read-only field. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. Applicable to all creative types.\n\nAcceptable values are:\n- \"APP\"\n- \"APP_INTERSTITIAL\"\n- \"IN_STREAM_VIDEO\"\n- \"WEB\"\n- \"WEB_INTERSTITIAL\"", + "items": { + "type": "string", + "enum": [ + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "WEB", + "WEB_INTERSTITIAL" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + } + }, + "convertFlashToHtml5": { + "type": "boolean", + "description": "Whether Flash assets associated with the creative need to be automatically converted to HTML5. This flag is enabled by default and users can choose to disable it if they don't want the system to generate and use HTML5 asset for this creative. Applicable to the following creative types: ENHANCED_BANNER and FLASH_INPAGE." + }, + "counterCustomEvents": { + "type": "array", + "description": "List of counter events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "items": { + "$ref": "CreativeCustomEvent" + } + }, + "creativeAssets": { + "type": "array", + "description": "Assets associated with a creative. Applicable to all but the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT", + "items": { + "$ref": "CreativeAsset" + } + }, + "creativeFieldAssignments": { + "type": "array", + "description": "Creative field assignments for this creative. Applicable to all creative types.", + "items": { + "$ref": "CreativeFieldAssignment" + } + }, + "customKeyValues": { + "type": "array", + "description": "Custom key-values for a Rich Media creative. Key-values let you customize the creative settings of a Rich Media ad running on your site without having to contact the advertiser. You can use key-values to dynamically change the look or functionality of a creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "items": { + "type": "string" + } + }, + "exitCustomEvents": { + "type": "array", + "description": "List of exit events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "items": { + "$ref": "CreativeCustomEvent" + } + }, + "fsCommand": { + "$ref": "FsCommand", + "description": "OpenWindow FSCommand of this creative. This lets the SWF file communicate with either Flash Player or the program hosting Flash Player, such as a web browser. This is only triggered if allowScriptAccess field is true. Applicable to the following creative types: FLASH_INPAGE." + }, + "htmlCode": { + "type": "string", + "description": "HTML code for the creative. This is a required field when applicable. This field is ignored if htmlCodeLocked is false. Applicable to the following creative types: all CUSTOM, FLASH_INPAGE, and HTML5_BANNER, and all RICH_MEDIA." + }, + "htmlCodeLocked": { + "type": "boolean", + "description": "Whether HTML code is DCM-generated or manually entered. Set to true to ignore changes to htmlCode. Applicable to the following creative types: FLASH_INPAGE and HTML5_BANNER." + }, + "id": { + "type": "string", + "description": "ID of this creative. This is a read-only, auto-generated field. Applicable to all creative types.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this creative. This is a read-only field. Applicable to all creative types." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creative\".", + "default": "dfareporting#creative" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Creative last modification information. This is a read-only field. Applicable to all creative types." + }, + "latestTraffickedCreativeId": { + "type": "string", + "description": "Latest Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "Name of the creative. This is a required field and must be less than 256 characters long. Applicable to all creative types." + }, + "overrideCss": { + "type": "string", + "description": "Override CSS value for rich media creatives. Applicable to the following creative types: all RICH_MEDIA." + }, + "redirectUrl": { + "type": "string", + "description": "URL of hosted image or another ad tag. This is a required field when applicable. Applicable to the following creative types: INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and REDIRECT" + }, + "renderingId": { + "type": "string", + "description": "ID of current rendering version. This is a read-only field. Applicable to all creative types.", + "format": "int64" + }, + "renderingIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the rendering ID of this creative. This is a read-only field. Applicable to all creative types." + }, + "requiredFlashPluginVersion": { + "type": "string", + "description": "The minimum required Flash plugin version for this creative. For example, 11.2.202.235. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID." + }, + "requiredFlashVersion": { + "type": "integer", + "description": "The internal Flash version for this creative as calculated by DoubleClick Studio. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.", + "format": "int32" + }, + "size": { + "$ref": "Size", + "description": "Size associated with this creative. When inserting or updating a creative either the size ID field or size width and height fields can be used. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image assets. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA." + }, + "skippable": { + "type": "boolean", + "description": "Whether the user can choose to skip the creative. Applicable to the following creative types: INSTREAM_VIDEO." + }, + "sslCompliant": { + "type": "boolean", + "description": "Whether the creative is SSL-compliant. This is a read-only field. Applicable to all creative types." + }, + "sslOverride": { + "type": "boolean", + "description": "Whether creative should be treated as SSL compliant even if the system scan shows it's not." + }, + "studioAdvertiserId": { + "type": "string", + "description": "Studio advertiser ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64" + }, + "studioCreativeId": { + "type": "string", + "description": "Studio creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64" + }, + "studioTraffickedCreativeId": { + "type": "string", + "description": "Studio trafficked creative ID associated with rich media and VPAID creatives. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64" + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this creative. This field, if left unset, will be auto-generated for both insert and update operations. Applicable to all creative types.", + "format": "int64" + }, + "thirdPartyBackupImageImpressionsUrl": { + "type": "string", + "description": "Third-party URL used to record backup image impressions. Applicable to the following creative types: all RICH_MEDIA" + }, + "thirdPartyRichMediaImpressionsUrl": { + "type": "string", + "description": "Third-party URL used to record rich media impressions. Applicable to the following creative types: all RICH_MEDIA" + }, + "thirdPartyUrls": { + "type": "array", + "description": "Third-party URLs for tracking in-stream video creative events. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.", + "items": { + "$ref": "ThirdPartyTrackingUrl" + } + }, + "timerCustomEvents": { + "type": "array", + "description": "List of timer events configured for the creative. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "items": { + "$ref": "CreativeCustomEvent" + } + }, + "totalFileSize": { + "type": "string", + "description": "Combined size of all creative assets. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA, and all VPAID.", + "format": "int64" + }, + "type": { + "type": "string", + "description": "Type of this creative.This is a required field. Applicable to all creative types.", + "enum": [ + "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", + "CUSTOM_INPAGE", + "CUSTOM_INTERSTITIAL", + "ENHANCED_BANNER", + "ENHANCED_IMAGE", + "FLASH_INPAGE", + "HTML5_BANNER", + "IMAGE", + "INSTREAM_VIDEO", + "INTERNAL_REDIRECT", + "INTERSTITIAL_INTERNAL_REDIRECT", + "REDIRECT", + "RICH_MEDIA_EXPANDING", + "RICH_MEDIA_IM_EXPAND", + "RICH_MEDIA_INPAGE", + "RICH_MEDIA_INPAGE_FLOATING", + "RICH_MEDIA_INTERSTITIAL_FLOAT", + "RICH_MEDIA_MOBILE_IN_APP", + "RICH_MEDIA_MULTI_FLOATING", + "RICH_MEDIA_PEEL_DOWN", + "TRACKING_TEXT", + "VAST_REDIRECT", + "VPAID_LINEAR", + "VPAID_NON_LINEAR" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "version": { + "type": "integer", + "description": "The version number helps you keep track of multiple versions of your creative in your reports. The version number will always be auto-generated during insert operations to start at 1. For tracking creatives the version cannot be incremented and will always remain at 1. For all other creative types the version can be incremented only by 1 during update operations. In addition, the version will be automatically incremented by 1 when undergoing Rich Media creative merging. Applicable to all creative types.", + "format": "int32" + }, + "videoDescription": { + "type": "string", + "description": "Description of the video ad. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID." + }, + "videoDuration": { + "type": "number", + "description": "Creative video duration in seconds. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO, all RICH_MEDIA, and all VPAID.", + "format": "float" + } + } + }, + "CreativeAsset": { + "id": "CreativeAsset", + "type": "object", + "description": "Creative Asset.", + "properties": { + "actionScript3": { + "type": "boolean", + "description": "Whether ActionScript3 is enabled for the flash asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE and ENHANCED_BANNER." + }, + "active": { + "type": "boolean", + "description": "Whether the video asset is active. This is a read-only field for VPAID_NON_LINEAR assets. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID." + }, + "alignment": { + "type": "string", + "description": "Possible alignments for an asset. This is a read-only field. Applicable to the following creative types: RICH_MEDIA_MULTI_FLOATING.", + "enum": [ + "ALIGNMENT_BOTTOM", + "ALIGNMENT_LEFT", + "ALIGNMENT_RIGHT", + "ALIGNMENT_TOP" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "artworkType": { + "type": "string", + "description": "Artwork type of rich media creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "ARTWORK_TYPE_FLASH", + "ARTWORK_TYPE_HTML5", + "ARTWORK_TYPE_MIXED" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "assetIdentifier": { + "$ref": "CreativeAssetId", + "description": "Identifier of this asset. This is the same identifier returned during creative asset insert operation. This is a required field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT." + }, + "backupImageExit": { + "$ref": "CreativeCustomEvent", + "description": "Exit event configured for the backup image. Applicable to the following creative types: all RICH_MEDIA." + }, + "bitRate": { + "type": "integer", + "description": "Detected bit-rate for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.", + "format": "int32" + }, + "childAssetType": { + "type": "string", + "description": "Rich media child asset type. This is a read-only field. Applicable to the following creative types: all VPAID.", + "enum": [ + "CHILD_ASSET_TYPE_DATA", + "CHILD_ASSET_TYPE_FLASH", + "CHILD_ASSET_TYPE_IMAGE", + "CHILD_ASSET_TYPE_VIDEO" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "collapsedSize": { + "$ref": "Size", + "description": "Size of an asset when collapsed. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN." + }, + "customStartTimeValue": { + "type": "integer", + "description": "Custom start time in seconds for making the asset visible. Applicable to the following creative types: all RICH_MEDIA.", + "format": "int32" + }, + "detectedFeatures": { + "type": "array", + "description": "List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field. Applicable to the following creative types: ENHANCED_BANNER and HTML5_BANNER.", + "items": { + "type": "string", + "enum": [ + "APPLICATION_CACHE", + "AUDIO", + "CANVAS", + "CANVAS_TEXT", + "CSS_ANIMATIONS", + "CSS_BACKGROUND_SIZE", + "CSS_BORDER_IMAGE", + "CSS_BORDER_RADIUS", + "CSS_BOX_SHADOW", + "CSS_COLUMNS", + "CSS_FLEX_BOX", + "CSS_FONT_FACE", + "CSS_GENERATED_CONTENT", + "CSS_GRADIENTS", + "CSS_HSLA", + "CSS_MULTIPLE_BGS", + "CSS_OPACITY", + "CSS_REFLECTIONS", + "CSS_RGBA", + "CSS_TEXT_SHADOW", + "CSS_TRANSFORMS", + "CSS_TRANSFORMS3D", + "CSS_TRANSITIONS", + "DRAG_AND_DROP", + "GEO_LOCATION", + "HASH_CHANGE", + "HISTORY", + "INDEXED_DB", + "INLINE_SVG", + "INPUT_ATTR_AUTOCOMPLETE", + "INPUT_ATTR_AUTOFOCUS", + "INPUT_ATTR_LIST", + "INPUT_ATTR_MAX", + "INPUT_ATTR_MIN", + "INPUT_ATTR_MULTIPLE", + "INPUT_ATTR_PATTERN", + "INPUT_ATTR_PLACEHOLDER", + "INPUT_ATTR_REQUIRED", + "INPUT_ATTR_STEP", + "INPUT_TYPE_COLOR", + "INPUT_TYPE_DATE", + "INPUT_TYPE_DATETIME", + "INPUT_TYPE_DATETIME_LOCAL", + "INPUT_TYPE_EMAIL", + "INPUT_TYPE_MONTH", + "INPUT_TYPE_NUMBER", + "INPUT_TYPE_RANGE", + "INPUT_TYPE_SEARCH", + "INPUT_TYPE_TEL", + "INPUT_TYPE_TIME", + "INPUT_TYPE_URL", + "INPUT_TYPE_WEEK", + "LOCAL_STORAGE", + "POST_MESSAGE", + "SESSION_STORAGE", + "SMIL", + "SVG_CLIP_PATHS", + "SVG_FE_IMAGE", + "SVG_FILTERS", + "SVG_HREF", + "TOUCH", + "VIDEO", + "WEBGL", + "WEB_SOCKETS", + "WEB_SQL_DATABASE", + "WEB_WORKERS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + }, + "displayType": { + "type": "string", + "description": "Type of rich media asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "ASSET_DISPLAY_TYPE_EXPANDING", + "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH", + "ASSET_DISPLAY_TYPE_FLASH_IN_FLASH_EXPANDING", + "ASSET_DISPLAY_TYPE_FLOATING", + "ASSET_DISPLAY_TYPE_INPAGE", + "ASSET_DISPLAY_TYPE_OVERLAY", + "ASSET_DISPLAY_TYPE_PEEL_DOWN", + "ASSET_DISPLAY_TYPE_VPAID_LINEAR", + "ASSET_DISPLAY_TYPE_VPAID_NON_LINEAR" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "duration": { + "type": "integer", + "description": "Duration in seconds for which an asset will be displayed. Applicable to the following creative types: INSTREAM_VIDEO and VPAID_LINEAR.", + "format": "int32" + }, + "durationType": { + "type": "string", + "description": "Duration type for which an asset will be displayed. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "ASSET_DURATION_TYPE_AUTO", + "ASSET_DURATION_TYPE_CUSTOM", + "ASSET_DURATION_TYPE_NONE" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "expandedDimension": { + "$ref": "Size", + "description": "Detected expanded dimension for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID." + }, + "fileSize": { + "type": "string", + "description": "File size associated with this creative asset. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.", + "format": "int64" + }, + "flashVersion": { + "type": "integer", + "description": "Flash version of the asset. This is a read-only field. Applicable to the following creative types: FLASH_INPAGE, ENHANCED_BANNER, all RICH_MEDIA, and all VPAID.", + "format": "int32" + }, + "hideFlashObjects": { + "type": "boolean", + "description": "Whether to hide Flash objects flag for an asset. Applicable to the following creative types: all RICH_MEDIA." + }, + "hideSelectionBoxes": { + "type": "boolean", + "description": "Whether to hide selection boxes flag for an asset. Applicable to the following creative types: all RICH_MEDIA." + }, + "horizontallyLocked": { + "type": "boolean", + "description": "Whether the asset is horizontally locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA." + }, + "id": { + "type": "string", + "description": "Numeric ID of this creative asset. This is a required field and should not be modified. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT.", + "format": "int64" + }, + "mimeType": { + "type": "string", + "description": "Detected MIME type for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID." + }, + "offset": { + "$ref": "OffsetPosition", + "description": "Offset position for an asset in collapsed mode. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID. Additionally, only applicable to assets whose displayType is ASSET_DISPLAY_TYPE_EXPANDING or ASSET_DISPLAY_TYPE_PEEL_DOWN." + }, + "originalBackup": { + "type": "boolean", + "description": "Whether the backup asset is original or changed by the user in DCM. Applicable to the following creative types: all RICH_MEDIA." + }, + "position": { + "$ref": "OffsetPosition", + "description": "Offset position for an asset. Applicable to the following creative types: all RICH_MEDIA." + }, + "positionLeftUnit": { + "type": "string", + "description": "Offset left unit for an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "OFFSET_UNIT_PERCENT", + "OFFSET_UNIT_PIXEL", + "OFFSET_UNIT_PIXEL_FROM_CENTER" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "positionTopUnit": { + "type": "string", + "description": "Offset top unit for an asset. This is a read-only field if the asset displayType is ASSET_DISPLAY_TYPE_OVERLAY. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "OFFSET_UNIT_PERCENT", + "OFFSET_UNIT_PIXEL", + "OFFSET_UNIT_PIXEL_FROM_CENTER" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "progressiveServingUrl": { + "type": "string", + "description": "Progressive URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID." + }, + "pushdown": { + "type": "boolean", + "description": "Whether the asset pushes down other content. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable when the asset offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height." + }, + "pushdownDuration": { + "type": "number", + "description": "Pushdown duration in seconds for an asset. Must be between 0 and 9.99. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable when the asset pushdown field is true, the offsets are 0, the collapsedSize.width matches size.width, and the collapsedSize.height is less than size.height.", + "format": "float" + }, + "role": { + "type": "string", + "description": "Role of the asset in relation to creative. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT. This is a required field.\nPRIMARY applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, IMAGE, IMAGE_GALLERY, all RICH_MEDIA (which may contain multiple primary assets), and all VPAID creatives.\nBACKUP_IMAGE applies to ENHANCED_BANNER, FLASH_INPAGE, HTML5_BANNER, all RICH_MEDIA, and all VPAID creatives.\nADDITIONAL_IMAGE and ADDITIONAL_FLASH apply to FLASH_INPAGE creatives.\nOTHER refers to assets from sources other than DCM, such as Studio uploaded assets, applicable to all RICH_MEDIA and all VPAID creatives.\nPARENT_VIDEO refers to videos uploaded by the user in DCM and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.\nTRANSCODED_VIDEO refers to videos transcoded by DCM from PARENT_VIDEO assets and is applicable to INSTREAM_VIDEO and VPAID_LINEAR creatives.\nALTERNATE_VIDEO refers to the DCM representation of child asset videos from Studio, and is applicable to VPAID_LINEAR creatives. These cannot be added or removed within DCM.\nFor VPAID_LINEAR creatives, PARENT_VIDEO, TRANSCODED_VIDEO and ALTERNATE_VIDEO assets that are marked active serve as backup in case the VPAID creative cannot be served. Only PARENT_VIDEO assets can be added or removed for an INSTREAM_VIDEO or VPAID_LINEAR creative.", + "enum": [ + "ADDITIONAL_FLASH", + "ADDITIONAL_IMAGE", + "ALTERNATE_VIDEO", + "BACKUP_IMAGE", + "OTHER", + "PARENT_VIDEO", + "PRIMARY", + "TRANSCODED_VIDEO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "size": { + "$ref": "Size", + "description": "Size associated with this creative asset. This is a required field when applicable; however for IMAGE and FLASH_INPAGE creatives, if left blank, this field will be automatically set using the actual size of the associated image asset. Applicable to the following creative types: ENHANCED_BANNER, ENHANCED_IMAGE, FLASH_INPAGE, HTML5_BANNER, IMAGE, and all RICH_MEDIA." + }, + "sslCompliant": { + "type": "boolean", + "description": "Whether the asset is SSL-compliant. This is a read-only field. Applicable to all but the following creative types: all REDIRECT and TRACKING_TEXT." + }, + "startTimeType": { + "type": "string", + "description": "Initial wait time type before making the asset visible. Applicable to the following creative types: all RICH_MEDIA.", + "enum": [ + "ASSET_START_TIME_TYPE_CUSTOM", + "ASSET_START_TIME_TYPE_NONE" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "streamingServingUrl": { + "type": "string", + "description": "Streaming URL for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID." + }, + "transparency": { + "type": "boolean", + "description": "Whether the asset is transparent. Applicable to the following creative types: all RICH_MEDIA. Additionally, only applicable to HTML5 assets." + }, + "verticallyLocked": { + "type": "boolean", + "description": "Whether the asset is vertically locked. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA." + }, + "videoDuration": { + "type": "number", + "description": "Detected video duration for video asset. This is a read-only field. Applicable to the following creative types: INSTREAM_VIDEO and all VPAID.", + "format": "float" + }, + "windowMode": { + "type": "string", + "description": "Window mode options for flash assets. Applicable to the following creative types: FLASH_INPAGE, RICH_MEDIA_EXPANDING, RICH_MEDIA_IM_EXPAND, RICH_MEDIA_INPAGE, and RICH_MEDIA_INPAGE_FLOATING.", + "enum": [ + "OPAQUE", + "TRANSPARENT", + "WINDOW" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "zIndex": { + "type": "integer", + "description": "zIndex value of an asset. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA.Additionally, only applicable to assets whose displayType is NOT one of the following types: ASSET_DISPLAY_TYPE_INPAGE or ASSET_DISPLAY_TYPE_OVERLAY.", + "format": "int32" + }, + "zipFilename": { + "type": "string", + "description": "File name of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER." + }, + "zipFilesize": { + "type": "string", + "description": "Size of zip file. This is a read-only field. Applicable to the following creative types: HTML5_BANNER." + } + } + }, + "CreativeAssetId": { + "id": "CreativeAssetId", + "type": "object", + "description": "Creative Asset ID.", + "properties": { + "name": { + "type": "string", + "description": "Name of the creative asset. This is a required field while inserting an asset. After insertion, this assetIdentifier is used to identify the uploaded asset. Characters in the name must be alphanumeric or one of the following: \".-_ \". Spaces are allowed." + }, + "type": { + "type": "string", + "description": "Type of asset to upload. This is a required field. IMAGE is solely used for IMAGE creatives. Other image assets should use HTML_IMAGE.", + "enum": [ + "FLASH", + "HTML", + "HTML_IMAGE", + "IMAGE", + "VIDEO" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + } + } + }, + "CreativeAssetMetadata": { + "id": "CreativeAssetMetadata", + "type": "object", + "description": "CreativeAssets contains properties of a creative asset file which will be uploaded or has already been uploaded. Refer to the creative sample code for how to upload assets and insert a creative.", + "properties": { + "assetIdentifier": { + "$ref": "CreativeAssetId", + "description": "ID of the creative asset. This is a required field." + }, + "clickTags": { + "type": "array", + "description": "List of detected click tags for assets. This is a read-only auto-generated field.", + "items": { + "$ref": "ClickTag" + } + }, + "detectedFeatures": { + "type": "array", + "description": "List of feature dependencies for the creative asset that are detected by DCM. Feature dependencies are features that a browser must be able to support in order to render your HTML5 creative correctly. This is a read-only, auto-generated field.", + "items": { + "type": "string", + "enum": [ + "APPLICATION_CACHE", + "AUDIO", + "CANVAS", + "CANVAS_TEXT", + "CSS_ANIMATIONS", + "CSS_BACKGROUND_SIZE", + "CSS_BORDER_IMAGE", + "CSS_BORDER_RADIUS", + "CSS_BOX_SHADOW", + "CSS_COLUMNS", + "CSS_FLEX_BOX", + "CSS_FONT_FACE", + "CSS_GENERATED_CONTENT", + "CSS_GRADIENTS", + "CSS_HSLA", + "CSS_MULTIPLE_BGS", + "CSS_OPACITY", + "CSS_REFLECTIONS", + "CSS_RGBA", + "CSS_TEXT_SHADOW", + "CSS_TRANSFORMS", + "CSS_TRANSFORMS3D", + "CSS_TRANSITIONS", + "DRAG_AND_DROP", + "GEO_LOCATION", + "HASH_CHANGE", + "HISTORY", + "INDEXED_DB", + "INLINE_SVG", + "INPUT_ATTR_AUTOCOMPLETE", + "INPUT_ATTR_AUTOFOCUS", + "INPUT_ATTR_LIST", + "INPUT_ATTR_MAX", + "INPUT_ATTR_MIN", + "INPUT_ATTR_MULTIPLE", + "INPUT_ATTR_PATTERN", + "INPUT_ATTR_PLACEHOLDER", + "INPUT_ATTR_REQUIRED", + "INPUT_ATTR_STEP", + "INPUT_TYPE_COLOR", + "INPUT_TYPE_DATE", + "INPUT_TYPE_DATETIME", + "INPUT_TYPE_DATETIME_LOCAL", + "INPUT_TYPE_EMAIL", + "INPUT_TYPE_MONTH", + "INPUT_TYPE_NUMBER", + "INPUT_TYPE_RANGE", + "INPUT_TYPE_SEARCH", + "INPUT_TYPE_TEL", + "INPUT_TYPE_TIME", + "INPUT_TYPE_URL", + "INPUT_TYPE_WEEK", + "LOCAL_STORAGE", + "POST_MESSAGE", + "SESSION_STORAGE", + "SMIL", + "SVG_CLIP_PATHS", + "SVG_FE_IMAGE", + "SVG_FILTERS", + "SVG_HREF", + "TOUCH", + "VIDEO", + "WEBGL", + "WEB_SOCKETS", + "WEB_SQL_DATABASE", + "WEB_WORKERS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeAssetMetadata\".", + "default": "dfareporting#creativeAssetMetadata" + }, + "warnedValidationRules": { + "type": "array", + "description": "Rules validated during code generation that generated a warning. This is a read-only, auto-generated field.\n\nPossible values are:\n- \"CLICK_TAG_NON_TOP_LEVEL\"\n- \"CLICK_TAG_MISSING\"\n- \"CLICK_TAG_MORE_THAN_ONE\"\n- \"CLICK_TAG_INVALID\"\n- \"ORPHANED_ASSET\"\n- \"PRIMARY_HTML_MISSING\"\n- \"EXTERNAL_FILE_REFERENCED\"\n- \"MRAID_REFERENCED\"\n- \"ADMOB_REFERENCED\"\n- \"FILE_TYPE_INVALID\"\n- \"ZIP_INVALID\"\n- \"LINKED_FILE_NOT_FOUND\"\n- \"MAX_FLASH_VERSION_11\"\n- \"NOT_SSL_COMPLIANT\"\n- \"FILE_DETAIL_EMPTY\"\n- \"ASSET_INVALID\"\n- \"GWD_PROPERTIES_INVALID\"\n- \"ENABLER_UNSUPPORTED_METHOD_DCM\"\n- \"ASSET_FORMAT_UNSUPPORTED_DCM\"\n- \"COMPONENT_UNSUPPORTED_DCM\"\n- \"HTML5_FEATURE_UNSUPPORTED' \"", + "items": { + "type": "string", + "enum": [ + "ADMOB_REFERENCED", + "ASSET_FORMAT_UNSUPPORTED_DCM", + "ASSET_INVALID", + "CLICK_TAG_INVALID", + "CLICK_TAG_MISSING", + "CLICK_TAG_MORE_THAN_ONE", + "CLICK_TAG_NON_TOP_LEVEL", + "COMPONENT_UNSUPPORTED_DCM", + "ENABLER_UNSUPPORTED_METHOD_DCM", + "EXTERNAL_FILE_REFERENCED", + "FILE_DETAIL_EMPTY", + "FILE_TYPE_INVALID", + "GWD_PROPERTIES_INVALID", + "HTML5_FEATURE_UNSUPPORTED", + "LINKED_FILE_NOT_FOUND", + "MAX_FLASH_VERSION_11", + "MRAID_REFERENCED", + "NOT_SSL_COMPLIANT", + "ORPHANED_ASSET", + "PRIMARY_HTML_MISSING", + "ZIP_INVALID" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + } + } + }, + "CreativeAssignment": { + "id": "CreativeAssignment", + "type": "object", + "description": "Creative Assignment.", + "properties": { + "active": { + "type": "boolean", + "description": "Whether this creative assignment is active. When true, the creative will be included in the ad's rotation." + }, + "applyEventTags": { + "type": "boolean", + "description": "Whether applicable event tags should fire when this creative assignment is rendered. If this value is unset when the ad is inserted or updated, it will default to true for all creative types EXCEPT for INTERNAL_REDIRECT, INTERSTITIAL_INTERNAL_REDIRECT, and INSTREAM_VIDEO." + }, + "clickThroughUrl": { + "$ref": "ClickThroughUrl", + "description": "Click-through URL of the creative assignment." + }, + "companionCreativeOverrides": { + "type": "array", + "description": "Companion creative overrides for this creative assignment. Applicable to video ads.", + "items": { + "$ref": "CompanionClickThroughOverride" + } + }, + "creativeGroupAssignments": { + "type": "array", + "description": "Creative group assignments for this creative assignment. Only one assignment per creative group number is allowed for a maximum of two assignments.", + "items": { + "$ref": "CreativeGroupAssignment" + } + }, + "creativeId": { + "type": "string", + "description": "ID of the creative to be assigned. This is a required field.", + "format": "int64" + }, + "creativeIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the creative. This is a read-only, auto-generated field." + }, + "endTime": { + "type": "string", + "description": "Date and time that the assigned creative should stop serving. Must be later than the start time.", + "format": "date-time" + }, + "richMediaExitOverrides": { + "type": "array", + "description": "Rich media exit overrides for this creative assignment.\nApplicable when the creative type is any of the following: \n- RICH_MEDIA_INPAGE\n- RICH_MEDIA_INPAGE_FLOATING\n- RICH_MEDIA_IM_EXPAND\n- RICH_MEDIA_EXPANDING\n- RICH_MEDIA_INTERSTITIAL_FLOAT\n- RICH_MEDIA_MOBILE_IN_APP\n- RICH_MEDIA_MULTI_FLOATING\n- RICH_MEDIA_PEEL_DOWN\n- ADVANCED_BANNER\n- VPAID_LINEAR\n- VPAID_NON_LINEAR", + "items": { + "$ref": "RichMediaExitOverride" + } + }, + "sequence": { + "type": "integer", + "description": "Sequence number of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_SEQUENTIAL.", + "format": "int32" + }, + "sslCompliant": { + "type": "boolean", + "description": "Whether the creative to be assigned is SSL-compliant. This is a read-only field that is auto-generated when the ad is inserted or updated." + }, + "startTime": { + "type": "string", + "description": "Date and time that the assigned creative should start serving.", + "format": "date-time" + }, + "weight": { + "type": "integer", + "description": "Weight of the creative assignment, applicable when the rotation type is CREATIVE_ROTATION_TYPE_RANDOM.", + "format": "int32" + } + } + }, + "CreativeCustomEvent": { + "id": "CreativeCustomEvent", + "type": "object", + "description": "Creative Custom Event.", + "properties": { + "advertiserCustomEventName": { + "type": "string", + "description": "User-entered name for the event." + }, + "advertiserCustomEventType": { + "type": "string", + "description": "Type of the event. This is a read-only field.", + "enum": [ + "ADVERTISER_EVENT_COUNTER", + "ADVERTISER_EVENT_EXIT", + "ADVERTISER_EVENT_TIMER" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "artworkLabel": { + "type": "string", + "description": "Artwork label column, used to link events in DCM back to events in Studio. This is a required field and should not be modified after insertion." + }, + "artworkType": { + "type": "string", + "description": "Artwork type used by the creative.This is a read-only field.", + "enum": [ + "ARTWORK_TYPE_FLASH", + "ARTWORK_TYPE_HTML5", + "ARTWORK_TYPE_MIXED" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "exitUrl": { + "type": "string", + "description": "Exit URL of the event. This field is used only for exit events." + }, + "id": { + "type": "string", + "description": "ID of this event. This is a required field and should not be modified after insertion.", + "format": "int64" + }, + "popupWindowProperties": { + "$ref": "PopupWindowProperties", + "description": "Properties for rich media popup windows. This field is used only for exit events." + }, + "targetType": { + "type": "string", + "description": "Target type used by the event.", + "enum": [ + "TARGET_BLANK", + "TARGET_PARENT", + "TARGET_POPUP", + "TARGET_SELF", + "TARGET_TOP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "videoReportingId": { + "type": "string", + "description": "Reporting ID, used to differentiate multiple videos in a single creative." + } + } + }, + "CreativeField": { + "id": "CreativeField", + "type": "object", + "description": "Contains properties of a creative field.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this creative field. This is a read-only field that can be left blank.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this creative field. This is a required field on insertion.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "id": { + "type": "string", + "description": "ID of this creative field. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeField\".", + "default": "dfareporting#creativeField" + }, + "name": { + "type": "string", + "description": "Name of this creative field. This is a required field and must be less than 256 characters long and unique among creative fields of the same advertiser." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this creative field. This is a read-only field that can be left blank.", + "format": "int64" + } + } + }, + "CreativeFieldAssignment": { + "id": "CreativeFieldAssignment", + "type": "object", + "description": "Creative Field Assignment.", + "properties": { + "creativeFieldId": { + "type": "string", + "description": "ID of the creative field.", + "format": "int64" + }, + "creativeFieldValueId": { + "type": "string", + "description": "ID of the creative field value.", + "format": "int64" + } + } + }, + "CreativeFieldValue": { + "id": "CreativeFieldValue", + "type": "object", + "description": "Contains properties of a creative field value.", + "properties": { + "id": { + "type": "string", + "description": "ID of this creative field value. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldValue\".", + "default": "dfareporting#creativeFieldValue" + }, + "value": { + "type": "string", + "description": "Value of this creative field value. It needs to be less than 256 characters in length and unique per creative field." + } + } + }, + "CreativeFieldValuesListResponse": { + "id": "CreativeFieldValuesListResponse", + "type": "object", + "description": "Creative Field Value List Response", + "properties": { + "creativeFieldValues": { + "type": "array", + "description": "Creative field value collection.", + "items": { + "$ref": "CreativeFieldValue" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldValuesListResponse\".", + "default": "dfareporting#creativeFieldValuesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "CreativeFieldsListResponse": { + "id": "CreativeFieldsListResponse", + "type": "object", + "description": "Creative Field List Response", + "properties": { + "creativeFields": { + "type": "array", + "description": "Creative field collection.", + "items": { + "$ref": "CreativeField" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeFieldsListResponse\".", + "default": "dfareporting#creativeFieldsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "CreativeGroup": { + "id": "CreativeGroup", + "type": "object", + "description": "Contains properties of a creative group.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this creative group. This is a read-only field that can be left blank.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this creative group. This is a required field on insertion.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "groupNumber": { + "type": "integer", + "description": "Subgroup of the creative group. Assign your creative groups to one of the following subgroups in order to filter or manage them more easily. This field is required on insertion and is read-only after insertion.\nAcceptable values are: \n- 1\n- 2", + "format": "int32" + }, + "id": { + "type": "string", + "description": "ID of this creative group. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeGroup\".", + "default": "dfareporting#creativeGroup" + }, + "name": { + "type": "string", + "description": "Name of this creative group. This is a required field and must be less than 256 characters long and unique among creative groups of the same advertiser." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this creative group. This is a read-only field that can be left blank.", + "format": "int64" + } + } + }, + "CreativeGroupAssignment": { + "id": "CreativeGroupAssignment", + "type": "object", + "description": "Creative Group Assignment.", + "properties": { + "creativeGroupId": { + "type": "string", + "description": "ID of the creative group to be assigned.", + "format": "int64" + }, + "creativeGroupNumber": { + "type": "string", + "description": "Creative group number of the creative group assignment.", + "enum": [ + "CREATIVE_GROUP_ONE", + "CREATIVE_GROUP_TWO" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, + "CreativeGroupsListResponse": { + "id": "CreativeGroupsListResponse", + "type": "object", + "description": "Creative Group List Response", + "properties": { + "creativeGroups": { + "type": "array", + "description": "Creative group collection.", + "items": { + "$ref": "CreativeGroup" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativeGroupsListResponse\".", + "default": "dfareporting#creativeGroupsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "CreativeOptimizationConfiguration": { + "id": "CreativeOptimizationConfiguration", + "type": "object", + "description": "Creative optimization settings.", + "properties": { + "id": { + "type": "string", + "description": "ID of this creative optimization config. This field is auto-generated when the campaign is inserted or updated. It can be null for existing campaigns.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "Name of this creative optimization config. This is a required field and must be less than 129 characters long." + }, + "optimizationActivitys": { + "type": "array", + "description": "List of optimization activities associated with this configuration.", + "items": { + "$ref": "OptimizationActivity" + } + }, + "optimizationModel": { + "type": "string", + "description": "Optimization model for this configuration.", + "enum": [ + "CLICK", + "POST_CLICK", + "POST_CLICK_AND_IMPRESSION", + "POST_IMPRESSION" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + } + } + }, + "CreativeRotation": { + "id": "CreativeRotation", + "type": "object", + "description": "Creative Rotation.", + "properties": { + "creativeAssignments": { + "type": "array", + "description": "Creative assignments in this creative rotation.", + "items": { + "$ref": "CreativeAssignment" + } + }, + "creativeOptimizationConfigurationId": { + "type": "string", + "description": "Creative optimization configuration that is used by this ad. It should refer to one of the existing optimization configurations in the ad's campaign. If it is unset or set to 0, then the campaign's default optimization configuration will be used for this ad.", + "format": "int64" + }, + "type": { + "type": "string", + "description": "Type of creative rotation. Can be used to specify whether to use sequential or random rotation.", + "enum": [ + "CREATIVE_ROTATION_TYPE_RANDOM", + "CREATIVE_ROTATION_TYPE_SEQUENTIAL" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "weightCalculationStrategy": { + "type": "string", + "description": "Strategy for calculating weights. Used with CREATIVE_ROTATION_TYPE_RANDOM.", + "enum": [ + "WEIGHT_STRATEGY_CUSTOM", + "WEIGHT_STRATEGY_EQUAL", + "WEIGHT_STRATEGY_HIGHEST_CTR", + "WEIGHT_STRATEGY_OPTIMIZED" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + } + } + }, + "CreativeSettings": { + "id": "CreativeSettings", + "type": "object", + "description": "Creative Settings", + "properties": { + "iFrameFooter": { + "type": "string", + "description": "Header text for iFrames for this site. Must be less than or equal to 2000 characters long." + }, + "iFrameHeader": { + "type": "string", + "description": "Header text for iFrames for this site. Must be less than or equal to 2000 characters long." + } + } + }, + "CreativesListResponse": { + "id": "CreativesListResponse", + "type": "object", + "description": "Creative List Response", + "properties": { + "creatives": { + "type": "array", + "description": "Creative collection.", + "items": { + "$ref": "Creative" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#creativesListResponse\".", + "default": "dfareporting#creativesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "CrossDimensionReachReportCompatibleFields": { + "id": "CrossDimensionReachReportCompatibleFields", + "type": "object", + "description": "Represents fields that are compatible to be selected for a report of type \"CROSS_DIMENSION_REACH\".", + "properties": { + "breakdown": { + "type": "array", + "description": "Dimensions which are compatible to be selected in the \"breakdown\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "dimensionFilters": { + "type": "array", + "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#crossDimensionReachReportCompatibleFields.", + "default": "dfareporting#crossDimensionReachReportCompatibleFields" + }, + "metrics": { + "type": "array", + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + } + }, + "overlapMetrics": { + "type": "array", + "description": "Metrics which are compatible to be selected in the \"overlapMetricNames\" section of the report.", + "items": { + "$ref": "Metric" + } + } + } + }, + "CustomRichMediaEvents": { + "id": "CustomRichMediaEvents", + "type": "object", + "description": "Represents a Custom Rich Media Events group.", + "properties": { + "filteredEventIds": { + "type": "array", + "description": "List of custom rich media event IDs. Dimension values must be all of type dfa:richMediaEventTypeIdAndName.", + "items": { + "$ref": "DimensionValue" + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#customRichMediaEvents.", + "default": "dfareporting#customRichMediaEvents" + } + } + }, + "DateRange": { + "id": "DateRange", + "type": "object", + "description": "Represents a date range.", + "properties": { + "endDate": { + "type": "string", + "description": "The end date of the date range, inclusive. A string of the format: \"yyyy-MM-dd\".", + "format": "date" + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#dateRange.", + "default": "dfareporting#dateRange" + }, + "relativeDateRange": { + "type": "string", + "description": "The date range relative to the date of when the report is run.", + "enum": [ + "LAST_24_MONTHS", + "LAST_30_DAYS", + "LAST_365_DAYS", + "LAST_7_DAYS", + "LAST_90_DAYS", + "MONTH_TO_DATE", + "PREVIOUS_MONTH", + "PREVIOUS_QUARTER", + "PREVIOUS_WEEK", + "PREVIOUS_YEAR", + "QUARTER_TO_DATE", + "TODAY", + "WEEK_TO_DATE", + "YEAR_TO_DATE", + "YESTERDAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "startDate": { + "type": "string", + "description": "The start date of the date range, inclusive. A string of the format: \"yyyy-MM-dd\".", + "format": "date" + } + } + }, + "DayPartTargeting": { + "id": "DayPartTargeting", + "type": "object", + "description": "Day Part Targeting.", + "properties": { + "daysOfWeek": { + "type": "array", + "description": "Days of the week when the ad will serve.\n\nAcceptable values are:\n- \"SUNDAY\"\n- \"MONDAY\"\n- \"TUESDAY\"\n- \"WEDNESDAY\"\n- \"THURSDAY\"\n- \"FRIDAY\"\n- \"SATURDAY\"", + "items": { + "type": "string", + "enum": [ + "FRIDAY", + "MONDAY", + "SATURDAY", + "SUNDAY", + "THURSDAY", + "TUESDAY", + "WEDNESDAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ] + } + }, + "hoursOfDay": { + "type": "array", + "description": "Hours of the day when the ad will serve. Must be an integer between 0 and 23 (inclusive), where 0 is midnight to 1 AM, and 23 is 11 PM to midnight. Can be specified with days of week, in which case the ad would serve during these hours on the specified days. For example, if Monday, Wednesday, Friday are the days of week specified and 9-10am, 3-5pm (hours 9, 15, and 16) is specified, the ad would serve Monday, Wednesdays, and Fridays at 9-10am and 3-5pm.", + "items": { + "type": "integer", + "format": "int32" + } + }, + "userLocalTime": { + "type": "boolean", + "description": "Whether or not to use the user's local time. If false, the America/New York time zone applies." + } + } + }, + "DefaultClickThroughEventTagProperties": { + "id": "DefaultClickThroughEventTagProperties", + "type": "object", + "description": "Properties of inheriting and overriding the default click-through event tag. A campaign may override the event tag defined at the advertiser level, and an ad may also override the campaign's setting further.", + "properties": { + "defaultClickThroughEventTagId": { + "type": "string", + "description": "ID of the click-through event tag to apply to all ads in this entity's scope.", + "format": "int64" + }, + "overrideInheritedEventTag": { + "type": "boolean", + "description": "Whether this entity should override the inherited default click-through event tag with its own defined value." + } + } + }, + "DeliverySchedule": { + "id": "DeliverySchedule", + "type": "object", + "description": "Delivery Schedule.", + "properties": { + "frequencyCap": { + "$ref": "FrequencyCap", + "description": "Limit on the number of times an individual user can be served the ad within a specified period of time." + }, + "hardCutoff": { + "type": "boolean", + "description": "Whether or not hard cutoff is enabled. If true, the ad will not serve after the end date and time. Otherwise the ad will continue to be served until it has reached its delivery goals." + }, + "impressionRatio": { + "type": "string", + "description": "Impression ratio for this ad. This ratio determines how often each ad is served relative to the others. For example, if ad A has an impression ratio of 1 and ad B has an impression ratio of 3, then DCM will serve ad B three times as often as ad A. Must be between 1 and 10.", + "format": "int64" + }, + "priority": { + "type": "string", + "description": "Serving priority of an ad, with respect to other ads. The lower the priority number, the greater the priority with which it is served.", + "enum": [ + "AD_PRIORITY_01", + "AD_PRIORITY_02", + "AD_PRIORITY_03", + "AD_PRIORITY_04", + "AD_PRIORITY_05", + "AD_PRIORITY_06", + "AD_PRIORITY_07", + "AD_PRIORITY_08", + "AD_PRIORITY_09", + "AD_PRIORITY_10", + "AD_PRIORITY_11", + "AD_PRIORITY_12", + "AD_PRIORITY_13", + "AD_PRIORITY_14", + "AD_PRIORITY_15", + "AD_PRIORITY_16" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + } + }, + "DfpSettings": { + "id": "DfpSettings", + "type": "object", + "description": "DFP Settings", + "properties": { + "dfp_network_code": { + "type": "string", + "description": "DFP network code for this directory site." + }, + "dfp_network_name": { + "type": "string", + "description": "DFP network name for this directory site." + }, + "programmaticPlacementAccepted": { + "type": "boolean", + "description": "Whether this directory site accepts programmatic placements." + }, + "pubPaidPlacementAccepted": { + "type": "boolean", + "description": "Whether this directory site accepts publisher-paid tags." + }, + "publisherPortalOnly": { + "type": "boolean", + "description": "Whether this directory site is available only via DoubleClick Publisher Portal." + } + } + }, + "Dimension": { + "id": "Dimension", + "type": "object", + "description": "Represents a dimension.", + "properties": { + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#dimension.", + "default": "dfareporting#dimension" + }, + "name": { + "type": "string", + "description": "The dimension name, e.g. dfa:advertiser" + } + } + }, + "DimensionFilter": { + "id": "DimensionFilter", + "type": "object", + "description": "Represents a dimension filter.", + "properties": { + "dimensionName": { + "type": "string", + "description": "The name of the dimension to filter." + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#dimensionFilter.", + "default": "dfareporting#dimensionFilter" + }, + "value": { + "type": "string", + "description": "The value of the dimension to filter." + } + } + }, + "DimensionValue": { + "id": "DimensionValue", + "type": "object", + "description": "Represents a DimensionValue resource.", + "properties": { + "dimensionName": { + "type": "string", + "description": "The name of the dimension." + }, + "etag": { + "type": "string", + "description": "The eTag of this response for caching purposes." + }, + "id": { + "type": "string", + "description": "The ID associated with the value if available." + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#dimensionValue.", + "default": "dfareporting#dimensionValue" + }, + "matchType": { + "type": "string", + "description": "Determines how the 'value' field is matched when filtering. If not specified, defaults to EXACT. If set to WILDCARD_EXPRESSION, '*' is allowed as a placeholder for variable length character sequences, and it can be escaped with a backslash. Note, only paid search dimensions ('dfa:paidSearch*') allow a matchType other than EXACT.", + "enum": [ + "BEGINS_WITH", + "CONTAINS", + "EXACT", + "WILDCARD_EXPRESSION" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "value": { + "type": "string", + "description": "The value of the dimension." + } + } + }, + "DimensionValueList": { + "id": "DimensionValueList", + "type": "object", + "description": "Represents the list of DimensionValue resources.", + "properties": { + "etag": { + "type": "string", + "description": "The eTag of this response for caching purposes." + }, + "items": { + "type": "array", + "description": "The dimension values returned in this response.", + "items": { + "$ref": "DimensionValue" + } + }, + "kind": { + "type": "string", + "description": "The kind of list this is, in this case dfareporting#dimensionValueList.", + "default": "dfareporting#dimensionValueList" + }, + "nextPageToken": { + "type": "string", + "description": "Continuation token used to page through dimension values. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted." + } + } + }, + "DimensionValueRequest": { + "id": "DimensionValueRequest", + "type": "object", + "description": "Represents a DimensionValuesRequest.", + "properties": { + "dimensionName": { + "type": "string", + "description": "The name of the dimension for which values should be requested.", + "annotations": { + "required": [ + "dfareporting.dimensionValues.query" + ] + } + }, + "endDate": { + "type": "string", + "description": "The end date of the date range for which to retrieve dimension values. A string of the format \"yyyy-MM-dd\".", + "format": "date", + "annotations": { + "required": [ + "dfareporting.dimensionValues.query" + ] + } + }, + "filters": { + "type": "array", + "description": "The list of filters by which to filter values. The filters are ANDed.", + "items": { + "$ref": "DimensionFilter" + } + }, + "kind": { + "type": "string", + "description": "The kind of request this is, in this case dfareporting#dimensionValueRequest.", + "default": "dfareporting#dimensionValueRequest" + }, + "startDate": { + "type": "string", + "description": "The start date of the date range for which to retrieve dimension values. A string of the format \"yyyy-MM-dd\".", + "format": "date", + "annotations": { + "required": [ + "dfareporting.dimensionValues.query" + ] + } + } + } + }, + "DirectorySite": { + "id": "DirectorySite", + "type": "object", + "description": "DirectorySites contains properties of a website from the Site Directory. Sites need to be added to an account via the Sites resource before they can be assigned to a placement.", + "properties": { + "active": { + "type": "boolean", + "description": "Whether this directory site is active." + }, + "contactAssignments": { + "type": "array", + "description": "Directory site contacts.", + "items": { + "$ref": "DirectorySiteContactAssignment" + } + }, + "countryId": { + "type": "string", + "description": "Country ID of this directory site.", + "format": "int64" + }, + "currencyId": { + "type": "string", + "description": "Currency ID of this directory site.\nPossible values are: \n- \"1\" for USD \n- \"2\" for GBP \n- \"3\" for ESP \n- \"4\" for SEK \n- \"5\" for CAD \n- \"6\" for JPY \n- \"7\" for DEM \n- \"8\" for AUD \n- \"9\" for FRF \n- \"10\" for ITL \n- \"11\" for DKK \n- \"12\" for NOK \n- \"13\" for FIM \n- \"14\" for ZAR \n- \"15\" for IEP \n- \"16\" for NLG \n- \"17\" for EUR \n- \"18\" for KRW \n- \"19\" for TWD \n- \"20\" for SGD \n- \"21\" for CNY \n- \"22\" for HKD \n- \"23\" for NZD \n- \"24\" for MYR \n- \"25\" for BRL \n- \"26\" for PTE \n- \"27\" for MXP \n- \"28\" for CLP \n- \"29\" for TRY \n- \"30\" for ARS \n- \"31\" for PEN \n- \"32\" for ILS \n- \"33\" for CHF \n- \"34\" for VEF \n- \"35\" for COP \n- \"36\" for GTQ", + "format": "int64" + }, + "description": { + "type": "string", + "description": "Description of this directory site." + }, + "id": { + "type": "string", + "description": "ID of this directory site. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this directory site. This is a read-only, auto-generated field." + }, + "inpageTagFormats": { + "type": "array", + "description": "Tag types for regular placements.\n\nAcceptable values are:\n- \"STANDARD\"\n- \"IFRAME_JAVASCRIPT_INPAGE\"\n- \"INTERNAL_REDIRECT_INPAGE\"\n- \"JAVASCRIPT_INPAGE\"", + "items": { + "type": "string", + "enum": [ + "IFRAME_JAVASCRIPT_INPAGE", + "INTERNAL_REDIRECT_INPAGE", + "JAVASCRIPT_INPAGE", + "STANDARD" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + } + }, + "interstitialTagFormats": { + "type": "array", + "description": "Tag types for interstitial placements.\n\nAcceptable values are:\n- \"IFRAME_JAVASCRIPT_INTERSTITIAL\"\n- \"INTERNAL_REDIRECT_INTERSTITIAL\"\n- \"JAVASCRIPT_INTERSTITIAL\"", + "items": { + "type": "string", + "enum": [ + "IFRAME_JAVASCRIPT_INTERSTITIAL", + "INTERNAL_REDIRECT_INTERSTITIAL", + "JAVASCRIPT_INTERSTITIAL" + ], + "enumDescriptions": [ + "", + "", + "" + ] + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySite\".", + "default": "dfareporting#directorySite" + }, + "name": { + "type": "string", + "description": "Name of this directory site." + }, + "parentId": { + "type": "string", + "description": "Parent directory site ID.", + "format": "int64" + }, + "settings": { + "$ref": "DirectorySiteSettings", + "description": "Directory site settings." + }, + "url": { + "type": "string", + "description": "URL of this directory site." + } + } + }, + "DirectorySiteContact": { + "id": "DirectorySiteContact", + "type": "object", + "description": "Contains properties of a Site Directory contact.", + "properties": { + "address": { + "type": "string", + "description": "Address of this directory site contact." + }, + "email": { + "type": "string", + "description": "Email address of this directory site contact." + }, + "firstName": { + "type": "string", + "description": "First name of this directory site contact." + }, + "id": { + "type": "string", + "description": "ID of this directory site contact. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySiteContact\".", + "default": "dfareporting#directorySiteContact" + }, + "lastName": { + "type": "string", + "description": "Last name of this directory site contact." + }, + "phone": { + "type": "string", + "description": "Phone number of this directory site contact." + }, + "role": { + "type": "string", + "description": "Directory site contact role.", + "enum": [ + "ADMIN", + "EDIT", + "VIEW" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "title": { + "type": "string", + "description": "Title or designation of this directory site contact." + }, + "type": { + "type": "string", + "description": "Directory site contact type.", + "enum": [ + "BILLING", + "OTHER", + "SALES", + "TECHNICAL" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + } + } + }, + "DirectorySiteContactAssignment": { + "id": "DirectorySiteContactAssignment", + "type": "object", + "description": "Directory Site Contact Assignment", + "properties": { + "contactId": { + "type": "string", + "description": "ID of this directory site contact. This is a read-only, auto-generated field.", + "format": "int64" + }, + "visibility": { + "type": "string", + "description": "Visibility of this directory site contact assignment. When set to PUBLIC this contact assignment is visible to all account and agency users; when set to PRIVATE it is visible only to the site.", + "enum": [ + "PRIVATE", + "PUBLIC" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, + "DirectorySiteContactsListResponse": { + "id": "DirectorySiteContactsListResponse", + "type": "object", + "description": "Directory Site Contact List Response", + "properties": { + "directorySiteContacts": { + "type": "array", + "description": "Directory site contact collection", + "items": { + "$ref": "DirectorySiteContact" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySiteContactsListResponse\".", + "default": "dfareporting#directorySiteContactsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "DirectorySiteSettings": { + "id": "DirectorySiteSettings", + "type": "object", + "description": "Directory Site Settings", + "properties": { + "activeViewOptOut": { + "type": "boolean", + "description": "Whether this directory site has disabled active view creatives." + }, + "dfp_settings": { + "$ref": "DfpSettings", + "description": "Directory site DFP settings." + }, + "instream_video_placement_accepted": { + "type": "boolean", + "description": "Whether this site accepts in-stream video ads." + }, + "interstitialPlacementAccepted": { + "type": "boolean", + "description": "Whether this site accepts interstitial ads." + }, + "nielsenOcrOptOut": { + "type": "boolean", + "description": "Whether this directory site has disabled Nielsen OCR reach ratings." + }, + "verificationTagOptOut": { + "type": "boolean", + "description": "Whether this directory site has disabled generation of Verification ins tags." + }, + "videoActiveViewOptOut": { + "type": "boolean", + "description": "Whether this directory site has disabled active view for in-stream video creatives." + } + } + }, + "DirectorySitesListResponse": { + "id": "DirectorySitesListResponse", + "type": "object", + "description": "Directory Site List Response", + "properties": { + "directorySites": { + "type": "array", + "description": "Directory site collection.", + "items": { + "$ref": "DirectorySite" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#directorySitesListResponse\".", + "default": "dfareporting#directorySitesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "EventTag": { + "id": "EventTag", + "type": "object", + "description": "Contains properties of an event tag.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this event tag. This is a read-only field that can be left blank.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this event tag. This field or the campaignId field is required on insertion.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "campaignId": { + "type": "string", + "description": "Campaign ID of this event tag. This field or the advertiserId field is required on insertion.", + "format": "int64" + }, + "campaignIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field." + }, + "enabledByDefault": { + "type": "boolean", + "description": "Whether this event tag should be automatically enabled for all of the advertiser's campaigns and ads." + }, + "excludeFromAdxRequests": { + "type": "boolean", + "description": "Whether to remove this event tag from ads that are trafficked through DoubleClick Bid Manager to Ad Exchange. This may be useful if the event tag uses a pixel that is unapproved for Ad Exchange bids on one or more networks, such as the Google Display Network." + }, + "id": { + "type": "string", + "description": "ID of this event tag. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#eventTag\".", + "default": "dfareporting#eventTag" + }, + "name": { + "type": "string", + "description": "Name of this event tag. This is a required field and must be less than 256 characters long." + }, + "siteFilterType": { + "type": "string", + "description": "Site filter type for this event tag. If no type is specified then the event tag will be applied to all sites.", + "enum": [ + "BLACKLIST", + "WHITELIST" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "siteIds": { + "type": "array", + "description": "Filter list of site IDs associated with this event tag. The siteFilterType determines whether this is a whitelist or blacklist filter.", + "items": { + "type": "string", + "format": "int64" + } + }, + "sslCompliant": { + "type": "boolean", + "description": "Whether this tag is SSL-compliant or not. This is a read-only field." + }, + "status": { + "type": "string", + "description": "Status of this event tag. Must be ENABLED for this event tag to fire. This is a required field.", + "enum": [ + "DISABLED", + "ENABLED" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this event tag. This is a read-only field that can be left blank.", + "format": "int64" + }, + "type": { + "type": "string", + "description": "Event tag type. Can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking. This is a required field.", + "enum": [ + "CLICK_THROUGH_EVENT_TAG", + "IMPRESSION_IMAGE_EVENT_TAG", + "IMPRESSION_JAVASCRIPT_EVENT_TAG" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "url": { + "type": "string", + "description": "Payload URL for this event tag. The URL on a click-through event tag should have a landing page URL appended to the end of it. This field is required on insertion." + }, + "urlEscapeLevels": { + "type": "integer", + "description": "Number of times the landing page URL should be URL-escaped before being appended to the click-through event tag URL. Only applies to click-through event tags as specified by the event tag type.", + "format": "int32" + } + } + }, + "EventTagOverride": { + "id": "EventTagOverride", + "type": "object", + "description": "Event tag override information.", + "properties": { + "enabled": { + "type": "boolean", + "description": "Whether this override is enabled." + }, + "id": { + "type": "string", + "description": "ID of this event tag override. This is a read-only, auto-generated field.", + "format": "int64" + } + } + }, + "EventTagsListResponse": { + "id": "EventTagsListResponse", + "type": "object", + "description": "Event Tag List Response", + "properties": { + "eventTags": { + "type": "array", + "description": "Event tag collection.", + "items": { + "$ref": "EventTag" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#eventTagsListResponse\".", + "default": "dfareporting#eventTagsListResponse" + } + } + }, + "File": { + "id": "File", + "type": "object", + "description": "Represents a File resource. A file contains the metadata for a report run. It shows the status of the run and holds the URLs to the generated report data if the run is finished and the status is \"REPORT_AVAILABLE\".", + "properties": { + "dateRange": { + "$ref": "DateRange", + "description": "The date range for which the file has report data. The date range will always be the absolute date range for which the report is run." + }, + "etag": { + "type": "string", + "description": "The eTag of this response for caching purposes." + }, + "fileName": { + "type": "string", + "description": "The filename of the file." + }, + "format": { + "type": "string", + "description": "The output format of the report. Only available once the file is available.", + "enum": [ + "CSV", + "EXCEL" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "id": { + "type": "string", + "description": "The unique ID of this report file.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#file.", + "default": "dfareporting#file" + }, + "lastModifiedTime": { + "type": "string", + "description": "The timestamp in milliseconds since epoch when this file was last modified.", + "format": "int64" + }, + "reportId": { + "type": "string", + "description": "The ID of the report this file was generated from.", + "format": "int64" + }, + "status": { + "type": "string", + "description": "The status of the report file.", + "enum": [ + "CANCELLED", + "FAILED", + "PROCESSING", + "REPORT_AVAILABLE" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "urls": { + "type": "object", + "description": "The URLs where the completed report file can be downloaded.", + "properties": { + "apiUrl": { + "type": "string", + "description": "The URL for downloading the report data through the API." + }, + "browserUrl": { + "type": "string", + "description": "The URL for downloading the report data through a browser." + } + } + } + } + }, + "FileList": { + "id": "FileList", + "type": "object", + "description": "Represents the list of File resources.", + "properties": { + "etag": { + "type": "string", + "description": "The eTag of this response for caching purposes." + }, + "items": { + "type": "array", + "description": "The files returned in this response.", + "items": { + "$ref": "File" + } + }, + "kind": { + "type": "string", + "description": "The kind of list this is, in this case dfareporting#fileList.", + "default": "dfareporting#fileList" + }, + "nextPageToken": { + "type": "string", + "description": "Continuation token used to page through files. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted." + } + } + }, + "Flight": { + "id": "Flight", + "type": "object", + "description": "Flight", + "properties": { + "endDate": { + "type": "string", + "description": "Inventory item flight end date.", + "format": "date" + }, + "rateOrCost": { + "type": "string", + "description": "Rate or cost of this flight.", + "format": "int64" + }, + "startDate": { + "type": "string", + "description": "Inventory item flight start date.", + "format": "date" + }, + "units": { + "type": "string", + "description": "Units of this flight.", + "format": "int64" + } + } + }, + "FloodlightActivitiesGenerateTagResponse": { + "id": "FloodlightActivitiesGenerateTagResponse", + "type": "object", + "description": "Floodlight Activity GenerateTag Response", + "properties": { + "floodlightActivityTag": { + "type": "string", + "description": "Generated tag for this floodlight activity." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivitiesGenerateTagResponse\".", + "default": "dfareporting#floodlightActivitiesGenerateTagResponse" + } + } + }, + "FloodlightActivitiesListResponse": { + "id": "FloodlightActivitiesListResponse", + "type": "object", + "description": "Floodlight Activity List Response", + "properties": { + "floodlightActivities": { + "type": "array", + "description": "Floodlight activity collection.", + "items": { + "$ref": "FloodlightActivity" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivitiesListResponse\".", + "default": "dfareporting#floodlightActivitiesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "FloodlightActivity": { + "id": "FloodlightActivity", + "type": "object", + "description": "Contains properties of a Floodlight activity.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this floodlight activity. This is a read-only field that can be left blank.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's advertiser or the existing activity's advertiser.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "cacheBustingType": { + "type": "string", + "description": "Code type used for cache busting in the generated tag.", + "enum": [ + "ACTIVE_SERVER_PAGE", + "COLD_FUSION", + "JAVASCRIPT", + "JSP", + "PHP" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "countingMethod": { + "type": "string", + "description": "Counting method for conversions for this floodlight activity. This is a required field.", + "enum": [ + "ITEMS_SOLD_COUNTING", + "SESSION_COUNTING", + "STANDARD_COUNTING", + "TRANSACTIONS_COUNTING", + "UNIQUE_COUNTING" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "defaultTags": { + "type": "array", + "description": "Dynamic floodlight tags.", + "items": { + "$ref": "FloodlightActivityDynamicTag" + } + }, + "expectedUrl": { + "type": "string", + "description": "URL where this tag will be deployed. If specified, must be less than 256 characters long." + }, + "floodlightActivityGroupId": { + "type": "string", + "description": "Floodlight activity group ID of this floodlight activity. This is a required field.", + "format": "int64" + }, + "floodlightActivityGroupName": { + "type": "string", + "description": "Name of the associated floodlight activity group. This is a read-only field." + }, + "floodlightActivityGroupTagString": { + "type": "string", + "description": "Tag string of the associated floodlight activity group. This is a read-only field." + }, + "floodlightActivityGroupType": { + "type": "string", + "description": "Type of the associated floodlight activity group. This is a read-only field.", + "enum": [ + "COUNTER", + "SALE" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "floodlightConfigurationId": { + "type": "string", + "description": "Floodlight configuration ID of this floodlight activity. If this field is left blank, the value will be copied over either from the activity group's floodlight configuration or from the existing activity's floodlight configuration.", + "format": "int64" + }, + "floodlightConfigurationIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field." + }, + "hidden": { + "type": "boolean", + "description": "Whether this activity is archived." + }, + "id": { + "type": "string", + "description": "ID of this floodlight activity. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this floodlight activity. This is a read-only, auto-generated field." + }, + "imageTagEnabled": { + "type": "boolean", + "description": "Whether the image tag is enabled for this activity." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivity\".", + "default": "dfareporting#floodlightActivity" + }, + "name": { + "type": "string", + "description": "Name of this floodlight activity. This is a required field. Must be less than 129 characters long and cannot contain quotes." + }, + "notes": { + "type": "string", + "description": "General notes or implementation instructions for the tag." + }, + "publisherTags": { + "type": "array", + "description": "Publisher dynamic floodlight tags.", + "items": { + "$ref": "FloodlightActivityPublisherDynamicTag" + } + }, + "secure": { + "type": "boolean", + "description": "Whether this tag should use SSL." + }, + "sslCompliant": { + "type": "boolean", + "description": "Whether the floodlight activity is SSL-compliant. This is a read-only field, its value detected by the system from the floodlight tags." + }, + "sslRequired": { + "type": "boolean", + "description": "Whether this floodlight activity must be SSL-compliant." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this floodlight activity. This is a read-only field that can be left blank.", + "format": "int64" + }, + "tagFormat": { + "type": "string", + "description": "Tag format type for the floodlight activity. If left blank, the tag format will default to HTML.", + "enum": [ + "HTML", + "XHTML" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "tagString": { + "type": "string", + "description": "Value of the cat= paramter in the floodlight tag, which the ad servers use to identify the activity. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activities of the same activity group. This field is read-only after insertion." + }, + "userDefinedVariableTypes": { + "type": "array", + "description": "List of the user-defined variables used by this conversion tag. These map to the \"u[1-20]=\" in the tags. Each of these can have a user defined type.\nAcceptable values are:\n- \"U1\"\n- \"U2\"\n- \"U3\"\n- \"U4\"\n- \"U5\"\n- \"U6\"\n- \"U7\"\n- \"U8\"\n- \"U9\"\n- \"U10\"\n- \"U11\"\n- \"U12\"\n- \"U13\"\n- \"U14\"\n- \"U15\"\n- \"U16\"\n- \"U17\"\n- \"U18\"\n- \"U19\"\n- \"U20\"", + "items": { + "type": "string", + "enum": [ + "U1", + "U10", + "U11", + "U12", + "U13", + "U14", + "U15", + "U16", + "U17", + "U18", + "U19", + "U2", + "U20", + "U3", + "U4", + "U5", + "U6", + "U7", + "U8", + "U9" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + } + } + }, + "FloodlightActivityDynamicTag": { + "id": "FloodlightActivityDynamicTag", + "type": "object", + "description": "Dynamic Tag", + "properties": { + "id": { + "type": "string", + "description": "ID of this dynamic tag. This is a read-only, auto-generated field.", + "format": "int64" + }, + "name": { + "type": "string", + "description": "Name of this tag." + }, + "tag": { + "type": "string", + "description": "Tag code." + } + } + }, + "FloodlightActivityGroup": { + "id": "FloodlightActivityGroup", + "type": "object", + "description": "Contains properties of a Floodlight activity group.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this floodlight activity group. This is a read-only field that can be left blank.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this floodlight activity group. If this field is left blank, the value will be copied over either from the floodlight configuration's advertiser or from the existing activity group's advertiser.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "floodlightConfigurationId": { + "type": "string", + "description": "Floodlight configuration ID of this floodlight activity group. This is a required field.", + "format": "int64" + }, + "floodlightConfigurationIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the floodlight configuration. This is a read-only, auto-generated field." + }, + "id": { + "type": "string", + "description": "ID of this floodlight activity group. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this floodlight activity group. This is a read-only, auto-generated field." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivityGroup\".", + "default": "dfareporting#floodlightActivityGroup" + }, + "name": { + "type": "string", + "description": "Name of this floodlight activity group. This is a required field. Must be less than 65 characters long and cannot contain quotes." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this floodlight activity group. This is a read-only field that can be left blank.", + "format": "int64" + }, + "tagString": { + "type": "string", + "description": "Value of the type= parameter in the floodlight tag, which the ad servers use to identify the activity group that the activity belongs to. This is optional: if empty, a new tag string will be generated for you. This string must be 1 to 8 characters long, with valid characters being [a-z][A-Z][0-9][-][ _ ]. This tag string must also be unique among activity groups of the same floodlight configuration. This field is read-only after insertion." + }, + "type": { + "type": "string", + "description": "Type of the floodlight activity group. This is a required field that is read-only after insertion.", + "enum": [ + "COUNTER", + "SALE" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, + "FloodlightActivityGroupsListResponse": { + "id": "FloodlightActivityGroupsListResponse", + "type": "object", + "description": "Floodlight Activity Group List Response", + "properties": { + "floodlightActivityGroups": { + "type": "array", + "description": "Floodlight activity group collection.", + "items": { + "$ref": "FloodlightActivityGroup" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightActivityGroupsListResponse\".", + "default": "dfareporting#floodlightActivityGroupsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "FloodlightActivityPublisherDynamicTag": { + "id": "FloodlightActivityPublisherDynamicTag", + "type": "object", + "description": "Publisher Dynamic Tag", + "properties": { + "clickThrough": { + "type": "boolean", + "description": "Whether this tag is applicable only for click-throughs." + }, + "directorySiteId": { + "type": "string", + "description": "Directory site ID of this dynamic tag. This is a write-only field that can be used as an alternative to the siteId field. When this resource is retrieved, only the siteId field will be populated.", + "format": "int64" + }, + "dynamicTag": { + "$ref": "FloodlightActivityDynamicTag", + "description": "Dynamic floodlight tag." + }, + "siteId": { + "type": "string", + "description": "Site ID of this dynamic tag.", + "format": "int64" + }, + "siteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field." + }, + "viewThrough": { + "type": "boolean", + "description": "Whether this tag is applicable only for view-throughs." + } + } + }, + "FloodlightConfiguration": { + "id": "FloodlightConfiguration", + "type": "object", + "description": "Contains properties of a Floodlight configuration.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this floodlight configuration. This is a read-only field that can be left blank.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of the parent advertiser of this floodlight configuration.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "analyticsDataSharingEnabled": { + "type": "boolean", + "description": "Whether advertiser data is shared with Google Analytics." + }, + "exposureToConversionEnabled": { + "type": "boolean", + "description": "Whether the exposure-to-conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting." + }, + "firstDayOfWeek": { + "type": "string", + "description": "Day that will be counted as the first day of the week in reports. This is a required field.", + "enum": [ + "MONDAY", + "SUNDAY" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "id": { + "type": "string", + "description": "ID of this floodlight configuration. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this floodlight configuration. This is a read-only, auto-generated field." + }, + "inAppAttributionTrackingEnabled": { + "type": "boolean", + "description": "Whether in-app attribution tracking is enabled." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightConfiguration\".", + "default": "dfareporting#floodlightConfiguration" + }, + "lookbackConfiguration": { + "$ref": "LookbackConfiguration", + "description": "Lookback window settings for this floodlight configuration." + }, + "naturalSearchConversionAttributionOption": { + "type": "string", + "description": "Types of attribution options for natural search conversions.", + "enum": [ + "EXCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION", + "INCLUDE_NATURAL_SEARCH_CONVERSION_ATTRIBUTION", + "INCLUDE_NATURAL_SEARCH_TIERED_CONVERSION_ATTRIBUTION" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "omnitureSettings": { + "$ref": "OmnitureSettings", + "description": "Settings for DCM Omniture integration." + }, + "sslRequired": { + "type": "boolean", + "description": "Whether floodlight activities owned by this configuration are required to be SSL-compliant." + }, + "standardVariableTypes": { + "type": "array", + "description": "List of standard variables enabled for this configuration.\n\nAcceptable values are:\n- \"ORD\"\n- \"NUM\"", + "items": { + "type": "string", + "enum": [ + "NUM", + "ORD", + "TRAN", + "U" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + } + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this floodlight configuration. This is a read-only field that can be left blank.", + "format": "int64" + }, + "tagSettings": { + "$ref": "TagSettings", + "description": "Configuration settings for dynamic and image floodlight tags." + }, + "thirdPartyAuthenticationTokens": { + "type": "array", + "description": "List of third-party authentication tokens enabled for this configuration.", + "items": { + "$ref": "ThirdPartyAuthenticationToken" + } + }, + "userDefinedVariableConfigurations": { + "type": "array", + "description": "List of user defined variables enabled for this configuration.", + "items": { + "$ref": "UserDefinedVariableConfiguration" + } + } + } + }, + "FloodlightConfigurationsListResponse": { + "id": "FloodlightConfigurationsListResponse", + "type": "object", + "description": "Floodlight Configuration List Response", + "properties": { + "floodlightConfigurations": { + "type": "array", + "description": "Floodlight configuration collection.", + "items": { + "$ref": "FloodlightConfiguration" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#floodlightConfigurationsListResponse\".", + "default": "dfareporting#floodlightConfigurationsListResponse" + } + } + }, + "FloodlightReportCompatibleFields": { + "id": "FloodlightReportCompatibleFields", + "type": "object", + "description": "Represents fields that are compatible to be selected for a report of type \"FlOODLIGHT\".", + "properties": { + "dimensionFilters": { + "type": "array", + "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "dimensions": { + "type": "array", + "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#floodlightReportCompatibleFields.", + "default": "dfareporting#floodlightReportCompatibleFields" + }, + "metrics": { + "type": "array", + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + } + } + } + }, + "FrequencyCap": { + "id": "FrequencyCap", + "type": "object", + "description": "Frequency Cap.", + "properties": { + "duration": { + "type": "string", + "description": "Duration of time, in seconds, for this frequency cap. The maximum duration is 90 days in seconds, or 7,776,000.", + "format": "int64" + }, + "impressions": { + "type": "string", + "description": "Number of times an individual user can be served the ad within the specified duration. The maximum allowed is 15.", + "format": "int64" + } + } + }, + "FsCommand": { + "id": "FsCommand", + "type": "object", + "description": "FsCommand.", + "properties": { + "left": { + "type": "integer", + "description": "Distance from the left of the browser.Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.", + "format": "int32" + }, + "positionOption": { + "type": "string", + "description": "Position in the browser where the window will open.", + "enum": [ + "CENTERED", + "DISTANCE_FROM_TOP_LEFT_CORNER" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "top": { + "type": "integer", + "description": "Distance from the top of the browser. Applicable when positionOption is DISTANCE_FROM_TOP_LEFT_CORNER.", + "format": "int32" + }, + "windowHeight": { + "type": "integer", + "description": "Height of the window.", + "format": "int32" + }, + "windowWidth": { + "type": "integer", + "description": "Width of the window.", + "format": "int32" + } + } + }, + "GeoTargeting": { + "id": "GeoTargeting", + "type": "object", + "description": "Geographical Targeting.", + "properties": { + "cities": { + "type": "array", + "description": "Cities to be targeted. For each city only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a city, do not target or exclude the country of the city, and do not target the metro or region of the city.", + "items": { + "$ref": "City" + } + }, + "countries": { + "type": "array", + "description": "Countries to be targeted or excluded from targeting, depending on the setting of the excludeCountries field. For each country only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting or excluding a country, do not target regions, cities, metros, or postal codes in the same country.", + "items": { + "$ref": "Country" + } + }, + "excludeCountries": { + "type": "boolean", + "description": "Whether or not to exclude the countries in the countries field from targeting. If false, the countries field refers to countries which will be targeted by the ad." + }, + "metros": { + "type": "array", + "description": "Metros to be targeted. For each metro only dmaId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a metro, do not target or exclude the country of the metro.", + "items": { + "$ref": "Metro" + } + }, + "postalCodes": { + "type": "array", + "description": "Postal codes to be targeted. For each postal code only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a postal code, do not target or exclude the country of the postal code.", + "items": { + "$ref": "PostalCode" + } + }, + "regions": { + "type": "array", + "description": "Regions to be targeted. For each region only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting a region, do not target or exclude the country of the region.", + "items": { + "$ref": "Region" + } + } + } + }, + "InventoryItem": { + "id": "InventoryItem", + "type": "object", + "description": "Represents a buy from the DoubleClick Planning inventory store.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this inventory item.", + "format": "int64" + }, + "adSlots": { + "type": "array", + "description": "Ad slots of this inventory item. If this inventory item represents a standalone placement, there will be exactly one ad slot. If this inventory item represents a placement group, there will be more than one ad slot, each representing one child placement in that placement group.", + "items": { + "$ref": "AdSlot" + } + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this inventory item.", + "format": "int64" + }, + "contentCategoryId": { + "type": "string", + "description": "Content category ID of this inventory item.", + "format": "int64" + }, + "estimatedClickThroughRate": { + "type": "string", + "description": "Estimated click-through rate of this inventory item.", + "format": "int64" + }, + "estimatedConversionRate": { + "type": "string", + "description": "Estimated conversion rate of this inventory item.", + "format": "int64" + }, + "id": { + "type": "string", + "description": "ID of this inventory item.", + "format": "int64" + }, + "inPlan": { + "type": "boolean", + "description": "Whether this inventory item is in plan." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#inventoryItem\".", + "default": "dfareporting#inventoryItem" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this inventory item." + }, + "name": { + "type": "string", + "description": "Name of this inventory item. For standalone inventory items, this is the same name as that of its only ad slot. For group inventory items, this can differ from the name of any of its ad slots." + }, + "negotiationChannelId": { + "type": "string", + "description": "Negotiation channel ID of this inventory item.", + "format": "int64" + }, + "orderId": { + "type": "string", + "description": "Order ID of this inventory item.", + "format": "int64" + }, + "placementStrategyId": { + "type": "string", + "description": "Placement strategy ID of this inventory item.", + "format": "int64" + }, + "pricing": { + "$ref": "Pricing", + "description": "Pricing of this inventory item." + }, + "projectId": { + "type": "string", + "description": "Project ID of this inventory item.", + "format": "int64" + }, + "rfpId": { + "type": "string", + "description": "RFP ID of this inventory item.", + "format": "int64" + }, + "siteId": { + "type": "string", + "description": "ID of the site this inventory item is associated with.", + "format": "int64" + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this inventory item.", + "format": "int64" + } + } + }, + "InventoryItemsListResponse": { + "id": "InventoryItemsListResponse", + "type": "object", + "description": "Inventory item List Response", + "properties": { + "inventoryItems": { + "type": "array", + "description": "Inventory item collection", + "items": { + "$ref": "InventoryItem" + } + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#inventoryItemsListResponse\".", + "default": "dfareporting#inventoryItemsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + } + } + }, + "KeyValueTargetingExpression": { + "id": "KeyValueTargetingExpression", + "type": "object", + "description": "Key Value Targeting Expression.", + "properties": { + "expression": { + "type": "string", + "description": "Keyword expression being targeted by the ad." + } + } + }, + "LandingPage": { + "id": "LandingPage", + "type": "object", + "description": "Contains information about where a user's browser is taken after the user clicks an ad.", + "properties": { + "default": { + "type": "boolean", + "description": "Whether or not this landing page will be assigned to any ads or creatives that do not have a landing page assigned explicitly. Only one default landing page is allowed per campaign." + }, + "id": { + "type": "string", + "description": "ID of this landing page. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#landingPage\".", + "default": "dfareporting#landingPage" + }, + "name": { + "type": "string", + "description": "Name of this landing page. This is a required field. It must be less than 256 characters long, and must be unique among landing pages of the same campaign." + }, + "url": { + "type": "string", + "description": "URL of this landing page. This is a required field." + } + } + }, + "LandingPagesListResponse": { + "id": "LandingPagesListResponse", + "type": "object", + "description": "Landing Page List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#landingPagesListResponse\".", + "default": "dfareporting#landingPagesListResponse" + }, + "landingPages": { + "type": "array", + "description": "Landing page collection", + "items": { + "$ref": "LandingPage" + } + } + } + }, + "LastModifiedInfo": { + "id": "LastModifiedInfo", + "type": "object", + "description": "Modification timestamp.", + "properties": { + "time": { + "type": "string", + "description": "Timestamp of the last change in milliseconds since epoch.", + "format": "int64" + } + } + }, + "ListPopulationClause": { + "id": "ListPopulationClause", + "type": "object", + "description": "A group clause made up of list population terms representing constraints joined by ORs.", + "properties": { + "terms": { + "type": "array", + "description": "Terms of this list population clause. Each clause is made up of list population terms representing constraints and are joined by ORs.", + "items": { + "$ref": "ListPopulationTerm" + } + } + } + }, + "ListPopulationRule": { + "id": "ListPopulationRule", + "type": "object", + "description": "Remarketing List Population Rule.", + "properties": { + "floodlightActivityId": { + "type": "string", + "description": "Floodlight activity ID associated with this rule. This field can be left blank.", + "format": "int64" + }, + "floodlightActivityName": { + "type": "string", + "description": "Name of floodlight activity associated with this rule. This is a read-only, auto-generated field." + }, + "listPopulationClauses": { + "type": "array", + "description": "Clauses that make up this list population rule. Clauses are joined by ANDs, and the clauses themselves are made up of list population terms which are joined by ORs.", + "items": { + "$ref": "ListPopulationClause" + } + } + } + }, + "ListPopulationTerm": { + "id": "ListPopulationTerm", + "type": "object", + "description": "Remarketing List Population Rule Term.", + "properties": { + "contains": { + "type": "boolean", + "description": "Will be true if the term should check if the user is in the list and false if the term should check if the user is not in the list. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM. False by default." + }, + "negation": { + "type": "boolean", + "description": "Whether to negate the comparison result of this term during rule evaluation. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM." + }, + "operator": { + "type": "string", + "description": "Comparison operator of this term. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM.", + "enum": [ + "NUM_EQUALS", + "NUM_GREATER_THAN", + "NUM_GREATER_THAN_EQUAL", + "NUM_LESS_THAN", + "NUM_LESS_THAN_EQUAL", + "STRING_CONTAINS", + "STRING_EQUALS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ] + }, + "remarketingListId": { + "type": "string", + "description": "ID of the list in question. This field is only relevant when type is set to LIST_MEMBERSHIP_TERM.", + "format": "int64" + }, + "type": { + "type": "string", + "description": "List population term type determines the applicable fields in this object. If left unset or set to CUSTOM_VARIABLE_TERM, then variableName, variableFriendlyName, operator, value, and negation are applicable. If set to LIST_MEMBERSHIP_TERM then remarketingListId and contains are applicable. If set to REFERRER_TERM then operator, value, and negation are applicable.", + "enum": [ + "CUSTOM_VARIABLE_TERM", + "LIST_MEMBERSHIP_TERM", + "REFERRER_TERM" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "value": { + "type": "string", + "description": "Literal to compare the variable to. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM or REFERRER_TERM." + }, + "variableFriendlyName": { + "type": "string", + "description": "Friendly name of this term's variable. This is a read-only, auto-generated field. This field is only relevant when type is left unset or set to CUSTOM_VARIABLE_TERM." + }, + "variableName": { + "type": "string", + "description": "Name of the variable (U1, U2, etc.) being compared in this term. This field is only relevant when type is set to null, CUSTOM_VARIABLE_TERM or REFERRER_TERM." + } + } + }, + "ListTargetingExpression": { + "id": "ListTargetingExpression", + "type": "object", + "description": "Remarketing List Targeting Expression.", + "properties": { + "expression": { + "type": "string", + "description": "Expression describing which lists are being targeted by the ad." + } + } + }, + "LookbackConfiguration": { + "id": "LookbackConfiguration", + "type": "object", + "description": "Lookback configuration settings.", + "properties": { + "clickDuration": { + "type": "integer", + "description": "Lookback window, in days, from the last time a given user clicked on one of your ads. If you enter 0, clicks will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.", + "format": "int32" + }, + "postImpressionActivitiesDuration": { + "type": "integer", + "description": "Lookback window, in days, from the last time a given user viewed one of your ads. If you enter 0, impressions will not be considered as triggering events for floodlight tracking. If you leave this field blank, the default value for your account will be used.", + "format": "int32" + } + } + }, + "Metric": { + "id": "Metric", + "type": "object", + "description": "Represents a metric.", + "properties": { + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#metric.", + "default": "dfareporting#metric" + }, + "name": { + "type": "string", + "description": "The metric name, e.g. dfa:impressions" + } + } + }, + "Metro": { + "id": "Metro", + "type": "object", + "description": "Contains information about a metro region that can be targeted by ads.", + "properties": { + "countryCode": { + "type": "string", + "description": "Country code of the country to which this metro region belongs." + }, + "countryDartId": { + "type": "string", + "description": "DART ID of the country to which this metro region belongs.", + "format": "int64" + }, + "dartId": { + "type": "string", + "description": "DART ID of this metro region.", + "format": "int64" + }, + "dmaId": { + "type": "string", + "description": "DMA ID of this metro region. This is the ID used for targeting and generating reports, and is equivalent to metro_code.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#metro\".", + "default": "dfareporting#metro" + }, + "metroCode": { + "type": "string", + "description": "Metro code of this metro region. This is equivalent to dma_id." + }, + "name": { + "type": "string", + "description": "Name of this metro region." + } + } + }, + "MetrosListResponse": { + "id": "MetrosListResponse", + "type": "object", + "description": "Metro List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#metrosListResponse\".", + "default": "dfareporting#metrosListResponse" + }, + "metros": { + "type": "array", + "description": "Metro collection.", + "items": { + "$ref": "Metro" + } + } + } + }, + "MobileCarrier": { + "id": "MobileCarrier", + "type": "object", + "description": "Contains information about a mobile carrier that can be targeted by ads.", + "properties": { + "countryCode": { + "type": "string", + "description": "Country code of the country to which this mobile carrier belongs." + }, + "countryDartId": { + "type": "string", + "description": "DART ID of the country to which this mobile carrier belongs.", + "format": "int64" + }, + "id": { + "type": "string", + "description": "ID of this mobile carrier.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileCarrier\".", + "default": "dfareporting#mobileCarrier" + }, + "name": { + "type": "string", + "description": "Name of this mobile carrier." + } + } + }, + "MobileCarriersListResponse": { + "id": "MobileCarriersListResponse", + "type": "object", + "description": "Mobile Carrier List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#mobileCarriersListResponse\".", + "default": "dfareporting#mobileCarriersListResponse" + }, + "mobileCarriers": { + "type": "array", + "description": "Mobile carrier collection.", + "items": { + "$ref": "MobileCarrier" + } + } + } + }, + "ObjectFilter": { + "id": "ObjectFilter", + "type": "object", + "description": "Object Filter.", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#objectFilter\".", + "default": "dfareporting#objectFilter" + }, + "objectIds": { + "type": "array", + "description": "Applicable when status is ASSIGNED. The user has access to objects with these object IDs.", + "items": { + "type": "string", + "format": "int64" + } + }, + "status": { + "type": "string", + "description": "Status of the filter. NONE means the user has access to none of the objects. ALL means the user has access to all objects. ASSIGNED means the user has access to the objects with IDs in the objectIds list.", + "enum": [ + "ALL", + "ASSIGNED", + "NONE" + ], + "enumDescriptions": [ + "", + "", + "" + ] + } + } + }, + "OffsetPosition": { + "id": "OffsetPosition", + "type": "object", + "description": "Offset Position.", + "properties": { + "left": { + "type": "integer", + "description": "Offset distance from left side of an asset or a window.", + "format": "int32" + }, + "top": { + "type": "integer", + "description": "Offset distance from top side of an asset or a window.", + "format": "int32" + } + } + }, + "OmnitureSettings": { + "id": "OmnitureSettings", + "type": "object", + "description": "Omniture Integration Settings.", + "properties": { + "omnitureCostDataEnabled": { + "type": "boolean", + "description": "Whether placement cost data will be sent to Omniture. This property can be enabled only if omnitureIntegrationEnabled is true." + }, + "omnitureIntegrationEnabled": { + "type": "boolean", + "description": "Whether Omniture integration is enabled. This property can be enabled only when the \"Advanced Ad Serving\" account setting is enabled." + } + } + }, + "OperatingSystem": { + "id": "OperatingSystem", + "type": "object", + "description": "Contains information about an operating system that can be targeted by ads.", + "properties": { + "dartId": { + "type": "string", + "description": "DART ID of this operating system. This is the ID used for targeting.", + "format": "int64" + }, + "desktop": { + "type": "boolean", + "description": "Whether this operating system is for desktop." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystem\".", + "default": "dfareporting#operatingSystem" + }, + "mobile": { + "type": "boolean", + "description": "Whether this operating system is for mobile." + }, + "name": { + "type": "string", + "description": "Name of this operating system." + } + } + }, + "OperatingSystemVersion": { + "id": "OperatingSystemVersion", + "type": "object", + "description": "Contains information about a particular version of an operating system that can be targeted by ads.", + "properties": { + "id": { + "type": "string", + "description": "ID of this operating system version.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemVersion\".", + "default": "dfareporting#operatingSystemVersion" + }, + "majorVersion": { + "type": "string", + "description": "Major version (leftmost number) of this operating system version." + }, + "minorVersion": { + "type": "string", + "description": "Minor version (number after the first dot) of this operating system version." + }, + "name": { + "type": "string", + "description": "Name of this operating system version." + }, + "operatingSystem": { + "$ref": "OperatingSystem", + "description": "Operating system of this operating system version." + } + } + }, + "OperatingSystemVersionsListResponse": { + "id": "OperatingSystemVersionsListResponse", + "type": "object", + "description": "Operating System Version List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemVersionsListResponse\".", + "default": "dfareporting#operatingSystemVersionsListResponse" + }, + "operatingSystemVersions": { + "type": "array", + "description": "Operating system version collection.", + "items": { + "$ref": "OperatingSystemVersion" + } + } + } + }, + "OperatingSystemsListResponse": { + "id": "OperatingSystemsListResponse", + "type": "object", + "description": "Operating System List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#operatingSystemsListResponse\".", + "default": "dfareporting#operatingSystemsListResponse" + }, + "operatingSystems": { + "type": "array", + "description": "Operating system collection.", + "items": { + "$ref": "OperatingSystem" + } + } + } + }, + "OptimizationActivity": { + "id": "OptimizationActivity", + "type": "object", + "description": "Creative optimization activity.", + "properties": { + "floodlightActivityId": { + "type": "string", + "description": "Floodlight activity ID of this optimization activity. This is a required field.", + "format": "int64" + }, + "floodlightActivityIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the floodlight activity. This is a read-only, auto-generated field." + }, + "weight": { + "type": "integer", + "description": "Weight associated with this optimization. Must be greater than 1. The weight assigned will be understood in proportion to the weights assigned to the other optimization activities.", + "format": "int32" + } + } + }, + "Order": { + "id": "Order", + "type": "object", + "description": "Describes properties of a DoubleClick Planning order.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this order.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this order.", + "format": "int64" + }, + "approverUserProfileIds": { + "type": "array", + "description": "IDs for users that have to approve documents created for this order.", + "items": { + "type": "string", + "format": "int64" + } + }, + "buyerInvoiceId": { + "type": "string", + "description": "Buyer invoice ID associated with this order." + }, + "buyerOrganizationName": { + "type": "string", + "description": "Name of the buyer organization." + }, + "comments": { + "type": "string", + "description": "Comments in this order." + }, + "contacts": { + "type": "array", + "description": "Contacts for this order.", + "items": { + "$ref": "OrderContact" + } + }, + "id": { + "type": "string", + "description": "ID of this order. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#order\".", + "default": "dfareporting#order" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this order." + }, + "name": { + "type": "string", + "description": "Name of this order." + }, + "notes": { + "type": "string", + "description": "Notes of this order." + }, + "planningTermId": { + "type": "string", + "description": "ID of the terms and conditions template used in this order.", + "format": "int64" + }, + "projectId": { + "type": "string", + "description": "Project ID of this order.", + "format": "int64" + }, + "sellerOrderId": { + "type": "string", + "description": "Seller order ID associated with this order." + }, + "sellerOrganizationName": { + "type": "string", + "description": "Name of the seller organization." + }, + "siteId": { + "type": "array", + "description": "Site IDs this order is associated with.", + "items": { + "type": "string", + "format": "int64" + } + }, + "siteNames": { + "type": "array", + "description": "Free-form site names this order is associated with.", + "items": { + "type": "string" + } + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this order.", + "format": "int64" + }, + "termsAndConditions": { + "type": "string", + "description": "Terms and conditions of this order." + } + } + }, + "OrderContact": { + "id": "OrderContact", + "type": "object", + "description": "Contact of an order.", + "properties": { + "contactInfo": { + "type": "string", + "description": "Free-form information about this contact. It could be any information related to this contact in addition to type, title, name, and signature user profile ID." + }, + "contactName": { + "type": "string", + "description": "Name of this contact." + }, + "contactTitle": { + "type": "string", + "description": "Title of this contact." + }, + "contactType": { + "type": "string", + "description": "Type of this contact.", + "enum": [ + "PLANNING_ORDER_CONTACT_BUYER_BILLING_CONTACT", + "PLANNING_ORDER_CONTACT_BUYER_CONTACT", + "PLANNING_ORDER_CONTACT_SELLER_CONTACT" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "signatureUserProfileId": { + "type": "string", + "description": "ID of the user profile containing the signature that will be embedded into order documents.", + "format": "int64" + } + } + }, + "OrderDocument": { + "id": "OrderDocument", + "type": "object", + "description": "Contains properties of a DoubleClick Planning order document.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this order document.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this order document.", + "format": "int64" + }, + "amendedOrderDocumentId": { + "type": "string", + "description": "The amended order document ID of this order document. An order document can be created by optionally amending another order document so that the change history can be preserved.", + "format": "int64" + }, + "approvedByUserProfileIds": { + "type": "array", + "description": "IDs of users who have approved this order document.", + "items": { + "type": "string", + "format": "int64" + } + }, + "cancelled": { + "type": "boolean", + "description": "Whether this order document is cancelled." + }, + "createdInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this order document." + }, + "effectiveDate": { + "type": "string", + "description": "Effective date of this order document.", + "format": "date" + }, + "id": { + "type": "string", + "description": "ID of this order document.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#orderDocument\".", + "default": "dfareporting#orderDocument" + }, + "lastSentRecipients": { + "type": "array", + "description": "List of email addresses that received the last sent document.", + "items": { + "type": "string" + } + }, + "lastSentTime": { + "type": "string", + "description": "Timestamp of the last email sent with this order document.", + "format": "date-time" + }, + "orderId": { + "type": "string", + "description": "ID of the order from which this order document is created.", + "format": "int64" + }, + "projectId": { + "type": "string", + "description": "Project ID of this order document.", + "format": "int64" + }, + "signed": { + "type": "boolean", + "description": "Whether this order document has been signed." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this order document.", + "format": "int64" + }, + "title": { + "type": "string", + "description": "Title of this order document." + }, + "type": { + "type": "string", + "description": "Type of this order document", + "enum": [ + "PLANNING_ORDER_TYPE_CHANGE_ORDER", + "PLANNING_ORDER_TYPE_INSERTION_ORDER" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, + "OrderDocumentsListResponse": { + "id": "OrderDocumentsListResponse", + "type": "object", + "description": "Order document List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#orderDocumentsListResponse\".", + "default": "dfareporting#orderDocumentsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "orderDocuments": { + "type": "array", + "description": "Order document collection", + "items": { + "$ref": "OrderDocument" + } + } + } + }, + "OrdersListResponse": { + "id": "OrdersListResponse", + "type": "object", + "description": "Order List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#ordersListResponse\".", + "default": "dfareporting#ordersListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "orders": { + "type": "array", + "description": "Order collection.", + "items": { + "$ref": "Order" + } + } + } + }, + "PathToConversionReportCompatibleFields": { + "id": "PathToConversionReportCompatibleFields", + "type": "object", + "description": "Represents fields that are compatible to be selected for a report of type \"PATH_TO_CONVERSION\".", + "properties": { + "conversionDimensions": { + "type": "array", + "description": "Conversion dimensions which are compatible to be selected in the \"conversionDimensions\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "customFloodlightVariables": { + "type": "array", + "description": "Custom floodlight variables which are compatible to be selected in the \"customFloodlightVariables\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#pathToConversionReportCompatibleFields.", + "default": "dfareporting#pathToConversionReportCompatibleFields" + }, + "metrics": { + "type": "array", + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + } + }, + "perInteractionDimensions": { + "type": "array", + "description": "Per-interaction dimensions which are compatible to be selected in the \"perInteractionDimensions\" section of the report.", + "items": { + "$ref": "Dimension" + } + } + } + }, + "Placement": { + "id": "Placement", + "type": "object", + "description": "Contains properties of a placement.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this placement. This field can be left blank.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this placement. This field can be left blank.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "archived": { + "type": "boolean", + "description": "Whether this placement is archived." + }, + "campaignId": { + "type": "string", + "description": "Campaign ID of this placement. This field is a required field on insertion.", + "format": "int64" + }, + "campaignIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field." + }, + "comment": { + "type": "string", + "description": "Comments for this placement." + }, + "compatibility": { + "type": "string", + "description": "Placement compatibility. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard. This field is required on insertion.", + "enum": [ + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "WEB", + "WEB_INTERSTITIAL" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "contentCategoryId": { + "type": "string", + "description": "ID of the content category assigned to this placement.", + "format": "int64" + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this placement. This is a read-only field." + }, + "directorySiteId": { + "type": "string", + "description": "Directory site ID of this placement. On insert, you must set either this field or the siteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.", + "format": "int64" + }, + "directorySiteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field." + }, + "externalId": { + "type": "string", + "description": "External ID for this placement." + }, + "id": { + "type": "string", + "description": "ID of this placement. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this placement. This is a read-only, auto-generated field." + }, + "keyName": { + "type": "string", + "description": "Key name of this placement. This is a read-only, auto-generated field." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placement\".", + "default": "dfareporting#placement" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this placement. This is a read-only field." + }, + "lookbackConfiguration": { + "$ref": "LookbackConfiguration", + "description": "Lookback window settings for this placement." + }, + "name": { + "type": "string", + "description": "Name of this placement.This is a required field and must be less than 256 characters long." + }, + "paymentApproved": { + "type": "boolean", + "description": "Whether payment was approved for this placement. This is a read-only field relevant only to publisher-paid placements." + }, + "paymentSource": { + "type": "string", + "description": "Payment source for this placement. This is a required field that is read-only after insertion.", + "enum": [ + "PLACEMENT_AGENCY_PAID", + "PLACEMENT_PUBLISHER_PAID" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "placementGroupId": { + "type": "string", + "description": "ID of this placement's group, if applicable.", + "format": "int64" + }, + "placementGroupIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the placement group. This is a read-only, auto-generated field." + }, + "placementStrategyId": { + "type": "string", + "description": "ID of the placement strategy assigned to this placement.", + "format": "int64" + }, + "pricingSchedule": { + "$ref": "PricingSchedule", + "description": "Pricing schedule of this placement. This field is required on insertion, specifically subfields startDate, endDate and pricingType." + }, + "primary": { + "type": "boolean", + "description": "Whether this placement is the primary placement of a roadblock (placement group). You cannot change this field from true to false. Setting this field to true will automatically set the primary field on the original primary placement of the roadblock to false, and it will automatically set the roadblock's primaryPlacementId field to the ID of this placement." + }, + "publisherUpdateInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the last publisher update. This is a read-only field." + }, + "siteId": { + "type": "string", + "description": "Site ID associated with this placement. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement. This is a required field that is read-only after insertion.", + "format": "int64" + }, + "siteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field." + }, + "size": { + "$ref": "Size", + "description": "Size associated with this placement. When inserting or updating a placement, only the size ID field is used. This field is required on insertion." + }, + "sslRequired": { + "type": "boolean", + "description": "Whether creatives assigned to this placement must be SSL-compliant." + }, + "status": { + "type": "string", + "description": "Third-party placement status.", + "enum": [ + "ACKNOWLEDGE_ACCEPTANCE", + "ACKNOWLEDGE_REJECTION", + "DRAFT", + "PAYMENT_ACCEPTED", + "PAYMENT_REJECTED", + "PENDING_REVIEW" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "" + ] + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this placement. This field can be left blank.", + "format": "int64" + }, + "tagFormats": { + "type": "array", + "description": "Tag formats to generate for this placement. This field is required on insertion.\nAcceptable values are:\n- \"PLACEMENT_TAG_STANDARD\"\n- \"PLACEMENT_TAG_IFRAME_JAVASCRIPT\"\n- \"PLACEMENT_TAG_IFRAME_ILAYER\"\n- \"PLACEMENT_TAG_INTERNAL_REDIRECT\"\n- \"PLACEMENT_TAG_JAVASCRIPT\"\n- \"PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT\"\n- \"PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT\"\n- \"PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT\"\n- \"PLACEMENT_TAG_CLICK_COMMANDS\"\n- \"PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH\"\n- \"PLACEMENT_TAG_TRACKING\"\n- \"PLACEMENT_TAG_TRACKING_IFRAME\"\n- \"PLACEMENT_TAG_TRACKING_JAVASCRIPT\"", + "items": { + "type": "string", + "enum": [ + "PLACEMENT_TAG_CLICK_COMMANDS", + "PLACEMENT_TAG_IFRAME_ILAYER", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", + "PLACEMENT_TAG_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_STANDARD", + "PLACEMENT_TAG_TRACKING", + "PLACEMENT_TAG_TRACKING_IFRAME", + "PLACEMENT_TAG_TRACKING_JAVASCRIPT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + }, + "tagSetting": { + "$ref": "TagSetting", + "description": "Tag settings for this placement." + } + } + }, + "PlacementAssignment": { + "id": "PlacementAssignment", + "type": "object", + "description": "Placement Assignment.", + "properties": { + "active": { + "type": "boolean", + "description": "Whether this placement assignment is active. When true, the placement will be included in the ad's rotation." + }, + "placementId": { + "type": "string", + "description": "ID of the placement to be assigned. This is a required field.", + "format": "int64" + }, + "placementIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the placement. This is a read-only, auto-generated field." + }, + "sslRequired": { + "type": "boolean", + "description": "Whether the placement to be assigned requires SSL. This is a read-only field that is auto-generated when the ad is inserted or updated." + } + } + }, + "PlacementGroup": { + "id": "PlacementGroup", + "type": "object", + "description": "Contains properties of a package or roadblock.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this placement group. This is a read-only field that can be left blank.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this placement group. This is a required field on insertion.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "archived": { + "type": "boolean", + "description": "Whether this placement group is archived." + }, + "campaignId": { + "type": "string", + "description": "Campaign ID of this placement group. This field is required on insertion.", + "format": "int64" + }, + "campaignIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the campaign. This is a read-only, auto-generated field." + }, + "childPlacementIds": { + "type": "array", + "description": "IDs of placements which are assigned to this placement group. This is a read-only, auto-generated field.", + "items": { + "type": "string", + "format": "int64" + } + }, + "comment": { + "type": "string", + "description": "Comments for this placement group." + }, + "contentCategoryId": { + "type": "string", + "description": "ID of the content category assigned to this placement group.", + "format": "int64" + }, + "createInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the creation of this placement group. This is a read-only field." + }, + "directorySiteId": { + "type": "string", + "description": "Directory site ID associated with this placement group. On insert, you must set either this field or the site_id field to specify the site associated with this placement group. This is a required field that is read-only after insertion.", + "format": "int64" + }, + "directorySiteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field." + }, + "externalId": { + "type": "string", + "description": "External ID for this placement." + }, + "id": { + "type": "string", + "description": "ID of this placement group. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this placement group. This is a read-only, auto-generated field." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementGroup\".", + "default": "dfareporting#placementGroup" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this placement group. This is a read-only field." + }, + "name": { + "type": "string", + "description": "Name of this placement group. This is a required field and must be less than 256 characters long." + }, + "placementGroupType": { + "type": "string", + "description": "Type of this placement group. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting. This field is required on insertion.", + "enum": [ + "PLACEMENT_PACKAGE", + "PLACEMENT_ROADBLOCK" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "placementStrategyId": { + "type": "string", + "description": "ID of the placement strategy assigned to this placement group.", + "format": "int64" + }, + "pricingSchedule": { + "$ref": "PricingSchedule", + "description": "Pricing schedule of this placement group. This field is required on insertion." + }, + "primaryPlacementId": { + "type": "string", + "description": "ID of the primary placement, used to calculate the media cost of a roadblock (placement group). Modifying this field will automatically modify the primary field on all affected roadblock child placements.", + "format": "int64" + }, + "primaryPlacementIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the primary placement. This is a read-only, auto-generated field." + }, + "siteId": { + "type": "string", + "description": "Site ID associated with this placement group. On insert, you must set either this field or the directorySiteId field to specify the site associated with this placement group. This is a required field that is read-only after insertion.", + "format": "int64" + }, + "siteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the site. This is a read-only, auto-generated field." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this placement group. This is a read-only field that can be left blank.", + "format": "int64" + } + } + }, + "PlacementGroupsListResponse": { + "id": "PlacementGroupsListResponse", + "type": "object", + "description": "Placement Group List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementGroupsListResponse\".", + "default": "dfareporting#placementGroupsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "placementGroups": { + "type": "array", + "description": "Placement group collection.", + "items": { + "$ref": "PlacementGroup" + } + } + } + }, + "PlacementStrategiesListResponse": { + "id": "PlacementStrategiesListResponse", + "type": "object", + "description": "Placement Strategy List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementStrategiesListResponse\".", + "default": "dfareporting#placementStrategiesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "placementStrategies": { + "type": "array", + "description": "Placement strategy collection.", + "items": { + "$ref": "PlacementStrategy" + } + } + } + }, + "PlacementStrategy": { + "id": "PlacementStrategy", + "type": "object", + "description": "Contains properties of a placement strategy.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this placement strategy.This is a read-only field that can be left blank.", + "format": "int64" + }, + "id": { + "type": "string", + "description": "ID of this placement strategy. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementStrategy\".", + "default": "dfareporting#placementStrategy" + }, + "name": { + "type": "string", + "description": "Name of this placement strategy. This is a required field. It must be less than 256 characters long and unique among placement strategies of the same account." + } + } + }, + "PlacementTag": { + "id": "PlacementTag", + "type": "object", + "description": "Placement Tag", + "properties": { + "placementId": { + "type": "string", + "description": "Placement ID", + "format": "int64" + }, + "tagDatas": { + "type": "array", + "description": "Tags generated for this placement.", + "items": { + "$ref": "TagData" + } + } + } + }, + "PlacementsGenerateTagsResponse": { + "id": "PlacementsGenerateTagsResponse", + "type": "object", + "description": "Placement GenerateTags Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementsGenerateTagsResponse\".", + "default": "dfareporting#placementsGenerateTagsResponse" + }, + "placementTags": { + "type": "array", + "description": "Set of generated tags for the specified placements.", + "items": { + "$ref": "PlacementTag" + } + } + } + }, + "PlacementsListResponse": { + "id": "PlacementsListResponse", + "type": "object", + "description": "Placement List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#placementsListResponse\".", + "default": "dfareporting#placementsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "placements": { + "type": "array", + "description": "Placement collection.", + "items": { + "$ref": "Placement" + } + } + } + }, + "PlatformType": { + "id": "PlatformType", + "type": "object", + "description": "Contains information about a platform type that can be targeted by ads.", + "properties": { + "id": { + "type": "string", + "description": "ID of this platform type.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#platformType\".", + "default": "dfareporting#platformType" + }, + "name": { + "type": "string", + "description": "Name of this platform type." + } + } + }, + "PlatformTypesListResponse": { + "id": "PlatformTypesListResponse", + "type": "object", + "description": "Platform Type List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#platformTypesListResponse\".", + "default": "dfareporting#platformTypesListResponse" + }, + "platformTypes": { + "type": "array", + "description": "Platform type collection.", + "items": { + "$ref": "PlatformType" + } + } + } + }, + "PopupWindowProperties": { + "id": "PopupWindowProperties", + "type": "object", + "description": "Popup Window Properties.", + "properties": { + "dimension": { + "$ref": "Size", + "description": "Popup dimension for a creative. This is a read-only field. Applicable to the following creative types: all RICH_MEDIA and all VPAID" + }, + "offset": { + "$ref": "OffsetPosition", + "description": "Upper-left corner coordinates of the popup window. Applicable if positionType is COORDINATES." + }, + "positionType": { + "type": "string", + "description": "Popup window position either centered or at specific coordinate.", + "enum": [ + "CENTER", + "COORDINATES" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "showAddressBar": { + "type": "boolean", + "description": "Whether to display the browser address bar." + }, + "showMenuBar": { + "type": "boolean", + "description": "Whether to display the browser menu bar." + }, + "showScrollBar": { + "type": "boolean", + "description": "Whether to display the browser scroll bar." + }, + "showStatusBar": { + "type": "boolean", + "description": "Whether to display the browser status bar." + }, + "showToolBar": { + "type": "boolean", + "description": "Whether to display the browser tool bar." + }, + "title": { + "type": "string", + "description": "Title of popup window." + } + } + }, + "PostalCode": { + "id": "PostalCode", + "type": "object", + "description": "Contains information about a postal code that can be targeted by ads.", + "properties": { + "code": { + "type": "string", + "description": "Postal code. This is equivalent to the id field." + }, + "countryCode": { + "type": "string", + "description": "Country code of the country to which this postal code belongs." + }, + "countryDartId": { + "type": "string", + "description": "DART ID of the country to which this postal code belongs.", + "format": "int64" + }, + "id": { + "type": "string", + "description": "ID of this postal code." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#postalCode\".", + "default": "dfareporting#postalCode" + } + } + }, + "PostalCodesListResponse": { + "id": "PostalCodesListResponse", + "type": "object", + "description": "Postal Code List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#postalCodesListResponse\".", + "default": "dfareporting#postalCodesListResponse" + }, + "postalCodes": { + "type": "array", + "description": "Postal code collection.", + "items": { + "$ref": "PostalCode" + } + } + } + }, + "Pricing": { + "id": "Pricing", + "type": "object", + "description": "Pricing Information", + "properties": { + "capCostType": { + "type": "string", + "description": "Cap cost type of this inventory item.", + "enum": [ + "PLANNING_PLACEMENT_CAP_COST_TYPE_CUMULATIVE", + "PLANNING_PLACEMENT_CAP_COST_TYPE_MONTHLY", + "PLANNING_PLACEMENT_CAP_COST_TYPE_NONE" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "endDate": { + "type": "string", + "description": "End date of this inventory item.", + "format": "date" + }, + "flights": { + "type": "array", + "description": "Flights of this inventory item. A flight (a.k.a. pricing period) represents the inventory item pricing information for a specific period of time.", + "items": { + "$ref": "Flight" + } + }, + "groupType": { + "type": "string", + "description": "Group type of this inventory item if it represents a placement group. Is null otherwise. There are two type of placement groups: PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE is a simple group of inventory items that acts as a single pricing point for a group of tags. PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK is a group of inventory items that not only acts as a single pricing point, but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned inventory items to be marked as primary.", + "enum": [ + "PLANNING_PLACEMENT_GROUP_TYPE_PACKAGE", + "PLANNING_PLACEMENT_GROUP_TYPE_ROADBLOCK" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "pricingType": { + "type": "string", + "description": "Pricing type of this inventory item.", + "enum": [ + "PLANNING_PLACEMENT_PRICING_TYPE_CLICKS", + "PLANNING_PLACEMENT_PRICING_TYPE_CPA", + "PLANNING_PLACEMENT_PRICING_TYPE_CPC", + "PLANNING_PLACEMENT_PRICING_TYPE_CPM", + "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_CLICKS", + "PLANNING_PLACEMENT_PRICING_TYPE_FLAT_RATE_IMPRESSIONS", + "PLANNING_PLACEMENT_PRICING_TYPE_IMPRESSIONS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ] + }, + "startDate": { + "type": "string", + "description": "Start date of this inventory item.", + "format": "date" + } + } + }, + "PricingSchedule": { + "id": "PricingSchedule", + "type": "object", + "description": "Pricing Schedule", + "properties": { + "capCostOption": { + "type": "string", + "description": "Placement cap cost option.", + "enum": [ + "CAP_COST_CUMULATIVE", + "CAP_COST_MONTHLY", + "CAP_COST_NONE" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, + "disregardOverdelivery": { + "type": "boolean", + "description": "Whether cap costs are ignored by ad serving." + }, + "endDate": { + "type": "string", + "description": "Placement end date. This date must be later than, or the same day as, the placement start date, but not later than the campaign end date. If, for example, you set 6/25/2015 as both the start and end dates, the effective placement date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error. This field is required on insertion.", + "format": "date" + }, + "flighted": { + "type": "boolean", + "description": "Whether this placement is flighted. If true, pricing periods will be computed automatically." + }, + "floodlightActivityId": { + "type": "string", + "description": "Floodlight activity ID associated with this placement. This field should be set when placement pricing type is set to PRICING_TYPE_CPA.", + "format": "int64" + }, + "pricingPeriods": { + "type": "array", + "description": "Pricing periods for this placement.", + "items": { + "$ref": "PricingSchedulePricingPeriod" + } + }, + "pricingType": { + "type": "string", + "description": "Placement pricing type. This field is required on insertion.", + "enum": [ + "PRICING_TYPE_CPA", + "PRICING_TYPE_CPC", + "PRICING_TYPE_CPM", + "PRICING_TYPE_FLAT_RATE_CLICKS", + "PRICING_TYPE_FLAT_RATE_IMPRESSIONS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "startDate": { + "type": "string", + "description": "Placement start date. This date must be later than, or the same day as, the campaign start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error. This field is required on insertion.", + "format": "date" + }, + "testingStartDate": { + "type": "string", + "description": "Testing start date of this placement. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.", + "format": "date" + } + } + }, + "PricingSchedulePricingPeriod": { + "id": "PricingSchedulePricingPeriod", + "type": "object", + "description": "Pricing Period", + "properties": { + "endDate": { + "type": "string", + "description": "Pricing period end date. This date must be later than, or the same day as, the pricing period start date, but not later than the placement end date. The period end date can be the same date as the period start date. If, for example, you set 6/25/2015 as both the start and end dates, the effective pricing period date is just that day only, 6/25/2015. The hours, minutes, and seconds of the end date should not be set, as doing so will result in an error.", + "format": "date" + }, + "pricingComment": { + "type": "string", + "description": "Comments for this pricing period." + }, + "rateOrCostNanos": { + "type": "string", + "description": "Rate or cost of this pricing period.", + "format": "int64" + }, + "startDate": { + "type": "string", + "description": "Pricing period start date. This date must be later than, or the same day as, the placement start date. The hours, minutes, and seconds of the start date should not be set, as doing so will result in an error.", + "format": "date" + }, + "units": { + "type": "string", + "description": "Units of this pricing period.", + "format": "int64" + } + } + }, + "Project": { + "id": "Project", + "type": "object", + "description": "Contains properties of a DoubleClick Planning project.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this project.", + "format": "int64" + }, + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this project.", + "format": "int64" + }, + "audienceAgeGroup": { + "type": "string", + "description": "Audience age group of this project.", + "enum": [ + "PLANNING_AUDIENCE_AGE_18_24", + "PLANNING_AUDIENCE_AGE_25_34", + "PLANNING_AUDIENCE_AGE_35_44", + "PLANNING_AUDIENCE_AGE_45_54", + "PLANNING_AUDIENCE_AGE_55_64", + "PLANNING_AUDIENCE_AGE_65_OR_MORE", + "PLANNING_AUDIENCE_AGE_UNKNOWN" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ] + }, + "audienceGender": { + "type": "string", + "description": "Audience gender of this project.", + "enum": [ + "PLANNING_AUDIENCE_GENDER_FEMALE", + "PLANNING_AUDIENCE_GENDER_MALE" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "budget": { + "type": "string", + "description": "Budget of this project in the currency specified by the current account. The value stored in this field represents only the non-fractional amount. For example, for USD, the smallest value that can be represented by this field is 1 US dollar.", + "format": "int64" + }, + "clientBillingCode": { + "type": "string", + "description": "Client billing code of this project." + }, + "clientName": { + "type": "string", + "description": "Name of the project client." + }, + "endDate": { + "type": "string", + "description": "End date of the project.", + "format": "date" + }, + "id": { + "type": "string", + "description": "ID of this project. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#project\".", + "default": "dfareporting#project" + }, + "lastModifiedInfo": { + "$ref": "LastModifiedInfo", + "description": "Information about the most recent modification of this project." + }, + "name": { + "type": "string", + "description": "Name of this project." + }, + "overview": { + "type": "string", + "description": "Overview of this project." + }, + "startDate": { + "type": "string", + "description": "Start date of the project.", + "format": "date" + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this project.", + "format": "int64" + }, + "targetClicks": { + "type": "string", + "description": "Number of clicks that the advertiser is targeting.", + "format": "int64" + }, + "targetConversions": { + "type": "string", + "description": "Number of conversions that the advertiser is targeting.", + "format": "int64" + }, + "targetCpaNanos": { + "type": "string", + "description": "CPA that the advertiser is targeting.", + "format": "int64" + }, + "targetCpcNanos": { + "type": "string", + "description": "CPC that the advertiser is targeting.", + "format": "int64" + }, + "targetCpmNanos": { + "type": "string", + "description": "CPM that the advertiser is targeting.", + "format": "int64" + }, + "targetImpressions": { + "type": "string", + "description": "Number of impressions that the advertiser is targeting.", + "format": "int64" + } + } + }, + "ProjectsListResponse": { + "id": "ProjectsListResponse", + "type": "object", + "description": "Project List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#projectsListResponse\".", + "default": "dfareporting#projectsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "projects": { + "type": "array", + "description": "Project collection.", + "items": { + "$ref": "Project" + } + } + } + }, + "ReachReportCompatibleFields": { + "id": "ReachReportCompatibleFields", + "type": "object", + "description": "Represents fields that are compatible to be selected for a report of type \"REACH\".", + "properties": { + "dimensionFilters": { + "type": "array", + "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "dimensions": { + "type": "array", + "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#reachReportCompatibleFields.", + "default": "dfareporting#reachReportCompatibleFields" + }, + "metrics": { + "type": "array", + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + } + }, + "pivotedActivityMetrics": { + "type": "array", + "description": "Metrics which are compatible to be selected as activity metrics to pivot on in the \"activities\" section of the report.", + "items": { + "$ref": "Metric" + } + }, + "reachByFrequencyMetrics": { + "type": "array", + "description": "Metrics which are compatible to be selected in the \"reachByFrequencyMetricNames\" section of the report.", + "items": { + "$ref": "Metric" + } + } + } + }, + "Recipient": { + "id": "Recipient", + "type": "object", + "description": "Represents a recipient.", + "properties": { + "deliveryType": { + "type": "string", + "description": "The delivery type for the recipient.", + "enum": [ + "ATTACHMENT", + "LINK" + ], + "enumDescriptions": [ + "", + "" + ], + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + } + }, + "email": { + "type": "string", + "description": "The email address of the recipient.", + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#recipient.", + "default": "dfareporting#recipient" + } + } + }, + "Region": { + "id": "Region", + "type": "object", + "description": "Contains information about a region that can be targeted by ads.", + "properties": { + "countryCode": { + "type": "string", + "description": "Country code of the country to which this region belongs." + }, + "countryDartId": { + "type": "string", + "description": "DART ID of the country to which this region belongs.", + "format": "int64" + }, + "dartId": { + "type": "string", + "description": "DART ID of this region.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#region\".", + "default": "dfareporting#region" + }, + "name": { + "type": "string", + "description": "Name of this region." + }, + "regionCode": { + "type": "string", + "description": "Region code." + } + } + }, + "RegionsListResponse": { + "id": "RegionsListResponse", + "type": "object", + "description": "Region List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#regionsListResponse\".", + "default": "dfareporting#regionsListResponse" + }, + "regions": { + "type": "array", + "description": "Region collection.", + "items": { + "$ref": "Region" + } + } + } + }, + "RemarketingList": { + "id": "RemarketingList", + "type": "object", + "description": "Contains properties of a remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource can be used to manage remarketing lists that are owned by your advertisers. To see all remarketing lists that are visible to your advertisers, including those that are shared to your advertiser or account, use the TargetableRemarketingLists resource.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.", + "format": "int64" + }, + "active": { + "type": "boolean", + "description": "Whether this remarketing list is active." + }, + "advertiserId": { + "type": "string", + "description": "Dimension value for the advertiser ID that owns this remarketing list. This is a required field.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser. This is a read-only, auto-generated field." + }, + "description": { + "type": "string", + "description": "Remarketing list description." + }, + "id": { + "type": "string", + "description": "Remarketing list ID. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingList\".", + "default": "dfareporting#remarketingList" + }, + "lifeSpan": { + "type": "string", + "description": "Number of days that a user should remain in the remarketing list without an impression.", + "format": "int64" + }, + "listPopulationRule": { + "$ref": "ListPopulationRule", + "description": "Rule used to populate the remarketing list with users." + }, + "listSize": { + "type": "string", + "description": "Number of users currently in the list. This is a read-only field.", + "format": "int64" + }, + "listSource": { + "type": "string", + "description": "Product from which this remarketing list was originated.", + "enum": [ + "REMARKETING_LIST_SOURCE_DBM", + "REMARKETING_LIST_SOURCE_DFA", + "REMARKETING_LIST_SOURCE_DMP", + "REMARKETING_LIST_SOURCE_GA", + "REMARKETING_LIST_SOURCE_OTHER" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "name": { + "type": "string", + "description": "Name of the remarketing list. This is a required field. Must be no greater than 128 characters long." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.", + "format": "int64" + } + } + }, + "RemarketingListShare": { + "id": "RemarketingListShare", + "type": "object", + "description": "Contains properties of a remarketing list's sharing information. Sharing allows other accounts or advertisers to target to your remarketing lists. This resource can be used to manage remarketing list sharing to other accounts and advertisers.", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingListShare\".", + "default": "dfareporting#remarketingListShare" + }, + "remarketingListId": { + "type": "string", + "description": "Remarketing list ID. This is a read-only, auto-generated field.", + "format": "int64" + }, + "sharedAccountIds": { + "type": "array", + "description": "Accounts that the remarketing list is shared with.", + "items": { + "type": "string", + "format": "int64" + } + }, + "sharedAdvertiserIds": { + "type": "array", + "description": "Advertisers that the remarketing list is shared with.", + "items": { + "type": "string", + "format": "int64" + } + } + } + }, + "RemarketingListsListResponse": { + "id": "RemarketingListsListResponse", + "type": "object", + "description": "Remarketing list response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#remarketingListsListResponse\".", + "default": "dfareporting#remarketingListsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "remarketingLists": { + "type": "array", + "description": "Remarketing list collection.", + "items": { + "$ref": "RemarketingList" + } + } + } + }, + "Report": { + "id": "Report", + "type": "object", + "description": "Represents a Report resource.", + "properties": { + "accountId": { + "type": "string", + "description": "The account ID to which this report belongs.", + "format": "int64", + "annotations": { + "required": [ + "dfareporting.reports.update" + ] + } + }, + "criteria": { + "type": "object", + "description": "The report criteria for a report of type \"STANDARD\".", + "properties": { + "activities": { + "$ref": "Activities", + "description": "Activity group." + }, + "customRichMediaEvents": { + "$ref": "CustomRichMediaEvents", + "description": "Custom Rich Media Events group." + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range for which this report should be run." + }, + "dimensionFilters": { + "type": "array", + "description": "The list of filters on which dimensions are filtered.\nFilters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.", + "items": { + "$ref": "DimensionValue" + } + }, + "dimensions": { + "type": "array", + "description": "The list of standard dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + } + }, + "metricNames": { + "type": "array", + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + } + } + } + }, + "crossDimensionReachCriteria": { + "type": "object", + "description": "The report criteria for a report of type \"CROSS_DIMENSION_REACH\".", + "properties": { + "breakdown": { + "type": "array", + "description": "The list of dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + } + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "dimension": { + "type": "string", + "description": "The dimension option.", + "enum": [ + "ADVERTISER", + "CAMPAIGN", + "SITE_BY_ADVERTISER", + "SITE_BY_CAMPAIGN" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ] + }, + "dimensionFilters": { + "type": "array", + "description": "The list of filters on which dimensions are filtered.", + "items": { + "$ref": "DimensionValue" + } + }, + "metricNames": { + "type": "array", + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + } + }, + "overlapMetricNames": { + "type": "array", + "description": "The list of names of overlap metrics the report should include.", + "items": { + "type": "string" + } + }, + "pivoted": { + "type": "boolean", + "description": "Whether the report is pivoted or not. Defaults to true." + } + } + }, + "delivery": { + "type": "object", + "description": "The report's email delivery settings.", + "properties": { + "emailOwner": { + "type": "boolean", + "description": "Whether the report should be emailed to the report owner." + }, + "emailOwnerDeliveryType": { + "type": "string", + "description": "The type of delivery for the owner to receive, if enabled.", + "enum": [ + "ATTACHMENT", + "LINK" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "message": { + "type": "string", + "description": "The message to be sent with each email." + }, + "recipients": { + "type": "array", + "description": "The list of recipients to which to email the report.", + "items": { + "$ref": "Recipient" + } + } + } + }, + "etag": { + "type": "string", + "description": "The eTag of this response for caching purposes." + }, + "fileName": { + "type": "string", + "description": "The filename used when generating report files for this report." + }, + "floodlightCriteria": { + "type": "object", + "description": "The report criteria for a report of type \"FLOODLIGHT\".", + "properties": { + "customRichMediaEvents": { + "type": "array", + "description": "The list of custom rich media events to include.", + "items": { + "$ref": "DimensionValue" + } + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "dimensionFilters": { + "type": "array", + "description": "The list of filters on which dimensions are filtered.\nFilters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.", + "items": { + "$ref": "DimensionValue" + } + }, + "dimensions": { + "type": "array", + "description": "The list of dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + } + }, + "floodlightConfigId": { + "$ref": "DimensionValue", + "description": "The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'." + }, + "metricNames": { + "type": "array", + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + } + }, + "reportProperties": { + "type": "object", + "description": "The properties of the report.", + "properties": { + "includeAttributedIPConversions": { + "type": "boolean", + "description": "Include conversions that have no cookie, but do have an exposure path." + }, + "includeUnattributedCookieConversions": { + "type": "boolean", + "description": "Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window." + }, + "includeUnattributedIPConversions": { + "type": "boolean", + "description": "Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion." + } + } + } + } + }, + "format": { + "type": "string", + "description": "The output format of the report. If not specified, default format is \"CSV\". Note that the actual format in the completed report file might differ if for instance the report's size exceeds the format's capabilities. \"CSV\" will then be the fallback format.", + "enum": [ + "CSV", + "EXCEL" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "id": { + "type": "string", + "description": "The unique ID identifying this report resource.", + "format": "int64", + "annotations": { + "required": [ + "dfareporting.reports.update" + ] + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#report.", + "default": "dfareporting#report" + }, + "lastModifiedTime": { + "type": "string", + "description": "The timestamp (in milliseconds since epoch) of when this report was last modified.", + "format": "uint64", + "annotations": { + "required": [ + "dfareporting.reports.update" + ] + } + }, + "name": { + "type": "string", + "description": "The name of the report.", + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + } + }, + "ownerProfileId": { + "type": "string", + "description": "The user profile id of the owner of this report.", + "format": "int64", + "annotations": { + "required": [ + "dfareporting.reports.update" + ] + } + }, + "pathToConversionCriteria": { + "type": "object", + "description": "The report criteria for a report of type \"PATH_TO_CONVERSION\".", + "properties": { + "activityFilters": { + "type": "array", + "description": "The list of 'dfa:activity' values to filter on.", + "items": { + "$ref": "DimensionValue" + } + }, + "conversionDimensions": { + "type": "array", + "description": "The list of conversion dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + } + }, + "customFloodlightVariables": { + "type": "array", + "description": "The list of custom floodlight variables the report should include.", + "items": { + "$ref": "SortedDimension" + } + }, + "customRichMediaEvents": { + "type": "array", + "description": "The list of custom rich media events to include.", + "items": { + "$ref": "DimensionValue" + } + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "floodlightConfigId": { + "$ref": "DimensionValue", + "description": "The floodlight ID for which to show data in this report. All advertisers associated with that ID will automatically be added. The dimension of the value needs to be 'dfa:floodlightConfigId'." + }, + "metricNames": { + "type": "array", + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + } + }, + "perInteractionDimensions": { + "type": "array", + "description": "The list of per interaction dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + } + }, + "reportProperties": { + "type": "object", + "description": "The properties of the report.", + "properties": { + "clicksLookbackWindow": { + "type": "integer", + "description": "DFA checks to see if a click interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.", + "format": "int32" + }, + "impressionsLookbackWindow": { + "type": "integer", + "description": "DFA checks to see if an impression interaction occurred within the specified period of time before a conversion. By default the value is pulled from Floodlight or you can manually enter a custom value. Valid values: 1-90.", + "format": "int32" + }, + "includeAttributedIPConversions": { + "type": "boolean", + "description": "Deprecated: has no effect." + }, + "includeUnattributedCookieConversions": { + "type": "boolean", + "description": "Include conversions of users with a DoubleClick cookie but without an exposure. That means the user did not click or see an ad from the advertiser within the Floodlight group, or that the interaction happened outside the lookback window." + }, + "includeUnattributedIPConversions": { + "type": "boolean", + "description": "Include conversions that have no associated cookies and no exposures. It’s therefore impossible to know how the user was exposed to your ads during the lookback window prior to a conversion." + }, + "maximumClickInteractions": { + "type": "integer", + "description": "The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.", + "format": "int32" + }, + "maximumImpressionInteractions": { + "type": "integer", + "description": "The maximum number of click interactions to include in the report. Advertisers currently paying for E2C reports get up to 200 (100 clicks, 100 impressions). If another advertiser in your network is paying for E2C, you can have up to 5 total exposures per report.", + "format": "int32" + }, + "maximumInteractionGap": { + "type": "integer", + "description": "The maximum amount of time that can take place between interactions (clicks or impressions) by the same user. Valid values: 1-90.", + "format": "int32" + }, + "pivotOnInteractionPath": { + "type": "boolean", + "description": "Enable pivoting on interaction path." + } + } + } + } + }, + "reachCriteria": { + "type": "object", + "description": "The report criteria for a report of type \"REACH\".", + "properties": { + "activities": { + "$ref": "Activities", + "description": "Activity group." + }, + "customRichMediaEvents": { + "$ref": "CustomRichMediaEvents", + "description": "Custom Rich Media Events group." + }, + "dateRange": { + "$ref": "DateRange", + "description": "The date range this report should be run for." + }, + "dimensionFilters": { + "type": "array", + "description": "The list of filters on which dimensions are filtered.\nFilters for different dimensions are ANDed, filters for the same dimension are grouped together and ORed.", + "items": { + "$ref": "DimensionValue" + } + }, + "dimensions": { + "type": "array", + "description": "The list of dimensions the report should include.", + "items": { + "$ref": "SortedDimension" + } + }, + "enableAllDimensionCombinations": { + "type": "boolean", + "description": "Whether to enable all reach dimension combinations in the report. Defaults to false. If enabled, the date range of the report should be within the last three months." + }, + "metricNames": { + "type": "array", + "description": "The list of names of metrics the report should include.", + "items": { + "type": "string" + } + }, + "reachByFrequencyMetricNames": { + "type": "array", + "description": "The list of names of Reach By Frequency metrics the report should include.", + "items": { + "type": "string" + } + } + } + }, + "schedule": { + "type": "object", + "description": "The report's schedule. Can only be set if the report's 'dateRange' is a relative date range and the relative date range is not \"TODAY\".", + "properties": { + "active": { + "type": "boolean", + "description": "Whether the schedule is active or not. Must be set to either true or false.", + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + } + }, + "every": { + "type": "integer", + "description": "Defines every how many days, weeks or months the report should be run. Needs to be set when \"repeats\" is either \"DAILY\", \"WEEKLY\" or \"MONTHLY\".", + "format": "int32" + }, + "expirationDate": { + "type": "string", + "description": "The expiration date when the scheduled report stops running.", + "format": "date", + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + } + }, + "repeats": { + "type": "string", + "description": "The interval for which the report is repeated. Note: \n- \"DAILY\" also requires field \"every\" to be set. \n- \"WEEKLY\" also requires fields \"every\" and \"repeatsOnWeekDays\" to be set. \n- \"MONTHLY\" also requires fields \"every\" and \"runsOnDayOfMonth\" to be set.", + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + } + }, + "repeatsOnWeekDays": { + "type": "array", + "description": "List of week days \"WEEKLY\" on which scheduled reports should run.", + "items": { + "type": "string", + "enum": [ + "FRIDAY", + "MONDAY", + "SATURDAY", + "SUNDAY", + "THURSDAY", + "TUESDAY", + "WEDNESDAY" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ] + } + }, + "runsOnDayOfMonth": { + "type": "string", + "description": "Enum to define for \"MONTHLY\" scheduled reports whether reports should be repeated on the same day of the month as \"startDate\" or the same day of the week of the month.\nExample: If 'startDate' is Monday, April 2nd 2012 (2012-04-02), \"DAY_OF_MONTH\" would run subsequent reports on the 2nd of every Month, and \"WEEK_OF_MONTH\" would run subsequent reports on the first Monday of the month.", + "enum": [ + "DAY_OF_MONTH", + "WEEK_OF_MONTH" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "startDate": { + "type": "string", + "description": "Start date of date range for which scheduled reports should be run.", + "format": "date", + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + } + } + } + }, + "subAccountId": { + "type": "string", + "description": "The subaccount ID to which this report belongs if applicable.", + "format": "int64" + }, + "type": { + "type": "string", + "description": "The type of the report.", + "enum": [ + "CROSS_DIMENSION_REACH", + "FLOODLIGHT", + "PATH_TO_CONVERSION", + "REACH", + "STANDARD" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "annotations": { + "required": [ + "dfareporting.reports.insert", + "dfareporting.reports.update" + ] + } + } + } + }, + "ReportCompatibleFields": { + "id": "ReportCompatibleFields", + "type": "object", + "description": "Represents fields that are compatible to be selected for a report of type \"STANDARD\".", + "properties": { + "dimensionFilters": { + "type": "array", + "description": "Dimensions which are compatible to be selected in the \"dimensionFilters\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "dimensions": { + "type": "array", + "description": "Dimensions which are compatible to be selected in the \"dimensions\" section of the report.", + "items": { + "$ref": "Dimension" + } + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#reportCompatibleFields.", + "default": "dfareporting#reportCompatibleFields" + }, + "metrics": { + "type": "array", + "description": "Metrics which are compatible to be selected in the \"metricNames\" section of the report.", + "items": { + "$ref": "Metric" + } + }, + "pivotedActivityMetrics": { + "type": "array", + "description": "Metrics which are compatible to be selected as activity metrics to pivot on in the \"activities\" section of the report.", + "items": { + "$ref": "Metric" + } + } + } + }, + "ReportList": { + "id": "ReportList", + "type": "object", + "description": "Represents the list of reports.", + "properties": { + "etag": { + "type": "string", + "description": "The eTag of this response for caching purposes." + }, + "items": { + "type": "array", + "description": "The reports returned in this response.", + "items": { + "$ref": "Report" + } + }, + "kind": { + "type": "string", + "description": "The kind of list this is, in this case dfareporting#reportList.", + "default": "dfareporting#reportList" + }, + "nextPageToken": { + "type": "string", + "description": "Continuation token used to page through reports. To retrieve the next page of results, set the next request's \"pageToken\" to the value of this field. The page token is only valid for a limited amount of time and should not be persisted." + } + } + }, + "ReportsConfiguration": { + "id": "ReportsConfiguration", + "type": "object", + "description": "Reporting Configuration", + "properties": { + "exposureToConversionEnabled": { + "type": "boolean", + "description": "Whether the exposure to conversion report is enabled. This report shows detailed pathway information on up to 10 of the most recent ad exposures seen by a user before converting." + }, + "lookbackConfiguration": { + "$ref": "LookbackConfiguration", + "description": "Default lookback windows for new advertisers in this account." + }, + "reportGenerationTimeZoneId": { + "type": "string", + "description": "Report generation time zone ID of this account. This is a required field that can only be changed by a superuser.\nAcceptable values are:\n\n- \"1\" for \"America/New_York\" \n- \"2\" for \"Europe/London\" \n- \"3\" for \"Europe/Paris\" \n- \"4\" for \"Africa/Johannesburg\" \n- \"5\" for \"Asia/Jerusalem\" \n- \"6\" for \"Asia/Shanghai\" \n- \"7\" for \"Asia/Hong_Kong\" \n- \"8\" for \"Asia/Tokyo\" \n- \"9\" for \"Australia/Sydney\" \n- \"10\" for \"Asia/Dubai\" \n- \"11\" for \"America/Los_Angeles\" \n- \"12\" for \"Pacific/Auckland\" \n- \"13\" for \"America/Sao_Paulo\"", + "format": "int64" + } + } + }, + "RichMediaExitOverride": { + "id": "RichMediaExitOverride", + "type": "object", + "description": "Rich Media Exit Override.", + "properties": { + "customExitUrl": { + "type": "string", + "description": "Click-through URL to override the default exit URL. Applicable if the useCustomExitUrl field is set to true." + }, + "exitId": { + "type": "string", + "description": "ID for the override to refer to a specific exit in the creative.", + "format": "int64" + }, + "useCustomExitUrl": { + "type": "boolean", + "description": "Whether to use the custom exit URL." + } + } + }, + "Site": { + "id": "Site", + "type": "object", + "description": "Contains properties of a site.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this site. This is a read-only field that can be left blank.", + "format": "int64" + }, + "approved": { + "type": "boolean", + "description": "Whether this site is approved." + }, + "directorySiteId": { + "type": "string", + "description": "Directory site associated with this site. This is a required field that is read-only after insertion.", + "format": "int64" + }, + "directorySiteIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the directory site. This is a read-only, auto-generated field." + }, + "id": { + "type": "string", + "description": "ID of this site. This is a read-only, auto-generated field.", + "format": "int64" + }, + "idDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of this site. This is a read-only, auto-generated field." + }, + "keyName": { + "type": "string", + "description": "Key name of this site. This is a read-only, auto-generated field." + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#site\".", + "default": "dfareporting#site" + }, + "name": { + "type": "string", + "description": "Name of this site.This is a required field. Must be less than 128 characters long. If this site is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this site is a top-level site, and the name must be unique among top-level sites of the same account." + }, + "siteContacts": { + "type": "array", + "description": "Site contacts.", + "items": { + "$ref": "SiteContact" + } + }, + "siteSettings": { + "$ref": "SiteSettings", + "description": "Site-wide settings." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this site. This is a read-only field that can be left blank.", + "format": "int64" + } + } + }, + "SiteContact": { + "id": "SiteContact", + "type": "object", + "description": "Site Contact", + "properties": { + "address": { + "type": "string", + "description": "Address of this site contact." + }, + "contactType": { + "type": "string", + "description": "Site contact type.", + "enum": [ + "SALES_PERSON", + "TRAFFICKER" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "email": { + "type": "string", + "description": "Email address of this site contact. This is a required field." + }, + "firstName": { + "type": "string", + "description": "First name of this site contact." + }, + "id": { + "type": "string", + "description": "ID of this site contact. This is a read-only, auto-generated field.", + "format": "int64" + }, + "lastName": { + "type": "string", + "description": "Last name of this site contact." + }, + "phone": { + "type": "string", + "description": "Primary phone number of this site contact." + }, + "title": { + "type": "string", + "description": "Title or designation of this site contact." + } + } + }, + "SiteSettings": { + "id": "SiteSettings", + "type": "object", + "description": "Site Settings", + "properties": { + "activeViewOptOut": { + "type": "boolean", + "description": "Whether active view creatives are disabled for this site." + }, + "creativeSettings": { + "$ref": "CreativeSettings", + "description": "Site-wide creative settings." + }, + "disableBrandSafeAds": { + "type": "boolean", + "description": "Whether brand safe ads are disabled for this site." + }, + "disableNewCookie": { + "type": "boolean", + "description": "Whether new cookies are disabled for this site." + }, + "lookbackConfiguration": { + "$ref": "LookbackConfiguration", + "description": "Lookback window settings for this site." + }, + "tagSetting": { + "$ref": "TagSetting", + "description": "Configuration settings for dynamic and image floodlight tags." + } + } + }, + "SitesListResponse": { + "id": "SitesListResponse", + "type": "object", + "description": "Site List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#sitesListResponse\".", + "default": "dfareporting#sitesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "sites": { + "type": "array", + "description": "Site collection.", + "items": { + "$ref": "Site" + } + } + } + }, + "Size": { + "id": "Size", + "type": "object", + "description": "Represents the dimensions of ads, placements, creatives, or creative assets.", + "properties": { + "height": { + "type": "integer", + "description": "Height of this size.", + "format": "int32" + }, + "iab": { + "type": "boolean", + "description": "IAB standard size. This is a read-only, auto-generated field." + }, + "id": { + "type": "string", + "description": "ID of this size. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#size\".", + "default": "dfareporting#size" + }, + "width": { + "type": "integer", + "description": "Width of this size.", + "format": "int32" + } + } + }, + "SizesListResponse": { + "id": "SizesListResponse", + "type": "object", + "description": "Size List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#sizesListResponse\".", + "default": "dfareporting#sizesListResponse" + }, + "sizes": { + "type": "array", + "description": "Size collection.", + "items": { + "$ref": "Size" + } + } + } + }, + "SortedDimension": { + "id": "SortedDimension", + "type": "object", + "description": "Represents a sorted dimension.", + "properties": { + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#sortedDimension.", + "default": "dfareporting#sortedDimension" + }, + "name": { + "type": "string", + "description": "The name of the dimension." + }, + "sortOrder": { + "type": "string", + "description": "An optional sort order for the dimension column.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ] + } + } + }, + "Subaccount": { + "id": "Subaccount", + "type": "object", + "description": "Contains properties of a DCM subaccount.", + "properties": { + "accountId": { + "type": "string", + "description": "ID of the account that contains this subaccount. This is a read-only field that can be left blank.", + "format": "int64" + }, + "availablePermissionIds": { + "type": "array", + "description": "IDs of the available user role permissions for this subaccount.", + "items": { + "type": "string", + "format": "int64" + } + }, + "id": { + "type": "string", + "description": "ID of this subaccount. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#subaccount\".", + "default": "dfareporting#subaccount" + }, + "name": { + "type": "string", + "description": "Name of this subaccount. This is a required field. Must be less than 128 characters long and be unique among subaccounts of the same account." + } + } + }, + "SubaccountsListResponse": { + "id": "SubaccountsListResponse", + "type": "object", + "description": "Subaccount List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#subaccountsListResponse\".", + "default": "dfareporting#subaccountsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "subaccounts": { + "type": "array", + "description": "Subaccount collection.", + "items": { + "$ref": "Subaccount" + } + } + } + }, + "TagData": { + "id": "TagData", + "type": "object", + "description": "Placement Tag Data", + "properties": { + "adId": { + "type": "string", + "description": "Ad associated with this placement tag.", + "format": "int64" + }, + "clickTag": { + "type": "string", + "description": "Tag string to record a click." + }, + "creativeId": { + "type": "string", + "description": "Creative associated with this placement tag.", + "format": "int64" + }, + "format": { + "type": "string", + "description": "TagData tag format of this tag.", + "enum": [ + "PLACEMENT_TAG_CLICK_COMMANDS", + "PLACEMENT_TAG_IFRAME_ILAYER", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", + "PLACEMENT_TAG_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_STANDARD", + "PLACEMENT_TAG_TRACKING", + "PLACEMENT_TAG_TRACKING_IFRAME", + "PLACEMENT_TAG_TRACKING_JAVASCRIPT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "impressionTag": { + "type": "string", + "description": "Tag string for serving an ad." + } + } + }, + "TagSetting": { + "id": "TagSetting", + "type": "object", + "description": "Tag Settings", + "properties": { + "additionalKeyValues": { + "type": "string", + "description": "Additional key-values to be included in tags. Each key-value pair must be of the form key=value, and pairs must be separated by a semicolon (;). Keys and values must not contain commas. For example, id=2;color=red is a valid value for this field." + }, + "includeClickThroughUrls": { + "type": "boolean", + "description": "Whether static landing page URLs should be included in the tags. This setting applies only to placements." + }, + "includeClickTracking": { + "type": "boolean", + "description": "Whether click-tracking string should be included in the tags." + }, + "keywordOption": { + "type": "string", + "description": "Option specifying how keywords are embedded in ad tags. This setting can be used to specify whether keyword placeholders are inserted in placement tags for this site. Publishers can then add keywords to those placeholders.", + "enum": [ + "GENERATE_SEPARATE_TAG_FOR_EACH_KEYWORD", + "IGNORE", + "PLACEHOLDER_WITH_LIST_OF_KEYWORDS" + ], + "enumDescriptions": [ + "", + "", + "" + ] + } + } + }, + "TagSettings": { + "id": "TagSettings", + "type": "object", + "description": "Dynamic and Image Tag Settings.", + "properties": { + "dynamicTagEnabled": { + "type": "boolean", + "description": "Whether dynamic floodlight tags are enabled." + }, + "imageTagEnabled": { + "type": "boolean", + "description": "Whether image tags are enabled." + } + } + }, + "TargetWindow": { + "id": "TargetWindow", + "type": "object", + "description": "Target Window.", + "properties": { + "customHtml": { + "type": "string", + "description": "User-entered value." + }, + "targetWindowOption": { + "type": "string", + "description": "Type of browser window for which the backup image of the flash creative can be displayed.", + "enum": [ + "CURRENT_WINDOW", + "CUSTOM", + "NEW_WINDOW" + ], + "enumDescriptions": [ + "", + "", + "" + ] + } + } + }, + "TargetableRemarketingList": { + "id": "TargetableRemarketingList", + "type": "object", + "description": "Contains properties of a targetable remarketing list. Remarketing enables you to create lists of users who have performed specific actions on a site, then target ads to members of those lists. This resource is a read-only view of a remarketing list to be used to faciliate targeting ads to specific lists. Remarketing lists that are owned by your advertisers and those that are shared to your advertisers or account are accessible via this resource. To manage remarketing lists that are owned by your advertisers, use the RemarketingLists resource.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.", + "format": "int64" + }, + "active": { + "type": "boolean", + "description": "Whether this targetable remarketing list is active." + }, + "advertiserId": { + "type": "string", + "description": "Dimension value for the advertiser ID that owns this targetable remarketing list.", + "format": "int64" + }, + "advertiserIdDimensionValue": { + "$ref": "DimensionValue", + "description": "Dimension value for the ID of the advertiser." + }, + "description": { + "type": "string", + "description": "Targetable remarketing list description." + }, + "id": { + "type": "string", + "description": "Targetable remarketing list ID.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetableRemarketingList\".", + "default": "dfareporting#targetableRemarketingList" + }, + "lifeSpan": { + "type": "string", + "description": "Number of days that a user should remain in the targetable remarketing list without an impression.", + "format": "int64" + }, + "listSize": { + "type": "string", + "description": "Number of users currently in the list. This is a read-only field.", + "format": "int64" + }, + "listSource": { + "type": "string", + "description": "Product from which this targetable remarketing list was originated.", + "enum": [ + "REMARKETING_LIST_SOURCE_DBM", + "REMARKETING_LIST_SOURCE_DFA", + "REMARKETING_LIST_SOURCE_DMP", + "REMARKETING_LIST_SOURCE_GA", + "REMARKETING_LIST_SOURCE_OTHER" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "name": { + "type": "string", + "description": "Name of the targetable remarketing list. Is no greater than 128 characters long." + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this remarketing list. This is a read-only, auto-generated field that is only returned in GET requests.", + "format": "int64" + } + } + }, + "TargetableRemarketingListsListResponse": { + "id": "TargetableRemarketingListsListResponse", + "type": "object", + "description": "Targetable remarketing list response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#targetableRemarketingListsListResponse\".", + "default": "dfareporting#targetableRemarketingListsListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "targetableRemarketingLists": { + "type": "array", + "description": "Targetable remarketing list collection.", + "items": { + "$ref": "TargetableRemarketingList" + } + } + } + }, + "TechnologyTargeting": { + "id": "TechnologyTargeting", + "type": "object", + "description": "Technology Targeting.", + "properties": { + "browsers": { + "type": "array", + "description": "Browsers that this ad targets. For each browser either set browserVersionId or dartId along with the version numbers. If both are specified, only browserVersionId will be used.The other fields are populated automatically when the ad is inserted or updated.", + "items": { + "$ref": "Browser" + } + }, + "connectionTypes": { + "type": "array", + "description": "Connection types that this ad targets. For each connection type only id is required.The other fields are populated automatically when the ad is inserted or updated.", + "items": { + "$ref": "ConnectionType" + } + }, + "mobileCarriers": { + "type": "array", + "description": "Mobile carriers that this ad targets. For each mobile carrier only id is required, and the other fields are populated automatically when the ad is inserted or updated. If targeting a mobile carrier, do not set targeting for any zip codes.", + "items": { + "$ref": "MobileCarrier" + } + }, + "operatingSystemVersions": { + "type": "array", + "description": "Operating system versions that this ad targets. To target all versions, use operatingSystems. For each operating system version, only id is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system version, do not set targeting for the corresponding operating system in operatingSystems.", + "items": { + "$ref": "OperatingSystemVersion" + } + }, + "operatingSystems": { + "type": "array", + "description": "Operating systems that this ad targets. To target specific versions, use operatingSystemVersions. For each operating system only dartId is required. The other fields are populated automatically when the ad is inserted or updated. If targeting an operating system, do not set targeting for operating system versions for the same operating system.", + "items": { + "$ref": "OperatingSystem" + } + }, + "platformTypes": { + "type": "array", + "description": "Platform types that this ad targets. For example, desktop, mobile, or tablet. For each platform type, only id is required, and the other fields are populated automatically when the ad is inserted or updated.", + "items": { + "$ref": "PlatformType" + } + } + } + }, + "ThirdPartyAuthenticationToken": { + "id": "ThirdPartyAuthenticationToken", + "type": "object", + "description": "Third Party Authentication Token", + "properties": { + "name": { + "type": "string", + "description": "Name of the third-party authentication token." + }, + "value": { + "type": "string", + "description": "Value of the third-party authentication token. This is a read-only, auto-generated field." + } + } + }, + "ThirdPartyTrackingUrl": { + "id": "ThirdPartyTrackingUrl", + "type": "object", + "description": "Third-party Tracking URL.", + "properties": { + "thirdPartyUrlType": { + "type": "string", + "description": "Third-party URL type for in-stream video creatives.", + "enum": [ + "CLICK_TRACKING", + "IMPRESSION", + "RICH_MEDIA_BACKUP_IMPRESSION", + "RICH_MEDIA_IMPRESSION", + "RICH_MEDIA_RM_IMPRESSION", + "SURVEY", + "VIDEO_COMPLETE", + "VIDEO_CUSTOM", + "VIDEO_FIRST_QUARTILE", + "VIDEO_FULLSCREEN", + "VIDEO_MIDPOINT", + "VIDEO_MUTE", + "VIDEO_PAUSE", + "VIDEO_REWIND", + "VIDEO_START", + "VIDEO_STOP", + "VIDEO_THIRD_QUARTILE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + }, + "url": { + "type": "string", + "description": "URL for the specified third-party URL type." + } + } + }, + "UserDefinedVariableConfiguration": { + "id": "UserDefinedVariableConfiguration", + "type": "object", + "description": "User Defined Variable configuration.", + "properties": { + "dataType": { + "type": "string", + "description": "Data type for the variable. This is a required field.", + "enum": [ + "NUMBER", + "STRING" + ], + "enumDescriptions": [ + "", + "" + ] + }, + "reportName": { + "type": "string", + "description": "User-friendly name for the variable which will appear in reports. This is a required field, must be less than 64 characters long, and cannot contain the following characters: \"\"\u003c\u003e\"." + }, + "variableType": { + "type": "string", + "description": "Variable name in the tag. This is a required field.", + "enum": [ + "U1", + "U10", + "U11", + "U12", + "U13", + "U14", + "U15", + "U16", + "U17", + "U18", + "U19", + "U2", + "U20", + "U3", + "U4", + "U5", + "U6", + "U7", + "U8", + "U9" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ] + } + } + }, + "UserProfile": { + "id": "UserProfile", + "type": "object", + "description": "Represents a UserProfile resource.", + "properties": { + "accountId": { + "type": "string", + "description": "The account ID to which this profile belongs.", + "format": "int64" + }, + "accountName": { + "type": "string", + "description": "The account name this profile belongs to." + }, + "etag": { + "type": "string", + "description": "The eTag of this response for caching purposes." + }, + "kind": { + "type": "string", + "description": "The kind of resource this is, in this case dfareporting#userProfile.", + "default": "dfareporting#userProfile" + }, + "profileId": { + "type": "string", + "description": "The unique ID of the user profile.", + "format": "int64" + }, + "subAccountId": { + "type": "string", + "description": "The sub account ID this profile belongs to if applicable.", + "format": "int64" + }, + "subAccountName": { + "type": "string", + "description": "The sub account name this profile belongs to if applicable." + }, + "userName": { + "type": "string", + "description": "The user name." + } + } + }, + "UserProfileList": { + "id": "UserProfileList", + "type": "object", + "description": "Represents the list of user profiles.", + "properties": { + "etag": { + "type": "string", + "description": "The eTag of this response for caching purposes." + }, + "items": { + "type": "array", + "description": "The user profiles returned in this response.", + "items": { + "$ref": "UserProfile" + } + }, + "kind": { + "type": "string", + "description": "The kind of list this is, in this case dfareporting#userProfileList.", + "default": "dfareporting#userProfileList" + } + } + }, + "UserRole": { + "id": "UserRole", + "type": "object", + "description": "Contains properties of auser role, which is used to manage user access.", + "properties": { + "accountId": { + "type": "string", + "description": "Account ID of this user role. This is a read-only field that can be left blank.", + "format": "int64" + }, + "defaultUserRole": { + "type": "boolean", + "description": "Whether this is a default user role. Default user roles are created by the system for the account/subaccount and cannot be modified or deleted. Each default user role comes with a basic set of preassigned permissions." + }, + "id": { + "type": "string", + "description": "ID of this user role. This is a read-only, auto-generated field.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRole\".", + "default": "dfareporting#userRole" + }, + "name": { + "type": "string", + "description": "Name of this user role. This is a required field. Must be less than 256 characters long. If this user role is under a subaccount, the name must be unique among sites of the same subaccount. Otherwise, this user role is a top-level user role, and the name must be unique among top-level user roles of the same account." + }, + "parentUserRoleId": { + "type": "string", + "description": "ID of the user role that this user role is based on or copied from. This is a required field.", + "format": "int64" + }, + "permissions": { + "type": "array", + "description": "List of permissions associated with this user role.", + "items": { + "$ref": "UserRolePermission" + } + }, + "subaccountId": { + "type": "string", + "description": "Subaccount ID of this user role. This is a read-only field that can be left blank.", + "format": "int64" + } + } + }, + "UserRolePermission": { + "id": "UserRolePermission", + "type": "object", + "description": "Contains properties of a user role permission.", + "properties": { + "availability": { + "type": "string", + "description": "Levels of availability for a user role permission.", + "enum": [ + "ACCOUNT_ALWAYS", + "ACCOUNT_BY_DEFAULT", + "NOT_AVAILABLE_BY_DEFAULT", + "SUBACCOUNT_AND_ACCOUNT_ALWAYS", + "SUBACCOUNT_AND_ACCOUNT_BY_DEFAULT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ] + }, + "id": { + "type": "string", + "description": "ID of this user role permission.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermission\".", + "default": "dfareporting#userRolePermission" + }, + "name": { + "type": "string", + "description": "Name of this user role permission." + }, + "permissionGroupId": { + "type": "string", + "description": "ID of the permission group that this user role permission belongs to.", + "format": "int64" + } + } + }, + "UserRolePermissionGroup": { + "id": "UserRolePermissionGroup", + "type": "object", + "description": "Represents a grouping of related user role permissions.", + "properties": { + "id": { + "type": "string", + "description": "ID of this user role permission.", + "format": "int64" + }, + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionGroup\".", + "default": "dfareporting#userRolePermissionGroup" + }, + "name": { + "type": "string", + "description": "Name of this user role permission group." + } + } + }, + "UserRolePermissionGroupsListResponse": { + "id": "UserRolePermissionGroupsListResponse", + "type": "object", + "description": "User Role Permission Group List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionGroupsListResponse\".", + "default": "dfareporting#userRolePermissionGroupsListResponse" + }, + "userRolePermissionGroups": { + "type": "array", + "description": "User role permission group collection.", + "items": { + "$ref": "UserRolePermissionGroup" + } + } + } + }, + "UserRolePermissionsListResponse": { + "id": "UserRolePermissionsListResponse", + "type": "object", + "description": "User Role Permission List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolePermissionsListResponse\".", + "default": "dfareporting#userRolePermissionsListResponse" + }, + "userRolePermissions": { + "type": "array", + "description": "User role permission collection.", + "items": { + "$ref": "UserRolePermission" + } + } + } + }, + "UserRolesListResponse": { + "id": "UserRolesListResponse", + "type": "object", + "description": "User Role List Response", + "properties": { + "kind": { + "type": "string", + "description": "Identifies what kind of resource this is. Value: the fixed string \"dfareporting#userRolesListResponse\".", + "default": "dfareporting#userRolesListResponse" + }, + "nextPageToken": { + "type": "string", + "description": "Pagination token to be used for the next list operation." + }, + "userRoles": { + "type": "array", + "description": "User role collection.", + "items": { + "$ref": "UserRole" + } + } + } + } + }, + "resources": { + "accountActiveAdSummaries": { + "methods": { + "get": { + "id": "dfareporting.accountActiveAdSummaries.get", + "path": "userprofiles/{profileId}/accountActiveAdSummaries/{summaryAccountId}", + "httpMethod": "GET", + "description": "Gets the account's active ad summary by account ID.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "summaryAccountId": { + "type": "string", + "description": "Account ID.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "summaryAccountId" + ], + "response": { + "$ref": "AccountActiveAdSummary" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accountPermissionGroups": { + "methods": { + "get": { + "id": "dfareporting.accountPermissionGroups.get", + "path": "userprofiles/{profileId}/accountPermissionGroups/{id}", + "httpMethod": "GET", + "description": "Gets one account permission group by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Account permission group ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "AccountPermissionGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.accountPermissionGroups.list", + "path": "userprofiles/{profileId}/accountPermissionGroups", + "httpMethod": "GET", + "description": "Retrieves the list of account permission groups.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "AccountPermissionGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accountPermissions": { + "methods": { + "get": { + "id": "dfareporting.accountPermissions.get", + "path": "userprofiles/{profileId}/accountPermissions/{id}", + "httpMethod": "GET", + "description": "Gets one account permission by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Account permission ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "AccountPermission" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.accountPermissions.list", + "path": "userprofiles/{profileId}/accountPermissions", + "httpMethod": "GET", + "description": "Retrieves the list of account permissions.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "AccountPermissionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accountUserProfiles": { + "methods": { + "get": { + "id": "dfareporting.accountUserProfiles.get", + "path": "userprofiles/{profileId}/accountUserProfiles/{id}", + "httpMethod": "GET", + "description": "Gets one account user profile by ID.", + "parameters": { + "id": { + "type": "string", + "description": "User profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.accountUserProfiles.insert", + "path": "userprofiles/{profileId}/accountUserProfiles", + "httpMethod": "POST", + "description": "Inserts a new account user profile.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "AccountUserProfile" + }, + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.accountUserProfiles.list", + "path": "userprofiles/{profileId}/accountUserProfiles", + "httpMethod": "GET", + "description": "Retrieves a list of account user profiles, possibly filtered.", + "parameters": { + "active": { + "type": "boolean", + "description": "Select only active user profiles.", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only user profiles with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"user profile*2015\" will return objects with names like \"user profile June 2015\", \"user profile April 2015\", or simply \"user profile 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"user profile\" will match objects with name \"my user profile\", \"user profile 2015\", or simply \"user profile\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "subaccountId": { + "type": "string", + "description": "Select only user profiles with the specified subaccount ID.", + "format": "int64", + "location": "query" + }, + "userRoleId": { + "type": "string", + "description": "Select only user profiles with the specified user role ID.", + "format": "int64", + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "AccountUserProfilesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.accountUserProfiles.patch", + "path": "userprofiles/{profileId}/accountUserProfiles", + "httpMethod": "PATCH", + "description": "Updates an existing account user profile. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "User profile ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "AccountUserProfile" + }, + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.accountUserProfiles.update", + "path": "userprofiles/{profileId}/accountUserProfiles", + "httpMethod": "PUT", + "description": "Updates an existing account user profile.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "AccountUserProfile" + }, + "response": { + "$ref": "AccountUserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "accounts": { + "methods": { + "get": { + "id": "dfareporting.accounts.get", + "path": "userprofiles/{profileId}/accounts/{id}", + "httpMethod": "GET", + "description": "Gets one account by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Account ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.accounts.list", + "path": "userprofiles/{profileId}/accounts", + "httpMethod": "GET", + "description": "Retrieves the list of accounts, possibly filtered.", + "parameters": { + "active": { + "type": "boolean", + "description": "Select only active accounts. Don't set this field to select both active and non-active accounts.", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only accounts with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"account*2015\" will return objects with names like \"account June 2015\", \"account April 2015\", or simply \"account 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"account\" will match objects with name \"my account\", \"account 2015\", or simply \"account\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "AccountsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.accounts.patch", + "path": "userprofiles/{profileId}/accounts", + "httpMethod": "PATCH", + "description": "Updates an existing account. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Account ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "Account" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.accounts.update", + "path": "userprofiles/{profileId}/accounts", + "httpMethod": "PUT", + "description": "Updates an existing account.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Account" + }, + "response": { + "$ref": "Account" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "ads": { + "methods": { + "get": { + "id": "dfareporting.ads.get", + "path": "userprofiles/{profileId}/ads/{id}", + "httpMethod": "GET", + "description": "Gets one ad by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Ad ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.ads.insert", + "path": "userprofiles/{profileId}/ads", + "httpMethod": "POST", + "description": "Inserts a new ad.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Ad" + }, + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.ads.list", + "path": "userprofiles/{profileId}/ads", + "httpMethod": "GET", + "description": "Retrieves a list of ads, possibly filtered.", + "parameters": { + "active": { + "type": "boolean", + "description": "Select only active ads.", + "location": "query" + }, + "advertiserId": { + "type": "string", + "description": "Select only ads with this advertiser ID.", + "format": "int64", + "location": "query" + }, + "archived": { + "type": "boolean", + "description": "Select only archived ads.", + "location": "query" + }, + "audienceSegmentIds": { + "type": "string", + "description": "Select only ads with these audience segment IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "campaignIds": { + "type": "string", + "description": "Select only ads with these campaign IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "compatibility": { + "type": "string", + "description": "Select default ads with the specified compatibility. Applicable when type is AD_SERVING_DEFAULT_AD. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads, respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps. IN_STREAM_VIDEO refers to rendering an in-stream video ads developed with the VAST standard.", + "enum": [ + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "WEB", + "WEB_INTERSTITIAL" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "location": "query" + }, + "creativeIds": { + "type": "string", + "description": "Select only ads with these creative IDs assigned.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "creativeOptimizationConfigurationIds": { + "type": "string", + "description": "Select only ads with these creative optimization configuration IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "creativeType": { + "type": "string", + "description": "Select only ads with the specified creativeType.", + "enum": [ + "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", + "CUSTOM_INPAGE", + "CUSTOM_INTERSTITIAL", + "ENHANCED_BANNER", + "ENHANCED_IMAGE", + "FLASH_INPAGE", + "HTML5_BANNER", + "IMAGE", + "INSTREAM_VIDEO", + "INTERNAL_REDIRECT", + "INTERSTITIAL_INTERNAL_REDIRECT", + "REDIRECT", + "RICH_MEDIA_EXPANDING", + "RICH_MEDIA_IM_EXPAND", + "RICH_MEDIA_INPAGE", + "RICH_MEDIA_INPAGE_FLOATING", + "RICH_MEDIA_INTERSTITIAL_FLOAT", + "RICH_MEDIA_MOBILE_IN_APP", + "RICH_MEDIA_MULTI_FLOATING", + "RICH_MEDIA_PEEL_DOWN", + "TRACKING_TEXT", + "VAST_REDIRECT", + "VPAID_LINEAR", + "VPAID_NON_LINEAR" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query" + }, + "dynamicClickTracker": { + "type": "boolean", + "description": "Select only dynamic click trackers. Applicable when type is AD_SERVING_CLICK_TRACKER. If true, select dynamic click trackers. If false, select static click trackers. Leave unset to select both.", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only ads with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "landingPageIds": { + "type": "string", + "description": "Select only ads with these landing page IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "overriddenEventTagId": { + "type": "string", + "description": "Select only ads with this event tag override ID.", + "format": "int64", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "placementIds": { + "type": "string", + "description": "Select only ads with these placement IDs assigned.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "remarketingListIds": { + "type": "string", + "description": "Select only ads whose list targeting expression use these remarketing list IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"ad*2015\" will return objects with names like \"ad June 2015\", \"ad April 2015\", or simply \"ad 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"ad\" will match objects with name \"my ad\", \"ad 2015\", or simply \"ad\".", + "location": "query" + }, + "sizeIds": { + "type": "string", + "description": "Select only ads with these size IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sslCompliant": { + "type": "boolean", + "description": "Select only ads that are SSL-compliant.", + "location": "query" + }, + "sslRequired": { + "type": "boolean", + "description": "Select only ads that require SSL.", + "location": "query" + }, + "type": { + "type": "string", + "description": "Select only ads with these types.", + "enum": [ + "AD_SERVING_CLICK_TRACKER", + "AD_SERVING_DEFAULT_AD", + "AD_SERVING_STANDARD_AD", + "AD_SERVING_TRACKING" + ], + "enumDescriptions": [ + "", + "", + "", + "" + ], + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "AdsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.ads.patch", + "path": "userprofiles/{profileId}/ads", + "httpMethod": "PATCH", + "description": "Updates an existing ad. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Ad ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "Ad" + }, + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.ads.update", + "path": "userprofiles/{profileId}/ads", + "httpMethod": "PUT", + "description": "Updates an existing ad.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Ad" + }, + "response": { + "$ref": "Ad" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "advertiserGroups": { + "methods": { + "delete": { + "id": "dfareporting.advertiserGroups.delete", + "path": "userprofiles/{profileId}/advertiserGroups/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing advertiser group.", + "parameters": { + "id": { + "type": "string", + "description": "Advertiser group ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.advertiserGroups.get", + "path": "userprofiles/{profileId}/advertiserGroups/{id}", + "httpMethod": "GET", + "description": "Gets one advertiser group by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Advertiser group ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.advertiserGroups.insert", + "path": "userprofiles/{profileId}/advertiserGroups", + "httpMethod": "POST", + "description": "Inserts a new advertiser group.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "AdvertiserGroup" + }, + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.advertiserGroups.list", + "path": "userprofiles/{profileId}/advertiserGroups", + "httpMethod": "GET", + "description": "Retrieves a list of advertiser groups, possibly filtered.", + "parameters": { + "ids": { + "type": "string", + "description": "Select only advertiser groups with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser group June 2015\", \"advertiser group April 2015\", or simply \"advertiser group 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertisergroup\" will match objects with name \"my advertisergroup\", \"advertisergroup 2015\", or simply \"advertisergroup\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "AdvertiserGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.advertiserGroups.patch", + "path": "userprofiles/{profileId}/advertiserGroups", + "httpMethod": "PATCH", + "description": "Updates an existing advertiser group. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Advertiser group ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "AdvertiserGroup" + }, + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.advertiserGroups.update", + "path": "userprofiles/{profileId}/advertiserGroups", + "httpMethod": "PUT", + "description": "Updates an existing advertiser group.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "AdvertiserGroup" + }, + "response": { + "$ref": "AdvertiserGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "advertisers": { + "methods": { + "get": { + "id": "dfareporting.advertisers.get", + "path": "userprofiles/{profileId}/advertisers/{id}", + "httpMethod": "GET", + "description": "Gets one advertiser by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Advertiser ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.advertisers.insert", + "path": "userprofiles/{profileId}/advertisers", + "httpMethod": "POST", + "description": "Inserts a new advertiser.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.advertisers.list", + "path": "userprofiles/{profileId}/advertisers", + "httpMethod": "GET", + "description": "Retrieves a list of advertisers, possibly filtered.", + "parameters": { + "advertiserGroupIds": { + "type": "string", + "description": "Select only advertisers with these advertiser group IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "floodlightConfigurationIds": { + "type": "string", + "description": "Select only advertisers with these floodlight configuration IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only advertisers with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "includeAdvertisersWithoutGroupsOnly": { + "type": "boolean", + "description": "Select only advertisers which do not belong to any advertiser group.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "onlyParent": { + "type": "boolean", + "description": "Select only advertisers which use another advertiser's floodlight configuration.", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"advertiser*2015\" will return objects with names like \"advertiser June 2015\", \"advertiser April 2015\", or simply \"advertiser 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"advertiser\" will match objects with name \"my advertiser\", \"advertiser 2015\", or simply \"advertiser\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "status": { + "type": "string", + "description": "Select only advertisers with the specified status.", + "enum": [ + "APPROVED", + "ON_HOLD" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "subaccountId": { + "type": "string", + "description": "Select only advertisers with these subaccount IDs.", + "format": "int64", + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "AdvertisersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.advertisers.patch", + "path": "userprofiles/{profileId}/advertisers", + "httpMethod": "PATCH", + "description": "Updates an existing advertiser. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Advertiser ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.advertisers.update", + "path": "userprofiles/{profileId}/advertisers", + "httpMethod": "PUT", + "description": "Updates an existing advertiser.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Advertiser" + }, + "response": { + "$ref": "Advertiser" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "browsers": { + "methods": { + "list": { + "id": "dfareporting.browsers.list", + "path": "userprofiles/{profileId}/browsers", + "httpMethod": "GET", + "description": "Retrieves a list of browsers.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "BrowsersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "campaignCreativeAssociations": { + "methods": { + "insert": { + "id": "dfareporting.campaignCreativeAssociations.insert", + "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations", + "httpMethod": "POST", + "description": "Associates a creative with the specified campaign. This method creates a default ad with dimensions matching the creative in the campaign if such a default ad does not exist already.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Campaign ID in this association.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "campaignId" + ], + "request": { + "$ref": "CampaignCreativeAssociation" + }, + "response": { + "$ref": "CampaignCreativeAssociation" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.campaignCreativeAssociations.list", + "path": "userprofiles/{profileId}/campaigns/{campaignId}/campaignCreativeAssociations", + "httpMethod": "GET", + "description": "Retrieves the list of creative IDs associated with the specified campaign.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Campaign ID in this association.", + "required": true, + "format": "int64", + "location": "path" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "campaignId" + ], + "response": { + "$ref": "CampaignCreativeAssociationsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "campaigns": { + "methods": { + "get": { + "id": "dfareporting.campaigns.get", + "path": "userprofiles/{profileId}/campaigns/{id}", + "httpMethod": "GET", + "description": "Gets one campaign by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Campaign ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.campaigns.insert", + "path": "userprofiles/{profileId}/campaigns", + "httpMethod": "POST", + "description": "Inserts a new campaign.", + "parameters": { + "defaultLandingPageName": { + "type": "string", + "description": "Default landing page name for this new campaign. Must be less than 256 characters long.", + "required": true, + "location": "query" + }, + "defaultLandingPageUrl": { + "type": "string", + "description": "Default landing page URL for this new campaign.", + "required": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "defaultLandingPageName", + "defaultLandingPageUrl" + ], + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.campaigns.list", + "path": "userprofiles/{profileId}/campaigns", + "httpMethod": "GET", + "description": "Retrieves a list of campaigns, possibly filtered.", + "parameters": { + "advertiserGroupIds": { + "type": "string", + "description": "Select only campaigns whose advertisers belong to these advertiser groups.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "advertiserIds": { + "type": "string", + "description": "Select only campaigns that belong to these advertisers.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "archived": { + "type": "boolean", + "description": "Select only archived campaigns. Don't set this field to select both archived and non-archived campaigns.", + "location": "query" + }, + "atLeastOneOptimizationActivity": { + "type": "boolean", + "description": "Select only campaigns that have at least one optimization activity.", + "location": "query" + }, + "excludedIds": { + "type": "string", + "description": "Exclude campaigns with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only campaigns with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "overriddenEventTagId": { + "type": "string", + "description": "Select only campaigns that have overridden this event tag ID.", + "format": "int64", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for campaigns by name or ID. Wildcards (*) are allowed. For example, \"campaign*2015\" will return campaigns with names like \"campaign June 2015\", \"campaign April 2015\", or simply \"campaign 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"campaign\" will match campaigns with name \"my campaign\", \"campaign 2015\", or simply \"campaign\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "subaccountId": { + "type": "string", + "description": "Select only campaigns that belong to this subaccount.", + "format": "int64", + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "CampaignsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.campaigns.patch", + "path": "userprofiles/{profileId}/campaigns", + "httpMethod": "PATCH", + "description": "Updates an existing campaign. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Campaign ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.campaigns.update", + "path": "userprofiles/{profileId}/campaigns", + "httpMethod": "PUT", + "description": "Updates an existing campaign.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Campaign" + }, + "response": { + "$ref": "Campaign" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "changeLogs": { + "methods": { + "get": { + "id": "dfareporting.changeLogs.get", + "path": "userprofiles/{profileId}/changeLogs/{id}", + "httpMethod": "GET", + "description": "Gets one change log by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Change log ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "ChangeLog" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.changeLogs.list", + "path": "userprofiles/{profileId}/changeLogs", + "httpMethod": "GET", + "description": "Retrieves a list of change logs.", + "parameters": { + "action": { + "type": "string", + "description": "Select only change logs with the specified action.", + "enum": [ + "ACTION_ADD", + "ACTION_ASSIGN", + "ACTION_ASSOCIATE", + "ACTION_CREATE", + "ACTION_DELETE", + "ACTION_DISABLE", + "ACTION_EMAIL_TAGS", + "ACTION_ENABLE", + "ACTION_LINK", + "ACTION_MARK_AS_DEFAULT", + "ACTION_PUSH", + "ACTION_REMOVE", + "ACTION_SEND", + "ACTION_SHARE", + "ACTION_UNASSIGN", + "ACTION_UNLINK", + "ACTION_UPDATE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only change logs with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxChangeTime": { + "type": "string", + "description": "Select only change logs whose change time is before the specified maxChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "minChangeTime": { + "type": "string", + "description": "Select only change logs whose change time is before the specified minChangeTime.The time should be formatted as an RFC3339 date/time string. For example, for 10:54 PM on July 18th, 2015, in the America/New York time zone, the format is \"2015-07-18T22:54:00-04:00\". In other words, the year, month, day, the letter T, the hour (24-hour clock system), minute, second, and then the time zone offset.", + "location": "query" + }, + "objectIds": { + "type": "string", + "description": "Select only change logs with these object IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "objectType": { + "type": "string", + "description": "Select only change logs with the specified object type.", + "enum": [ + "OBJECT_ACCOUNT", + "OBJECT_ACCOUNT_BILLING_FEATURE", + "OBJECT_AD", + "OBJECT_ADVERTISER", + "OBJECT_ADVERTISER_GROUP", + "OBJECT_BILLING_ACCOUNT_GROUP", + "OBJECT_BILLING_FEATURE", + "OBJECT_BILLING_MINIMUM_FEE", + "OBJECT_BILLING_PROFILE", + "OBJECT_CAMPAIGN", + "OBJECT_CONTENT_CATEGORY", + "OBJECT_CREATIVE", + "OBJECT_CREATIVE_ASSET", + "OBJECT_CREATIVE_BUNDLE", + "OBJECT_CREATIVE_FIELD", + "OBJECT_CREATIVE_GROUP", + "OBJECT_DFA_SITE", + "OBJECT_EVENT_TAG", + "OBJECT_FLOODLIGHT_ACTIVITY_GROUP", + "OBJECT_FLOODLIGHT_ACTVITY", + "OBJECT_FLOODLIGHT_CONFIGURATION", + "OBJECT_INSTREAM_CREATIVE", + "OBJECT_LANDING_PAGE", + "OBJECT_MEDIA_ORDER", + "OBJECT_PLACEMENT", + "OBJECT_PLACEMENT_STRATEGY", + "OBJECT_PROVIDED_LIST_CLIENT", + "OBJECT_RATE_CARD", + "OBJECT_REMARKETING_LIST", + "OBJECT_RICHMEDIA_CREATIVE", + "OBJECT_SD_SITE", + "OBJECT_SIZE", + "OBJECT_SUBACCOUNT", + "OBJECT_USER_PROFILE", + "OBJECT_USER_PROFILE_FILTER", + "OBJECT_USER_ROLE" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Select only change logs whose object ID, user name, old or new values match the search string.", + "location": "query" + }, + "userProfileIds": { + "type": "string", + "description": "Select only change logs with these user profile IDs.", + "format": "int64", + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "ChangeLogsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "cities": { + "methods": { + "list": { + "id": "dfareporting.cities.list", + "path": "userprofiles/{profileId}/cities", + "httpMethod": "GET", + "description": "Retrieves a list of cities, possibly filtered.", + "parameters": { + "countryDartIds": { + "type": "string", + "description": "Select only cities from these countries.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "dartIds": { + "type": "string", + "description": "Select only cities with these DART IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "namePrefix": { + "type": "string", + "description": "Select only cities with names starting with this prefix.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "regionDartIds": { + "type": "string", + "description": "Select only cities from these regions.", + "format": "int64", + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "CitiesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "connectionTypes": { + "methods": { + "get": { + "id": "dfareporting.connectionTypes.get", + "path": "userprofiles/{profileId}/connectionTypes/{id}", + "httpMethod": "GET", + "description": "Gets one connection type by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Connection type ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "ConnectionType" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.connectionTypes.list", + "path": "userprofiles/{profileId}/connectionTypes", + "httpMethod": "GET", + "description": "Retrieves a list of connection types.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "ConnectionTypesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "contentCategories": { + "methods": { + "delete": { + "id": "dfareporting.contentCategories.delete", + "path": "userprofiles/{profileId}/contentCategories/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing content category.", + "parameters": { + "id": { + "type": "string", + "description": "Content category ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.contentCategories.get", + "path": "userprofiles/{profileId}/contentCategories/{id}", + "httpMethod": "GET", + "description": "Gets one content category by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Content category ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.contentCategories.insert", + "path": "userprofiles/{profileId}/contentCategories", + "httpMethod": "POST", + "description": "Inserts a new content category.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "ContentCategory" + }, + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.contentCategories.list", + "path": "userprofiles/{profileId}/contentCategories", + "httpMethod": "GET", + "description": "Retrieves a list of content categories, possibly filtered.", + "parameters": { + "ids": { + "type": "string", + "description": "Select only content categories with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"contentcategory*2015\" will return objects with names like \"contentcategory June 2015\", \"contentcategory April 2015\", or simply \"contentcategory 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"contentcategory\" will match objects with name \"my contentcategory\", \"contentcategory 2015\", or simply \"contentcategory\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "ContentCategoriesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.contentCategories.patch", + "path": "userprofiles/{profileId}/contentCategories", + "httpMethod": "PATCH", + "description": "Updates an existing content category. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Content category ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "ContentCategory" + }, + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.contentCategories.update", + "path": "userprofiles/{profileId}/contentCategories", + "httpMethod": "PUT", + "description": "Updates an existing content category.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "ContentCategory" + }, + "response": { + "$ref": "ContentCategory" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "countries": { + "methods": { + "get": { + "id": "dfareporting.countries.get", + "path": "userprofiles/{profileId}/countries/{dartId}", + "httpMethod": "GET", + "description": "Gets one country by ID.", + "parameters": { + "dartId": { + "type": "string", + "description": "Country DART ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "dartId" + ], + "response": { + "$ref": "Country" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.countries.list", + "path": "userprofiles/{profileId}/countries", + "httpMethod": "GET", + "description": "Retrieves a list of countries.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "CountriesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creativeAssets": { + "methods": { + "insert": { + "id": "dfareporting.creativeAssets.insert", + "path": "userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets", + "httpMethod": "POST", + "description": "Inserts a new creative asset.", + "parameters": { + "advertiserId": { + "type": "string", + "description": "Advertiser ID of this creative. This is a required field.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "advertiserId" + ], + "request": { + "$ref": "CreativeAssetMetadata" + }, + "response": { + "$ref": "CreativeAssetMetadata" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ], + "supportsMediaUpload": true, + "mediaUpload": { + "accept": [ + "*/*" + ], + "maxSize": "100MB", + "protocols": { + "simple": { + "multipart": true, + "path": "/upload/dfareporting/v2.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets" + }, + "resumable": { + "multipart": true, + "path": "/resumable/upload/dfareporting/v2.2/userprofiles/{profileId}/creativeAssets/{advertiserId}/creativeAssets" + } + } + } + } + } + }, + "creativeFieldValues": { + "methods": { + "delete": { + "id": "dfareporting.creativeFieldValues.delete", + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing creative field value.", + "parameters": { + "creativeFieldId": { + "type": "string", + "description": "Creative field ID for this creative field value.", + "required": true, + "format": "int64", + "location": "path" + }, + "id": { + "type": "string", + "description": "Creative Field Value ID", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "creativeFieldId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.creativeFieldValues.get", + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues/{id}", + "httpMethod": "GET", + "description": "Gets one creative field value by ID.", + "parameters": { + "creativeFieldId": { + "type": "string", + "description": "Creative field ID for this creative field value.", + "required": true, + "format": "int64", + "location": "path" + }, + "id": { + "type": "string", + "description": "Creative Field Value ID", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "creativeFieldId", + "id" + ], + "response": { + "$ref": "CreativeFieldValue" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.creativeFieldValues.insert", + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "httpMethod": "POST", + "description": "Inserts a new creative field value.", + "parameters": { + "creativeFieldId": { + "type": "string", + "description": "Creative field ID for this creative field value.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "creativeFieldId" + ], + "request": { + "$ref": "CreativeFieldValue" + }, + "response": { + "$ref": "CreativeFieldValue" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.creativeFieldValues.list", + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "httpMethod": "GET", + "description": "Retrieves a list of creative field values, possibly filtered.", + "parameters": { + "creativeFieldId": { + "type": "string", + "description": "Creative field ID for this creative field value.", + "required": true, + "format": "int64", + "location": "path" + }, + "ids": { + "type": "string", + "description": "Select only creative field values with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for creative field values by their values. Wildcards (e.g. *) are not allowed.", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "VALUE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "creativeFieldId" + ], + "response": { + "$ref": "CreativeFieldValuesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.creativeFieldValues.patch", + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "httpMethod": "PATCH", + "description": "Updates an existing creative field value. This method supports patch semantics.", + "parameters": { + "creativeFieldId": { + "type": "string", + "description": "Creative field ID for this creative field value.", + "required": true, + "format": "int64", + "location": "path" + }, + "id": { + "type": "string", + "description": "Creative Field Value ID", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "creativeFieldId", + "id" + ], + "request": { + "$ref": "CreativeFieldValue" + }, + "response": { + "$ref": "CreativeFieldValue" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.creativeFieldValues.update", + "path": "userprofiles/{profileId}/creativeFields/{creativeFieldId}/creativeFieldValues", + "httpMethod": "PUT", + "description": "Updates an existing creative field value.", + "parameters": { + "creativeFieldId": { + "type": "string", + "description": "Creative field ID for this creative field value.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "creativeFieldId" + ], + "request": { + "$ref": "CreativeFieldValue" + }, + "response": { + "$ref": "CreativeFieldValue" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creativeFields": { + "methods": { + "delete": { + "id": "dfareporting.creativeFields.delete", + "path": "userprofiles/{profileId}/creativeFields/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing creative field.", + "parameters": { + "id": { + "type": "string", + "description": "Creative Field ID", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.creativeFields.get", + "path": "userprofiles/{profileId}/creativeFields/{id}", + "httpMethod": "GET", + "description": "Gets one creative field by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Creative Field ID", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.creativeFields.insert", + "path": "userprofiles/{profileId}/creativeFields", + "httpMethod": "POST", + "description": "Inserts a new creative field.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "CreativeField" + }, + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.creativeFields.list", + "path": "userprofiles/{profileId}/creativeFields", + "httpMethod": "GET", + "description": "Retrieves a list of creative fields, possibly filtered.", + "parameters": { + "advertiserIds": { + "type": "string", + "description": "Select only creative fields that belong to these advertisers.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only creative fields with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for creative fields by name or ID. Wildcards (*) are allowed. For example, \"creativefield*2015\" will return creative fields with names like \"creativefield June 2015\", \"creativefield April 2015\", or simply \"creativefield 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativefield\" will match creative fields with the name \"my creativefield\", \"creativefield 2015\", or simply \"creativefield\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "CreativeFieldsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.creativeFields.patch", + "path": "userprofiles/{profileId}/creativeFields", + "httpMethod": "PATCH", + "description": "Updates an existing creative field. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Creative Field ID", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "CreativeField" + }, + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.creativeFields.update", + "path": "userprofiles/{profileId}/creativeFields", + "httpMethod": "PUT", + "description": "Updates an existing creative field.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "CreativeField" + }, + "response": { + "$ref": "CreativeField" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creativeGroups": { + "methods": { + "get": { + "id": "dfareporting.creativeGroups.get", + "path": "userprofiles/{profileId}/creativeGroups/{id}", + "httpMethod": "GET", + "description": "Gets one creative group by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Creative group ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.creativeGroups.insert", + "path": "userprofiles/{profileId}/creativeGroups", + "httpMethod": "POST", + "description": "Inserts a new creative group.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "CreativeGroup" + }, + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.creativeGroups.list", + "path": "userprofiles/{profileId}/creativeGroups", + "httpMethod": "GET", + "description": "Retrieves a list of creative groups, possibly filtered.", + "parameters": { + "advertiserIds": { + "type": "string", + "description": "Select only creative groups that belong to these advertisers.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "groupNumber": { + "type": "integer", + "description": "Select only creative groups that belong to this subgroup.", + "format": "int32", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only creative groups with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for creative groups by name or ID. Wildcards (*) are allowed. For example, \"creativegroup*2015\" will return creative groups with names like \"creativegroup June 2015\", \"creativegroup April 2015\", or simply \"creativegroup 2015\". Most of the searches also add wild-cards implicitly at the start and the end of the search string. For example, a search string of \"creativegroup\" will match creative groups with the name \"my creativegroup\", \"creativegroup 2015\", or simply \"creativegroup\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "CreativeGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.creativeGroups.patch", + "path": "userprofiles/{profileId}/creativeGroups", + "httpMethod": "PATCH", + "description": "Updates an existing creative group. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Creative group ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "CreativeGroup" + }, + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.creativeGroups.update", + "path": "userprofiles/{profileId}/creativeGroups", + "httpMethod": "PUT", + "description": "Updates an existing creative group.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "CreativeGroup" + }, + "response": { + "$ref": "CreativeGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "creatives": { + "methods": { + "get": { + "id": "dfareporting.creatives.get", + "path": "userprofiles/{profileId}/creatives/{id}", + "httpMethod": "GET", + "description": "Gets one creative by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Creative ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.creatives.insert", + "path": "userprofiles/{profileId}/creatives", + "httpMethod": "POST", + "description": "Inserts a new creative.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.creatives.list", + "path": "userprofiles/{profileId}/creatives", + "httpMethod": "GET", + "description": "Retrieves a list of creatives, possibly filtered.", + "parameters": { + "active": { + "type": "boolean", + "description": "Select only active creatives. Leave blank to select active and inactive creatives.", + "location": "query" + }, + "advertiserId": { + "type": "string", + "description": "Select only creatives with this advertiser ID.", + "format": "int64", + "location": "query" + }, + "archived": { + "type": "boolean", + "description": "Select only archived creatives. Leave blank to select archived and unarchived creatives.", + "location": "query" + }, + "campaignId": { + "type": "string", + "description": "Select only creatives with this campaign ID.", + "format": "int64", + "location": "query" + }, + "companionCreativeIds": { + "type": "string", + "description": "Select only in-stream video creatives with these companion IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "creativeFieldIds": { + "type": "string", + "description": "Select only creatives with these creative field IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only creatives with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "renderingIds": { + "type": "string", + "description": "Select only creatives with these rendering IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"creative*2015\" will return objects with names like \"creative June 2015\", \"creative April 2015\", or simply \"creative 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"creative\" will match objects with name \"my creative\", \"creative 2015\", or simply \"creative\".", + "location": "query" + }, + "sizeIds": { + "type": "string", + "description": "Select only creatives with these size IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "studioCreativeId": { + "type": "string", + "description": "Select only creatives corresponding to this Studio creative ID.", + "format": "int64", + "location": "query" + }, + "types": { + "type": "string", + "description": "Select only creatives with these creative types.", + "enum": [ + "BRAND_SAFE_DEFAULT_INSTREAM_VIDEO", + "CUSTOM_INPAGE", + "CUSTOM_INTERSTITIAL", + "ENHANCED_BANNER", + "ENHANCED_IMAGE", + "FLASH_INPAGE", + "HTML5_BANNER", + "IMAGE", + "INSTREAM_VIDEO", + "INTERNAL_REDIRECT", + "INTERSTITIAL_INTERNAL_REDIRECT", + "REDIRECT", + "RICH_MEDIA_EXPANDING", + "RICH_MEDIA_IM_EXPAND", + "RICH_MEDIA_INPAGE", + "RICH_MEDIA_INPAGE_FLOATING", + "RICH_MEDIA_INTERSTITIAL_FLOAT", + "RICH_MEDIA_MOBILE_IN_APP", + "RICH_MEDIA_MULTI_FLOATING", + "RICH_MEDIA_PEEL_DOWN", + "TRACKING_TEXT", + "VAST_REDIRECT", + "VPAID_LINEAR", + "VPAID_NON_LINEAR" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "CreativesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.creatives.patch", + "path": "userprofiles/{profileId}/creatives", + "httpMethod": "PATCH", + "description": "Updates an existing creative. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Creative ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.creatives.update", + "path": "userprofiles/{profileId}/creatives", + "httpMethod": "PUT", + "description": "Updates an existing creative.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Creative" + }, + "response": { + "$ref": "Creative" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "dimensionValues": { + "methods": { + "query": { + "id": "dfareporting.dimensionValues.query", + "path": "userprofiles/{profileId}/dimensionvalues/query", + "httpMethod": "POST", + "description": "Retrieves list of report dimension values for a list of filters.", + "parameters": { + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "minimum": "0", + "maximum": "100", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The value of the nextToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "The DFA user profile ID.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "DimensionValueRequest" + }, + "response": { + "$ref": "DimensionValueList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + }, + "directorySiteContacts": { + "methods": { + "get": { + "id": "dfareporting.directorySiteContacts.get", + "path": "userprofiles/{profileId}/directorySiteContacts/{id}", + "httpMethod": "GET", + "description": "Gets one directory site contact by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Directory site contact ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "DirectorySiteContact" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.directorySiteContacts.list", + "path": "userprofiles/{profileId}/directorySiteContacts", + "httpMethod": "GET", + "description": "Retrieves a list of directory site contacts, possibly filtered.", + "parameters": { + "directorySiteIds": { + "type": "string", + "description": "Select only directory site contacts with these directory site IDs. This is a required field.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only directory site contacts with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name, ID or email. Wildcards (*) are allowed. For example, \"directory site contact*2015\" will return objects with names like \"directory site contact June 2015\", \"directory site contact April 2015\", or simply \"directory site contact 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site contact\" will match objects with name \"my directory site contact\", \"directory site contact 2015\", or simply \"directory site contact\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "DirectorySiteContactsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "directorySites": { + "methods": { + "get": { + "id": "dfareporting.directorySites.get", + "path": "userprofiles/{profileId}/directorySites/{id}", + "httpMethod": "GET", + "description": "Gets one directory site by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Directory site ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "DirectorySite" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.directorySites.insert", + "path": "userprofiles/{profileId}/directorySites", + "httpMethod": "POST", + "description": "Inserts a new directory site.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "DirectorySite" + }, + "response": { + "$ref": "DirectorySite" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.directorySites.list", + "path": "userprofiles/{profileId}/directorySites", + "httpMethod": "GET", + "description": "Retrieves a list of directory sites, possibly filtered.", + "parameters": { + "acceptsInStreamVideoPlacements": { + "type": "boolean", + "description": "This search filter is no longer supported and will have no effect on the results returned.", + "location": "query" + }, + "acceptsInterstitialPlacements": { + "type": "boolean", + "description": "This search filter is no longer supported and will have no effect on the results returned.", + "location": "query" + }, + "acceptsPublisherPaidPlacements": { + "type": "boolean", + "description": "Select only directory sites that accept publisher paid placements. This field can be left blank.", + "location": "query" + }, + "active": { + "type": "boolean", + "description": "Select only active directory sites. Leave blank to retrieve both active and inactive directory sites.", + "location": "query" + }, + "countryId": { + "type": "string", + "description": "Select only directory sites with this country ID.", + "format": "int64", + "location": "query" + }, + "dfp_network_code": { + "type": "string", + "description": "Select only directory sites with this DFP network code.", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only directory sites with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "parentId": { + "type": "string", + "description": "Select only directory sites with this parent ID.", + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name, ID or URL. Wildcards (*) are allowed. For example, \"directory site*2015\" will return objects with names like \"directory site June 2015\", \"directory site April 2015\", or simply \"directory site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"directory site\" will match objects with name \"my directory site\", \"directory site 2015\" or simply, \"directory site\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "DirectorySitesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "eventTags": { + "methods": { + "delete": { + "id": "dfareporting.eventTags.delete", + "path": "userprofiles/{profileId}/eventTags/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing event tag.", + "parameters": { + "id": { + "type": "string", + "description": "Event tag ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.eventTags.get", + "path": "userprofiles/{profileId}/eventTags/{id}", + "httpMethod": "GET", + "description": "Gets one event tag by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Event tag ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.eventTags.insert", + "path": "userprofiles/{profileId}/eventTags", + "httpMethod": "POST", + "description": "Inserts a new event tag.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "EventTag" + }, + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.eventTags.list", + "path": "userprofiles/{profileId}/eventTags", + "httpMethod": "GET", + "description": "Retrieves a list of event tags, possibly filtered.", + "parameters": { + "adId": { + "type": "string", + "description": "Select only event tags that belong to this ad.", + "format": "int64", + "location": "query" + }, + "advertiserId": { + "type": "string", + "description": "Select only event tags that belong to this advertiser.", + "format": "int64", + "location": "query" + }, + "campaignId": { + "type": "string", + "description": "Select only event tags that belong to this campaign.", + "format": "int64", + "location": "query" + }, + "definitionsOnly": { + "type": "boolean", + "description": "Examine only the specified campaign or advertiser's event tags for matching selector criteria. When set to false, the parent advertiser and parent campaign of the specified ad or campaign is examined as well. In addition, when set to false, the status field is examined as well, along with the enabledByDefault field. This parameter can not be set to true when adId is specified as ads do not define their own even tags.", + "location": "query" + }, + "enabled": { + "type": "boolean", + "description": "Select only enabled event tags. What is considered enabled or disabled depends on the definitionsOnly parameter. When definitionsOnly is set to true, only the specified advertiser or campaign's event tags' enabledByDefault field is examined. When definitionsOnly is set to false, the specified ad or specified campaign's parent advertiser's or parent campaign's event tags' enabledByDefault and status fields are examined as well.", + "location": "query" + }, + "eventTagTypes": { + "type": "string", + "description": "Select only event tags with the specified event tag types. Event tag types can be used to specify whether to use a third-party pixel, a third-party JavaScript URL, or a third-party click-through URL for either impression or click tracking.", + "enum": [ + "CLICK_THROUGH_EVENT_TAG", + "IMPRESSION_IMAGE_EVENT_TAG", + "IMPRESSION_JAVASCRIPT_EVENT_TAG" + ], + "enumDescriptions": [ + "", + "", + "" + ], + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only event tags with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"eventtag*2015\" will return objects with names like \"eventtag June 2015\", \"eventtag April 2015\", or simply \"eventtag 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"eventtag\" will match objects with name \"my eventtag\", \"eventtag 2015\", or simply \"eventtag\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "EventTagsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.eventTags.patch", + "path": "userprofiles/{profileId}/eventTags", + "httpMethod": "PATCH", + "description": "Updates an existing event tag. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Event tag ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "EventTag" + }, + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.eventTags.update", + "path": "userprofiles/{profileId}/eventTags", + "httpMethod": "PUT", + "description": "Updates an existing event tag.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "EventTag" + }, + "response": { + "$ref": "EventTag" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "files": { + "methods": { + "get": { + "id": "dfareporting.files.get", + "path": "reports/{reportId}/files/{fileId}", + "httpMethod": "GET", + "description": "Retrieves a report file by its report ID and file ID.", + "parameters": { + "fileId": { + "type": "string", + "description": "The ID of the report file.", + "required": true, + "format": "int64", + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the report.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "reportId", + "fileId" + ], + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ], + "supportsMediaDownload": true + }, + "list": { + "id": "dfareporting.files.list", + "path": "userprofiles/{profileId}/files", + "httpMethod": "GET", + "description": "Lists files for a user profile.", + "parameters": { + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "minimum": "0", + "maximum": "10", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The value of the nextToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "The DFA profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "scope": { + "type": "string", + "description": "The scope that defines which results are returned, default is 'MINE'.", + "default": "MINE", + "enum": [ + "ALL", + "MINE", + "SHARED_WITH_ME" + ], + "enumDescriptions": [ + "All files in account.", + "My files.", + "Files shared with me." + ], + "location": "query" + }, + "sortField": { + "type": "string", + "description": "The field by which to sort the list.", + "default": "LAST_MODIFIED_TIME", + "enum": [ + "ID", + "LAST_MODIFIED_TIME" + ], + "enumDescriptions": [ + "Sort by file ID.", + "Sort by 'lastmodifiedAt' field." + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is 'DESCENDING'.", + "default": "DESCENDING", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "Ascending order.", + "Descending order." + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "FileList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + }, + "floodlightActivities": { + "methods": { + "delete": { + "id": "dfareporting.floodlightActivities.delete", + "path": "userprofiles/{profileId}/floodlightActivities/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing floodlight activity.", + "parameters": { + "id": { + "type": "string", + "description": "Floodlight activity ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "generatetag": { + "id": "dfareporting.floodlightActivities.generatetag", + "path": "userprofiles/{profileId}/floodlightActivities/generatetag", + "httpMethod": "POST", + "description": "Generates a tag for a floodlight activity.", + "parameters": { + "floodlightActivityId": { + "type": "string", + "description": "Floodlight activity ID for which we want to generate a tag.", + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "FloodlightActivitiesGenerateTagResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.floodlightActivities.get", + "path": "userprofiles/{profileId}/floodlightActivities/{id}", + "httpMethod": "GET", + "description": "Gets one floodlight activity by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Floodlight activity ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.floodlightActivities.insert", + "path": "userprofiles/{profileId}/floodlightActivities", + "httpMethod": "POST", + "description": "Inserts a new floodlight activity.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "FloodlightActivity" + }, + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.floodlightActivities.list", + "path": "userprofiles/{profileId}/floodlightActivities", + "httpMethod": "GET", + "description": "Retrieves a list of floodlight activities, possibly filtered.", + "parameters": { + "advertiserId": { + "type": "string", + "description": "Select only floodlight activities for the specified advertiser ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query" + }, + "floodlightActivityGroupIds": { + "type": "string", + "description": "Select only floodlight activities with the specified floodlight activity group IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "floodlightActivityGroupName": { + "type": "string", + "description": "Select only floodlight activities with the specified floodlight activity group name.", + "location": "query" + }, + "floodlightActivityGroupTagString": { + "type": "string", + "description": "Select only floodlight activities with the specified floodlight activity group tag string.", + "location": "query" + }, + "floodlightActivityGroupType": { + "type": "string", + "description": "Select only floodlight activities with the specified floodlight activity group type.", + "enum": [ + "COUNTER", + "SALE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "floodlightConfigurationId": { + "type": "string", + "description": "Select only floodlight activities for the specified floodlight configuration ID. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only floodlight activities with the specified IDs. Must specify either ids, advertiserId, or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivity*2015\" will return objects with names like \"floodlightactivity June 2015\", \"floodlightactivity April 2015\", or simply \"floodlightactivity 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivity\" will match objects with name \"my floodlightactivity activity\", \"floodlightactivity 2015\", or simply \"floodlightactivity\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "tagString": { + "type": "string", + "description": "Select only floodlight activities with the specified tag string.", + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "FloodlightActivitiesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.floodlightActivities.patch", + "path": "userprofiles/{profileId}/floodlightActivities", + "httpMethod": "PATCH", + "description": "Updates an existing floodlight activity. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Floodlight activity ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "FloodlightActivity" + }, + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.floodlightActivities.update", + "path": "userprofiles/{profileId}/floodlightActivities", + "httpMethod": "PUT", + "description": "Updates an existing floodlight activity.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "FloodlightActivity" + }, + "response": { + "$ref": "FloodlightActivity" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "floodlightActivityGroups": { + "methods": { + "delete": { + "id": "dfareporting.floodlightActivityGroups.delete", + "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing floodlight activity group.", + "parameters": { + "id": { + "type": "string", + "description": "Floodlight activity Group ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.floodlightActivityGroups.get", + "path": "userprofiles/{profileId}/floodlightActivityGroups/{id}", + "httpMethod": "GET", + "description": "Gets one floodlight activity group by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Floodlight activity Group ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.floodlightActivityGroups.insert", + "path": "userprofiles/{profileId}/floodlightActivityGroups", + "httpMethod": "POST", + "description": "Inserts a new floodlight activity group.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "FloodlightActivityGroup" + }, + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.floodlightActivityGroups.list", + "path": "userprofiles/{profileId}/floodlightActivityGroups", + "httpMethod": "GET", + "description": "Retrieves a list of floodlight activity groups, possibly filtered.", + "parameters": { + "advertiserId": { + "type": "string", + "description": "Select only floodlight activity groups with the specified advertiser ID. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query" + }, + "floodlightConfigurationId": { + "type": "string", + "description": "Select only floodlight activity groups with the specified floodlight configuration ID. Must specify either advertiserId, or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only floodlight activity groups with the specified IDs. Must specify either advertiserId or floodlightConfigurationId for a non-empty result.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"floodlightactivitygroup*2015\" will return objects with names like \"floodlightactivitygroup June 2015\", \"floodlightactivitygroup April 2015\", or simply \"floodlightactivitygroup 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"floodlightactivitygroup\" will match objects with name \"my floodlightactivitygroup activity\", \"floodlightactivitygroup 2015\", or simply \"floodlightactivitygroup\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "type": { + "type": "string", + "description": "Select only floodlight activity groups with the specified floodlight activity group type.", + "enum": [ + "COUNTER", + "SALE" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "FloodlightActivityGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.floodlightActivityGroups.patch", + "path": "userprofiles/{profileId}/floodlightActivityGroups", + "httpMethod": "PATCH", + "description": "Updates an existing floodlight activity group. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Floodlight activity Group ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "FloodlightActivityGroup" + }, + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.floodlightActivityGroups.update", + "path": "userprofiles/{profileId}/floodlightActivityGroups", + "httpMethod": "PUT", + "description": "Updates an existing floodlight activity group.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "FloodlightActivityGroup" + }, + "response": { + "$ref": "FloodlightActivityGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "floodlightConfigurations": { + "methods": { + "get": { + "id": "dfareporting.floodlightConfigurations.get", + "path": "userprofiles/{profileId}/floodlightConfigurations/{id}", + "httpMethod": "GET", + "description": "Gets one floodlight configuration by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Floodlight configuration ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "FloodlightConfiguration" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.floodlightConfigurations.list", + "path": "userprofiles/{profileId}/floodlightConfigurations", + "httpMethod": "GET", + "description": "Retrieves a list of floodlight configurations, possibly filtered.", + "parameters": { + "ids": { + "type": "string", + "description": "Set of IDs of floodlight configurations to retrieve. Required field; otherwise an empty list will be returned.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "FloodlightConfigurationsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.floodlightConfigurations.patch", + "path": "userprofiles/{profileId}/floodlightConfigurations", + "httpMethod": "PATCH", + "description": "Updates an existing floodlight configuration. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Floodlight configuration ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "FloodlightConfiguration" + }, + "response": { + "$ref": "FloodlightConfiguration" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.floodlightConfigurations.update", + "path": "userprofiles/{profileId}/floodlightConfigurations", + "httpMethod": "PUT", + "description": "Updates an existing floodlight configuration.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "FloodlightConfiguration" + }, + "response": { + "$ref": "FloodlightConfiguration" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "inventoryItems": { + "methods": { + "get": { + "id": "dfareporting.inventoryItems.get", + "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems/{id}", + "httpMethod": "GET", + "description": "Gets one inventory item by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Inventory item ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "projectId": { + "type": "string", + "description": "Project ID for order documents.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "projectId", + "id" + ], + "response": { + "$ref": "InventoryItem" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.inventoryItems.list", + "path": "userprofiles/{profileId}/projects/{projectId}/inventoryItems", + "httpMethod": "GET", + "description": "Retrieves a list of inventory items, possibly filtered.", + "parameters": { + "ids": { + "type": "string", + "description": "Select only inventory items with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "inPlan": { + "type": "boolean", + "description": "Select only inventory items that are in plan.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "orderId": { + "type": "string", + "description": "Select only inventory items that belong to specified orders.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "projectId": { + "type": "string", + "description": "Project ID for order documents.", + "required": true, + "format": "int64", + "location": "path" + }, + "siteId": { + "type": "string", + "description": "Select only inventory items that are associated with these sites.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "projectId" + ], + "response": { + "$ref": "InventoryItemsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "landingPages": { + "methods": { + "delete": { + "id": "dfareporting.landingPages.delete", + "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing campaign landing page.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Landing page campaign ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "id": { + "type": "string", + "description": "Landing page ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "campaignId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.landingPages.get", + "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages/{id}", + "httpMethod": "GET", + "description": "Gets one campaign landing page by ID.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Landing page campaign ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "id": { + "type": "string", + "description": "Landing page ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "campaignId", + "id" + ], + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.landingPages.insert", + "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages", + "httpMethod": "POST", + "description": "Inserts a new landing page for the specified campaign.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Landing page campaign ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "campaignId" + ], + "request": { + "$ref": "LandingPage" + }, + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.landingPages.list", + "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages", + "httpMethod": "GET", + "description": "Retrieves the list of landing pages for the specified campaign.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Landing page campaign ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "campaignId" + ], + "response": { + "$ref": "LandingPagesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.landingPages.patch", + "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages", + "httpMethod": "PATCH", + "description": "Updates an existing campaign landing page. This method supports patch semantics.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Landing page campaign ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "id": { + "type": "string", + "description": "Landing page ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "campaignId", + "id" + ], + "request": { + "$ref": "LandingPage" + }, + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.landingPages.update", + "path": "userprofiles/{profileId}/campaigns/{campaignId}/landingPages", + "httpMethod": "PUT", + "description": "Updates an existing campaign landing page.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Landing page campaign ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "campaignId" + ], + "request": { + "$ref": "LandingPage" + }, + "response": { + "$ref": "LandingPage" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "metros": { + "methods": { + "list": { + "id": "dfareporting.metros.list", + "path": "userprofiles/{profileId}/metros", + "httpMethod": "GET", + "description": "Retrieves a list of metros.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "MetrosListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "mobileCarriers": { + "methods": { + "get": { + "id": "dfareporting.mobileCarriers.get", + "path": "userprofiles/{profileId}/mobileCarriers/{id}", + "httpMethod": "GET", + "description": "Gets one mobile carrier by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Mobile carrier ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "MobileCarrier" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.mobileCarriers.list", + "path": "userprofiles/{profileId}/mobileCarriers", + "httpMethod": "GET", + "description": "Retrieves a list of mobile carriers.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "MobileCarriersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "operatingSystemVersions": { + "methods": { + "get": { + "id": "dfareporting.operatingSystemVersions.get", + "path": "userprofiles/{profileId}/operatingSystemVersions/{id}", + "httpMethod": "GET", + "description": "Gets one operating system version by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Operating system version ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "OperatingSystemVersion" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.operatingSystemVersions.list", + "path": "userprofiles/{profileId}/operatingSystemVersions", + "httpMethod": "GET", + "description": "Retrieves a list of operating system versions.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "OperatingSystemVersionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "operatingSystems": { + "methods": { + "get": { + "id": "dfareporting.operatingSystems.get", + "path": "userprofiles/{profileId}/operatingSystems/{dartId}", + "httpMethod": "GET", + "description": "Gets one operating system by DART ID.", + "parameters": { + "dartId": { + "type": "string", + "description": "Operating system DART ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "dartId" + ], + "response": { + "$ref": "OperatingSystem" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.operatingSystems.list", + "path": "userprofiles/{profileId}/operatingSystems", + "httpMethod": "GET", + "description": "Retrieves a list of operating systems.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "OperatingSystemsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "orderDocuments": { + "methods": { + "get": { + "id": "dfareporting.orderDocuments.get", + "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments/{id}", + "httpMethod": "GET", + "description": "Gets one order document by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Order document ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "projectId": { + "type": "string", + "description": "Project ID for order documents.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "projectId", + "id" + ], + "response": { + "$ref": "OrderDocument" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.orderDocuments.list", + "path": "userprofiles/{profileId}/projects/{projectId}/orderDocuments", + "httpMethod": "GET", + "description": "Retrieves a list of order documents, possibly filtered.", + "parameters": { + "approved": { + "type": "boolean", + "description": "Select only order documents that have been approved by at least one user.", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only order documents with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "orderId": { + "type": "string", + "description": "Select only order documents for specified orders.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "projectId": { + "type": "string", + "description": "Project ID for order documents.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for order documents by name or ID. Wildcards (*) are allowed. For example, \"orderdocument*2015\" will return order documents with names like \"orderdocument June 2015\", \"orderdocument April 2015\", or simply \"orderdocument 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"orderdocument\" will match order documents with name \"my orderdocument\", \"orderdocument 2015\", or simply \"orderdocument\".", + "location": "query" + }, + "siteId": { + "type": "string", + "description": "Select only order documents that are associated with these sites.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "projectId" + ], + "response": { + "$ref": "OrderDocumentsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "orders": { + "methods": { + "get": { + "id": "dfareporting.orders.get", + "path": "userprofiles/{profileId}/projects/{projectId}/orders/{id}", + "httpMethod": "GET", + "description": "Gets one order by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Order ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "projectId": { + "type": "string", + "description": "Project ID for orders.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "projectId", + "id" + ], + "response": { + "$ref": "Order" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.orders.list", + "path": "userprofiles/{profileId}/projects/{projectId}/orders", + "httpMethod": "GET", + "description": "Retrieves a list of orders, possibly filtered.", + "parameters": { + "ids": { + "type": "string", + "description": "Select only orders with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "projectId": { + "type": "string", + "description": "Project ID for orders.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for orders by name or ID. Wildcards (*) are allowed. For example, \"order*2015\" will return orders with names like \"order June 2015\", \"order April 2015\", or simply \"order 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"order\" will match orders with name \"my order\", \"order 2015\", or simply \"order\".", + "location": "query" + }, + "siteId": { + "type": "string", + "description": "Select only orders that are associated with these site IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "projectId" + ], + "response": { + "$ref": "OrdersListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "placementGroups": { + "methods": { + "get": { + "id": "dfareporting.placementGroups.get", + "path": "userprofiles/{profileId}/placementGroups/{id}", + "httpMethod": "GET", + "description": "Gets one placement group by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Placement group ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.placementGroups.insert", + "path": "userprofiles/{profileId}/placementGroups", + "httpMethod": "POST", + "description": "Inserts a new placement group.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "PlacementGroup" + }, + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.placementGroups.list", + "path": "userprofiles/{profileId}/placementGroups", + "httpMethod": "GET", + "description": "Retrieves a list of placement groups, possibly filtered.", + "parameters": { + "advertiserIds": { + "type": "string", + "description": "Select only placement groups that belong to these advertisers.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "archived": { + "type": "boolean", + "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.", + "location": "query" + }, + "campaignIds": { + "type": "string", + "description": "Select only placement groups that belong to these campaigns.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "contentCategoryIds": { + "type": "string", + "description": "Select only placement groups that are associated with these content categories.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "directorySiteIds": { + "type": "string", + "description": "Select only placement groups that are associated with these directory sites.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only placement groups with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxEndDate": { + "type": "string", + "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "maxStartDate": { + "type": "string", + "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query" + }, + "minEndDate": { + "type": "string", + "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query" + }, + "minStartDate": { + "type": "string", + "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "placementGroupType": { + "type": "string", + "description": "Select only placement groups belonging with this group type. A package is a simple group of placements that acts as a single pricing point for a group of tags. A roadblock is a group of placements that not only acts as a single pricing point but also assumes that all the tags in it will be served at the same time. A roadblock requires one of its assigned placements to be marked as primary for reporting.", + "enum": [ + "PLACEMENT_PACKAGE", + "PLACEMENT_ROADBLOCK" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "placementStrategyIds": { + "type": "string", + "description": "Select only placement groups that are associated with these placement strategies.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "pricingTypes": { + "type": "string", + "description": "Select only placement groups with these pricing types.", + "enum": [ + "PRICING_TYPE_CPA", + "PRICING_TYPE_CPC", + "PRICING_TYPE_CPM", + "PRICING_TYPE_FLAT_RATE_CLICKS", + "PRICING_TYPE_FLAT_RATE_IMPRESSIONS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "repeated": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for placement groups by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placement groups with names like \"placement group June 2015\", \"placement group May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementgroup\" will match placement groups with name \"my placementgroup\", \"placementgroup 2015\", or simply \"placementgroup\".", + "location": "query" + }, + "siteIds": { + "type": "string", + "description": "Select only placement groups that are associated with these sites.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "PlacementGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.placementGroups.patch", + "path": "userprofiles/{profileId}/placementGroups", + "httpMethod": "PATCH", + "description": "Updates an existing placement group. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Placement group ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "PlacementGroup" + }, + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.placementGroups.update", + "path": "userprofiles/{profileId}/placementGroups", + "httpMethod": "PUT", + "description": "Updates an existing placement group.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "PlacementGroup" + }, + "response": { + "$ref": "PlacementGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "placementStrategies": { + "methods": { + "delete": { + "id": "dfareporting.placementStrategies.delete", + "path": "userprofiles/{profileId}/placementStrategies/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing placement strategy.", + "parameters": { + "id": { + "type": "string", + "description": "Placement strategy ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.placementStrategies.get", + "path": "userprofiles/{profileId}/placementStrategies/{id}", + "httpMethod": "GET", + "description": "Gets one placement strategy by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Placement strategy ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.placementStrategies.insert", + "path": "userprofiles/{profileId}/placementStrategies", + "httpMethod": "POST", + "description": "Inserts a new placement strategy.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "PlacementStrategy" + }, + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.placementStrategies.list", + "path": "userprofiles/{profileId}/placementStrategies", + "httpMethod": "GET", + "description": "Retrieves a list of placement strategies, possibly filtered.", + "parameters": { + "ids": { + "type": "string", + "description": "Select only placement strategies with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"placementstrategy*2015\" will return objects with names like \"placementstrategy June 2015\", \"placementstrategy April 2015\", or simply \"placementstrategy 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placementstrategy\" will match objects with name \"my placementstrategy\", \"placementstrategy 2015\", or simply \"placementstrategy\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "PlacementStrategiesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.placementStrategies.patch", + "path": "userprofiles/{profileId}/placementStrategies", + "httpMethod": "PATCH", + "description": "Updates an existing placement strategy. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Placement strategy ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "PlacementStrategy" + }, + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.placementStrategies.update", + "path": "userprofiles/{profileId}/placementStrategies", + "httpMethod": "PUT", + "description": "Updates an existing placement strategy.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "PlacementStrategy" + }, + "response": { + "$ref": "PlacementStrategy" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "placements": { + "methods": { + "generatetags": { + "id": "dfareporting.placements.generatetags", + "path": "userprofiles/{profileId}/placements/generatetags", + "httpMethod": "POST", + "description": "Generates tags for a placement.", + "parameters": { + "campaignId": { + "type": "string", + "description": "Generate placements belonging to this campaign. This is a required field.", + "format": "int64", + "location": "query" + }, + "placementIds": { + "type": "string", + "description": "Generate tags for these placements.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "tagFormats": { + "type": "string", + "description": "Tag formats to generate for these placements.", + "enum": [ + "PLACEMENT_TAG_CLICK_COMMANDS", + "PLACEMENT_TAG_IFRAME_ILAYER", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH", + "PLACEMENT_TAG_INSTREAM_VIDEO_PREFETCH_VAST_3", + "PLACEMENT_TAG_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_IFRAME_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_INTERSTITIAL_INTERNAL_REDIRECT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT", + "PLACEMENT_TAG_INTERSTITIAL_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_JAVASCRIPT", + "PLACEMENT_TAG_JAVASCRIPT_LEGACY", + "PLACEMENT_TAG_STANDARD", + "PLACEMENT_TAG_TRACKING", + "PLACEMENT_TAG_TRACKING_IFRAME", + "PLACEMENT_TAG_TRACKING_JAVASCRIPT" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "" + ], + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "PlacementsGenerateTagsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.placements.get", + "path": "userprofiles/{profileId}/placements/{id}", + "httpMethod": "GET", + "description": "Gets one placement by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Placement ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.placements.insert", + "path": "userprofiles/{profileId}/placements", + "httpMethod": "POST", + "description": "Inserts a new placement.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Placement" + }, + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.placements.list", + "path": "userprofiles/{profileId}/placements", + "httpMethod": "GET", + "description": "Retrieves a list of placements, possibly filtered.", + "parameters": { + "advertiserIds": { + "type": "string", + "description": "Select only placements that belong to these advertisers.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "archived": { + "type": "boolean", + "description": "Select only archived placements. Don't set this field to select both archived and non-archived placements.", + "location": "query" + }, + "campaignIds": { + "type": "string", + "description": "Select only placements that belong to these campaigns.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "compatibilities": { + "type": "string", + "description": "Select only placements that are associated with these compatibilities. WEB and WEB_INTERSTITIAL refer to rendering either on desktop or on mobile devices for regular or interstitial ads respectively. APP and APP_INTERSTITIAL are for rendering in mobile apps.IN_STREAM_VIDEO refers to rendering in in-stream video ads developed with the VAST standard.", + "enum": [ + "APP", + "APP_INTERSTITIAL", + "IN_STREAM_VIDEO", + "WEB", + "WEB_INTERSTITIAL" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "repeated": true, + "location": "query" + }, + "contentCategoryIds": { + "type": "string", + "description": "Select only placements that are associated with these content categories.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "directorySiteIds": { + "type": "string", + "description": "Select only placements that are associated with these directory sites.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "groupIds": { + "type": "string", + "description": "Select only placements that belong to these placement groups.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only placements with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxEndDate": { + "type": "string", + "description": "Select only placements or placement groups whose end date is on or before the specified maxEndDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "maxStartDate": { + "type": "string", + "description": "Select only placements or placement groups whose start date is on or before the specified maxStartDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query" + }, + "minEndDate": { + "type": "string", + "description": "Select only placements or placement groups whose end date is on or after the specified minEndDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query" + }, + "minStartDate": { + "type": "string", + "description": "Select only placements or placement groups whose start date is on or after the specified minStartDate. The date should be formatted as \"yyyy-MM-dd\".", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "paymentSource": { + "type": "string", + "description": "Select only placements with this payment source.", + "enum": [ + "PLACEMENT_AGENCY_PAID", + "PLACEMENT_PUBLISHER_PAID" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "placementStrategyIds": { + "type": "string", + "description": "Select only placements that are associated with these placement strategies.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "pricingTypes": { + "type": "string", + "description": "Select only placements with these pricing types.", + "enum": [ + "PRICING_TYPE_CPA", + "PRICING_TYPE_CPC", + "PRICING_TYPE_CPM", + "PRICING_TYPE_FLAT_RATE_CLICKS", + "PRICING_TYPE_FLAT_RATE_IMPRESSIONS" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "" + ], + "repeated": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for placements by name or ID. Wildcards (*) are allowed. For example, \"placement*2015\" will return placements with names like \"placement June 2015\", \"placement May 2015\", or simply \"placements 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"placement\" will match placements with name \"my placement\", \"placement 2015\", or simply \"placement\".", + "location": "query" + }, + "siteIds": { + "type": "string", + "description": "Select only placements that are associated with these sites.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "sizeIds": { + "type": "string", + "description": "Select only placements that are associated with these sizes.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "PlacementsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.placements.patch", + "path": "userprofiles/{profileId}/placements", + "httpMethod": "PATCH", + "description": "Updates an existing placement. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Placement ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "Placement" + }, + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.placements.update", + "path": "userprofiles/{profileId}/placements", + "httpMethod": "PUT", + "description": "Updates an existing placement.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Placement" + }, + "response": { + "$ref": "Placement" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "platformTypes": { + "methods": { + "get": { + "id": "dfareporting.platformTypes.get", + "path": "userprofiles/{profileId}/platformTypes/{id}", + "httpMethod": "GET", + "description": "Gets one platform type by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Platform type ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "PlatformType" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.platformTypes.list", + "path": "userprofiles/{profileId}/platformTypes", + "httpMethod": "GET", + "description": "Retrieves a list of platform types.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "PlatformTypesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "postalCodes": { + "methods": { + "get": { + "id": "dfareporting.postalCodes.get", + "path": "userprofiles/{profileId}/postalCodes/{code}", + "httpMethod": "GET", + "description": "Gets one postal code by ID.", + "parameters": { + "code": { + "type": "string", + "description": "Postal code ID.", + "required": true, + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "code" + ], + "response": { + "$ref": "PostalCode" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.postalCodes.list", + "path": "userprofiles/{profileId}/postalCodes", + "httpMethod": "GET", + "description": "Retrieves a list of postal codes.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "PostalCodesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "projects": { + "methods": { + "get": { + "id": "dfareporting.projects.get", + "path": "userprofiles/{profileId}/projects/{id}", + "httpMethod": "GET", + "description": "Gets one project by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Project ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Project" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.projects.list", + "path": "userprofiles/{profileId}/projects", + "httpMethod": "GET", + "description": "Retrieves a list of projects, possibly filtered.", + "parameters": { + "advertiserIds": { + "type": "string", + "description": "Select only projects with these advertiser IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only projects with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for projects by name or ID. Wildcards (*) are allowed. For example, \"project*2015\" will return projects with names like \"project June 2015\", \"project April 2015\", or simply \"project 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"project\" will match projects with name \"my project\", \"project 2015\", or simply \"project\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "ProjectsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "regions": { + "methods": { + "list": { + "id": "dfareporting.regions.list", + "path": "userprofiles/{profileId}/regions", + "httpMethod": "GET", + "description": "Retrieves a list of regions.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "RegionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "remarketingListShares": { + "methods": { + "get": { + "id": "dfareporting.remarketingListShares.get", + "path": "userprofiles/{profileId}/remarketingListShares/{remarketingListId}", + "httpMethod": "GET", + "description": "Gets one remarketing list share by remarketing list ID.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "remarketingListId": { + "type": "string", + "description": "Remarketing list ID.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "remarketingListId" + ], + "response": { + "$ref": "RemarketingListShare" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.remarketingListShares.patch", + "path": "userprofiles/{profileId}/remarketingListShares", + "httpMethod": "PATCH", + "description": "Updates an existing remarketing list share. This method supports patch semantics.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "remarketingListId": { + "type": "string", + "description": "Remarketing list ID.", + "required": true, + "format": "int64", + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "remarketingListId" + ], + "request": { + "$ref": "RemarketingListShare" + }, + "response": { + "$ref": "RemarketingListShare" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.remarketingListShares.update", + "path": "userprofiles/{profileId}/remarketingListShares", + "httpMethod": "PUT", + "description": "Updates an existing remarketing list share.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "RemarketingListShare" + }, + "response": { + "$ref": "RemarketingListShare" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "remarketingLists": { + "methods": { + "get": { + "id": "dfareporting.remarketingLists.get", + "path": "userprofiles/{profileId}/remarketingLists/{id}", + "httpMethod": "GET", + "description": "Gets one remarketing list by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Remarketing list ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.remarketingLists.insert", + "path": "userprofiles/{profileId}/remarketingLists", + "httpMethod": "POST", + "description": "Inserts a new remarketing list.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "RemarketingList" + }, + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.remarketingLists.list", + "path": "userprofiles/{profileId}/remarketingLists", + "httpMethod": "GET", + "description": "Retrieves a list of remarketing lists, possibly filtered.", + "parameters": { + "active": { + "type": "boolean", + "description": "Select only active or only inactive remarketing lists.", + "location": "query" + }, + "advertiserId": { + "type": "string", + "description": "Select only remarketing lists owned by this advertiser.", + "required": true, + "format": "int64", + "location": "query" + }, + "floodlightActivityId": { + "type": "string", + "description": "Select only remarketing lists that have this floodlight activity ID.", + "format": "int64", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "name": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "advertiserId" + ], + "response": { + "$ref": "RemarketingListsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.remarketingLists.patch", + "path": "userprofiles/{profileId}/remarketingLists", + "httpMethod": "PATCH", + "description": "Updates an existing remarketing list. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Remarketing list ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "RemarketingList" + }, + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.remarketingLists.update", + "path": "userprofiles/{profileId}/remarketingLists", + "httpMethod": "PUT", + "description": "Updates an existing remarketing list.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "RemarketingList" + }, + "response": { + "$ref": "RemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "reports": { + "methods": { + "delete": { + "id": "dfareporting.reports.delete", + "path": "userprofiles/{profileId}/reports/{reportId}", + "httpMethod": "DELETE", + "description": "Deletes a report by its ID.", + "parameters": { + "profileId": { + "type": "string", + "description": "The DFA user profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the report.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "reportId" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "get": { + "id": "dfareporting.reports.get", + "path": "userprofiles/{profileId}/reports/{reportId}", + "httpMethod": "GET", + "description": "Retrieves a report by its ID.", + "parameters": { + "profileId": { + "type": "string", + "description": "The DFA user profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the report.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "reportId" + ], + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "insert": { + "id": "dfareporting.reports.insert", + "path": "userprofiles/{profileId}/reports", + "httpMethod": "POST", + "description": "Creates a report.", + "parameters": { + "profileId": { + "type": "string", + "description": "The DFA user profile ID.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "list": { + "id": "dfareporting.reports.list", + "path": "userprofiles/{profileId}/reports", + "httpMethod": "GET", + "description": "Retrieves list of reports.", + "parameters": { + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "minimum": "0", + "maximum": "10", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The value of the nextToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "The DFA user profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "scope": { + "type": "string", + "description": "The scope that defines which results are returned, default is 'MINE'.", + "default": "MINE", + "enum": [ + "ALL", + "MINE" + ], + "enumDescriptions": [ + "All reports in account.", + "My reports." + ], + "location": "query" + }, + "sortField": { + "type": "string", + "description": "The field by which to sort the list.", + "default": "LAST_MODIFIED_TIME", + "enum": [ + "ID", + "LAST_MODIFIED_TIME", + "NAME" + ], + "enumDescriptions": [ + "Sort by report ID.", + "Sort by 'lastModifiedTime' field.", + "Sort by name of reports." + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is 'DESCENDING'.", + "default": "DESCENDING", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "Ascending order.", + "Descending order." + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "ReportList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "patch": { + "id": "dfareporting.reports.patch", + "path": "userprofiles/{profileId}/reports/{reportId}", + "httpMethod": "PATCH", + "description": "Updates a report. This method supports patch semantics.", + "parameters": { + "profileId": { + "type": "string", + "description": "The DFA user profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the report.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "reportId" + ], + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "run": { + "id": "dfareporting.reports.run", + "path": "userprofiles/{profileId}/reports/{reportId}/run", + "httpMethod": "POST", + "description": "Runs a report.", + "parameters": { + "profileId": { + "type": "string", + "description": "The DFA profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the report.", + "required": true, + "format": "int64", + "location": "path" + }, + "synchronous": { + "type": "boolean", + "description": "If set and true, tries to run the report synchronously.", + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "reportId" + ], + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + }, + "update": { + "id": "dfareporting.reports.update", + "path": "userprofiles/{profileId}/reports/{reportId}", + "httpMethod": "PUT", + "description": "Updates a report.", + "parameters": { + "profileId": { + "type": "string", + "description": "The DFA user profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the report.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "reportId" + ], + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + }, + "resources": { + "compatibleFields": { + "methods": { + "query": { + "id": "dfareporting.reports.compatibleFields.query", + "path": "userprofiles/{profileId}/reports/compatiblefields/query", + "httpMethod": "POST", + "description": "Returns the fields that are compatible to be selected in the respective sections of a report criteria, given the fields already selected in the input report and user permissions.", + "parameters": { + "profileId": { + "type": "string", + "description": "The DFA user profile ID.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Report" + }, + "response": { + "$ref": "CompatibleFields" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + }, + "files": { + "methods": { + "get": { + "id": "dfareporting.reports.files.get", + "path": "userprofiles/{profileId}/reports/{reportId}/files/{fileId}", + "httpMethod": "GET", + "description": "Retrieves a report file.", + "parameters": { + "fileId": { + "type": "string", + "description": "The ID of the report file.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "The DFA profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the report.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "reportId", + "fileId" + ], + "response": { + "$ref": "File" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ], + "supportsMediaDownload": true + }, + "list": { + "id": "dfareporting.reports.files.list", + "path": "userprofiles/{profileId}/reports/{reportId}/files", + "httpMethod": "GET", + "description": "Lists files for a report.", + "parameters": { + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "minimum": "0", + "maximum": "10", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The value of the nextToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "The DFA profile ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the parent report.", + "required": true, + "format": "int64", + "location": "path" + }, + "sortField": { + "type": "string", + "description": "The field by which to sort the list.", + "default": "LAST_MODIFIED_TIME", + "enum": [ + "ID", + "LAST_MODIFIED_TIME" + ], + "enumDescriptions": [ + "Sort by file ID.", + "Sort by 'lastmodifiedAt' field." + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is 'DESCENDING'.", + "default": "DESCENDING", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "Ascending order.", + "Descending order." + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "reportId" + ], + "response": { + "$ref": "FileList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting" + ] + } + } + } + } + }, + "sites": { + "methods": { + "get": { + "id": "dfareporting.sites.get", + "path": "userprofiles/{profileId}/sites/{id}", + "httpMethod": "GET", + "description": "Gets one site by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Site ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.sites.insert", + "path": "userprofiles/{profileId}/sites", + "httpMethod": "POST", + "description": "Inserts a new site.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.sites.list", + "path": "userprofiles/{profileId}/sites", + "httpMethod": "GET", + "description": "Retrieves a list of sites, possibly filtered.", + "parameters": { + "acceptsInStreamVideoPlacements": { + "type": "boolean", + "description": "This search filter is no longer supported and will have no effect on the results returned.", + "location": "query" + }, + "acceptsInterstitialPlacements": { + "type": "boolean", + "description": "This search filter is no longer supported and will have no effect on the results returned.", + "location": "query" + }, + "acceptsPublisherPaidPlacements": { + "type": "boolean", + "description": "Select only sites that accept publisher paid placements.", + "location": "query" + }, + "adWordsSite": { + "type": "boolean", + "description": "Select only AdWords sites.", + "location": "query" + }, + "approved": { + "type": "boolean", + "description": "Select only approved sites.", + "location": "query" + }, + "campaignIds": { + "type": "string", + "description": "Select only sites with these campaign IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "directorySiteIds": { + "type": "string", + "description": "Select only sites with these directory site IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only sites with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name, ID or keyName. Wildcards (*) are allowed. For example, \"site*2015\" will return objects with names like \"site June 2015\", \"site April 2015\", or simply \"site 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"site\" will match objects with name \"my site\", \"site 2015\", or simply \"site\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "subaccountId": { + "type": "string", + "description": "Select only sites with this subaccount ID.", + "format": "int64", + "location": "query" + }, + "unmappedSite": { + "type": "boolean", + "description": "Select only sites that have not been mapped to a directory site.", + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "SitesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.sites.patch", + "path": "userprofiles/{profileId}/sites", + "httpMethod": "PATCH", + "description": "Updates an existing site. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Site ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.sites.update", + "path": "userprofiles/{profileId}/sites", + "httpMethod": "PUT", + "description": "Updates an existing site.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Site" + }, + "response": { + "$ref": "Site" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "sizes": { + "methods": { + "get": { + "id": "dfareporting.sizes.get", + "path": "userprofiles/{profileId}/sizes/{id}", + "httpMethod": "GET", + "description": "Gets one size by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Size ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Size" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.sizes.insert", + "path": "userprofiles/{profileId}/sizes", + "httpMethod": "POST", + "description": "Inserts a new size.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Size" + }, + "response": { + "$ref": "Size" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.sizes.list", + "path": "userprofiles/{profileId}/sizes", + "httpMethod": "GET", + "description": "Retrieves a list of sizes, possibly filtered.", + "parameters": { + "height": { + "type": "integer", + "description": "Select only sizes with this height.", + "format": "int32", + "location": "query" + }, + "iabStandard": { + "type": "boolean", + "description": "Select only IAB standard sizes.", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only sizes with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "width": { + "type": "integer", + "description": "Select only sizes with this width.", + "format": "int32", + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "SizesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "subaccounts": { + "methods": { + "get": { + "id": "dfareporting.subaccounts.get", + "path": "userprofiles/{profileId}/subaccounts/{id}", + "httpMethod": "GET", + "description": "Gets one subaccount by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Subaccount ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.subaccounts.insert", + "path": "userprofiles/{profileId}/subaccounts", + "httpMethod": "POST", + "description": "Inserts a new subaccount.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Subaccount" + }, + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.subaccounts.list", + "path": "userprofiles/{profileId}/subaccounts", + "httpMethod": "GET", + "description": "Gets a list of subaccounts, possibly filtered.", + "parameters": { + "ids": { + "type": "string", + "description": "Select only subaccounts with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"subaccount*2015\" will return objects with names like \"subaccount June 2015\", \"subaccount April 2015\", or simply \"subaccount 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"subaccount\" will match objects with name \"my subaccount\", \"subaccount 2015\", or simply \"subaccount\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "SubaccountsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.subaccounts.patch", + "path": "userprofiles/{profileId}/subaccounts", + "httpMethod": "PATCH", + "description": "Updates an existing subaccount. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "Subaccount ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "Subaccount" + }, + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.subaccounts.update", + "path": "userprofiles/{profileId}/subaccounts", + "httpMethod": "PUT", + "description": "Updates an existing subaccount.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "Subaccount" + }, + "response": { + "$ref": "Subaccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "targetableRemarketingLists": { + "methods": { + "get": { + "id": "dfareporting.targetableRemarketingLists.get", + "path": "userprofiles/{profileId}/targetableRemarketingLists/{id}", + "httpMethod": "GET", + "description": "Gets one remarketing list by ID.", + "parameters": { + "id": { + "type": "string", + "description": "Remarketing list ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "TargetableRemarketingList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.targetableRemarketingLists.list", + "path": "userprofiles/{profileId}/targetableRemarketingLists", + "httpMethod": "GET", + "description": "Retrieves a list of targetable remarketing lists, possibly filtered.", + "parameters": { + "active": { + "type": "boolean", + "description": "Select only active or only inactive targetable remarketing lists.", + "location": "query" + }, + "advertiserId": { + "type": "string", + "description": "Select only targetable remarketing lists targetable by these advertisers.", + "required": true, + "format": "int64", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "name": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"remarketing list*2015\" will return objects with names like \"remarketing list June 2015\", \"remarketing list April 2015\", or simply \"remarketing list 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"remarketing list\" will match objects with name \"my remarketing list\", \"remarketing list 2015\", or simply \"remarketing list\".", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + } + }, + "parameterOrder": [ + "profileId", + "advertiserId" + ], + "response": { + "$ref": "TargetableRemarketingListsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userProfiles": { + "methods": { + "get": { + "id": "dfareporting.userProfiles.get", + "path": "userprofiles/{profileId}", + "httpMethod": "GET", + "description": "Gets one user profile by ID.", + "parameters": { + "profileId": { + "type": "string", + "description": "The user profile ID.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "UserProfile" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting", + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.userProfiles.list", + "path": "userprofiles", + "httpMethod": "GET", + "description": "Retrieves list of user profiles for a user.", + "response": { + "$ref": "UserProfileList" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfareporting", + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userRolePermissionGroups": { + "methods": { + "get": { + "id": "dfareporting.userRolePermissionGroups.get", + "path": "userprofiles/{profileId}/userRolePermissionGroups/{id}", + "httpMethod": "GET", + "description": "Gets one user role permission group by ID.", + "parameters": { + "id": { + "type": "string", + "description": "User role permission group ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "UserRolePermissionGroup" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.userRolePermissionGroups.list", + "path": "userprofiles/{profileId}/userRolePermissionGroups", + "httpMethod": "GET", + "description": "Gets a list of all supported user role permission groups.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "UserRolePermissionGroupsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userRolePermissions": { + "methods": { + "get": { + "id": "dfareporting.userRolePermissions.get", + "path": "userprofiles/{profileId}/userRolePermissions/{id}", + "httpMethod": "GET", + "description": "Gets one user role permission by ID.", + "parameters": { + "id": { + "type": "string", + "description": "User role permission ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "UserRolePermission" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.userRolePermissions.list", + "path": "userprofiles/{profileId}/userRolePermissions", + "httpMethod": "GET", + "description": "Gets a list of user role permissions, possibly filtered.", + "parameters": { + "ids": { + "type": "string", + "description": "Select only user role permissions with these IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "UserRolePermissionsListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + }, + "userRoles": { + "methods": { + "delete": { + "id": "dfareporting.userRoles.delete", + "path": "userprofiles/{profileId}/userRoles/{id}", + "httpMethod": "DELETE", + "description": "Deletes an existing user role.", + "parameters": { + "id": { + "type": "string", + "description": "User role ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "get": { + "id": "dfareporting.userRoles.get", + "path": "userprofiles/{profileId}/userRoles/{id}", + "httpMethod": "GET", + "description": "Gets one user role by ID.", + "parameters": { + "id": { + "type": "string", + "description": "User role ID.", + "required": true, + "format": "int64", + "location": "path" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "insert": { + "id": "dfareporting.userRoles.insert", + "path": "userprofiles/{profileId}/userRoles", + "httpMethod": "POST", + "description": "Inserts a new user role.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "UserRole" + }, + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "list": { + "id": "dfareporting.userRoles.list", + "path": "userprofiles/{profileId}/userRoles", + "httpMethod": "GET", + "description": "Retrieves a list of user roles, possibly filtered.", + "parameters": { + "accountUserRoleOnly": { + "type": "boolean", + "description": "Select only account level user roles not associated with any specific subaccount.", + "location": "query" + }, + "ids": { + "type": "string", + "description": "Select only user roles with the specified IDs.", + "format": "int64", + "repeated": true, + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Maximum number of results to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Value of the nextPageToken from the previous result page.", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + }, + "searchString": { + "type": "string", + "description": "Allows searching for objects by name or ID. Wildcards (*) are allowed. For example, \"userrole*2015\" will return objects with names like \"userrole June 2015\", \"userrole April 2015\", or simply \"userrole 2015\". Most of the searches also add wildcards implicitly at the start and the end of the search string. For example, a search string of \"userrole\" will match objects with name \"my userrole\", \"userrole 2015\", or simply \"userrole\".", + "location": "query" + }, + "sortField": { + "type": "string", + "description": "Field by which to sort the list.", + "enum": [ + "ID", + "NAME" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "sortOrder": { + "type": "string", + "description": "Order of sorted results, default is ASCENDING.", + "enum": [ + "ASCENDING", + "DESCENDING" + ], + "enumDescriptions": [ + "", + "" + ], + "location": "query" + }, + "subaccountId": { + "type": "string", + "description": "Select only user roles that belong to this subaccount.", + "format": "int64", + "location": "query" + } + }, + "parameterOrder": [ + "profileId" + ], + "response": { + "$ref": "UserRolesListResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "patch": { + "id": "dfareporting.userRoles.patch", + "path": "userprofiles/{profileId}/userRoles", + "httpMethod": "PATCH", + "description": "Updates an existing user role. This method supports patch semantics.", + "parameters": { + "id": { + "type": "string", + "description": "User role ID.", + "required": true, + "format": "int64", + "location": "query" + }, + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId", + "id" + ], + "request": { + "$ref": "UserRole" + }, + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + }, + "update": { + "id": "dfareporting.userRoles.update", + "path": "userprofiles/{profileId}/userRoles", + "httpMethod": "PUT", + "description": "Updates an existing user role.", + "parameters": { + "profileId": { + "type": "string", + "description": "User profile ID associated with this request.", + "required": true, + "format": "int64", + "location": "path" + } + }, + "parameterOrder": [ + "profileId" + ], + "request": { + "$ref": "UserRole" + }, + "response": { + "$ref": "UserRole" + }, + "scopes": [ + "https://www.googleapis.com/auth/dfatrafficking" + ] + } + } + } + } +} diff --git a/etc/api/dns/v1/dns-api.json b/etc/api/dns/v1/dns-api.json index 8748015acb..a365334552 100644 --- a/etc/api/dns/v1/dns-api.json +++ b/etc/api/dns/v1/dns-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/-U4jrXk6-vTBoDv0IALjnOwY9tw\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/zoueaaoAZQGFJohVmI5skQDTvqg\"", "discoveryVersion": "v1", "id": "dns:v1", "name": "dns", "version": "v1", - "revision": "20150624", + "revision": "20150729", "title": "Google Cloud DNS API", "description": "The Google Cloud DNS API provides services for configuring and serving authoritative DNS records.", "ownerDomain": "google.com", @@ -72,6 +72,9 @@ "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" + }, "https://www.googleapis.com/auth/ndev.clouddns.readonly": { "description": "View your DNS records hosted by Google Cloud DNS" }, @@ -411,6 +414,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -471,6 +475,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -562,6 +567,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -603,6 +609,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -632,6 +639,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -689,6 +697,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] diff --git a/etc/api/dns/v1beta1/dns-api.json b/etc/api/dns/v1beta1/dns-api.json index 6e95468388..8f59a5ea81 100644 --- a/etc/api/dns/v1beta1/dns-api.json +++ b/etc/api/dns/v1beta1/dns-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/oeG7uB52wsm8PPE9oV2doNReuXE\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/z8EvZOnlqaBoJtlcMyMinOpCnyk\"", "discoveryVersion": "v1", "id": "dns:v1beta1", "name": "dns", "version": "v1beta1", - "revision": "20150624", + "revision": "20150729", "title": "Google Cloud DNS API", "description": "The Google Cloud DNS API provides services for configuring and serving authoritative DNS records.", "ownerDomain": "google.com", @@ -72,6 +72,9 @@ "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" + }, "https://www.googleapis.com/auth/ndev.clouddns.readonly": { "description": "View your DNS records hosted by Google Cloud DNS" }, @@ -403,6 +406,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -463,6 +467,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -554,6 +559,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -595,6 +601,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -624,6 +631,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] @@ -681,6 +689,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.clouddns.readonly", "https://www.googleapis.com/auth/ndev.clouddns.readwrite" ] diff --git a/etc/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json b/etc/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json index a15597e1fc..ed98ffb975 100644 --- a/etc/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json +++ b/etc/api/doubleclickbidmanager/v1/doubleclickbidmanager-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/NbuQQoeeWObMBMsRr-eLonWmHd8\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/mAPHdimW0pvTGXzTTcUsJfk40xQ\"", "discoveryVersion": "v1", "id": "doubleclickbidmanager:v1", "name": "doubleclickbidmanager", "canonicalName": "DoubleClick Bid Manager", "version": "v1", - "revision": "20150326", + "revision": "20150925", "title": "DoubleClick Bid Manager API", "description": "API for viewing and managing your reports in DoubleClick Bid Manager.", "ownerDomain": "google.com", @@ -76,6 +76,18 @@ "type": "object", "description": "Request to fetch stored line items.", "properties": { + "fileSpec": { + "type": "string", + "description": "File specification (column names, types, order) in which the line items will be returned. Default to EWF.", + "enum": [ + "EWF", + "SDF" + ], + "enumDescriptions": [ + "", + "" + ] + }, "filterIds": { "type": "array", "description": "Ids of the specified filter type used to filter line items to fetch. If omitted, all the line items will be returned.", @@ -117,7 +129,7 @@ "properties": { "lineItems": { "type": "string", - "description": "Retrieved line items in CSV format. Refer to Entity Write File Format for more information on file format." + "description": "Retrieved line items in CSV format. Refer to Entity Write File Format or Structured Data File Format for more information on file formats." } } }, @@ -145,9 +157,11 @@ "FILTER_CITY", "FILTER_CONVERSION_DELAY", "FILTER_COUNTRY", + "FILTER_CREATIVE_HEIGHT", "FILTER_CREATIVE_ID", "FILTER_CREATIVE_SIZE", "FILTER_CREATIVE_TYPE", + "FILTER_CREATIVE_WIDTH", "FILTER_DATA_PROVIDER", "FILTER_DATE", "FILTER_DAY_OF_WEEK", @@ -289,6 +303,8 @@ "", "", "", + "", + "", "" ] }, @@ -369,9 +385,11 @@ "FILTER_CITY", "FILTER_CONVERSION_DELAY", "FILTER_COUNTRY", + "FILTER_CREATIVE_HEIGHT", "FILTER_CREATIVE_ID", "FILTER_CREATIVE_SIZE", "FILTER_CREATIVE_TYPE", + "FILTER_CREATIVE_WIDTH", "FILTER_DATA_PROVIDER", "FILTER_DATE", "FILTER_DAY_OF_WEEK", @@ -513,6 +531,8 @@ "", "", "", + "", + "", "" ] } @@ -594,6 +614,12 @@ "METRIC_FEE20_ADVERTISER", "METRIC_FEE20_PARTNER", "METRIC_FEE20_USD", + "METRIC_FEE21_ADVERTISER", + "METRIC_FEE21_PARTNER", + "METRIC_FEE21_USD", + "METRIC_FEE22_ADVERTISER", + "METRIC_FEE22_PARTNER", + "METRIC_FEE22_USD", "METRIC_FEE2_ADVERTISER", "METRIC_FEE2_PARTNER", "METRIC_FEE2_USD", @@ -643,6 +669,9 @@ "METRIC_MEDIA_COST_ECPM_USD", "METRIC_MEDIA_COST_PARTNER", "METRIC_MEDIA_COST_USD", + "METRIC_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER", + "METRIC_MEDIA_COST_VIEWABLE_ECPM_PARTNER", + "METRIC_MEDIA_COST_VIEWABLE_ECPM_USD", "METRIC_MEDIA_FEE1_ADVERTISER", "METRIC_MEDIA_FEE1_PARTNER", "METRIC_MEDIA_FEE1_USD", @@ -683,6 +712,9 @@ "METRIC_PROFIT_MARGIN", "METRIC_PROFIT_PARTNER", "METRIC_PROFIT_USD", + "METRIC_PROFIT_VIEWABLE_ECPM_ADVERTISER", + "METRIC_PROFIT_VIEWABLE_ECPM_PARTNER", + "METRIC_PROFIT_VIEWABLE_ECPM_USD", "METRIC_REVENUE_ADVERTISER", "METRIC_REVENUE_ECPAPC_ADVERTISER", "METRIC_REVENUE_ECPAPC_PARTNER", @@ -704,6 +736,9 @@ "METRIC_REVENUE_ECPM_USD", "METRIC_REVENUE_PARTNER", "METRIC_REVENUE_USD", + "METRIC_REVENUE_VIEWABLE_ECPM_ADVERTISER", + "METRIC_REVENUE_VIEWABLE_ECPM_PARTNER", + "METRIC_REVENUE_VIEWABLE_ECPM_USD", "METRIC_RICH_MEDIA_VIDEO_COMPLETIONS", "METRIC_RICH_MEDIA_VIDEO_FIRST_QUARTILE_COMPLETES", "METRIC_RICH_MEDIA_VIDEO_FULL_SCREENS", @@ -738,9 +773,24 @@ "METRIC_TOTAL_MEDIA_COST_ECPM_USD", "METRIC_TOTAL_MEDIA_COST_PARTNER", "METRIC_TOTAL_MEDIA_COST_USD", + "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_ADVERTISER", + "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_PARTNER", + "METRIC_TOTAL_MEDIA_COST_VIEWABLE_ECPM_USD", + "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_ADVERTISER", + "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_PARTNER", + "METRIC_TRUEVIEW_CONVERSION_COST_MANY_PER_VIEW_USD", + "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_ADVERTISER", + "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_PARTNER", + "METRIC_TRUEVIEW_CONVERSION_COST_ONE_PER_VIEW_USD", "METRIC_TRUEVIEW_CONVERSION_MANY_PER_VIEW", "METRIC_TRUEVIEW_CONVERSION_ONE_PER_VIEW", "METRIC_TRUEVIEW_CONVERSION_RATE_ONE_PER_VIEW", + "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_ADVERTISER", + "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_PARTNER", + "METRIC_TRUEVIEW_CONVERSION_VALUE_MANY_PER_VIEW_USD", + "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_ADVERTISER", + "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_PARTNER", + "METRIC_TRUEVIEW_CONVERSION_VALUE_ONE_PER_VIEW_USD", "METRIC_TRUEVIEW_COST_CONVERSION_MANY_PER_VIEW_RATIO", "METRIC_TRUEVIEW_COST_CONVERSION_ONE_PER_VIEW_RATIO", "METRIC_TRUEVIEW_CPV_ADVERTISER", @@ -755,6 +805,9 @@ "METRIC_TRUEVIEW_LOST_IS_BUDGET", "METRIC_TRUEVIEW_LOST_IS_RANK", "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUE", + "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_ADVERTISER", + "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_PARTNER", + "METRIC_TRUEVIEW_TOTAL_CONVERSION_VALUES_USD", "METRIC_TRUEVIEW_UNIQUE_VIEWERS", "METRIC_TRUEVIEW_VALUE_CONVERSION_MANY_PER_VIEW_RATIO", "METRIC_TRUEVIEW_VALUE_CONVERSION_ONE_PER_VIEW_RATIO", @@ -1006,6 +1059,39 @@ "", "", "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", + "", "" ] } @@ -1029,6 +1115,7 @@ "TYPE_KEYWORD", "TYPE_NIELSEN_AUDIENCE_PROFILE", "TYPE_NIELSEN_DAILY_REACH_BUILD", + "TYPE_NIELSEN_ONLINE_GLOBAL_MARKET", "TYPE_NIELSEN_SITE", "TYPE_ORDER_ID", "TYPE_PAGE_CATEGORY", @@ -1065,6 +1152,7 @@ "", "", "", + "", "" ] } diff --git a/etc/api/doubleclicksearch/v2/doubleclicksearch-api.json b/etc/api/doubleclicksearch/v2/doubleclicksearch-api.json index e6e7a0a15c..4fdec893cc 100644 --- a/etc/api/doubleclicksearch/v2/doubleclicksearch-api.json +++ b/etc/api/doubleclicksearch/v2/doubleclicksearch-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/X7AOv0-dwXq5VhzBANwBS6xU0aQ\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/TYEElx_gLlz3G4Z0qoDLbuCjb8k\"", "discoveryVersion": "v1", "id": "doubleclicksearch:v2", "name": "doubleclicksearch", "version": "v2", - "revision": "20150708", + "revision": "20151006", "title": "DoubleClick Search API", "description": "Report and modify your advertising data in DoubleClick Search (for example, campaigns, ad groups, keywords, and conversions).", "ownerDomain": "google.com", @@ -451,7 +451,11 @@ }, "platformSource": { "type": "string", - "description": "The platform that is used to provide data for the custom dimension. Acceptable values are \"Floodlight\"." + "description": "The platform that is used to provide data for the custom dimension. Acceptable values are \"floodlight\"." + }, + "productReportPerspective": { + "type": "string", + "description": "Provide different source for product items. Acceptable values are \"advertised\" and \"sold\"." }, "savedColumnName": { "type": "string", diff --git a/etc/api/drive/v1/drive-api.json b/etc/api/drive/v1/drive-api.json index f45ac88130..e4b2f05d97 100644 --- a/etc/api/drive/v1/drive-api.json +++ b/etc/api/drive/v1/drive-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/kcCVDPs-5PNjr6BKMPQRpOOuEkc\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/3r31pQjuMAgvc6FJxZpAE46zc-E\"", "discoveryVersion": "v1", "id": "drive:v1", "name": "drive", "version": "v1", - "revision": "20150709", + "revision": "20151008", "title": "Drive API", "description": "The API to interact with Drive.", "ownerDomain": "google.com", diff --git a/etc/api/drive/v2/drive-api.json b/etc/api/drive/v2/drive-api.json index 8237ffec4d..a9afe87b39 100644 --- a/etc/api/drive/v2/drive-api.json +++ b/etc/api/drive/v2/drive-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/q8uch3ImrfylJzc7hmtPqukUei0\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/j3Wwh3EWBgWZwRehTCtXuS9oPH4\"", "discoveryVersion": "v1", "id": "drive:v2", "name": "drive", "version": "v2", - "revision": "20150709", + "revision": "20151008", "title": "Drive API", "description": "The API to interact with Drive.", "ownerDomain": "google.com", @@ -87,6 +87,9 @@ "https://www.googleapis.com/auth/drive.metadata.readonly": { "description": "View metadata for files in your Google Drive" }, + "https://www.googleapis.com/auth/drive.photos.readonly": { + "description": "View the photos, videos and albums in your Google Photos" + }, "https://www.googleapis.com/auth/drive.readonly": { "description": "View the files in your Google Drive" }, @@ -137,7 +140,7 @@ }, "domainSharingPolicy": { "type": "string", - "description": "The domain sharing policy for the current user. Possible values are: \n- ALLOWED \n- ALLOWED_WITH_WARNING \n- INCOMING_ONLY \n- DISALLOWED" + "description": "The domain sharing policy for the current user. Possible values are: \n- allowed \n- allowedWithWarning \n- incomingOnly \n- disallowed" }, "etag": { "type": "string", @@ -941,20 +944,24 @@ }, "fileExtension": { "type": "string", - "description": "The file extension used when downloading this file. This field is read only. To set the extension, include it in the title when creating the file. This is only populated for files with content stored in Drive." + "description": "The final component of fullFileExtension with trailing text that does not appear to be part of the extension removed. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files." }, "fileSize": { "type": "string", - "description": "The size of the file in bytes. This is only populated for files with content stored in Drive.", + "description": "The size of the file in bytes. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files.", "format": "int64" }, "folderColorRgb": { "type": "string", "description": "Folder color as an RGB hex string if the file is a folder. The list of supported colors is available in the folderColorPalette field of the About resource. If an unsupported color is specified, it will be changed to the closest color in the palette." }, + "fullFileExtension": { + "type": "string", + "description": "The full file extension; extracted from the title. May contain multiple concatenated extensions, such as \"tar.gz\". Removing an extension from the title does not clear this field; however, changing the extension on the title does update this field. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files." + }, "headRevisionId": { "type": "string", - "description": "The ID of the file's head revision. This will only be populated for files with content stored in Drive." + "description": "The ID of the file's head revision. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files." }, "iconLink": { "type": "string", @@ -1106,7 +1113,7 @@ }, "restricted": { "type": "boolean", - "description": "Whether viewers are prevented from downloading this file." + "description": "Whether viewers and commenters are prevented from downloading, printing, and copying this file." }, "starred": { "type": "boolean", @@ -1137,12 +1144,12 @@ }, "markedViewedByMeDate": { "type": "string", - "description": "Time this file was explicitly marked viewed by the user (formatted RFC 3339 timestamp).", + "description": "Deprecated.", "format": "date-time" }, "md5Checksum": { "type": "string", - "description": "An MD5 checksum for the content of this file. This is populated only for files with content stored in Drive." + "description": "An MD5 checksum for the content of this file. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files." }, "mimeType": { "type": "string", @@ -1167,7 +1174,7 @@ }, "originalFilename": { "type": "string", - "description": "The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This will only be populated on files with content stored in Drive." + "description": "The original filename if the file was uploaded manually, or the original title if the file was inserted through the API. Note that renames of the title will not change the original filename. This field is only populated for files with content stored in Drive; it is not populated for Google Docs or shortcut files." }, "ownedByMe": { "type": "boolean", @@ -1236,7 +1243,7 @@ }, "spaces": { "type": "array", - "description": "The list of spaces which contain the file. Supported values are 'drive' and 'appDataFolder'.", + "description": "The list of spaces which contain the file. Supported values are 'drive', 'appDataFolder' and 'photos'.", "items": { "type": "string" } @@ -1343,6 +1350,29 @@ } } }, + "GeneratedIds": { + "id": "GeneratedIds", + "type": "object", + "description": "A list of generated IDs which can be provided in insert requests", + "properties": { + "ids": { + "type": "array", + "description": "The IDs generated for the requesting user in the specified space.", + "items": { + "type": "string" + } + }, + "kind": { + "type": "string", + "description": "This is always drive#generatedIds", + "default": "drive#generatedIds" + }, + "space": { + "type": "string", + "description": "The type of file that can be created with these IDs." + } + } + }, "ParentList": { "id": "ParentList", "type": "object", @@ -1772,6 +1802,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] } @@ -1869,6 +1900,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -1905,7 +1937,7 @@ }, "spaces": { "type": "string", - "description": "A comma-separated list of spaces to query. Supported values are 'drive' and 'appDataFolder'.", + "description": "A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'.", "location": "query" }, "startChangeId": { @@ -1925,6 +1957,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ], "supportsSubscription": true @@ -1962,7 +1995,7 @@ }, "spaces": { "type": "string", - "description": "A comma-separated list of spaces to query. Supported values are 'drive' and 'appDataFolder'.", + "description": "A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'.", "location": "query" }, "startChangeId": { @@ -1986,6 +2019,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ], "supportsSubscription": true @@ -2010,6 +2044,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] } @@ -2077,6 +2112,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -2128,6 +2164,11 @@ "minimum": "0", "location": "query" }, + "orderBy": { + "type": "string", + "description": "A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', and 'title'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", + "location": "query" + }, "pageToken": { "type": "string", "description": "Page token for children.", @@ -2151,6 +2192,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] } @@ -2446,7 +2488,8 @@ "https://www.googleapis.com/auth/drive", "https://www.googleapis.com/auth/drive.appdata", "https://www.googleapis.com/auth/drive.apps.readonly", - "https://www.googleapis.com/auth/drive.file" + "https://www.googleapis.com/auth/drive.file", + "https://www.googleapis.com/auth/drive.photos.readonly" ] }, "delete": { @@ -2480,6 +2523,37 @@ "https://www.googleapis.com/auth/drive" ] }, + "generateIds": { + "id": "drive.files.generateIds", + "path": "files/generateIds", + "httpMethod": "GET", + "description": "Generates a set of file IDs which can be provided in insert requests.", + "parameters": { + "maxResults": { + "type": "integer", + "description": "Maximum number of IDs to return.", + "default": "10", + "format": "int32", + "minimum": "1", + "maximum": "1000", + "location": "query" + }, + "space": { + "type": "string", + "description": "The space in which the IDs can be used to create new files. Supported values are 'drive' and 'appDataFolder'.", + "default": "drive", + "location": "query" + } + }, + "response": { + "$ref": "GeneratedIds" + }, + "scopes": [ + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/drive.appdata", + "https://www.googleapis.com/auth/drive.file" + ] + }, "get": { "id": "drive.files.get", "path": "files/{fileId}", @@ -2518,7 +2592,7 @@ }, "updateViewedDate": { "type": "boolean", - "description": "Whether to update the view date after successfully retrieving the file.", + "description": "Deprecated: Use files.update with modifiedDateBehavior=noChange, updateViewedDate=true and an empty request body.", "default": "false", "location": "query" } @@ -2536,6 +2610,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ], "supportsMediaDownload": true, @@ -2659,6 +2734,11 @@ "minimum": "0", "location": "query" }, + "orderBy": { + "type": "string", + "description": "A comma-separated list of sort keys. Valid keys are 'createdDate', 'folder', 'lastViewedByMeDate', 'modifiedByMeDate', 'modifiedDate', 'quotaBytesUsed', 'recency', 'sharedWithMeDate', 'starred', and 'title'. Each key sorts ascending by default, but may be reversed with the 'desc' modifier. Example usage: ?orderBy=folder,modifiedDate desc,title. Please note that there is a current limitation for users with approximately one million files in which the requested sort order is ignored.", + "location": "query" + }, "pageToken": { "type": "string", "description": "Page token for files.", @@ -2684,7 +2764,7 @@ }, "spaces": { "type": "string", - "description": "A comma-separated list of spaces to query. Supported values are 'drive' and 'appDataFolder'.", + "description": "A comma-separated list of spaces to query. Supported values are 'drive', 'appDataFolder' and 'photos'.", "location": "query" } }, @@ -2698,6 +2778,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -2714,7 +2795,7 @@ }, "convert": { "type": "boolean", - "description": "Whether to convert this file to the corresponding Google Docs format.", + "description": "This parameter is deprecated and has no function.", "default": "false", "location": "query" }, @@ -2726,7 +2807,7 @@ }, "modifiedDateBehavior": { "type": "string", - "description": "How the modifiedDate field should be updated. This overrides setModifiedDate.", + "description": "Determines the behavior in which modifiedDate is updated. This overrides setModifiedDate.", "enum": [ "fromBody", "fromBodyIfNeeded", @@ -2747,7 +2828,7 @@ }, "newRevision": { "type": "boolean", - "description": "Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If true or not set, a new blob is created as head revision, and previous unpinned revisions are preserved for a short period of time. Pinned revisions are stored indefinitely, using additional storage quota, up to a maximum of 200 revisions.", + "description": "Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If true or not set, a new blob is created as head revision, and previous unpinned revisions are preserved for a short period of time. Pinned revisions are stored indefinitely, using additional storage quota, up to a maximum of 200 revisions. For details on how revisions are retained, see the Drive Help Center.", "default": "true", "location": "query" }, @@ -2851,7 +2932,7 @@ "id": "drive.files.trash", "path": "files/{fileId}/trash", "httpMethod": "POST", - "description": "Moves a file to the trash.", + "description": "Moves a file to the trash. The currently authenticated user must own the file.", "parameters": { "fileId": { "type": "string", @@ -2912,7 +2993,7 @@ }, "convert": { "type": "boolean", - "description": "Whether to convert this file to the corresponding Google Docs format.", + "description": "This parameter is deprecated and has no function.", "default": "false", "location": "query" }, @@ -2924,7 +3005,7 @@ }, "modifiedDateBehavior": { "type": "string", - "description": "How the modifiedDate field should be updated. This overrides setModifiedDate.", + "description": "Determines the behavior in which modifiedDate is updated. This overrides setModifiedDate.", "enum": [ "fromBody", "fromBodyIfNeeded", @@ -2945,7 +3026,7 @@ }, "newRevision": { "type": "boolean", - "description": "Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If true or not set, a new blob is created as head revision, and previous unpinned revisions are preserved for a short period of time. Pinned revisions are stored indefinitely, using additional storage quota, up to a maximum of 200 revisions.", + "description": "Whether a blob upload should create a new revision. If false, the blob data in the current head revision is replaced. If true or not set, a new blob is created as head revision, and previous unpinned revisions are preserved for a short period of time. Pinned revisions are stored indefinitely, using additional storage quota, up to a maximum of 200 revisions. For details on how revisions are retained, see the Drive Help Center.", "default": "true", "location": "query" }, @@ -3073,7 +3154,7 @@ }, "updateViewedDate": { "type": "boolean", - "description": "Whether to update the view date after successfully retrieving the file.", + "description": "Deprecated: Use files.update with modifiedDateBehavior=noChange, updateViewedDate=true and an empty request body.", "default": "false", "location": "query" } @@ -3095,6 +3176,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ], "supportsMediaDownload": true, @@ -3164,6 +3246,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -3220,6 +3303,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] } @@ -3286,6 +3370,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -3315,6 +3400,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -3380,6 +3466,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -3387,7 +3474,7 @@ "id": "drive.permissions.patch", "path": "files/{fileId}/permissions/{permissionId}", "httpMethod": "PATCH", - "description": "Updates a permission. This method supports patch semantics.", + "description": "Updates a permission using patch semantics.", "parameters": { "fileId": { "type": "string", @@ -3541,6 +3628,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -3598,6 +3686,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -4079,6 +4168,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, @@ -4107,6 +4197,7 @@ "https://www.googleapis.com/auth/drive.file", "https://www.googleapis.com/auth/drive.metadata", "https://www.googleapis.com/auth/drive.metadata.readonly", + "https://www.googleapis.com/auth/drive.photos.readonly", "https://www.googleapis.com/auth/drive.readonly" ] }, diff --git a/etc/api/freebase/v1/freebase-api.json b/etc/api/freebase/v1/freebase-api.json index 3020ade2aa..67338cd2d8 100644 --- a/etc/api/freebase/v1/freebase-api.json +++ b/etc/api/freebase/v1/freebase-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/fu62NCNoN0rRqR4S4_Yco_vuY_4\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/0Zea4KQ6RcBXE82yubsnEJqPrYs\"", "discoveryVersion": "v1", "id": "freebase:v1", "name": "freebase", "version": "v1", - "revision": "20150715", + "revision": "20150728", "title": "Freebase Search", "description": "Find Freebase entities using textual queries and other constraints.", "ownerDomain": "google.com", diff --git a/etc/api/games/v1/games-api.json b/etc/api/games/v1/games-api.json index 60edf317c4..29ef297552 100644 --- a/etc/api/games/v1/games-api.json +++ b/etc/api/games/v1/games-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/kMJ5WSJLlpaiYVrD6C0XoIYYZuQ\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/P7g-a3C968F6LpsV-dK3V_5H2MQ\"", "discoveryVersion": "v1", "id": "games:v1", "name": "games", "canonicalName": "Games", "version": "v1", - "revision": "20150717", + "revision": "20151012", "title": "Google Play Game Services API", "description": "The API for Google Play Game Services.", "ownerDomain": "google.com", @@ -3539,10 +3539,12 @@ "description": "Collection of players being retrieved", "required": true, "enum": [ + "connected", "playedWith", "played_with" ], "enumDescriptions": [ + "Retrieve a list of players that are also playing this game in reverse chronological order.", "(DEPRECATED: please use played_with!) Retrieve a list of players you have played a multiplayer game (realtime or turn-based) with recently.", "Retrieve a list of players you have played a multiplayer game (realtime or turn-based) with recently." ], diff --git a/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json b/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json index 9c128d0fb8..b320e325af 100644 --- a/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json +++ b/etc/api/gamesconfiguration/v1configuration/gamesconfiguration-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/sMcZMsBUEjDYKHCXGpDphmDRHRw\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/k09Y_EDjHKoAzOrAaih8-jd3Fu4\"", "discoveryVersion": "v1", "id": "gamesConfiguration:v1configuration", "name": "gamesConfiguration", "canonicalName": "Games Configuration", "version": "v1configuration", - "revision": "20150717", + "revision": "20151012", "title": "Google Play Game Services Publishing API", "description": "The Publishing API for Google Play Game Services.", "ownerDomain": "google.com", diff --git a/etc/api/gamesmanagement/v1management/gamesmanagement-api.json b/etc/api/gamesmanagement/v1management/gamesmanagement-api.json index d7465d5073..67393f5433 100644 --- a/etc/api/gamesmanagement/v1management/gamesmanagement-api.json +++ b/etc/api/gamesmanagement/v1management/gamesmanagement-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/wNuOjQAjwhPKEaAKl2_MUVwyufA\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/lMIvHESSjSJESC3z65mkw4Xo3pI\"", "discoveryVersion": "v1", "id": "gamesManagement:v1management", "name": "gamesManagement", "canonicalName": "Games Management", "version": "v1management", - "revision": "20150717", + "revision": "20151012", "title": "Google Play Game Services Management API", "description": "The Management API for Google Play Game Services.", "ownerDomain": "google.com", diff --git a/etc/api/genomics/v1/genomics-api.json b/etc/api/genomics/v1/genomics-api.json index e562f4d967..b25018a86c 100644 --- a/etc/api/genomics/v1/genomics-api.json +++ b/etc/api/genomics/v1/genomics-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/FV8wyJgOhzZ7rpR6g2FmI8jROkE\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/nmRT5II6MI2QFs3s0gwB9XPmePY\"", "discoveryVersion": "v1", "id": "genomics:v1", "name": "genomics", "version": "v1", - "revision": "20150716", + "revision": "20151014", "title": "Genomics API", "description": "An API to store, process, explore, and share DNA sequence reads, reference-based alignments, and variant calls.", "ownerDomain": "google.com", @@ -17,7 +17,7 @@ "documentationLink": "", "protocol": "rest", "baseUrl": "https://genomics.googleapis.com/", - "basePath": "", + "basePath": "/", "rootUrl": "https://genomics.googleapis.com/", "servicePath": "", "batchPath": "batch", @@ -172,6 +172,92 @@ "id": "UndeleteDatasetRequest", "type": "object" }, + "SetIamPolicyRequest": { + "id": "SetIamPolicyRequest", + "type": "object", + "description": "Request message for `SetIamPolicy` method.", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + } + } + }, + "Policy": { + "id": "Policy", + "type": "object", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { \"bindings\": [ { \"role\": \"roles/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com\"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).", + "properties": { + "version": { + "type": "integer", + "description": "Version of the `Policy`. The default version is 0.", + "format": "int32" + }, + "bindings": { + "type": "array", + "description": "Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + } + }, + "etag": { + "type": "string", + "description": "Can be used to perform a read-modify-write.", + "format": "byte" + } + } + }, + "Binding": { + "id": "Binding", + "type": "object", + "description": "Associates `members` with a `role`.", + "properties": { + "role": { + "type": "string", + "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required" + }, + "members": { + "type": "array", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", + "items": { + "type": "string" + } + } + } + }, + "GetIamPolicyRequest": { + "id": "GetIamPolicyRequest", + "type": "object", + "description": "Request message for `GetIamPolicy` method." + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "type": "object", + "description": "Request message for `TestIamPermissions` method.", + "properties": { + "permissions": { + "type": "array", + "description": "REQUIRED: The set of permissions to check for the 'resource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed. Allowed permissions are: * `genomics.datasets.create` * `genomics.datasets.delete` * `genomics.datasets.get` * `genomics.datasets.list` * `genomics.datasets.update` * `genomics.datasets.getIamPolicy` * `genomics.datasets.setIamPolicy`", + "items": { + "type": "string" + } + } + } + }, + "TestIamPermissionsResponse": { + "id": "TestIamPermissionsResponse", + "type": "object", + "description": "Response message for `TestIamPermissions` method.", + "properties": { + "permissions": { + "type": "array", + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + } + } + } + }, "Operation": { "id": "Operation", "type": "object", @@ -183,7 +269,7 @@ }, "metadata": { "type": "object", - "description": "An [OperationMetadata][google.genomics.v1.OperationMetadata] object. This will always be returned with the [Operation][google.longrunning.Operation].", + "description": "An OperationMetadata object. This will always be returned with the Operation.", "additionalProperties": { "type": "any", "description": "Properties of the object. Contains field @ype with type URL." @@ -191,7 +277,7 @@ }, "done": { "type": "boolean", - "description": "If the value is `false`, it means the operation is still in progress. If true, the operation is completed and the `result` is available." + "description": "If the value is `false`, it means the operation is still in progress. If true, the operation is completed, and either `error` or `response` is available." }, "error": { "$ref": "Status", @@ -199,7 +285,7 @@ }, "response": { "type": "object", - "description": "If importing [ReadGroupSets][google.genomics.v1.ReadGroupSet], an [ImportReadGroupSetsResponse][google.genomics.v1.ImportReadGroupSetsResponse] is returned. If importing [Variants][google.genomics.v1.Variant], an [ImportVariantsResponse][google.genomics.v1.ImportVariantsResponse] is returned. For exports, an empty response is returned.", + "description": "If importing ReadGroupSets, an ImportReadGroupSetsResponse is returned. If importing Variants, an ImportVariantsResponse is returned. For exports, an empty response is returned.", "additionalProperties": { "type": "any", "description": "Properties of the object. Contains field @ype with type URL." @@ -210,16 +296,16 @@ "Status": { "id": "Status", "type": "object", - "description": "The `Status` defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users. - Flexible enough to meet unexpected needs. # Overview The `Status` message contains 3 pieces of data: error code, error message, and error details. The error code should be an enum value of [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, it can be sent in the error details or localized by the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments - either with or without APIs - to provide consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.", + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.", "properties": { "code": { "type": "integer", - "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].", + "description": "The status code, which should be an enum value of google.rpc.Code.", "format": "int32" }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client." }, "details": { "type": "array", @@ -237,7 +323,7 @@ "ListOperationsResponse": { "id": "ListOperationsResponse", "type": "object", - "description": "The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].", + "description": "The response message for Operations.ListOperations.", "properties": { "operations": { "type": "array", @@ -255,7 +341,7 @@ "CancelOperationRequest": { "id": "CancelOperationRequest", "type": "object", - "description": "The request message for [Operations.CancelOperation][google.longrunning.Operations.CancelOperation]." + "description": "The request message for Operations.CancelOperation." }, "ImportReadGroupSetsRequest": { "id": "ImportReadGroupSetsRequest", @@ -272,7 +358,7 @@ }, "sourceUris": { "type": "array", - "description": "A list of URIs pointing at BAM files in Google Cloud Storage.", + "description": "A list of URIs pointing at [BAM files](https://samtools.github.io/hts-specs/SAMv1.pdf) in Google Cloud Storage.", "items": { "type": "string" } @@ -614,7 +700,7 @@ "properties": { "alignments": { "type": "array", - "description": "The list of matching alignments sorted by mapped genomic coordinate, if any, ascending in position within the same reference. Unmapped reads, which have no position, are returned last and are further sorted in ascending lexicographic order by fragment name.", + "description": "The list of matching alignments sorted by mapped genomic coordinate, if any, ascending in position within the same reference. Unmapped reads, which have no position, are returned contiguously and are sorted in ascending lexicographic order by fragment name.", "items": { "$ref": "Read" } @@ -628,7 +714,7 @@ "Read": { "id": "Read", "type": "object", - "description": "A read alignment describes a linear alignment of a string of DNA to a [reference sequence][google.genomics.v1.Reference], in addition to metadata about the fragment (the molecule of DNA sequenced) and the read (the bases which were read by the sequencer). A read is equivalent to a line in a SAM file. A read belongs to exactly one read group and exactly one [read group set][google.genomics.v1.ReadGroupSet]. ### Generating a reference-aligned sequence string When interacting with mapped reads, it's often useful to produce a string representing the local alignment of the read to reference. The following pseudocode demonstrates one way of doing this: out = \"\" offset = 0 for c in read.alignment.cigar { switch c.operation { case \"ALIGNMENT_MATCH\", \"SEQUENCE_MATCH\", \"SEQUENCE_MISMATCH\": out += read.alignedSequence[offset:offset+c.operationLength] offset += c.operationLength break case \"CLIP_SOFT\", \"INSERT\": offset += c.operationLength break case \"PAD\": out += repeat(\"*\", c.operationLength) break case \"DELETE\": out += repeat(\"-\", c.operationLength) break case \"SKIP\": out += repeat(\" \", c.operationLength) break case \"CLIP_HARD\": break } } return out ### Converting to SAM's CIGAR string The following pseudocode generates a SAM CIGAR string from the `cigar` field. Note that this is a lossy conversion (`cigar.referenceSequence` is lost). cigarMap = { \"ALIGNMENT_MATCH\": \"M\", \"INSERT\": \"I\", \"DELETE\": \"D\", \"SKIP\": \"N\", \"CLIP_SOFT\": \"S\", \"CLIP_HARD\": \"H\", \"PAD\": \"P\", \"SEQUENCE_MATCH\": \"=\", \"SEQUENCE_MISMATCH\": \"X\", } cigarStr = \"\" for c in read.alignment.cigar { cigarStr += c.operationLength + cigarMap[c.operation] } return cigarStr", + "description": "A read alignment describes a linear alignment of a string of DNA to a reference sequence, in addition to metadata about the fragment (the molecule of DNA sequenced) and the read (the bases which were read by the sequencer). A read is equivalent to a line in a SAM file. A read belongs to exactly one read group and exactly one read group set. ### Generating a reference-aligned sequence string When interacting with mapped reads, it's often useful to produce a string representing the local alignment of the read to reference. The following pseudocode demonstrates one way of doing this: out = \"\" offset = 0 for c in read.alignment.cigar { switch c.operation { case \"ALIGNMENT_MATCH\", \"SEQUENCE_MATCH\", \"SEQUENCE_MISMATCH\": out += read.alignedSequence[offset:offset+c.operationLength] offset += c.operationLength break case \"CLIP_SOFT\", \"INSERT\": offset += c.operationLength break case \"PAD\": out += repeat(\"*\", c.operationLength) break case \"DELETE\": out += repeat(\"-\", c.operationLength) break case \"SKIP\": out += repeat(\" \", c.operationLength) break case \"CLIP_HARD\": break } } return out ### Converting to SAM's CIGAR string The following pseudocode generates a SAM CIGAR string from the `cigar` field. Note that this is a lossy conversion (`cigar.referenceSequence` is lost). cigarMap = { \"ALIGNMENT_MATCH\": \"M\", \"INSERT\": \"I\", \"DELETE\": \"D\", \"SKIP\": \"N\", \"CLIP_SOFT\": \"S\", \"CLIP_HARD\": \"H\", \"PAD\": \"P\", \"SEQUENCE_MATCH\": \"=\", \"SEQUENCE_MISMATCH\": \"X\", } cigarStr = \"\" for c in read.alignment.cigar { cigarStr += c.operationLength + cigarMap[c.operation] } return cigarStr", "properties": { "id": { "type": "string", @@ -1098,9 +1184,8 @@ ] }, "number": { - "type": "integer", - "description": "The number of values that can be included in a field described by this metadata.", - "format": "int32" + "type": "string", + "description": "The number of values that can be included in a field described by this metadata." }, "description": { "type": "string", @@ -1390,23 +1475,6 @@ } } }, - "MergeVariantsRequest": { - "id": "MergeVariantsRequest", - "type": "object", - "properties": { - "variantSetId": { - "type": "string", - "description": "The destination variant set." - }, - "variants": { - "type": "array", - "description": "The variants to be merged with existing variants.", - "items": { - "$ref": "Variant" - } - } - } - }, "SearchCallSetsRequest": { "id": "SearchCallSetsRequest", "type": "object", @@ -1471,7 +1539,7 @@ }, "variantSetIds": { "type": "array", - "description": "The IDs of the variant sets this call set belongs to.", + "description": "The IDs of the variant sets this call set belongs to. This field must have exactly length one, as a call set belongs to a single variant set. This field is repeated for compatibility with the [GA4GH 0.5.1 API](https://github.com/ga4gh/schemas/blob/v0.5.1/src/main/resources/avro/variants.avdl#L76).", "items": { "type": "string" } @@ -1524,7 +1592,7 @@ "OperationMetadata": { "id": "OperationMetadata", "type": "object", - "description": "Metadata describing an [Operation][google.longrunning.Operation].", + "description": "Metadata describing an Operation.", "properties": { "projectId": { "type": "string", @@ -1554,7 +1622,7 @@ "OperationEvent": { "id": "OperationEvent", "type": "object", - "description": "An event that occurred during an [Operation][google.longrunning.Operation].", + "description": "An event that occurred during an Operation.", "properties": { "description": { "type": "string", @@ -1653,7 +1721,7 @@ }, "updateMask": { "type": "string", - "description": "An optional mask specifying which fields to update. At this time, the only mutable field is [name][google.genomics.v1.Dataset.name]. The only acceptable value is \"name\". If unspecified, all mutable fields will be updated.", + "description": "An optional mask specifying which fields to update. At this time, the only mutable field is name. The only acceptable value is \"name\". If unspecified, all mutable fields will be updated.", "location": "query" } }, @@ -1721,6 +1789,90 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/genomics" ] + }, + "setIamPolicy": { + "id": "genomics.datasets.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified dataset. Replaces any existing policy. See Setting a Policy for more information.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being specified. Format is `datasets/`.", + "required": true, + "pattern": "^datasets/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + }, + "getIamPolicy": { + "id": "genomics.datasets.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "httpMethod": "POST", + "description": "Gets the access control policy for the dataset. Is empty if the policy or the resource does not exist. See Getting a Policy for more information.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being specified. Format is `datasets/`.", + "required": true, + "pattern": "^datasets/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "GetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] + }, + "testIamPermissions": { + "id": "genomics.datasets.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource. See Testing Permissions for more information.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being specified. Format is `datasets/`.", + "required": true, + "pattern": "^datasets/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/genomics" + ] } } }, @@ -1766,7 +1918,7 @@ }, "filter": { "type": "string", - "description": "A string for filtering [Operations][google.longrunning.Operation]. The following filter fields are supported: * projectId: Required. Corresponds to [OperationMetadata.projectId][google.genomics.v1.OperationMetadata.project_id]. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `\u003e=` and/or `= 1432140000` * `projectId = my-project AND createTime \u003e= 1432140000 AND createTime \u003c= 1432150000 AND status = RUNNING`", + "description": "A string for filtering Operations. The following filter fields are supported: * projectId: Required. Corresponds to OperationMetadata.projectId. * createTime: The time this job was created, in seconds from the [epoch](http://en.wikipedia.org/wiki/Unix_time). Can use `\u003e=` and/or `= 1432140000` * `projectId = my-project AND createTime \u003e= 1432140000 AND createTime \u003c= 1432150000 AND status = RUNNING`", "location": "query" }, "pageSize": { @@ -1777,7 +1929,7 @@ }, "pageToken": { "type": "string", - "description": "The standard List page token.", + "description": "The standard list page token.", "location": "query" } }, @@ -1796,7 +1948,7 @@ "id": "genomics.operations.cancel", "path": "v1/{+name}:cancel", "httpMethod": "POST", - "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use [Operations.GetOperation][google.longrunning.Operations.GetOperation] or [Operations.ListOperations][google.longrunning.Operations.ListOperations] to check whether the cancellation succeeded or the operation completed despite cancellation.", + "description": "Starts asynchronous cancellation on a long-running operation. The server makes a best effort to cancel the operation, but success is not guaranteed. Clients may use Operations.GetOperation or Operations.ListOperations to check whether the cancellation succeeded or the operation completed despite cancellation.", "parameters": { "name": { "type": "string", @@ -1824,7 +1976,7 @@ "id": "genomics.operations.delete", "path": "v1/{+name}", "httpMethod": "DELETE", - "description": "This method is not implemented. To cancel an operation, please use [Operations.CancelOperation][google.longrunning.Operations.CancelOperation].", + "description": "This method is not implemented. To cancel an operation, please use Operations.CancelOperation.", "parameters": { "name": { "type": "string", @@ -1853,7 +2005,7 @@ "id": "genomics.readgroupsets.import", "path": "v1/readgroupsets:import", "httpMethod": "POST", - "description": "Creates read group sets by asynchronously importing the provided information. Note that currently comments in the input file header are **not** imported and some custom tags will be converted to strings, rather than preserving tag types. The caller must have WRITE permissions to the dataset.", + "description": "Creates read group sets by asynchronously importing the provided information. The caller must have WRITE permissions to the dataset. ## Notes on [BAM](https://samtools.github.io/hts-specs/SAMv1.pdf) import - Tags will be converted to strings - tag types are not preserved - Comments (`@CO`) in the input file header will not be preserved - Original header order of references (`@SQ`) will not be preserved - Any reverse stranded unmapped reads will be reverse complemented, and their qualities (and \"BQ\" tag, if any) will be reversed - Unmapped reads will be stripped of positional information (reference name and position)", "request": { "$ref": "ImportReadGroupSetsRequest" }, @@ -1870,7 +2022,7 @@ "id": "genomics.readgroupsets.export", "path": "v1/readgroupsets/{readGroupSetId}:export", "httpMethod": "POST", - "description": "Exports a read group set to a BAM file in Google Cloud Storage. Note that currently there may be some differences between exported BAM files and the original BAM file at the time of import. In particular, comments in the input file header will not be preserved, some custom tags will be converted to strings, and original reference sequence order is not necessarily preserved.", + "description": "Exports a read group set to a BAM file in Google Cloud Storage. Note that currently there may be some differences between exported BAM files and the original BAM file at the time of import. See [ImportReadGroupSets](google.genomics.v1.ReadServiceV1.ImportReadGroupSets) for caveats.", "parameters": { "readGroupSetId": { "type": "string", @@ -1925,7 +2077,7 @@ }, "updateMask": { "type": "string", - "description": "An optional mask specifying which fields to update. At this time, mutable fields are [referenceSetId][google.genomics.v1.ReadGroupSet.reference_set_id] and [name][google.genomics.v1.ReadGroupSet.name]. Acceptable values are \"referenceSetId\" and \"name\". If unspecified, all mutable fields will be updated.", + "description": "An optional mask specifying which fields to update. At this time, mutable fields are referenceSetId and name. Acceptable values are \"referenceSetId\" and \"name\". If unspecified, all mutable fields will be updated.", "location": "query" } }, @@ -2232,7 +2384,7 @@ "id": "genomics.variants.import", "path": "v1/variants:import", "httpMethod": "POST", - "description": "Creates variant data by asynchronously importing the provided information. The variants for import will be merged with any existing data and each other according to the behavior of mergeVariants. In particular, this means for merged VCF variants that have conflicting INFO fields, some data will be arbitrarily discarded. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.", + "description": "Creates variant data by asynchronously importing the provided information. The variants for import will be merged with any existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant, and other fields (such as key/value pairs) are discarded. In particular, this means for merged VCF variants that have conflicting INFO fields, some data will be arbitrarily discarded. As a special case, for single-sample VCF files, QUAL and FILTER fields will be moved to the call level; these are sometimes interpreted in a call-specific context. Imported VCF headers are appended to the metadata already in a variant set.", "request": { "$ref": "ImportVariantsRequest" }, @@ -2292,7 +2444,7 @@ }, "updateMask": { "type": "string", - "description": "An optional mask specifying which fields to update. At this time, mutable fields are [names][google.genomics.v1.Variant.names] and [info][google.genomics.v1.Variant.info]. Acceptable values are \"names\" and \"info\". If unspecified, all mutable fields will be updated.", + "description": "An optional mask specifying which fields to update. At this time, mutable fields are names and info. Acceptable values are \"names\" and \"info\". If unspecified, all mutable fields will be updated.", "location": "query" } }, @@ -2358,22 +2510,6 @@ "https://www.googleapis.com/auth/genomics", "https://www.googleapis.com/auth/genomics.readonly" ] - }, - "merge": { - "id": "genomics.variants.merge", - "path": "v1/variants:merge", - "httpMethod": "POST", - "description": "Merges the given variants with existing variants. Each variant will be merged with an existing variant that matches its reference sequence, start, end, reference bases, and alternative bases. If no such variant exists, a new one will be created. When variants are merged, the call information from the new variant is added to the existing variant, and other fields (such as key/value pairs) are discarded.", - "request": { - "$ref": "MergeVariantsRequest" - }, - "response": { - "$ref": "Empty" - }, - "scopes": [ - "https://www.googleapis.com/auth/cloud-platform", - "https://www.googleapis.com/auth/genomics" - ] } } }, @@ -2383,7 +2519,7 @@ "id": "genomics.variantsets.create", "path": "v1/variantsets", "httpMethod": "POST", - "description": "Creates a new variant set.", + "description": "Creates a new variant set. The provided variant set must have a valid `datasetId` set - all other fields are optional. Note that the `id` field will be ignored, as this is assigned by the server.", "request": { "$ref": "VariantSet" }, @@ -2503,7 +2639,7 @@ }, "updateMask": { "type": "string", - "description": "An optional mask specifying which fields to update. At this time, the only mutable field is [metadata][google.genomics.v1.VariantSet.metadata]. The only acceptable value is \"metadata\". If unspecified, all mutable fields will be updated.", + "description": "An optional mask specifying which fields to update. At this time, the only mutable field is metadata. The only acceptable value is \"metadata\". If unspecified, all mutable fields will be updated.", "location": "query" } }, @@ -2572,7 +2708,7 @@ }, "updateMask": { "type": "string", - "description": "An optional mask specifying which fields to update. At this time, the only mutable field is [name][google.genomics.v1.CallSet.name]. The only acceptable value is \"name\". If unspecified, all mutable fields will be updated.", + "description": "An optional mask specifying which fields to update. At this time, the only mutable field is name. The only acceptable value is \"name\". If unspecified, all mutable fields will be updated.", "location": "query" } }, diff --git a/etc/api/genomics/v1beta2/genomics-api.json b/etc/api/genomics/v1beta2/genomics-api.json index 6863c140dc..126af6fa41 100644 --- a/etc/api/genomics/v1beta2/genomics-api.json +++ b/etc/api/genomics/v1beta2/genomics-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/hlRrQoFUbR1DFyke-B8BPXehGzw\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/MA9wNliXwGhlYOlSK8rdRjly7fM\"", "discoveryVersion": "v1", "id": "genomics:v1beta2", "name": "genomics", "version": "v1beta2", - "revision": "20150715", + "revision": "20151014", "title": "Genomics API", "description": "Provides access to Genomics data.", "ownerDomain": "google.com", @@ -1875,7 +1875,7 @@ "properties": { "alignments": { "type": "array", - "description": "The list of matching alignments sorted by mapped genomic coordinate, if any, ascending in position within the same reference. Unmapped reads, which have no position, are returned last and are further sorted in ascending lexicographic order by fragment name.", + "description": "The list of matching alignments sorted by mapped genomic coordinate, if any, ascending in position within the same reference. Unmapped reads, which have no position, are returned contiguously and are sorted in ascending lexicographic order by fragment name.", "items": { "$ref": "Read" } @@ -3172,7 +3172,7 @@ "id": "genomics.readgroupsets.export", "path": "readgroupsets/export", "httpMethod": "POST", - "description": "Exports read group sets to a BAM file in Google Cloud Storage.\n\nNote that currently there may be some differences between exported BAM files and the original BAM file at the time of import. In particular, comments in the input file header will not be preserved, some custom tags will be converted to strings, and original reference sequence order is not necessarily preserved.", + "description": "Exports read group sets to a BAM file in Google Cloud Storage.\n\nNote that currently there may be some differences between exported BAM files and the original BAM file at the time of import. See ImportReadGroupSets for details.", "request": { "$ref": "ExportReadGroupSetsRequest" }, @@ -3214,7 +3214,7 @@ "id": "genomics.readgroupsets.import", "path": "readgroupsets/import", "httpMethod": "POST", - "description": "Creates read group sets by asynchronously importing the provided information.\n\nNote that currently comments in the input file header are not imported and some custom tags will be converted to strings, rather than preserving tag types. The caller must have WRITE permissions to the dataset.", + "description": "Creates read group sets by asynchronously importing the provided information. The caller must have WRITE permissions to the dataset.\n\nNotes on BAM import: \n- Tags will be converted to strings - tag types are not preserved\n- Comments (@CO) in the input file header are not imported\n- Original order of reference headers is not preserved\n- Any reverse stranded unmapped reads will be reverse complemented, and their qualities (and \"BQ\" tag, if any) will be reversed\n- Unmapped reads will be stripped of positional information (referenceName and position)", "request": { "$ref": "ImportReadGroupSetsRequest" }, @@ -3648,7 +3648,7 @@ "id": "genomics.variantsets.create", "path": "variantsets", "httpMethod": "POST", - "description": "Creates a new variant set (only necessary in v1).", + "description": "Creates a new variant set (only necessary in v1).\n\nThe provided variant set must have a valid datasetId set - all other fields are optional. Note that the id field will be ignored, as this is assigned by the server.", "request": { "$ref": "VariantSet" }, diff --git a/etc/api/gmail/v1/gmail-api.json b/etc/api/gmail/v1/gmail-api.json index f75e87e24f..9b8b357ef8 100644 --- a/etc/api/gmail/v1/gmail-api.json +++ b/etc/api/gmail/v1/gmail-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/rcmL92SXMKTyKvGjL_5VhC8zz9s\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/epKZlPw-j_GuhHfSnsAczxcvTBU\"", "discoveryVersion": "v1", "id": "gmail:v1", "name": "gmail", "version": "v1", - "revision": "20150526", + "revision": "20150910", "title": "Gmail API", "description": "The Gmail REST API.", "ownerDomain": "google.com", @@ -86,6 +86,9 @@ }, "https://www.googleapis.com/auth/gmail.readonly": { "description": "View your emails messages and settings" + }, + "https://www.googleapis.com/auth/gmail.send": { + "description": "Send email on your behalf" } } } @@ -1626,7 +1629,8 @@ "scopes": [ "https://mail.google.com/", "https://www.googleapis.com/auth/gmail.compose", - "https://www.googleapis.com/auth/gmail.modify" + "https://www.googleapis.com/auth/gmail.modify", + "https://www.googleapis.com/auth/gmail.send" ], "supportsMediaUpload": true, "mediaUpload": { diff --git a/etc/api/identitytoolkit/v3/identitytoolkit-api.json b/etc/api/identitytoolkit/v3/identitytoolkit-api.json index 71b2c3eff4..29248b56ee 100644 --- a/etc/api/identitytoolkit/v3/identitytoolkit-api.json +++ b/etc/api/identitytoolkit/v3/identitytoolkit-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/GjMYVSVyLqOyv-ANl0uM1bR0w3c\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/VJrCHXHaMQfXi6fEi9qa_MKwS3Y\"", "discoveryVersion": "v1", "id": "identitytoolkit:v3", "name": "identitytoolkit", "canonicalName": "Identity Toolkit", "version": "v3", - "revision": "20150710", + "revision": "20151008", "title": "Google Identity Toolkit API", "description": "Help the third party sites to implement federated login.", "ownerDomain": "google.com", @@ -549,6 +549,10 @@ "description": "The fixed string \"identitytoolkit#SetAccountInfoResponse\".", "default": "identitytoolkit#SetAccountInfoResponse" }, + "newEmail": { + "type": "string", + "description": "The new email the user attempts to change to." + }, "providerUserInfo": { "type": "array", "description": "The user's profiles at the associated IdPs.", @@ -765,6 +769,10 @@ "type": "boolean", "description": "Whether the assertion is from a non-trusted IDP and need account linking confirmation." }, + "needEmail": { + "type": "boolean", + "description": "Whether need client to supply email to complete the federated login flow." + }, "nickName": { "type": "string", "description": "The nick name of the user." @@ -841,6 +849,19 @@ "type": "string", "description": "The RP local ID if it's already been mapped to the IdP account identified by the federated ID." }, + "oauthAccessToken": { + "type": "string", + "description": "The OAuth2 access token." + }, + "oauthAuthorizationCode": { + "type": "string", + "description": "The OAuth2 authorization code." + }, + "oauthExpireIn": { + "type": "integer", + "description": "The lifetime in seconds of the OAuth2 access token.", + "format": "int32" + }, "photoUrl": { "type": "string", "description": "The URI of the user's photo at IdP" diff --git a/etc/api/logging/v1beta3/logging-api.json b/etc/api/logging/v1beta3/logging-api.json index d2fe2f36c8..477e51b107 100644 --- a/etc/api/logging/v1beta3/logging-api.json +++ b/etc/api/logging/v1beta3/logging-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/WoU1Y-TPU2mFiyKWAKMijLjE-Hc\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/l7KAWGWj5NIeNmaEXus4dk2p56U\"", "discoveryVersion": "v1", "id": "logging:v1beta3", "name": "logging", "version": "v1beta3", - "revision": "20150326", + "revision": "20151007", "title": "Google Cloud Logging API", "description": "Google Cloud Logging API lets you create logs, ingest log entries, and manage log sinks.", "ownerDomain": "google.com", @@ -14,10 +14,10 @@ "x16": "http://www.google.com/images/icons/product/search-16.gif", "x32": "http://www.google.com/images/icons/product/search-32.gif" }, - "documentationLink": "", + "documentationLink": "https://cloud.google.com/logging/docs/", "protocol": "rest", "baseUrl": "https://logging.googleapis.com/", - "basePath": "", + "basePath": "/", "rootUrl": "https://logging.googleapis.com/", "servicePath": "", "batchPath": "batch", @@ -80,6 +80,16 @@ "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" }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, "$.xgafv": { "type": "string", "description": "V1 error format.", @@ -95,6 +105,18 @@ "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" + }, + "https://www.googleapis.com/auth/logging.admin": { + "description": "Administrate log data for your projects" + }, + "https://www.googleapis.com/auth/logging.read": { + "description": "View log data for your projects" + }, + "https://www.googleapis.com/auth/logging.write": { + "description": "Submit log data for your projects" } } } @@ -107,7 +129,7 @@ "properties": { "logs": { "type": "array", - "description": "A list of log resources.", + "description": "A list of log descriptions matching the criteria.", "items": { "$ref": "Log" } @@ -121,26 +143,26 @@ "Log": { "id": "Log", "type": "object", - "description": "A log object.", + "description": "_Output only._ Describes a log, which is a named stream of log entries.", "properties": { "name": { "type": "string", - "description": "REQUIRED: The log's name name. Example: `\"compute.googleapis.com/activity_log\"`." + "description": "The resource name of the log. Example: `\"/projects/my-gcp-project-id/logs/LOG_NAME\"`, where `LOG_NAME` is the URL-encoded given name of the log. The log includes those log entries whose `LogEntry.log` field contains this given name. To avoid name collisions, it is a best practice to prefix the given log name with the service name, but this is not required. Examples of log given names: `\"appengine.googleapis.com/request_log\"`, `\"apache-access\"`." }, "displayName": { "type": "string", - "description": "Name used when displaying the log to the user (for example, in a UI). Example: `\"activity_log\"`" + "description": "_Optional._ The common name of the log. Example: `\"request_log\"`." }, "payloadType": { "type": "string", - "description": "Type URL describing the expected payload type for the log." + "description": "_Optional_. A URI representing the expected payload type for log entries." } } }, "Empty": { "id": "Empty", "type": "object", - "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); }" + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." }, "WriteLogEntriesRequest": { "id": "WriteLogEntriesRequest", @@ -149,7 +171,7 @@ "properties": { "commonLabels": { "type": "object", - "description": "Metadata labels that apply to all entries in this request. If one of the log entries contains a (key, value) with the same key that is in `commonLabels`, then the entry's (key, value) overrides the one in `commonLabels`.", + "description": "Metadata labels that apply to all log entries in this request, so that you don't have to repeat them in each log entry's `metadata.labels` field. If any of the log entries contains a (key, value) with the same key that is in `commonLabels`, then the entry's (key, value) overrides the one in `commonLabels`.", "additionalProperties": { "type": "string" } @@ -199,6 +221,10 @@ "log": { "type": "string", "description": "The log to which this entry belongs. When a log entry is ingested, the value of this field is set by the logging system." + }, + "httpRequest": { + "$ref": "HttpRequest", + "description": "Information about the HTTP request associated with this log entry, if applicable." } } }, @@ -255,6 +281,56 @@ } } }, + "HttpRequest": { + "id": "HttpRequest", + "type": "object", + "description": "A common proto for logging HTTP requests.", + "properties": { + "requestMethod": { + "type": "string", + "description": "Request method, such as `GET`, `HEAD`, `PUT` or `POST`." + }, + "requestUrl": { + "type": "string", + "description": "Contains the scheme (http|https), the host name, the path and the query portion of the URL that was requested." + }, + "requestSize": { + "type": "string", + "description": "Size of the HTTP request message in bytes, including request headers and the request body.", + "format": "int64" + }, + "status": { + "type": "integer", + "description": "A response code indicates the status of response, e.g., 200.", + "format": "int32" + }, + "responseSize": { + "type": "string", + "description": "Size of the HTTP response message in bytes sent back to the client, including response headers and response body.", + "format": "int64" + }, + "userAgent": { + "type": "string", + "description": "User agent sent by the client, e.g., \"Mozilla/4.0 (compatible; MSIE 6.0; Windows 98; Q312461; .NET CLR 1.0.3705)\"." + }, + "remoteIp": { + "type": "string", + "description": "IP address of the client who issues the HTTP request. Could be either IPv4 or IPv6." + }, + "referer": { + "type": "string", + "description": "Referer (a.k.a. referrer) URL of request, as defined in http://www.w3.org/Protocols/rfc2616/rfc2616-sec14.html." + }, + "cacheHit": { + "type": "boolean", + "description": "Whether or not an entity was served from cache (with or without validation)." + }, + "validatedWithOriginServer": { + "type": "boolean", + "description": "Whether or not the response was validated with the origin server before being served from cache. This field is only meaningful if cache_hit is True." + } + } + }, "WriteLogEntriesResponse": { "id": "WriteLogEntriesResponse", "type": "object", @@ -281,15 +357,15 @@ "LogService": { "id": "LogService", "type": "object", - "description": "A log service object.", + "description": "_Output only._ Describes a service that writes log entries.", "properties": { "name": { "type": "string", - "description": "The service's name." + "description": "The service's name. Example: `\"appengine.googleapis.com\"`. Log names beginning with this string are reserved for this service. This value can appear in the `LogEntry.metadata.serviceName` field of log entries associated with this log service." }, "indexKeys": { "type": "array", - "description": "Label keys used when labeling log entries for this service. The order of the keys is significant, with higher priority keys coming earlier in the list.", + "description": "A list of the names of the keys used to index and label individual log entries from this service. The first two keys are used as the primary and secondary index, respectively. Additional keys may be used to label the entries. For example, App Engine indexes its entries by module and by version, so its `indexKeys` field is the following: [ \"appengine.googleapis.com/module_id\", \"appengine.googleapis.com/version_id\" ]", "items": { "type": "string" } @@ -303,14 +379,14 @@ "properties": { "serviceIndexPrefixes": { "type": "array", - "description": "A list of log service index prefixes.", + "description": "A list of log service index values. Each index value has the form `\"/value1/value2/...\"`, where `value1` is a value in the primary index, `value2` is a value in the secondary index, and so forth.", "items": { "type": "string" } }, "nextPageToken": { "type": "string", - "description": "If there are more results, then `nextPageToken` is returned in the response. To get the next batch of indexes, use the value of `nextPageToken` as `pageToken` in the next call of `ListLogServiceIndexess`. If `nextPageToken` is empty, then there are no more results." + "description": "If there are more results, then `nextPageToken` is returned in the response. To get the next batch of indexes, use the value of `nextPageToken` as `pageToken` in the next call of `ListLogServiceIndexes`. If `nextPageToken` is empty, then there are no more results." } } }, @@ -321,7 +397,7 @@ "properties": { "sinks": { "type": "array", - "description": "The requested log sinks. If any of the returned `LogSink` objects have an empty `destination` field, then call `logServices.sinks.get` to retrieve the complete `LogSink` object.", + "description": "The requested log sinks. If a returned `LogSink` object has an empty `destination` field, the client can retrieve the complete `LogSink` object by calling `log.sinks.get`.", "items": { "$ref": "LogSink" } @@ -331,19 +407,23 @@ "LogSink": { "id": "LogSink", "type": "object", - "description": "An object that describes where a log may be written.", + "description": "Describes where log entries are written outside of Cloud Logging.", "properties": { "name": { "type": "string", - "description": "The name of this sink. This is a client-assigned identifier for the resource. This is ignored by UpdateLogSink and UpdateLogServicesSink." + "description": "The client-assigned name of this sink. For example, `\"my-syslog-sink\"`. The name must be unique among the sinks of a similar kind in the project." }, "destination": { "type": "string", - "description": "The resource to send log entries to. The supported sink resource types are: + Google Cloud Storage: `storage.googleapis.com/BUCKET` or `BUCKET.storage.googleapis.com/` + Google BigQuery: `bigquery.googleapis.com/projects/PROJECT/datasets/DATASET` Currently the Cloud Logging API supports at most one sink for each resource type per log or log service resource." + "description": "The resource name of the destination. Cloud Logging writes designated log entries to this destination. For example, `\"storage.googleapis.com/my-output-bucket\"`." + }, + "filter": { + "type": "string", + "description": "An advanced logs filter. If present, only log entries matching the filter are written. Only project sinks use this field; log sinks and log service sinks must not include a filter." }, "errors": { "type": "array", - "description": "_Output only._ All active errors found for this sink.", + "description": "_Output only._ If any errors occur when invoking a sink method, then this field contains descriptions of the errors.", "items": { "$ref": "LogError" } @@ -353,19 +433,19 @@ "LogError": { "id": "LogError", "type": "object", - "description": "A problem in a sink or the sink's configuration.", + "description": "Describes a problem with a logging resource or operation.", "properties": { "resource": { "type": "string", - "description": "The resource associated with the error. It may be different from the sink destination. For example, the sink may point to a BigQuery dataset, but the error may refer to a table resource inside the dataset." + "description": "A resource name associated with this error. For example, the name of a Cloud Storage bucket that has insufficient permissions to be a destination for log entries." }, "status": { "$ref": "Status", - "description": "The description of the last error observed." + "description": "The error description, including a classification code, an error message, and other details." }, "timeNanos": { "type": "string", - "description": "The last time the error was observed, in nanoseconds since the Unix epoch.", + "description": "The time the error was observed, in nanoseconds since the Unix epoch.", "format": "int64" } } @@ -373,16 +453,16 @@ "Status": { "id": "Status", "type": "object", - "description": "Represents the RPC error status for Google APIs. See http://go/errormodel for details.", + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of google.rpc.Code, but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.", "properties": { "code": { "type": "integer", - "description": "The status code, which should be an enum value of [google.rpc.Code][].", + "description": "The status code, which should be an enum value of google.rpc.Code.", "format": "int32" }, "message": { "type": "string", - "description": "A developer-facing error message, which should be in English. The user-facing error message should be localized and stored in the [google.rpc.Status.details][google.rpc.Status.details] field." + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client." }, "details": { "type": "array", @@ -404,12 +484,276 @@ "properties": { "sinks": { "type": "array", - "description": "The requested log service sinks. If any of the returned `LogSink` objects have an empty `destination` field, then call `logServices.sinks.get` to retrieve the complete `LogSink` object.", + "description": "The requested log service sinks. If a returned `LogSink` object has an empty `destination` field, the client can retrieve the complete `LogSink` object by calling `logServices.sinks.get`.", "items": { "$ref": "LogSink" } } } + }, + "ListSinksResponse": { + "id": "ListSinksResponse", + "type": "object", + "description": "Result returned from `ListSinks`.", + "properties": { + "sinks": { + "type": "array", + "description": "The requested sinks. If a returned `LogSink` object has an empty `destination` field, the client can retrieve the complete `LogSink` object by calling `projects.sinks.get`.", + "items": { + "$ref": "LogSink" + } + } + } + }, + "ListLogMetricsResponse": { + "id": "ListLogMetricsResponse", + "type": "object", + "description": "Result returned from ListLogMetrics.", + "properties": { + "metrics": { + "type": "array", + "description": "The list of metrics that was requested.", + "items": { + "$ref": "LogMetric" + } + }, + "nextPageToken": { + "type": "string", + "description": "If there are more results, then `nextPageToken` is returned in the response. To get the next batch of entries, use the value of `nextPageToken` as `pageToken` in the next call of `ListLogMetrics`. If `nextPageToken` is empty, then there are no more results." + } + } + }, + "LogMetric": { + "id": "LogMetric", + "type": "object", + "description": "Describes a collected, logs-based metric. The value of the metric is the number of log entries in the project that match the advanced logs filter in the `filter` field.", + "properties": { + "name": { + "type": "string", + "description": "The client-assigned name for this metric, such as `\"severe_errors\"`. Metric names are limited to 1000 characters and can include only the following characters: `-A-Za-z0-9_.,+!*',()%/\\`. The slash character `/` implies a hierarchy of name pieces, and cannot be the first character of the name." + }, + "description": { + "type": "string", + "description": "A description of this metric." + }, + "filter": { + "type": "string", + "description": "An [advanced logs filter](/logging/docs/view/advanced_filters). Example: `\"log:syslog AND metadata.severity\u003e=ERROR\"`." + } + } + }, + "RequestLog": { + "id": "RequestLog", + "type": "object", + "description": "Complete log information about a single request to an application.", + "properties": { + "appId": { + "type": "string", + "description": "Identifies the application that handled this request." + }, + "moduleId": { + "type": "string", + "description": "Identifies the module of the application that handled this request." + }, + "versionId": { + "type": "string", + "description": "Version of the application that handled this request." + }, + "requestId": { + "type": "string", + "description": "Globally unique identifier for a request, based on request start time. Request IDs for requests which started later will compare greater as binary strings than those for requests which started earlier.", + "format": "byte" + }, + "ip": { + "type": "string", + "description": "Origin IP address." + }, + "startTime": { + "type": "string", + "description": "Time at which request was known to have begun processing." + }, + "endTime": { + "type": "string", + "description": "Time at which request was known to end processing." + }, + "latency": { + "type": "string", + "description": "Latency of the request." + }, + "megaCycles": { + "type": "string", + "description": "Number of CPU megacycles used to process request.", + "format": "int64" + }, + "method": { + "type": "string", + "description": "Request method, such as `GET`, `HEAD`, `PUT`, `POST`, or `DELETE`." + }, + "resource": { + "type": "string", + "description": "Contains the path and query portion of the URL that was requested. For example, if the URL was \"http://example.com/app?name=val\", the resource would be \"/app?name=val\". Any trailing fragment (separated by a '#' character) will not be included." + }, + "httpVersion": { + "type": "string", + "description": "HTTP version of request." + }, + "status": { + "type": "integer", + "description": "Response status of request.", + "format": "int32" + }, + "responseSize": { + "type": "string", + "description": "Size in bytes sent back to client by request.", + "format": "int64" + }, + "referrer": { + "type": "string", + "description": "Referrer URL of request." + }, + "userAgent": { + "type": "string", + "description": "User agent used for making request." + }, + "nickname": { + "type": "string", + "description": "A string that identifies a logged-in user who made this request, or empty if the user is not logged in. Most likely, this is the part of the user's email before the '@' sign. The field value is the same for different requests from the same user, but different users may have a similar name. This information is also available to the application via Users API. This field will be populated starting with App Engine 1.9.21." + }, + "urlMapEntry": { + "type": "string", + "description": "File or class within URL mapping used for request. Useful for tracking down the source code which was responsible for managing request. Especially for multiply mapped handlers." + }, + "host": { + "type": "string", + "description": "The Internet host and port number of the resource being requested." + }, + "cost": { + "type": "number", + "description": "An indication of the relative cost of serving this request.", + "format": "double" + }, + "taskQueueName": { + "type": "string", + "description": "Queue name of the request (for an offline request)." + }, + "taskName": { + "type": "string", + "description": "Task name of the request (for an offline request)." + }, + "wasLoadingRequest": { + "type": "boolean", + "description": "Was this request a loading request for this instance?" + }, + "pendingTime": { + "type": "string", + "description": "Time this request spent in the pending request queue, if it was pending at all." + }, + "instanceIndex": { + "type": "integer", + "description": "If the instance that processed this request was individually addressable (i.e. belongs to a manually scaled module), this is the index of the instance.", + "format": "int32" + }, + "finished": { + "type": "boolean", + "description": "If true, represents a finished request. Otherwise, the request is active." + }, + "instanceId": { + "type": "string", + "description": "An opaque identifier for the instance that handled the request.", + "format": "byte" + }, + "line": { + "type": "array", + "description": "List of log lines emitted by the application while serving this request, if requested.", + "items": { + "$ref": "LogLine" + } + }, + "appEngineRelease": { + "type": "string", + "description": "App Engine release version string." + }, + "traceId": { + "type": "string", + "description": "Cloud Trace identifier of the trace for this request." + }, + "sourceReference": { + "type": "array", + "description": "Source code for the application that handled this request. There can be more than one source reference per deployed application if source code is distributed among multiple repositories.", + "items": { + "$ref": "SourceReference" + } + } + } + }, + "LogLine": { + "id": "LogLine", + "type": "object", + "description": "Application log line emitted while processing a request.", + "properties": { + "time": { + "type": "string", + "description": "Time when log entry was made. May be inaccurate." + }, + "severity": { + "type": "string", + "description": "Severity of log.", + "enum": [ + "DEFAULT", + "DEBUG", + "INFO", + "NOTICE", + "WARNING", + "ERROR", + "CRITICAL", + "ALERT", + "EMERGENCY" + ] + }, + "logMessage": { + "type": "string", + "description": "App provided log message." + }, + "sourceLocation": { + "$ref": "SourceLocation", + "description": "Line of code that generated this log message." + } + } + }, + "SourceLocation": { + "id": "SourceLocation", + "type": "object", + "description": "Specifies a location in a source file.", + "properties": { + "file": { + "type": "string", + "description": "Source file name. May or may not be a fully qualified name, depending on the runtime environment." + }, + "line": { + "type": "string", + "description": "Line within the source file.", + "format": "int64" + }, + "functionName": { + "type": "string", + "description": "Human-readable name of the function or method being invoked, with optional context such as the class or package name, for use in contexts such as the logs viewer where file:line number is less meaningful. This may vary by language, for example: in Java: qual.if.ied.Class.method in Go: dir/package.func in Python: function ..." + } + } + }, + "SourceReference": { + "id": "SourceReference", + "type": "object", + "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", + "properties": { + "repository": { + "type": "string", + "description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"" + }, + "revisionId": { + "type": "string", + "description": "The canonical (and persistent) identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"" + } + } } }, "resources": { @@ -421,22 +765,22 @@ "id": "logging.projects.logs.list", "path": "v1beta3/projects/{projectsId}/logs", "httpMethod": "GET", - "description": "Lists log resources belonging to the specified project.", + "description": "Lists the logs in the project. Only logs that have entries are listed.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `projectName`. The project name for which to list the log resources.", + "description": "Part of `projectName`. The resource name of the project whose logs are requested. If both `serviceName` and `serviceIndexPrefix` are empty, then all logs with entries in this project are listed.", "required": true, "location": "path" }, "serviceName": { "type": "string", - "description": "A service name for which to list logs. Only logs containing entries whose metadata includes this service name are returned. If `serviceName` and `serviceIndexPrefix` are both empty, then all log names are returned. To list all log names, regardless of service, leave both the `serviceName` and `serviceIndexPrefix` empty. To list log names containing entries with a particular service name (or explicitly empty service name) set `serviceName` to the desired value and `serviceIndexPrefix` to `\"/\"`.", + "description": "If not empty, this field must be a log service name such as `\"compute.googleapis.com\"`. Only logs associated with that that log service are listed.", "location": "query" }, "serviceIndexPrefix": { "type": "string", - "description": "A log service index prefix for which to list logs. Only logs containing entries whose metadata that includes these label values (associated with index keys) are returned. The prefix is a slash separated list of values, and need not specify all index labels. An empty index (or a single slash) matches all log service indexes.", + "description": "The purpose of this field is to restrict the listed logs to those with entries of a certain kind. If `serviceName` is the name of a log service, then this field may contain values for the log service's indexes. Only logs that have entries whose indexes include the values are listed. The format for this field is `\"/val1/val2.../valN\"`, where `val1` is a value for the first index, `val2` for the second index, etc. An empty value (a single slash) for an index matches all values, and you can omit values for later indexes entirely.", "location": "query" }, "pageSize": { @@ -458,18 +802,21 @@ "$ref": "ListLogsResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" ] }, "delete": { "id": "logging.projects.logs.delete", "path": "v1beta3/projects/{projectsId}/logs/{logsId}", "httpMethod": "DELETE", - "description": "Deletes the specified log resource and all log entries contained in it.", + "description": "Deletes a log and all its log entries. The log will reappear if it receives new entries.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `logName`. The log resource to delete.", + "description": "Part of `logName`. The resource name of the log to be deleted.", "required": true, "location": "path" }, @@ -488,7 +835,8 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" ] } }, @@ -499,11 +847,11 @@ "id": "logging.projects.logs.entries.write", "path": "v1beta3/projects/{projectsId}/logs/{logsId}/entries:write", "httpMethod": "POST", - "description": "Creates one or more log entries in a log. You must supply a list of `LogEntry` objects, named `entries`. Each `LogEntry` object must contain a payload object and a `LogEntryMetadata` object that describes the entry. You must fill in all the fields of the entry, metadata, and payload. You can also supply a map, `commonLabels`, that supplies default (key, value) data for the `entries[].metadata.labels` maps, saving you the trouble of creating identical copies for each entry.", + "description": "Writes log entries to Cloud Logging. Each entry consists of a `LogEntry` object. You must fill in all the fields of the object, including one of the payload fields. You may supply a map, `commonLabels`, that holds default (key, value) data for the `entries[].metadata.labels` map in each entry, saving you the trouble of creating identical copies for each entry.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `logName`. The name of the log resource into which to insert the log entries.", + "description": "Part of `logName`. The resource name of the log that will receive the log entries.", "required": true, "location": "path" }, @@ -525,7 +873,9 @@ "$ref": "WriteLogEntriesResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.write" ] } } @@ -536,11 +886,11 @@ "id": "logging.projects.logs.sinks.list", "path": "v1beta3/projects/{projectsId}/logs/{logsId}/sinks", "httpMethod": "GET", - "description": "Lists log sinks associated with the specified log.", + "description": "Lists log sinks associated with a log.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `logName`. The log for which to list sinks.", + "description": "Part of `logName`. The log whose sinks are wanted. For example, `\"compute.google.com/syslog\"`.", "required": true, "location": "path" }, @@ -559,18 +909,21 @@ "$ref": "ListLogSinksResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" ] }, "get": { "id": "logging.projects.logs.sinks.get", "path": "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}", "httpMethod": "GET", - "description": "Gets the specified log sink resource.", + "description": "Gets a log sink.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `sinkName`. The name of the sink resource to return.", + "description": "Part of `sinkName`. The resource name of the log sink to return.", "required": true, "location": "path" }, @@ -596,18 +949,21 @@ "$ref": "LogSink" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" ] }, "create": { "id": "logging.projects.logs.sinks.create", "path": "v1beta3/projects/{projectsId}/logs/{logsId}/sinks", "httpMethod": "POST", - "description": "Creates the specified log sink resource.", + "description": "Creates a log sink. All log entries for a specified log are written to the destination.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `logName`. The log in which to create a sink resource.", + "description": "Part of `logName`. The resource name of the log to which to the sink is bound.", "required": true, "location": "path" }, @@ -629,18 +985,19 @@ "$ref": "LogSink" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" ] }, "update": { "id": "logging.projects.logs.sinks.update", "path": "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}", "httpMethod": "PUT", - "description": "Creates or updates the specified log sink resource.", + "description": "Updates a log sink. If the sink does not exist, it is created.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `sinkName`. The name of the sink to update.", + "description": "Part of `sinkName`. The resource name of the sink to update.", "required": true, "location": "path" }, @@ -669,18 +1026,19 @@ "$ref": "LogSink" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" ] }, "delete": { "id": "logging.projects.logs.sinks.delete", "path": "v1beta3/projects/{projectsId}/logs/{logsId}/sinks/{sinksId}", "httpMethod": "DELETE", - "description": "Deletes the specified log sink resource.", + "description": "Deletes a log sink. After deletion, no new log entries are written to the destination.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `sinkName`. The name of the sink to delete.", + "description": "Part of `sinkName`. The resource name of the log sink to delete.", "required": true, "location": "path" }, @@ -706,7 +1064,8 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" ] } } @@ -719,19 +1078,14 @@ "id": "logging.projects.logServices.list", "path": "v1beta3/projects/{projectsId}/logServices", "httpMethod": "GET", - "description": "Lists log services associated with log entries ingested for a project.", + "description": "Lists the log services that have log entries in this project.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `projectName`. The project resource whose services are to be listed.", + "description": "Part of `projectName`. The resource name of the project whose services are to be listed.", "required": true, "location": "path" }, - "log": { - "type": "string", - "description": "The name of the log resource whose services are to be listed. log for which to list services. When empty, all services are listed.", - "location": "query" - }, "pageSize": { "type": "integer", "description": "The maximum number of `LogService` objects to return in one operation.", @@ -751,7 +1105,10 @@ "$ref": "ListLogServicesResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" ] } }, @@ -762,11 +1119,11 @@ "id": "logging.projects.logServices.indexes.list", "path": "v1beta3/projects/{projectsId}/logServices/{logServicesId}/indexes", "httpMethod": "GET", - "description": "Lists log service indexes associated with a log service.", + "description": "Lists the current index values for a log service.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `serviceName`. A log service resource of the form `/projects/*/logServices/*`. The service indexes of the log service are returned. Example: `\"/projects/myProj/logServices/appengine.googleapis.com\"`.", + "description": "Part of `serviceName`. The resource name of a log service whose service indexes are requested. Example: `\"projects/my-project-id/logServices/appengine.googleapis.com\"`.", "required": true, "location": "path" }, @@ -778,20 +1135,15 @@ }, "indexPrefix": { "type": "string", - "description": "Restricts the indexes returned to be those with a specified prefix. The prefix has the form `\"/label_value/label_value/...\"`, in order corresponding to the [`LogService indexKeys`][google.logging.v1.LogService.index_keys]. Non-empty prefixes must begin with `/` . Example prefixes: + `\"/myModule/\"` retrieves App Engine versions associated with `myModule`. The trailing slash terminates the value. + `\"/myModule\"` retrieves App Engine modules with names beginning with `myModule`. + `\"\"` retrieves all indexes.", + "description": "Restricts the index values returned to be those with a specified prefix for each index key. This field has the form `\"/prefix1/prefix2/...\"`, in order corresponding to the `LogService indexKeys`. Non-empty prefixes must begin with `/`. For example, App Engine's two keys are the module ID and the version ID. Following is the effect of using various values for `indexPrefix`: + `\"/Mod/\"` retrieves `/Mod/10` and `/Mod/11` but not `/ModA/10`. + `\"/Mod` retrieves `/Mod/10`, `/Mod/11` and `/ModA/10` but not `/XXX/33`. + `\"/Mod/1\"` retrieves `/Mod/10` and `/Mod/11` but not `/ModA/10`. + `\"/Mod/10/\"` retrieves `/Mod/10` only. + An empty prefix or `\"/\"` retrieves all values.", "location": "query" }, "depth": { "type": "integer", - "description": "A limit to the number of levels of the index hierarchy that are expanded. If `depth` is 0, it defaults to the level specified by the prefix field (the number of slash separators). The default empty prefix implies a `depth` of 1. It is an error for `depth` to be any non-zero value less than the number of components in `indexPrefix`.", + "description": "A non-negative integer that limits the number of levels of the index hierarchy that are returned. If `depth` is 1 (default), only the first index key value is returned. If `depth` is 2, both primary and secondary key values are returned. If `depth` is 0, the depth is the number of slash-separators in the `indexPrefix` field, not counting a slash appearing as the last character of the prefix. If the `indexPrefix` field is empty, the default depth is 1. It is an error for `depth` to be any positive value less than the number of components in `indexPrefix`.", "format": "int32", "location": "query" }, - "log": { - "type": "string", - "description": "A log resource like `/projects/project_id/logs/log_name`, identifying the log for which to list service indexes.", - "location": "query" - }, "pageSize": { "type": "integer", "description": "The maximum number of log service index resources to return in one operation.", @@ -812,7 +1164,10 @@ "$ref": "ListLogServiceIndexesResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" ] } } @@ -823,11 +1178,11 @@ "id": "logging.projects.logServices.sinks.list", "path": "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks", "httpMethod": "GET", - "description": "Lists log service sinks associated with the specified service.", + "description": "Lists log service sinks associated with a log service.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `serviceName`. The name of the service for which to list sinks.", + "description": "Part of `serviceName`. The log service whose sinks are wanted.", "required": true, "location": "path" }, @@ -846,18 +1201,21 @@ "$ref": "ListLogServiceSinksResponse" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" ] }, "get": { "id": "logging.projects.logServices.sinks.get", "path": "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}", "httpMethod": "GET", - "description": "Gets the specified log service sink resource.", + "description": "Gets a log service sink.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `sinkName`. The name of the sink to return.", + "description": "Part of `sinkName`. The resource name of the log service sink to return.", "required": true, "location": "path" }, @@ -883,18 +1241,21 @@ "$ref": "LogSink" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" ] }, "create": { "id": "logging.projects.logServices.sinks.create", "path": "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks", "httpMethod": "POST", - "description": "Creates the specified log service sink resource.", + "description": "Creates a log service sink. All log entries from a specified log service are written to the destination.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `serviceName`. The name of the service in which to create a sink.", + "description": "Part of `serviceName`. The resource name of the log service to which the sink is bound.", "required": true, "location": "path" }, @@ -916,18 +1277,19 @@ "$ref": "LogSink" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" ] }, "update": { "id": "logging.projects.logServices.sinks.update", "path": "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}", "httpMethod": "PUT", - "description": "Creates or update the specified log service sink resource.", + "description": "Updates a log service sink. If the sink does not exist, it is created.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `sinkName`. The name of the sink to update.", + "description": "Part of `sinkName`. The resource name of the log service sink to update.", "required": true, "location": "path" }, @@ -956,18 +1318,19 @@ "$ref": "LogSink" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" ] }, "delete": { "id": "logging.projects.logServices.sinks.delete", "path": "v1beta3/projects/{projectsId}/logServices/{logServicesId}/sinks/{sinksId}", "httpMethod": "DELETE", - "description": "Deletes the specified log service sink.", + "description": "Deletes a log service sink. After deletion, no new log entries are written to the destination.", "parameters": { "projectsId": { "type": "string", - "description": "Part of `sinkName`. The name of the sink to delete.", + "description": "Part of `sinkName`. The resource name of the log service sink to delete.", "required": true, "location": "path" }, @@ -993,12 +1356,334 @@ "$ref": "Empty" }, "scopes": [ - "https://www.googleapis.com/auth/cloud-platform" + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" ] } } } } + }, + "sinks": { + "methods": { + "list": { + "id": "logging.projects.sinks.list", + "path": "v1beta3/projects/{projectsId}/sinks", + "httpMethod": "GET", + "description": "Lists project sinks associated with a project.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `projectName`. The project whose sinks are wanted.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId" + ], + "response": { + "$ref": "ListSinksResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "get": { + "id": "logging.projects.sinks.get", + "path": "v1beta3/projects/{projectsId}/sinks/{sinksId}", + "httpMethod": "GET", + "description": "Gets a project sink.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `sinkName`. The resource name of the project sink to return.", + "required": true, + "location": "path" + }, + "sinksId": { + "type": "string", + "description": "Part of `sinkName`. See documentation of `projectsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId", + "sinksId" + ], + "response": { + "$ref": "LogSink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "create": { + "id": "logging.projects.sinks.create", + "path": "v1beta3/projects/{projectsId}/sinks", + "httpMethod": "POST", + "description": "Creates a project sink. A logs filter determines which log entries are written to the destination.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `projectName`. The resource name of the project to which the sink is bound.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId" + ], + "request": { + "$ref": "LogSink" + }, + "response": { + "$ref": "LogSink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "update": { + "id": "logging.projects.sinks.update", + "path": "v1beta3/projects/{projectsId}/sinks/{sinksId}", + "httpMethod": "PUT", + "description": "Updates a project sink. If the sink does not exist, it is created. The destination, filter, or both may be updated.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `sinkName`. The resource name of the project sink to update.", + "required": true, + "location": "path" + }, + "sinksId": { + "type": "string", + "description": "Part of `sinkName`. See documentation of `projectsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId", + "sinksId" + ], + "request": { + "$ref": "LogSink" + }, + "response": { + "$ref": "LogSink" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "delete": { + "id": "logging.projects.sinks.delete", + "path": "v1beta3/projects/{projectsId}/sinks/{sinksId}", + "httpMethod": "DELETE", + "description": "Deletes a project sink. After deletion, no new log entries are written to the destination.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `sinkName`. The resource name of the project sink to delete.", + "required": true, + "location": "path" + }, + "sinksId": { + "type": "string", + "description": "Part of `sinkName`. See documentation of `projectsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId", + "sinksId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + } + } + }, + "metrics": { + "methods": { + "list": { + "id": "logging.projects.metrics.list", + "path": "v1beta3/projects/{projectsId}/metrics", + "httpMethod": "GET", + "description": "List log metrics associated with the specified project.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `projectName`. The resource name for the project whose metrics are wanted.", + "required": true, + "location": "path" + }, + "pageToken": { + "type": "string", + "description": "An opaque token, returned as `nextPageToken` by a prior `ListLogMetrics` operation. If `pageToken` is supplied, then the other fields of this request are ignored, and instead the previous `ListLogMetrics` operation is continued.", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "The maximum number of `LogMetric` objects to return in one operation.", + "format": "int32", + "location": "query" + } + }, + "parameterOrder": [ + "projectsId" + ], + "response": { + "$ref": "ListLogMetricsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "get": { + "id": "logging.projects.metrics.get", + "path": "v1beta3/projects/{projectsId}/metrics/{metricsId}", + "httpMethod": "GET", + "description": "Get the specified log metric resource.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `metricName`. The resource name of the desired metric.", + "required": true, + "location": "path" + }, + "metricsId": { + "type": "string", + "description": "Part of `metricName`. See documentation of `projectsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId", + "metricsId" + ], + "response": { + "$ref": "LogMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", + "https://www.googleapis.com/auth/logging.admin", + "https://www.googleapis.com/auth/logging.read" + ] + }, + "create": { + "id": "logging.projects.metrics.create", + "path": "v1beta3/projects/{projectsId}/metrics", + "httpMethod": "POST", + "description": "Create the specified log metric resource.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `projectName`. The resource name of the project in which to create the metric.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId" + ], + "request": { + "$ref": "LogMetric" + }, + "response": { + "$ref": "LogMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "update": { + "id": "logging.projects.metrics.update", + "path": "v1beta3/projects/{projectsId}/metrics/{metricsId}", + "httpMethod": "PUT", + "description": "Create or update the specified log metric resource.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `metricName`. The resource name of the metric to update.", + "required": true, + "location": "path" + }, + "metricsId": { + "type": "string", + "description": "Part of `metricName`. See documentation of `projectsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId", + "metricsId" + ], + "request": { + "$ref": "LogMetric" + }, + "response": { + "$ref": "LogMetric" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + }, + "delete": { + "id": "logging.projects.metrics.delete", + "path": "v1beta3/projects/{projectsId}/metrics/{metricsId}", + "httpMethod": "DELETE", + "description": "Deletes the specified log metric.", + "parameters": { + "projectsId": { + "type": "string", + "description": "Part of `metricName`. The resource name of the metric to delete.", + "required": true, + "location": "path" + }, + "metricsId": { + "type": "string", + "description": "Part of `metricName`. See documentation of `projectsId`.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectsId", + "metricsId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/logging.admin" + ] + } + } } } } diff --git a/etc/api/logging/v2beta1/logging-api.json b/etc/api/logging/v2beta1/logging-api.json new file mode 100644 index 0000000000..405d244259 --- /dev/null +++ b/etc/api/logging/v2beta1/logging-api.json @@ -0,0 +1,318 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Dl8jzEbCLfW8aU_OmsbXBqEUy5Y\"", + "discoveryVersion": "v1", + "id": "logging:v2beta1", + "name": "logging", + "version": "v2beta1", + "revision": "20151007", + "title": "Google Cloud Logging API", + "description": "Google Cloud Logging API lets you create logs, ingest log entries, and manage log sinks.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://cloud.google.com/logging/docs/", + "protocol": "rest", + "baseUrl": "https://logging.googleapis.com/", + "basePath": "/", + "rootUrl": "https://logging.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "schemas": { + "RequestLog": { + "id": "RequestLog", + "type": "object", + "description": "Complete log information about a single request to an application.", + "properties": { + "appId": { + "type": "string", + "description": "Identifies the application that handled this request." + }, + "moduleId": { + "type": "string", + "description": "Identifies the module of the application that handled this request." + }, + "versionId": { + "type": "string", + "description": "Version of the application that handled this request." + }, + "requestId": { + "type": "string", + "description": "Globally unique identifier for a request, based on request start time. Request IDs for requests which started later will compare greater as binary strings than those for requests which started earlier.", + "format": "byte" + }, + "ip": { + "type": "string", + "description": "Origin IP address." + }, + "startTime": { + "type": "string", + "description": "Time at which request was known to have begun processing." + }, + "endTime": { + "type": "string", + "description": "Time at which request was known to end processing." + }, + "latency": { + "type": "string", + "description": "Latency of the request." + }, + "megaCycles": { + "type": "string", + "description": "Number of CPU megacycles used to process request.", + "format": "int64" + }, + "method": { + "type": "string", + "description": "Request method, such as `GET`, `HEAD`, `PUT`, `POST`, or `DELETE`." + }, + "resource": { + "type": "string", + "description": "Contains the path and query portion of the URL that was requested. For example, if the URL was \"http://example.com/app?name=val\", the resource would be \"/app?name=val\". Any trailing fragment (separated by a '#' character) will not be included." + }, + "httpVersion": { + "type": "string", + "description": "HTTP version of request." + }, + "status": { + "type": "integer", + "description": "Response status of request.", + "format": "int32" + }, + "responseSize": { + "type": "string", + "description": "Size in bytes sent back to client by request.", + "format": "int64" + }, + "referrer": { + "type": "string", + "description": "Referrer URL of request." + }, + "userAgent": { + "type": "string", + "description": "User agent used for making request." + }, + "nickname": { + "type": "string", + "description": "A string that identifies a logged-in user who made this request, or empty if the user is not logged in. Most likely, this is the part of the user's email before the '@' sign. The field value is the same for different requests from the same user, but different users may have a similar name. This information is also available to the application via Users API. This field will be populated starting with App Engine 1.9.21." + }, + "urlMapEntry": { + "type": "string", + "description": "File or class within URL mapping used for request. Useful for tracking down the source code which was responsible for managing request. Especially for multiply mapped handlers." + }, + "host": { + "type": "string", + "description": "The Internet host and port number of the resource being requested." + }, + "cost": { + "type": "number", + "description": "An indication of the relative cost of serving this request.", + "format": "double" + }, + "taskQueueName": { + "type": "string", + "description": "Queue name of the request (for an offline request)." + }, + "taskName": { + "type": "string", + "description": "Task name of the request (for an offline request)." + }, + "wasLoadingRequest": { + "type": "boolean", + "description": "Was this request a loading request for this instance?" + }, + "pendingTime": { + "type": "string", + "description": "Time this request spent in the pending request queue, if it was pending at all." + }, + "instanceIndex": { + "type": "integer", + "description": "If the instance that processed this request was individually addressable (i.e. belongs to a manually scaled module), this is the index of the instance.", + "format": "int32" + }, + "finished": { + "type": "boolean", + "description": "If true, represents a finished request. Otherwise, the request is active." + }, + "instanceId": { + "type": "string", + "description": "An opaque identifier for the instance that handled the request.", + "format": "byte" + }, + "line": { + "type": "array", + "description": "List of log lines emitted by the application while serving this request, if requested.", + "items": { + "$ref": "LogLine" + } + }, + "appEngineRelease": { + "type": "string", + "description": "App Engine release version string." + }, + "traceId": { + "type": "string", + "description": "Cloud Trace identifier of the trace for this request." + }, + "sourceReference": { + "type": "array", + "description": "Source code for the application that handled this request. There can be more than one source reference per deployed application if source code is distributed among multiple repositories.", + "items": { + "$ref": "SourceReference" + } + } + } + }, + "LogLine": { + "id": "LogLine", + "type": "object", + "description": "Application log line emitted while processing a request.", + "properties": { + "time": { + "type": "string", + "description": "Time when log entry was made. May be inaccurate." + }, + "severity": { + "type": "string", + "description": "Severity of log.", + "enum": [ + "DEFAULT", + "DEBUG", + "INFO", + "NOTICE", + "WARNING", + "ERROR", + "CRITICAL", + "ALERT", + "EMERGENCY" + ] + }, + "logMessage": { + "type": "string", + "description": "App provided log message." + }, + "sourceLocation": { + "$ref": "SourceLocation", + "description": "Line of code that generated this log message." + } + } + }, + "SourceLocation": { + "id": "SourceLocation", + "type": "object", + "description": "Specifies a location in a source file.", + "properties": { + "file": { + "type": "string", + "description": "Source file name. May or may not be a fully qualified name, depending on the runtime environment." + }, + "line": { + "type": "string", + "description": "Line within the source file.", + "format": "int64" + }, + "functionName": { + "type": "string", + "description": "Human-readable name of the function or method being invoked, with optional context such as the class or package name, for use in contexts such as the logs viewer where file:line number is less meaningful. This may vary by language, for example: in Java: qual.if.ied.Class.method in Go: dir/package.func in Python: function ..." + } + } + }, + "SourceReference": { + "id": "SourceReference", + "type": "object", + "description": "A reference to a particular snapshot of the source tree used to build and deploy an application.", + "properties": { + "repository": { + "type": "string", + "description": "Optional. A URI string identifying the repository. Example: \"https://github.com/GoogleCloudPlatform/kubernetes.git\"" + }, + "revisionId": { + "type": "string", + "description": "The canonical (and persistent) identifier of the deployed revision. Example (git): \"0035781c50ec7aa23385dc841529ce8a4b70db1b\"" + } + } + } + } +} diff --git a/etc/api/manager/v1beta2/manager-api.json b/etc/api/manager/v1beta2/manager-api.json index 6067731b47..daff541653 100644 --- a/etc/api/manager/v1beta2/manager-api.json +++ b/etc/api/manager/v1beta2/manager-api.json @@ -1,6 +1,6 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/iGUA1MFJvjag5CPQwb2aT371UTs\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/E9BDi4qTzFW-I9oO8ahZRyv1jkM\"", "discoveryVersion": "v1", "id": "manager:v1beta2", "name": "manager", @@ -78,6 +78,9 @@ "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" + }, "https://www.googleapis.com/auth/compute": { "description": "View and manage your Google Compute Engine resources" }, @@ -951,6 +954,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -1030,6 +1034,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -1090,6 +1095,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] @@ -1154,6 +1160,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly" ] diff --git a/etc/api/mirror/v1/mirror-api.json b/etc/api/mirror/v1/mirror-api.json index 4b292f9ad3..4378a0b98f 100644 --- a/etc/api/mirror/v1/mirror-api.json +++ b/etc/api/mirror/v1/mirror-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/TaU9owdCZD7i0BuO1A_nVxyBOqs\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/o0Wg8W0-LppORmepmu9e1YoBzKM\"", "discoveryVersion": "v1", "id": "mirror:v1", "name": "mirror", "version": "v1", - "revision": "20150326", + "revision": "20150720", "title": "Google Mirror API", "description": "API for interacting with Glass users via the timeline.", "ownerDomain": "google.com", diff --git a/etc/api/oauth2/v1/oauth2-api.json b/etc/api/oauth2/v1/oauth2-api.json index c7142e8cc2..305f286543 100644 --- a/etc/api/oauth2/v1/oauth2-api.json +++ b/etc/api/oauth2/v1/oauth2-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/E7VrRWc2416Btp9uIQ42rmbOltA\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/_Yo6WFFwQkkD8hP1TqMCHQ0osAo\"", "discoveryVersion": "v1", "id": "oauth2:v1", "name": "oauth2", "version": "v1", - "revision": "20150714", + "revision": "20151002", "title": "Google OAuth2 API", "description": "Lets you access OAuth2 protocol related APIs.", "ownerDomain": "google.com", diff --git a/etc/api/oauth2/v2/oauth2-api.json b/etc/api/oauth2/v2/oauth2-api.json index 5c66f64579..a04474cf12 100644 --- a/etc/api/oauth2/v2/oauth2-api.json +++ b/etc/api/oauth2/v2/oauth2-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/OFeFpj7h7BFiyShP6KkN87ag7EM\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/aj2zTrq7lUzT-RGtRxhHE62wCws\"", "discoveryVersion": "v1", "id": "oauth2:v2", "name": "oauth2", "version": "v2", - "revision": "20150714", + "revision": "20151002", "title": "Google OAuth2 API", "description": "Lets you access OAuth2 protocol related APIs.", "ownerDomain": "google.com", diff --git a/etc/api/partners/v2/partners-api.json b/etc/api/partners/v2/partners-api.json new file mode 100644 index 0000000000..a98e163e73 --- /dev/null +++ b/etc/api/partners/v2/partners-api.json @@ -0,0 +1,1378 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Stn48qQKN4zxjxtjQryNX8fVudk\"", + "discoveryVersion": "v1", + "id": "partners:v2", + "name": "partners", + "version": "v2", + "revision": "20151009", + "title": "Google Partners API", + "description": "Lets advertisers search certified companies and create contact leads with them, and also audits the usage of clients.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/partners/", + "protocol": "rest", + "baseUrl": "https://partners.googleapis.com/", + "basePath": "/", + "rootUrl": "https://partners.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "schemas": { + "LogUserEventRequest": { + "id": "LogUserEventRequest", + "type": "object", + "description": "Request message for LogUserEvent.", + "properties": { + "requestMetadata": { + "$ref": "RequestMetadata", + "description": "Current request metadata." + }, + "eventAction": { + "type": "string", + "description": "The action that occurred.", + "enum": [ + "EVENT_ACTION_UNSPECIFIED", + "SMB_CLICKED_FIND_A_PARTNER_BUTTON_BOTTOM", + "SMB_CLICKED_FIND_A_PARTNER_BUTTON_TOP", + "AGENCY_CLICKED_JOIN_NOW_BUTTON_BOTTOM", + "AGENCY_CLICKED_JOIN_NOW_BUTTON_TOP", + "SMB_CANCELED_PARTNER_CONTACT_FORM", + "SMB_CLICKED_CONTACT_A_PARTNER", + "SMB_COMPLETED_PARTNER_CONTACT_FORM", + "SMB_ENTERED_EMAIL_IN_CONTACT_PARTNER_FORM", + "SMB_ENTERED_NAME_IN_CONTACT_PARTNER_FORM", + "SMB_ENTERED_PHONE_IN_CONTACT_PARTNER_FORM", + "SMB_FAILED_RECAPTCHA_IN_CONTACT_PARTNER_FORM", + "PARTNER_VIEWED_BY_SMB", + "SMB_CANCELED_PARTNER_CONTACT_FORM_ON_GPS", + "SMB_CHANGED_A_SEARCH_PARAMETER_TOP", + "SMB_CLICKED_CONTACT_A_PARTNER_ON_GPS", + "SMB_CLICKED_SHOW_MORE_PARTNERS_BUTTON_BOTTOM", + "SMB_COMPLETED_PARTNER_CONTACT_FORM_ON_GPS", + "SMB_NO_PARTNERS_AVAILABLE_WITH_SEARCH_CRITERIA", + "SMB_PERFORMED_SEARCH_ON_GPS", + "SMB_VIEWED_A_PARTNER_ON_GPS", + "SMB_CANCELED_PARTNER_CONTACT_FORM_ON_PROFILE_PAGE", + "SMB_CLICKED_CONTACT_A_PARTNER_ON_PROFILE_PAGE", + "SMB_CLICKED_PARTNER_WEBSITE", + "SMB_COMPLETED_PARTNER_CONTACT_FORM_ON_PROFILE_PAGE", + "SMB_VIEWED_A_PARTNER_PROFILE", + "AGENCY_CLICKED_ACCEPT_TOS_BUTTON", + "AGENCY_CHANGED_TOS_COUNTRY", + "AGENCY_ADDED_ADDRESS_IN_MY_PROFILE_PORTAL", + "AGENCY_ADDED_PHONE_NUMBER_IN_MY_PROFILE_PORTAL", + "AGENCY_CHANGED_PRIMARY_ACCOUNT_ASSOCIATION", + "AGENCY_CHANGED_PRIMARY_COUNTRY_ASSOCIATION", + "AGENCY_CLICKED_AFFILIATE_BUTTON_IN_MY_PROFILE_IN_PORTAL", + "AGENCY_CLICKED_GIVE_EDIT_ACCESS_IN_MY_PROFILE_PORTAL", + "AGENCY_CLICKED_LOG_OUT_IN_MY_PROFILE_PORTAL", + "AGENCY_CLICKED_MY_PROFILE_LEFT_NAV_IN_PORTAL", + "AGENCY_CLICKED_SAVE_AND_CONTINUE_AT_BOT_OF_COMPLETE_PROFILE", + "AGENCY_CLICKED_UNAFFILIATE_IN_MY_PROFILE_PORTAL", + "AGENCY_FILLED_OUT_COMP_AFFILIATION_IN_MY_PROFILE_PORTAL", + "AGENCY_SUCCESSFULLY_CONNECTED_WITH_COMPANY_IN_MY_PROFILE", + "AGENCY_CLICKED_CREATE_MCC_IN_MY_PROFILE_PORTAL", + "AGENCY_DIDNT_HAVE_AN_MCC_ASSOCIATED_ON_COMPLETE_PROFILE", + "AGENCY_HAD_AN_MCC_ASSOCIATED_ON_COMPLETE_PROFILE", + "AGENCY_ADDED_JOB_FUNCTION_IN_MY_PROFILE_PORTAL", + "AGENCY_LOOKED_AT_JOB_FUNCTION_DROP_DOWN", + "AGENCY_SELECTED_ACCOUNT_MANAGER_AS_JOB_FUNCTION", + "AGENCY_SELECTED_ACCOUNT_PLANNER_AS_JOB_FUNCTION", + "AGENCY_SELECTED_ANALYTICS_AS_JOB_FUNCTION", + "AGENCY_SELECTED_CREATIVE_AS_JOB_FUNCTION", + "AGENCY_SELECTED_MEDIA_BUYER_AS_JOB_FUNCTION", + "AGENCY_SELECTED_MEDIA_PLANNER_AS_JOB_FUNCTION", + "AGENCY_SELECTED_OTHER_AS_JOB_FUNCTION", + "AGENCY_SELECTED_PRODUCTION_AS_JOB_FUNCTION", + "AGENCY_SELECTED_SEO_AS_JOB_FUNCTION", + "AGENCY_SELECTED_SALES_REP_AS_JOB_FUNCTION", + "AGENCY_SELECTED_SEARCH_SPECIALIST_AS_JOB_FUNCTION", + "AGENCY_ADDED_CHANNELS_IN_MY_PROFILE_PORTAL", + "AGENCY_LOOKED_AT_ADD_CHANNEL_DROP_DOWN", + "AGENCY_SELECTED_CROSS_CHANNEL_FROM_ADD_CHANNEL", + "AGENCY_SELECTED_DISPLAY_FROM_ADD_CHANNEL", + "AGENCY_SELECTED_MOBILE_FROM_ADD_CHANNEL", + "AGENCY_SELECTED_SEARCH_FROM_ADD_CHANNEL", + "AGENCY_SELECTED_SOCIAL_FROM_ADD_CHANNEL", + "AGENCY_SELECTED_TOOLS_FROM_ADD_CHANNEL", + "AGENCY_SELECTED_YOUTUBE_FROM_ADD_CHANNEL", + "AGENCY_ADDED_INDUSTRIES_IN_MY_PROFILE_PORTAL", + "AGENCY_CHANGED_ADD_INDUSTRIES_DROP_DOWN", + "AGENCY_ADDED_MARKETS_IN_MY_PROFILE_PORTAL", + "AGENCY_CHANGED_ADD_MARKETS_DROP_DOWN", + "AGENCY_CHECKED_RECIEVE_MAIL_PROMOTIONS_MYPROFILE", + "AGENCY_CHECKED_RECIEVE_MAIL_PROMOTIONS_SIGNUP", + "AGENCY_SELECTED_OPT_IN_BETA_TESTS_AND_MKT_RESEARCH", + "AGENCY_SELECTED_OPT_IN_BETA_TESTS_IN_MY_PROFILE_PORTAL", + "AGENCY_SELECTED_OPT_IN_NEWS_IN_MY_PROFILE_PORTAL", + "AGENCY_SELECTED_OPT_IN_NEWS_INVITATIONS_AND_PROMOS", + "AGENCY_SELECTED_OPT_IN_PERFORMANCE_SUG_IN_MY_PROFILE_PORTAL", + "AGENCY_SELECTED_OPT_IN_PERFORMANCE_SUGGESTIONS", + "AGENCY_SELECTED_OPT_IN_SELECT_ALL_EMAIL_NOTIFICATIONS", + "AGENCY_SELECTED_SELECT_ALL_OPT_INS_IN_MY_PROFILE_PORTAL", + "AGENCY_CLICKED_BACK_BUTTON_ON_CONNECT_WITH_COMPANY", + "AGENCY_CLICKED_CONTINUE_TO_OVERVIEW_ON_CONNECT_WITH_COMPANY", + "AGECNY_CLICKED_CREATE_MCC_CONNECT_WITH_COMPANY_NOT_FOUND", + "AGECNY_CLICKED_GIVE_EDIT_ACCESS_CONNECT_WITH_COMPANY_NOT_FOUND", + "AGECNY_CLICKED_LOG_OUT_CONNECT_WITH_COMPANY_NOT_FOUND", + "AGENCY_CLICKED_SKIP_FOR_NOW_ON_CONNECT_WITH_COMPANY_PAGE", + "AGENCY_CLOSED_CONNECTED_TO_COMPANY_X_BUTTON_WRONG_COMPANY", + "AGENCY_COMPLETED_FIELD_CONNECT_WITH_COMPANY", + "AGECNY_FOUND_COMPANY_TO_CONNECT_WITH", + "AGENCY_SUCCESSFULLY_CREATED_COMPANY", + "AGENCY_ADDED_NEW_COMPANY_LOCATION", + "AGENCY_CLICKED_COMMUNITY_JOIN_NOW_LINK_IN_PORTAL_NOTIFICATIONS", + "AGENCY_CLICKED_CONNECT_TO_COMPANY_LINK_IN_PORTAL_NOTIFICATIONS", + "AGENCY_CLICKED_GET_CERTIFIED_LINK_IN_PORTAL_NOTIFICATIONS", + "AGENCY_CLICKED_GET_VIDEO_ADS_CERTIFIED_LINK_IN_PORTAL_NOTIFICATIONS", + "AGENCY_CLICKED_LINK_TO_MCC_LINK_IN_PORTAL_NOTIFICATIONS", + "AGENCY_CLICKED_INSIGHT_CONTENT_IN_PORTAL", + "AGENCY_CLICKED_INSIGHTS_VIEW_NOW_PITCH_DECKS_IN_PORTAL", + "AGENCY_CLICKED_INSIGHTS_LEFT_NAV_IN_PORTAL", + "AGENCY_CLICKED_INSIGHTS_UPLOAD_CONTENT", + "AGENCY_CLICKED_INSIGHTS_VIEWED_DEPRECATED", + "AGENCY_CLICKED_COMMUNITY_LEFT_NAV_IN_PORTAL", + "AGENCY_CLICKED_JOIN_COMMUNITY_BUTTON_COMMUNITY_PORTAL", + "AGENCY_CLICKED_CERTIFICATIONS_LEFT_NAV_IN_PORTAL", + "AGENCY_CLICKED_CERTIFICATIONS_PRODUCT_LEFT_NAV_IN_PORTAL", + "AGENCY_CLICKED_PARTNER_STATUS_LEFT_NAV_IN_PORTAL", + "AGENCY_CLICKED_PARTNER_STATUS_PRODUCT_LEFT_NAV_IN_PORTAL", + "AGENCY_CLICKED_OFFERS_LEFT_NAV_IN_PORTAL", + "AGENCY_CLICKED_SEND_BUTTON_ON_OFFERS_PAGE", + "AGENCY_CLICKED_EXAM_DETAILS_ON_CERT_ADWORDS_PAGE", + "AGENCY_CLICKED_SEE_EXAMS_CERTIFICATION_MAIN_PAGE", + "AGENCY_CLICKED_TAKE_EXAM_ON_CERT_EXAM_PAGE", + "AGENCY_OPENED_LAST_ADMIN_DIALOG", + "AGENCY_OPENED_DIALOG_WITH_NO_USERS", + "AGENCY_PROMOTED_USER_TO_ADMIN", + "AGENCY_UNAFFILIATED", + "AGENCY_CHANGED_ROLES", + "SMB_CLICKED_COMPANY_NAME_LINK_TO_PROFILE", + "SMB_VIEWED_ADWORDS_CERTIFICATE", + "SMB_CLICKED_ADWORDS_CERTIFICATE_HELP_ICON", + "SMB_VIEWED_ANALYTICS_CERTIFICATE", + "SMB_VIEWED_DOUBLECLICK_CERTIFICATE", + "SMB_VIEWED_VIDEO_ADS_CERTIFICATE", + "SMB_VIEWED_SHOPPING_CERTIFICATE", + "SMB_CLICKED_VIDEO_ADS_CERTIFICATE_HELP_ICON", + "CLICKED_HELP_AT_BOTTOM", + "CLICKED_HELP_AT_TOP", + "CLIENT_ERROR", + "AGENCY_CLICKED_LEFT_NAV_STORIES", + "CLICKED", + "SMB_VIEWED_MOBILE_CERTIFICATE", + "AGENCY_FAILED_COMPANY_VERIFICATION", + "VISITED_LANDING", + "VISITED_GPS", + "VISITED_AGENCY_PORTAL", + "CANCELLED_INDIVIDUAL_SIGN_UP", + "CANCELLED_COMPANY_SIGN_UP", + "AGENCY_CLICKED_SIGN_IN_BUTTON_TOP", + "AGENCY_CLICKED_SAVE_AND_CONTINUE_AT_BOT_OF_INCOMPLETE_PROFILE", + "AGENCY_UNSELECTED_OPT_IN_NEWS_INVITATIONS_AND_PROMOS", + "AGENCY_UNSELECTED_OPT_IN_BETA_TESTS_AND_MKT_RESEARCH", + "AGENCY_UNSELECTED_OPT_IN_PERFORMANCE_SUGGESTIONS", + "AGENCY_SELECTED_OPT_OUT_UNSELECT_ALL_EMAIL_NOTIFICATIONS", + "AGENCY_LINKED_INDIVIDUAL_MCC", + "AGENCY_SUGGESTED_TO_USER", + "AGENCY_IGNORED_SUGGESTED_AGENCIES_AND_SEARCHED", + "AGENCY_PICKED_SUGGESTED_AGENCY", + "AGENCY_SEARCHED_FOR_AGENCIES", + "AGENCY_PICKED_SEARCHED_AGENCY", + "AGENCY_DISMISSED_AFFILIATION_WIDGET", + "AGENCY_CLICKED_INSIGHTS_DOWNLOAD_CONTENT", + "AGENCY_PROGRESS_INSIGHTS_VIEW_CONTENT", + "AGENCY_CLICKED_CANCEL_ACCEPT_TOS_BUTTON", + "SMB_ENTERED_WEBSITE_IN_CONTACT_PARTNER_FORM" + ] + }, + "eventCategory": { + "type": "string", + "description": "The category the action belongs to.", + "enum": [ + "EVENT_CATEGORY_UNSPECIFIED", + "GOOGLE_PARTNER_SEARCH", + "GOOGLE_PARTNER_SIGNUP_FLOW", + "GOOGLE_PARTNER_PORTAL", + "GOOGLE_PARTNER_PORTAL_MY_PROFILE", + "GOOGLE_PARTNER_PORTAL_CERTIFICATIONS", + "GOOGLE_PARTNER_PORTAL_COMMUNITY", + "GOOGLE_PARTNER_PORTAL_INSIGHTS", + "GOOGLE_PARTNER_PORTAL_CLIENTS", + "GOOGLE_PARTNER_PUBLIC_USER_PROFILE", + "GOOGLE_PARTNER_PANEL", + "GOOGLE_PARTNER_PORTAL_LAST_ADMIN_DIALOG", + "GOOGLE_PARTNER_CLIENT", + "GOOGLE_PARTNER_PORTAL_COMPANY_PROFILE", + "EXTERNAL_LINKS", + "GOOGLE_PARTNER_LANDING" + ] + }, + "eventScope": { + "type": "string", + "description": "The scope of the event.", + "enum": [ + "EVENT_SCOPE_UNSPECIFIED", + "VISITOR", + "SESSION", + "PAGE" + ] + }, + "eventDatas": { + "type": "array", + "description": "List of event data for the event.", + "items": { + "$ref": "EventData" + } + }, + "url": { + "type": "string", + "description": "The URL where the event occurred." + }, + "lead": { + "$ref": "Lead", + "description": "Advertiser lead information." + } + } + }, + "RequestMetadata": { + "id": "RequestMetadata", + "type": "object", + "description": "Common data that is in each API request.", + "properties": { + "userOverrides": { + "$ref": "UserOverrides", + "description": "Values to use instead of the user's respective defaults for the current request. These are only honored by whitelisted products." + }, + "locale": { + "type": "string", + "description": "Locale to use for the current request." + }, + "partnersSessionId": { + "type": "string", + "description": "Google Partners session ID." + }, + "experimentIds": { + "type": "array", + "description": "Experiment IDs the current request belongs to.", + "items": { + "type": "string" + } + }, + "trafficSource": { + "$ref": "TrafficSource", + "description": "Source of traffic for the current request." + } + } + }, + "UserOverrides": { + "id": "UserOverrides", + "type": "object", + "description": "Values to use instead of the user's respective defaults. These are only honored by whitelisted products.", + "properties": { + "ipAddress": { + "type": "string", + "description": "IP address to use instead of the user's geo-located IP address." + }, + "userId": { + "type": "string", + "description": "Logged-in user ID to impersonate instead of the user's ID." + } + } + }, + "TrafficSource": { + "id": "TrafficSource", + "type": "object", + "description": "Source of traffic for the current request.", + "properties": { + "trafficSourceId": { + "type": "string", + "description": "Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us." + }, + "trafficSubId": { + "type": "string", + "description": "Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us." + } + } + }, + "EventData": { + "id": "EventData", + "type": "object", + "description": "Key value data pair for an event.", + "properties": { + "key": { + "type": "string", + "description": "Data type.", + "enum": [ + "EVENT_DATA_TYPE_UNSPECIFIED", + "ACTION", + "AGENCY_ID", + "AGENCY_NAME", + "AGENCY_PHONE_NUMBER", + "AGENCY_WEBSITE", + "BUDGET", + "CENTER_POINT", + "CERTIFICATION", + "COMMENT", + "COUNTRY", + "CURRENCY", + "CURRENTLY_VIEWED_AGENCY_ID", + "DISTANCE", + "DISTANCE_TYPE", + "EXAM", + "HISTORY_TOKEN", + "IDENTIFIER", + "INDUSTRY", + "INSIGHT_TAG", + "LANGUAGE", + "LOCATION", + "MARKETING_OPT_IN", + "QUERY", + "SEARCH_START_INDEX", + "SERVICE", + "SHOW_VOW", + "SOLUTION", + "TRAFFIC_SOURCE_ID", + "TRAFFIC_SUB_ID", + "VIEW_PORT", + "WEBSITE", + "DETAILS", + "EXPERIMENT_ID", + "GPS_MOTIVATION", + "URL", + "ELEMENT_FOCUS", + "PROGRESS" + ] + }, + "values": { + "type": "array", + "description": "Data values.", + "items": { + "type": "string" + } + } + } + }, + "Lead": { + "id": "Lead", + "type": "object", + "description": "A lead resource that represents an advertiser contact for a `Company`. These are usually generated via Google Partner Search (the advertiser portal).", + "properties": { + "id": { + "type": "string", + "description": "ID of the lead." + }, + "type": { + "type": "string", + "description": "Type of lead.", + "enum": [ + "LEAD_TYPE_UNSPECIFIED", + "LT_GPS" + ] + }, + "email": { + "type": "string", + "description": "Email address of lead source." + }, + "givenName": { + "type": "string", + "description": "First name of lead source." + }, + "familyName": { + "type": "string", + "description": "Last name of lead source." + }, + "websiteUrl": { + "type": "string", + "description": "Website URL of lead source." + }, + "phoneNumber": { + "type": "string", + "description": "Phone number of lead source." + }, + "comments": { + "type": "string", + "description": "Comments lead source gave." + }, + "gpsMotivations": { + "type": "array", + "description": "List of reasons for using Google Partner Search and creating a lead.", + "enumDescriptions": [ + "Unchosen.", + "Advertiser needs help with their advertising.", + "Advertiser needs help with their website.", + "Advertiser does not have a website." + ], + "items": { + "type": "string", + "enum": [ + "GPS_MOTIVATION_UNSPECIFIED", + "GPSM_HELP_WITH_ADVERTISING", + "GPSM_HELP_WITH_WEBSITE", + "GPSM_NO_WEBSITE" + ] + } + }, + "minMonthlyBudget": { + "$ref": "Money", + "description": "The minimum monthly budget lead source is willing to spend." + } + } + }, + "Money": { + "id": "Money", + "type": "object", + "description": "Represents an amount of money with its currency type.", + "properties": { + "currencyCode": { + "type": "string", + "description": "The 3-letter currency code defined in ISO 4217." + }, + "units": { + "type": "string", + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64" + }, + "nanos": { + "type": "integer", + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32" + } + } + }, + "LogUserEventResponse": { + "id": "LogUserEventResponse", + "type": "object", + "description": "Response message for LogUserEvent.", + "properties": { + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + } + } + }, + "ResponseMetadata": { + "id": "ResponseMetadata", + "type": "object", + "description": "Common data that is in each API response.", + "properties": { + "debugInfo": { + "$ref": "DebugInfo", + "description": "Debug information about this request." + } + } + }, + "DebugInfo": { + "id": "DebugInfo", + "type": "object", + "description": "Debug information about this request.", + "properties": { + "serverInfo": { + "type": "string", + "description": "Info about the server that serviced this request." + }, + "serviceUrl": { + "type": "string", + "description": "URL of the service that handled this request." + }, + "serverTraceInfo": { + "type": "string", + "description": "Server-side debug stack trace." + } + } + }, + "LogMessageRequest": { + "id": "LogMessageRequest", + "type": "object", + "description": "Request message for LogClientMessage.", + "properties": { + "requestMetadata": { + "$ref": "RequestMetadata", + "description": "Current request metadata." + }, + "level": { + "type": "string", + "description": "Message level of client message.", + "enum": [ + "MESSAGE_LEVEL_UNSPECIFIED", + "ML_FINE", + "ML_INFO", + "ML_WARNING", + "ML_SEVERE" + ] + }, + "details": { + "type": "string", + "description": "Details about the client message." + }, + "clientInfo": { + "type": "object", + "description": "Map of client info, such as URL, browser navigator, browser platform, etc.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "LogMessageResponse": { + "id": "LogMessageResponse", + "type": "object", + "description": "Response message for LogClientMessage.", + "properties": { + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + } + } + }, + "ListUserStatesResponse": { + "id": "ListUserStatesResponse", + "type": "object", + "description": "Response message for ListUserStates.", + "properties": { + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + }, + "userStates": { + "type": "array", + "description": "User's states.", + "enumDescriptions": [ + "Unchosen.", + "User must pass reCaptcha to contact a Partner via Google Partner Search." + ], + "items": { + "type": "string", + "enum": [ + "USER_STATE_UNSPECIFIED", + "US_REQUIRES_RECAPTCHA_FOR_GPS_CONTACT" + ] + } + } + } + }, + "GetCompanyResponse": { + "id": "GetCompanyResponse", + "type": "object", + "description": "Response message for GetCompany.", + "properties": { + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + }, + "company": { + "$ref": "Company", + "description": "The company." + } + } + }, + "Company": { + "id": "Company", + "type": "object", + "description": "A company resource in the Google Partners API. Once certified, it qualifies for being searched by advertisers.", + "properties": { + "id": { + "type": "string", + "description": "The ID of the company." + }, + "name": { + "type": "string", + "description": "The name of the company." + }, + "localizedInfos": { + "type": "array", + "description": "The list of localized info for the company.", + "items": { + "$ref": "LocalizedCompanyInfo" + } + }, + "locations": { + "type": "array", + "description": "The list of company locations.", + "items": { + "$ref": "Location" + } + }, + "convertedMinMonthlyBudget": { + "$ref": "Money", + "description": "The minimum monthly budget that the company accepts for partner business, converted to the requested currency code." + }, + "originalMinMonthlyBudget": { + "$ref": "Money", + "description": "The unconverted minimum monthly budget that the company accepts for partner business." + }, + "publicProfile": { + "$ref": "PublicProfile", + "description": "Basic information from the company's public profile." + }, + "certificationStatuses": { + "type": "array", + "description": "The list of Google Partners certification statuses for the company.", + "items": { + "$ref": "CertificationStatus" + } + }, + "ranks": { + "type": "array", + "description": "Information related to the ranking of the company within the list of companies.", + "items": { + "$ref": "Rank" + } + }, + "websiteUrl": { + "type": "string", + "description": "URL of the company's website." + }, + "industries": { + "type": "array", + "description": "Industries the company can help with.", + "enumDescriptions": [ + "Unchosen.", + "The automotive industry.", + "The business-to-business industry.", + "The consumer packaged goods industry.", + "The education industry.", + "The finance industry.", + "The healthcare industry.", + "The media and entertainment industry.", + "The retail industry.", + "The technology industry.", + "The travel industry." + ], + "items": { + "type": "string", + "enum": [ + "INDUSTRY_UNSPECIFIED", + "I_AUTOMOTIVE", + "I_BUSINESS_TO_BUSINESS", + "I_CONSUMER_PACKAGED_GOODS", + "I_EDUCATION", + "I_FINANCE", + "I_HEALTHCARE", + "I_MEDIA_AND_ENTERTAINMENT", + "I_RETAIL", + "I_TECHNOLOGY", + "I_TRAVEL" + ] + } + }, + "services": { + "type": "array", + "description": "Services the company can help with.", + "enumDescriptions": [ + "Unchosen.", + "Help with advanced AdWords support.", + "Help with advertising on Google.", + "Help with an enhanced website.", + "Help with an online marketing plan.", + "Help with mobile and video ads." + ], + "items": { + "type": "string", + "enum": [ + "SERVICE_UNSPECIFIED", + "S_ADVANCED_ADWORDS_SUPPORT", + "S_ADVERTISING_ON_GOOGLE", + "S_AN_ENHANCED_WEBSITE", + "S_AN_ONLINE_MARKETING_PLAN", + "S_MOBILE_AND_VIDEO_ADS" + ] + } + } + } + }, + "LocalizedCompanyInfo": { + "id": "LocalizedCompanyInfo", + "type": "object", + "description": "The localized company information.", + "properties": { + "languageCode": { + "type": "string", + "description": "Language code of the localized company info, as defined by BCP 47 (IETF BCP 47, \"Tags for Identifying Languages\")." + }, + "displayName": { + "type": "string", + "description": "Localized display name." + }, + "overview": { + "type": "string", + "description": "Localized brief description that the company uses to advertise themselves." + }, + "countryCodes": { + "type": "array", + "description": "List of country codes for the localized company info.", + "items": { + "type": "string" + } + } + } + }, + "Location": { + "id": "Location", + "type": "object", + "description": "A location with address and geographic coordinates.", + "properties": { + "address": { + "type": "string", + "description": "The complete address of the location." + }, + "latLng": { + "$ref": "LatLng", + "description": "The latitude and longitude of the location, in degrees." + } + } + }, + "LatLng": { + "id": "LatLng", + "type": "object", + "description": "An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): \"\"\"Wrapsdecimal degrees longitude to [-180.0, 180.0].\"\"\" q, r = divmod(longitude, 360.0) if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): \"\"\"Wraps decimal degrees latitude and longitude to [-180.0, 180.0] and [-90.0, 90.0], respectively.\"\"\" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", + "properties": { + "latitude": { + "type": "number", + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "format": "double" + }, + "longitude": { + "type": "number", + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "format": "double" + } + } + }, + "PublicProfile": { + "id": "PublicProfile", + "type": "object", + "description": "Basic information from a public profile.", + "properties": { + "id": { + "type": "string", + "description": "The ID which can be used to retrieve more details about the public profile." + }, + "displayName": { + "type": "string", + "description": "The display name of the public profile." + }, + "url": { + "type": "string", + "description": "The URL of the public profile." + }, + "displayImageUrl": { + "type": "string", + "description": "The URL to the main display image of the public profile." + } + } + }, + "CertificationStatus": { + "id": "CertificationStatus", + "type": "object", + "description": "Google Partners certification status.", + "properties": { + "type": { + "type": "string", + "description": "The type of the certification.", + "enum": [ + "CERTIFICATION_TYPE_UNSPECIFIED", + "CT_ADWORDS", + "CT_YOUTUBE", + "CT_VIDEOADS", + "CT_ANALYTICS", + "CT_DOUBLECLICK", + "CT_SHOPPING", + "CT_MOBILE" + ] + }, + "examStatuses": { + "type": "array", + "description": "List of certification exam statuses.", + "items": { + "$ref": "CertificationExamStatus" + } + }, + "isCertified": { + "type": "boolean", + "description": "Whether certification is passing." + } + } + }, + "CertificationExamStatus": { + "id": "CertificationExamStatus", + "type": "object", + "description": "Status for a Google Partners certification exam.", + "properties": { + "type": { + "type": "string", + "description": "The type of certification exam.", + "enum": [ + "CERTIFICATION_EXAM_TYPE_UNSPECIFIED", + "CET_ADWORDS_ADVANCED_SEARCH", + "CET_ADWORDS_ADVANCED_DISPLAY", + "CET_VIDEO_ADS", + "CET_ANALYTICS", + "CET_DOUBLECLICK", + "CET_SHOPPING", + "CET_MOBILE" + ] + }, + "numberUsersPass": { + "type": "integer", + "description": "The number of people who have passed the certification exam.", + "format": "int32" + } + } + }, + "Rank": { + "id": "Rank", + "type": "object", + "description": "Information related to ranking of results.", + "properties": { + "type": { + "type": "string", + "description": "The type of rank.", + "enum": [ + "RANK_TYPE_UNSPECIFIED", + "RT_FINAL_SCORE" + ] + }, + "value": { + "type": "number", + "description": "The numerical value of the rank.", + "format": "double" + } + } + }, + "ListCompaniesResponse": { + "id": "ListCompaniesResponse", + "type": "object", + "description": "Response message for ListCompanies.", + "properties": { + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + }, + "companies": { + "type": "array", + "description": "The list of companies.", + "items": { + "$ref": "Company" + } + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve next page of results. Pass this value in the `ListCompaniesRequest.page_token` field in the subsequent call to ListCompanies to retrieve the next page of results." + } + } + }, + "CreateLeadRequest": { + "id": "CreateLeadRequest", + "type": "object", + "description": "Request message for CreateLead.", + "properties": { + "requestMetadata": { + "$ref": "RequestMetadata", + "description": "Current request metadata." + }, + "lead": { + "$ref": "Lead", + "description": "The lead resource. The `LeadType` must not be `LEAD_TYPE_UNSPECIFIED` and either `email` or `phone_number` must be provided." + }, + "recaptchaChallenge": { + "$ref": "RecaptchaChallenge", + "description": "reCaptcha challenge info." + } + } + }, + "RecaptchaChallenge": { + "id": "RecaptchaChallenge", + "type": "object", + "description": "reCaptcha challenge info.", + "properties": { + "id": { + "type": "string", + "description": "The ID of the reCaptcha challenge." + }, + "response": { + "type": "string", + "description": "The response to the reCaptcha challenge." + } + } + }, + "CreateLeadResponse": { + "id": "CreateLeadResponse", + "type": "object", + "description": "Response message for CreateLead. Debug information about this request.", + "properties": { + "responseMetadata": { + "$ref": "ResponseMetadata", + "description": "Current response metadata." + }, + "lead": { + "$ref": "Lead", + "description": "Lead that was created depending on the outcome of reCaptcha validation." + }, + "recaptchaStatus": { + "type": "string", + "description": "The outcome of reCaptcha validation.", + "enum": [ + "RECAPTCHA_STATUS_UNSPECIFIED", + "RS_NOT_NEEDED", + "RS_PASSED", + "RS_FAILED" + ] + } + } + } + }, + "resources": { + "userEvents": { + "methods": { + "log": { + "id": "partners.userEvents.log", + "path": "v2/userEvents:log", + "httpMethod": "POST", + "description": "Logs a user event.", + "request": { + "$ref": "LogUserEventRequest" + }, + "response": { + "$ref": "LogUserEventResponse" + } + } + } + }, + "clientMessages": { + "methods": { + "log": { + "id": "partners.clientMessages.log", + "path": "v2/clientMessages:log", + "httpMethod": "POST", + "description": "Logs a generic message from the client, such as `Failed to render component`, `Profile page is running slow`, `More than 500 users have accessed this result.`, etc.", + "request": { + "$ref": "LogMessageRequest" + }, + "response": { + "$ref": "LogMessageResponse" + } + } + } + }, + "userStates": { + "methods": { + "list": { + "id": "partners.userStates.list", + "path": "v2/userStates", + "httpMethod": "GET", + "description": "Lists states for current user.", + "parameters": { + "requestMetadata.userOverrides.ipAddress": { + "type": "string", + "description": "IP address to use instead of the user's geo-located IP address.", + "location": "query" + }, + "requestMetadata.userOverrides.userId": { + "type": "string", + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "location": "query" + }, + "requestMetadata.locale": { + "type": "string", + "description": "Locale to use for the current request.", + "location": "query" + }, + "requestMetadata.partnersSessionId": { + "type": "string", + "description": "Google Partners session ID.", + "location": "query" + }, + "requestMetadata.experimentIds": { + "type": "string", + "description": "Experiment IDs the current request belongs to.", + "repeated": true, + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "type": "string", + "description": "Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us.", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSubId": { + "type": "string", + "description": "Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us.", + "location": "query" + } + }, + "response": { + "$ref": "ListUserStatesResponse" + } + } + } + }, + "companies": { + "methods": { + "get": { + "id": "partners.companies.get", + "path": "v2/companies/{companyId}", + "httpMethod": "GET", + "description": "Gets a company.", + "parameters": { + "companyId": { + "type": "string", + "description": "The ID of the company to retrieve.", + "required": true, + "location": "path" + }, + "requestMetadata.userOverrides.ipAddress": { + "type": "string", + "description": "IP address to use instead of the user's geo-located IP address.", + "location": "query" + }, + "requestMetadata.userOverrides.userId": { + "type": "string", + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "location": "query" + }, + "requestMetadata.locale": { + "type": "string", + "description": "Locale to use for the current request.", + "location": "query" + }, + "requestMetadata.partnersSessionId": { + "type": "string", + "description": "Google Partners session ID.", + "location": "query" + }, + "requestMetadata.experimentIds": { + "type": "string", + "description": "Experiment IDs the current request belongs to.", + "repeated": true, + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "type": "string", + "description": "Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us.", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSubId": { + "type": "string", + "description": "Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us.", + "location": "query" + }, + "view": { + "type": "string", + "description": "The view of `Company` resource to be returned. This must not be `COMPANY_VIEW_UNSPECIFIED`.", + "enum": [ + "COMPANY_VIEW_UNSPECIFIED", + "CV_GOOGLE_PARTNER_SEARCH" + ], + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "How to order addresses within the returned company. Currently, only `address` and `address desc` is supported which will sorted by closest to farthest in distance from given address and farthest to closest distance from given address respectively.", + "location": "query" + }, + "currencyCode": { + "type": "string", + "description": "If the company's budget is in a different currency code than this one, then the converted budget is converted to this currency code.", + "location": "query" + }, + "address": { + "type": "string", + "description": "The address to use for sorting the company's addresses by proximity. If not given, the geo-located address of the request is used. Used when order_by is set.", + "location": "query" + } + }, + "parameterOrder": [ + "companyId" + ], + "response": { + "$ref": "GetCompanyResponse" + } + }, + "list": { + "id": "partners.companies.list", + "path": "v2/companies", + "httpMethod": "GET", + "description": "Lists companies.", + "parameters": { + "requestMetadata.userOverrides.ipAddress": { + "type": "string", + "description": "IP address to use instead of the user's geo-located IP address.", + "location": "query" + }, + "requestMetadata.userOverrides.userId": { + "type": "string", + "description": "Logged-in user ID to impersonate instead of the user's ID.", + "location": "query" + }, + "requestMetadata.locale": { + "type": "string", + "description": "Locale to use for the current request.", + "location": "query" + }, + "requestMetadata.partnersSessionId": { + "type": "string", + "description": "Google Partners session ID.", + "location": "query" + }, + "requestMetadata.experimentIds": { + "type": "string", + "description": "Experiment IDs the current request belongs to.", + "repeated": true, + "location": "query" + }, + "requestMetadata.trafficSource.trafficSourceId": { + "type": "string", + "description": "Identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us.", + "location": "query" + }, + "requestMetadata.trafficSource.trafficSubId": { + "type": "string", + "description": "Second level identifier to indicate where the traffic comes from. An identifier has multiple letters created by a team which redirected the traffic to us.", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "Requested page size. Server may return fewer companies than requested. If unspecified, server picks an appropriate default.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A token identifying a page of results that the server returns. Typically, this is the value of `ListCompaniesResponse.next_page_token` returned from the previous call to ListCompanies.", + "location": "query" + }, + "companyName": { + "type": "string", + "description": "Company name to search for.", + "location": "query" + }, + "view": { + "type": "string", + "description": "The view of the `Company` resource to be returned. This must not be `COMPANY_VIEW_UNSPECIFIED`.", + "enum": [ + "COMPANY_VIEW_UNSPECIFIED", + "CV_GOOGLE_PARTNER_SEARCH" + ], + "location": "query" + }, + "minMonthlyBudget.currencyCode": { + "type": "string", + "description": "The 3-letter currency code defined in ISO 4217.", + "location": "query" + }, + "minMonthlyBudget.units": { + "type": "string", + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "location": "query" + }, + "minMonthlyBudget.nanos": { + "type": "integer", + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "location": "query" + }, + "maxMonthlyBudget.currencyCode": { + "type": "string", + "description": "The 3-letter currency code defined in ISO 4217.", + "location": "query" + }, + "maxMonthlyBudget.units": { + "type": "string", + "description": "The whole units of the amount. For example if `currencyCode` is `\"USD\"`, then 1 unit is one US dollar.", + "format": "int64", + "location": "query" + }, + "maxMonthlyBudget.nanos": { + "type": "integer", + "description": "Number of nano (10^-9) units of the amount. The value must be between -999,999,999 and +999,999,999 inclusive. If `units` is positive, `nanos` must be positive or zero. If `units` is zero, `nanos` can be positive, zero, or negative. If `units` is negative, `nanos` must be negative or zero. For example $-1.75 is represented as `units`=-1 and `nanos`=-750,000,000.", + "format": "int32", + "location": "query" + }, + "industries": { + "type": "string", + "description": "List of industries the company can help with.", + "enum": [ + "INDUSTRY_UNSPECIFIED", + "I_AUTOMOTIVE", + "I_BUSINESS_TO_BUSINESS", + "I_CONSUMER_PACKAGED_GOODS", + "I_EDUCATION", + "I_FINANCE", + "I_HEALTHCARE", + "I_MEDIA_AND_ENTERTAINMENT", + "I_RETAIL", + "I_TECHNOLOGY", + "I_TRAVEL" + ], + "repeated": true, + "location": "query" + }, + "services": { + "type": "string", + "description": "List of services the company can help with.", + "enum": [ + "SERVICE_UNSPECIFIED", + "S_ADVANCED_ADWORDS_SUPPORT", + "S_ADVERTISING_ON_GOOGLE", + "S_AN_ENHANCED_WEBSITE", + "S_AN_ONLINE_MARKETING_PLAN", + "S_MOBILE_AND_VIDEO_ADS" + ], + "repeated": true, + "location": "query" + }, + "languageCodes": { + "type": "string", + "description": "List of language codes that company can support. Only primary language subtags are accepted as defined by BCP 47 (IETF BCP 47, \"Tags for Identifying Languages\").", + "repeated": true, + "location": "query" + }, + "address": { + "type": "string", + "description": "The address to use when searching for companies. If not given, the geo-located address of the request is used.", + "location": "query" + }, + "orderBy": { + "type": "string", + "description": "How to order addresses within the returned companies. Currently, only `address` and `address desc` is supported which will sorted by closest to farthest in distance from given address and farthest to closest distance from given address respectively.", + "location": "query" + }, + "gpsMotivations": { + "type": "string", + "description": "List of reasons for using Google Partner Search to get companies.", + "enum": [ + "GPS_MOTIVATION_UNSPECIFIED", + "GPSM_HELP_WITH_ADVERTISING", + "GPSM_HELP_WITH_WEBSITE", + "GPSM_NO_WEBSITE" + ], + "repeated": true, + "location": "query" + }, + "websiteUrl": { + "type": "string", + "description": "Website URL that will help to find a better matched company. .", + "location": "query" + } + }, + "response": { + "$ref": "ListCompaniesResponse" + } + } + }, + "resources": { + "leads": { + "methods": { + "create": { + "id": "partners.companies.leads.create", + "path": "v2/companies/{companyId}/leads", + "httpMethod": "POST", + "description": "Creates an advertiser lead for the given company ID.", + "parameters": { + "companyId": { + "type": "string", + "description": "The ID of the company to contact.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "companyId" + ], + "request": { + "$ref": "CreateLeadRequest" + }, + "response": { + "$ref": "CreateLeadResponse" + } + } + } + } + } + } + } +} diff --git a/etc/api/playmoviespartner/v1/playmoviespartner-api.json b/etc/api/playmoviespartner/v1/playmoviespartner-api.json new file mode 100644 index 0000000000..db8ec7a515 --- /dev/null +++ b/etc/api/playmoviespartner/v1/playmoviespartner-api.json @@ -0,0 +1,1131 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Noghpi7BSoFye2xNzlRkY-iDh3I\"", + "discoveryVersion": "v1", + "id": "playmoviespartner:v1", + "name": "playmoviespartner", + "version": "v1", + "revision": "20150812", + "title": "Google Play Movies Partner API", + "description": "Lets Google Play Movies Partners get the delivery status of their titles.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/playmoviespartner/", + "protocol": "rest", + "baseUrl": "https://playmoviespartner.googleapis.com/", + "basePath": "/", + "rootUrl": "https://playmoviespartner.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/playmovies_partner.readonly": { + "description": "View the digital assets you publish on Google Play Movies and TV" + } + } + } + }, + "schemas": { + "ListAvailsResponse": { + "id": "ListAvailsResponse", + "type": "object", + "description": "Response to the 'ListAvails' method.", + "properties": { + "avails": { + "type": "array", + "description": "List of Avails that match the request criteria.", + "items": { + "$ref": "Avail" + } + }, + "nextPageToken": { + "type": "string", + "description": "See _List methods rules_ for info about this field." + } + } + }, + "Avail": { + "id": "Avail", + "type": "object", + "description": "An Avail describes the Availability Window of a specific Edit in a given country, which means the period Google is allowed to sell or rent the Edit. Avails are exposed in EMA format Version 1.6b (available at http://www.movielabs.com/md/avails/) Studios can see the Avails for the Titles they own. Post-production houses cannot see any Avails.", + "properties": { + "displayName": { + "type": "string", + "description": "The name of the studio that owns the Edit referred in the Avail. This is the equivalent of `studio_name` in other resources, but it follows the EMA nomenclature. Example: \"Google Films\"." + }, + "storeLanguage": { + "type": "string", + "description": "Spoken language of the intended audience. Language shall be encoded in accordance with RFC 5646. Example: \"fr\"." + }, + "territory": { + "type": "string", + "description": "ISO 3166-1 alpha-2 country code for the country or territory of this Avail. For Avails, we use Territory in lieu of Country to comply with EMA specifications. But please note that Territory and Country identify the same thing. Example: \"US\"." + }, + "workType": { + "type": "string", + "description": "Work type as enumerated in EMA.", + "enum": [ + "TITLE_TYPE_UNSPECIFIED", + "MOVIE", + "SEASON", + "EPISODE" + ] + }, + "seriesTitleInternalAlias": { + "type": "string", + "description": "Title used by involved parties to refer to this series. Only available on TV Avails. Example: \"Googlers, The\"." + }, + "seasonNumber": { + "type": "string", + "description": "The number assigned to the season within a series. Only available on TV Avails. Example: \"1\"." + }, + "episodeNumber": { + "type": "string", + "description": "The number assigned to the episode within a season. Only available on TV Avails. Example: \"3\"." + }, + "seasonTitleInternalAlias": { + "type": "string", + "description": "Title used by involved parties to refer to this season. Only available on TV Avails. Example: \"Googlers, The\"." + }, + "episodeTitleInternalAlias": { + "type": "string", + "description": "OPTIONAL.TV Only. Title used by involved parties to refer to this episode. Only available on TV Avails. Example: \"Coding at Google\"." + }, + "titleInternalAlias": { + "type": "string", + "description": "Title used by involved parties to refer to this content. Example: \"Googlers, The\". Only available on Movie Avails." + }, + "licenseType": { + "type": "string", + "description": "Type of transaction.", + "enum": [ + "LICENSE_TYPE_UNSPECIFIED", + "EST", + "VOD", + "SVOD" + ] + }, + "formatProfile": { + "type": "string", + "description": "Indicates the format profile covered by the transaction.", + "enum": [ + "FORMAT_PROFILE_UNSPECIFIED", + "SD", + "HD" + ] + }, + "start": { + "type": "string", + "description": "Start of term in YYYY-MM-DD format in the timezone of the country of the Avail. Example: \"2013-05-14\"." + }, + "end": { + "type": "string", + "description": "End of term in YYYY-MM-DD format in the timezone of the country of the Avail. \"Open\" if no end date is available. Example: \"2019-02-17\"" + }, + "priceType": { + "type": "string", + "description": "Type of pricing that should be applied to this Avail based on how the partner classify them. Example: \"Tier\", \"WSP\", \"SRP\", or \"Category\"." + }, + "priceValue": { + "type": "string", + "description": "Value to be applied to the pricing type. Example: \"4\" or \"2.99\"" + }, + "contentId": { + "type": "string", + "description": "Title Identifier. This should be the Title Level EIDR. Example: \"10.5240/1489-49A2-3956-4B2D-FE16-5\"." + }, + "productId": { + "type": "string", + "description": "Edit Identifier. This should be the Edit Level EIDR. Example: \"10.2340/1489-49A2-3956-4B2D-FE16-6\"" + }, + "encodeId": { + "type": "string", + "description": "Manifestation Identifier. This should be the Manifestation Level EIDR. Example: \"10.2340/1489-49A2-3956-4B2D-FE16-7\"" + }, + "seriesAltId": { + "type": "string", + "description": "Other identifier referring to the series, as defined by partner. Only available on TV avails. Example: \"rs_googlers\"." + }, + "seasonAltId": { + "type": "string", + "description": "Other identifier referring to the season, as defined by partner. Only available on TV avails. Example: \"rs_googlers_s1\"." + }, + "episodeAltId": { + "type": "string", + "description": "Other identifier referring to the episode, as defined by partner. Only available on TV avails. Example: \"rs_googlers_s1_3\"." + }, + "altId": { + "type": "string", + "description": "Other identifier referring to the Edit, as defined by partner. Example: \"GOOGLER_2006\"" + }, + "suppressionLiftDate": { + "type": "string", + "description": "First date an Edit could be publically announced as becoming available at a specific future date in territory of Avail. *Not* the Avail start date or pre-order start date. Format is YYYY-MM-DD. Only available for pre-orders. Example: \"2012-12-10\"" + }, + "releaseDate": { + "type": "string", + "description": "Release date of the Title in earliest released territory. Typically it is just the year, but it is free-form as per EMA spec. Examples: \"1979\", \"Oct 2014\"" + }, + "ratingSystem": { + "type": "string", + "description": "Rating system applied to the version of title within territory of Avail. Rating systems should be formatted as per [EMA ratings spec](http://www.movielabs.com/md/ratings/) Example: \"MPAA\"" + }, + "ratingValue": { + "type": "string", + "description": "Value representing the rating. Ratings should be formatted as per http://www.movielabs.com/md/ratings/ Example: \"PG\"" + }, + "ratingReason": { + "type": "string", + "description": "Value representing the rating reason. Rating reasons should be formatted as per [EMA ratings spec](http://www.movielabs.com/md/ratings/) and comma-separated for inclusion of multiple reasons. Example: \"L, S, V\"" + }, + "captionIncluded": { + "type": "boolean", + "description": "Communicating if caption file will be delivered." + }, + "captionExemption": { + "type": "string", + "description": "Communicating an exempt category as defined by FCC regulations. It is not required for non-US Avails. Example: \"1\"" + }, + "videoId": { + "type": "string", + "description": "Google-generated ID identifying the video linked to this Avail, once delivered. Not part of EMA Specs. Example: 'gtry456_xc'" + }, + "pphNames": { + "type": "array", + "description": "Name of the post-production houses that manage the Avail. Not part of EMA Specs.", + "items": { + "type": "string" + } + } + } + }, + "Order": { + "id": "Order", + "type": "object", + "description": "An Order tracks the fulfillment of an Edit when delivered using the legacy, non-component-based delivery. Each Order is uniquely identified by an `order_id`, which is generated by Google. Externally, Orders can also be identified by partners using its `custom_id` (when provided).", + "properties": { + "orderId": { + "type": "string", + "description": "ID internally generated by Google to uniquely identify an Order. Example: 'abcde12_x'" + }, + "customId": { + "type": "string", + "description": "ID that can be used to externally identify an Order. This ID is provided by partners when submitting the Avails. Example: 'GOOGLER_2006'" + }, + "videoId": { + "type": "string", + "description": "Google-generated ID identifying the video linked to this Order, once delivered. Example: 'gtry456_xc'." + }, + "countries": { + "type": "array", + "description": "Countries where the Order is available, using the \"ISO 3166-1 alpha-2\" format (example: \"US\").", + "items": { + "type": "string" + } + }, + "type": { + "type": "string", + "description": "Type of the Edit linked to the Order.", + "enum": [ + "TITLE_TYPE_UNSPECIFIED", + "MOVIE", + "SEASON", + "EPISODE" + ] + }, + "name": { + "type": "string", + "description": "Default Edit name, usually in the language of the country of origin. Example: \"Googlers, The\"." + }, + "episodeName": { + "type": "string", + "description": "Default Episode name, usually in the language of the country of origin. Only available for TV Edits Example: \"Googlers, The - Pilot\"." + }, + "seasonName": { + "type": "string", + "description": "Default Season name, usually in the language of the country of origin. Only available for TV Edits Example: \"Googlers, The - A Brave New World\"." + }, + "showName": { + "type": "string", + "description": "Default Show name, usually in the language of the country of origin. Only available for TV Edits Example: \"Googlers, The\"." + }, + "status": { + "type": "string", + "description": "High-level status of the order.", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_APPROVED", + "STATUS_FAILED", + "STATUS_PROCESSING", + "STATUS_UNFULFILLED", + "STATUS_NOT_AVAILABLE" + ] + }, + "statusDetail": { + "type": "string", + "description": "Detailed status of the order", + "enum": [ + "ORDER_STATUS_UNSPECIFIED", + "ORDER_STATUS_QC_APPROVED", + "ORDER_STATUS_QC_REJECTION", + "ORDER_STATUS_INTERNAL_FIX", + "ORDER_STATUS_OPEN_ORDER", + "ORDER_STATUS_NOT_AVAILABLE", + "ORDER_STATUS_AWAITING_REDELIVERY", + "ORDER_STATUS_READY_FOR_QC" + ] + }, + "rejectionNote": { + "type": "string", + "description": "Field explaining why an Order has been rejected. Example: \"Trailer audio is 2ch mono, please re-deliver in stereo\"." + }, + "orderedTime": { + "type": "string", + "description": "Timestamp when the Order was created." + }, + "approvedTime": { + "type": "string", + "description": "Timestamp when the Order was approved." + }, + "receivedTime": { + "type": "string", + "description": "Timestamp when the Order was fulfilled." + }, + "earliestAvailStartTime": { + "type": "string", + "description": "Timestamp of the earliest start date of the Avails linked to this Order." + }, + "priority": { + "type": "number", + "description": "Order priority, as defined by Google. The higher the value, the higher the priority. Example: 90", + "format": "double" + }, + "legacyPriority": { + "type": "string", + "description": "Legacy Order priority, as defined by Google. Example: 'P0'" + }, + "channelId": { + "type": "string", + "description": "YouTube Channel ID that should be used to fulfill the Order. Example: \"UCRG64darCZhb\"." + }, + "channelName": { + "type": "string", + "description": "YouTube Channel Name that should be used to fulfill the Order. Example: \"Google_channel\"." + }, + "studioName": { + "type": "string", + "description": "Name of the studio that owns the Edit ordered." + }, + "pphName": { + "type": "string", + "description": "Name of the post-production house that manages the Edit ordered." + }, + "normalizedPriority": { + "type": "string", + "description": "A simpler representation of the priority.", + "enum": [ + "NORMALIZED_PRIORITY_UNSPECIFIED", + "LOW_PRIORITY", + "HIGH_PRIORITY" + ] + } + } + }, + "ListOrdersResponse": { + "id": "ListOrdersResponse", + "type": "object", + "description": "Response to the 'ListOrders' method.", + "properties": { + "orders": { + "type": "array", + "description": "List of Orders that match the request criteria.", + "items": { + "$ref": "Order" + } + }, + "nextPageToken": { + "type": "string", + "description": "See _List methods rules_ for info about this field." + } + } + }, + "ExperienceLocale": { + "id": "ExperienceLocale", + "type": "object", + "description": "An ExperienceLocale tracks the fulfillment of a Title in a country using a specific language, when delivered using component-based delivery. For example, a Title in Switzerland might have 3 ExperienceLocales: they both share the same country (\"CH\"), but each has different languages (\"de\", \"fr\", and \"it\"). Each ExperienceLocale is uniquely identified by an `el_id`, which is generated by Google. Externally, an ExperienceLocale can also be identified by partners using its EIDR IDs, AltCutID or `custom_id` (when provided).", + "properties": { + "elId": { + "type": "string", + "description": "ID internally generated by Google to uniquely identify a ExperienceLocale. Example: 'KRZiVjY9h7t'" + }, + "country": { + "type": "string", + "description": "Country where the ExperienceLocale is available, using the \"ISO 3166-1 alpha-2\" format. Example: \"US\"." + }, + "language": { + "type": "string", + "description": "Language of the ExperienceLocale, using the \"BCP 47\" format. Examples: \"en\", \"en-US\", \"es\", \"es-419\"." + }, + "videoId": { + "type": "string", + "description": "Video ID, as defined by Google, linked to the feature video in the ExperienceLocale. Example: 'gtry456_xc'." + }, + "trailerId": { + "type": "string", + "description": "Trailer ID, as defined by Google, linked to the trailer video in the ExperienceLocale. Example: 'gtry457_tr'." + }, + "titleLevelEidr": { + "type": "string", + "description": "Title-level EIDR ID. Example: \"10.5240/1489-49A2-3956-4B2D-FE16-5\"." + }, + "editLevelEidr": { + "type": "string", + "description": "Edit-level EIDR ID. Example: \"10.5240/1489-49A2-3956-4B2D-FE16-6\"." + }, + "altCutId": { + "type": "string", + "description": "Alternative Cut ID, sometimes available in lieu of the main Edit-level EIDR ID. This is not an EIDR ID, but a Partner-provided ID. Example: \"206346_79838\"." + }, + "customIds": { + "type": "array", + "description": "List of custom IDs (defined by the partner) linked to this ExperienceLocale. Example: \"R86241\"", + "items": { + "type": "string" + } + }, + "presentationId": { + "type": "string", + "description": "PresentationID as defined in the EMA specs." + }, + "inventoryId": { + "type": "string", + "description": "InventoryID as defined in the EMA specs." + }, + "playableSequenceId": { + "type": "string", + "description": "PlayableSequenceID as defined in the EMA specs." + }, + "type": { + "type": "string", + "description": "Type of the Edit linked to the ExperienceLocale.", + "enum": [ + "TITLE_TYPE_UNSPECIFIED", + "MOVIE", + "SEASON", + "EPISODE" + ] + }, + "name": { + "type": "string", + "description": "Default Edit name, usually in the language of the country of origin. Example: \"Googlers, The\"." + }, + "status": { + "type": "string", + "description": "High-level status of the ExperienceLocale.", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_APPROVED", + "STATUS_FAILED", + "STATUS_PROCESSING", + "STATUS_UNFULFILLED", + "STATUS_NOT_AVAILABLE" + ] + }, + "priority": { + "type": "number", + "description": "ExperienceLocale priority, as defined by Google. The higher the value, the higher the priority. Example: 90", + "format": "double" + }, + "createdTime": { + "type": "string", + "description": "Timestamp when the ExperienceLocale was created." + }, + "approvedTime": { + "type": "string", + "description": "Timestamp when the ExperienceLocale was approved." + }, + "earliestAvailStartTime": { + "type": "string", + "description": "Timestamp of the earliest start date of the Avails linked to this ExperienceLocale." + }, + "channelId": { + "type": "string", + "description": "YouTube Channel ID linked to the ExperienceLocale. Example: \"UCRG64darCZhb\"." + }, + "studioName": { + "type": "string", + "description": "Name of the studio that owns the ExperienceLocale." + }, + "pphNames": { + "type": "array", + "description": "Name of the post-production houses that manage the ExperienceLocale.", + "items": { + "type": "string" + } + }, + "normalizedPriority": { + "type": "string", + "description": "A simpler representation of the priority.", + "enum": [ + "NORMALIZED_PRIORITY_UNSPECIFIED", + "LOW_PRIORITY", + "HIGH_PRIORITY" + ] + } + } + }, + "ListExperienceLocalesResponse": { + "id": "ListExperienceLocalesResponse", + "type": "object", + "description": "Response to the 'ListExperienceLocales' method.", + "properties": { + "experienceLocales": { + "type": "array", + "description": "List of ExperienceLocales that match the request criteria.", + "items": { + "$ref": "ExperienceLocale" + } + }, + "nextPageToken": { + "type": "string", + "description": "See _List methods rules_ for info about this field." + } + } + }, + "StoreInfo": { + "id": "StoreInfo", + "type": "object", + "description": "Information about a playable sequence (video) associated with an Edit and available at the Google Play Store. Internally, each StoreInfo is uniquely identified by a `video_id` and `country`. Externally, Title-level EIDR or Edit-level EIDR, if provided, can also be used to identify a specific title or edit in a country.", + "properties": { + "videoId": { + "type": "string", + "description": "Google-generated ID identifying the video linked to the Edit. Example: 'gtry456_xc'" + }, + "seasonId": { + "type": "string", + "description": "Google-generated ID identifying the season linked to the Edit. Only available for TV Edits. Example: 'ster23ex'" + }, + "showId": { + "type": "string", + "description": "Google-generated ID identifying the show linked to the Edit. Only available for TV Edits. Example: 'et2hsue_x'" + }, + "country": { + "type": "string", + "description": "Country where Edit is available in ISO 3166-1 alpha-2 country code. Example: \"US\"." + }, + "liveTime": { + "type": "string", + "description": "Timestamp when the Edit went live on the Store." + }, + "type": { + "type": "string", + "description": "Edit type, like Movie, Episode or Season.", + "enum": [ + "TITLE_TYPE_UNSPECIFIED", + "MOVIE", + "SEASON", + "EPISODE" + ] + }, + "name": { + "type": "string", + "description": "Default Edit name, usually in the language of the country of origin. Example: \"Googlers, The\"." + }, + "titleLevelEidr": { + "type": "string", + "description": "Title-level EIDR ID. Example: \"10.5240/1489-49A2-3956-4B2D-FE16-5\"." + }, + "editLevelEidr": { + "type": "string", + "description": "Edit-level EIDR ID. Example: \"10.5240/1489-49A2-3956-4B2D-FE16-6\"." + }, + "seasonName": { + "type": "string", + "description": "Default Season name, usually in the language of the country of origin. Only available for TV Edits Example: \"Googlers, The - A Brave New World\"." + }, + "showName": { + "type": "string", + "description": "Default Show name, usually in the language of the country of origin. Only available for TV Edits Example: \"Googlers, The\"." + }, + "seasonNumber": { + "type": "string", + "description": "The number assigned to the season within a show. Only available on TV Edits. Example: \"1\"." + }, + "episodeNumber": { + "type": "string", + "description": "The number assigned to the episode within a season. Only available on TV Edits. Example: \"1\"." + }, + "hasSdOffer": { + "type": "boolean", + "description": "Whether the Edit has a SD offer." + }, + "hasHdOffer": { + "type": "boolean", + "description": "Whether the Edit has a HD offer." + }, + "hasVodOffer": { + "type": "boolean", + "description": "Whether the Edit has a VOD offer." + }, + "hasEstOffer": { + "type": "boolean", + "description": "Whether the Edit has a EST offer." + }, + "hasAudio51": { + "type": "boolean", + "description": "Whether the Edit has a 5.1 channel audio track." + }, + "audioTracks": { + "type": "array", + "description": "Audio tracks available for this Edit.", + "items": { + "type": "string" + } + }, + "subtitles": { + "type": "array", + "description": "Subtitles available for this Edit.", + "items": { + "type": "string" + } + }, + "hasInfoCards": { + "type": "boolean", + "description": "Whether the Edit has info cards." + }, + "mid": { + "type": "string", + "description": "Knowledge Graph ID associated to this Edit, if available. This ID links the Edit to its knowledge entity, externally accessible at http://freebase.com. In the absense of Title EIDR or Edit EIDR, this ID helps link together multiple Edits across countries. Example: '/m/0ffx29'" + }, + "trailerId": { + "type": "string", + "description": "Google-generated ID identifying the trailer linked to the Edit. Example: 'bhd_4e_cx'" + }, + "studioName": { + "type": "string", + "description": "Name of the studio that owns the Edit ordered." + }, + "pphNames": { + "type": "array", + "description": "Name of the post-production houses that manage the Edit.", + "items": { + "type": "string" + } + } + } + }, + "ListStoreInfosResponse": { + "id": "ListStoreInfosResponse", + "type": "object", + "description": "Response to the 'ListStoreInfos' method.", + "properties": { + "storeInfos": { + "type": "array", + "description": "List of StoreInfos that match the request criteria.", + "items": { + "$ref": "StoreInfo" + } + }, + "nextPageToken": { + "type": "string", + "description": "See 'List methods rules' for info about this field." + } + } + } + }, + "resources": { + "accounts": { + "resources": { + "avails": { + "methods": { + "list": { + "id": "playmoviespartner.accounts.avails.list", + "path": "v1/accounts/{accountId}/avails", + "httpMethod": "GET", + "description": "List Avails owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.", + "parameters": { + "accountId": { + "type": "string", + "description": "REQUIRED. See _General rules_ for more information about this field.", + "required": true, + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "See _List methods rules_ for info about this field.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "location": "query" + }, + "pphNames": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "repeated": true, + "location": "query" + }, + "studioNames": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "repeated": true, + "location": "query" + }, + "title": { + "type": "string", + "description": "Filter Avails that match a case-insensitive substring of the default Title name.", + "location": "query" + }, + "territories": { + "type": "string", + "description": "Filter Avails that match (case-insensitive) any of the given country codes, using the \"ISO 3166-1 alpha-2\" format (examples: \"US\", \"us\", \"Us\").", + "repeated": true, + "location": "query" + }, + "altId": { + "type": "string", + "description": "Filter Avails that match a case-insensitive, partner-specific custom id.", + "location": "query" + }, + "videoIds": { + "type": "string", + "description": "Filter Avails that match any of the given `video_id`s.", + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "accountId" + ], + "response": { + "$ref": "ListAvailsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ] + } + } + }, + "orders": { + "methods": { + "get": { + "id": "playmoviespartner.accounts.orders.get", + "path": "v1/accounts/{accountId}/orders/{orderId}", + "httpMethod": "GET", + "description": "Get an Order given its id. See _Authentication and Authorization rules_ and _Get methods rules_ for more information about this method.", + "parameters": { + "accountId": { + "type": "string", + "description": "REQUIRED. See _General rules_ for more information about this field.", + "required": true, + "location": "path" + }, + "orderId": { + "type": "string", + "description": "REQUIRED. Order ID.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "orderId" + ], + "response": { + "$ref": "Order" + }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ] + }, + "list": { + "id": "playmoviespartner.accounts.orders.list", + "path": "v1/accounts/{accountId}/orders", + "httpMethod": "GET", + "description": "List Orders owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.", + "parameters": { + "accountId": { + "type": "string", + "description": "REQUIRED. See _General rules_ for more information about this field.", + "required": true, + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "See _List methods rules_ for info about this field.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "location": "query" + }, + "pphNames": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "repeated": true, + "location": "query" + }, + "studioNames": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "repeated": true, + "location": "query" + }, + "name": { + "type": "string", + "description": "Filter Orders that match a title name (case-insensitive, sub-string match).", + "location": "query" + }, + "status": { + "type": "string", + "description": "Filter Orders that match one of the given status.", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_APPROVED", + "STATUS_FAILED", + "STATUS_PROCESSING", + "STATUS_UNFULFILLED", + "STATUS_NOT_AVAILABLE" + ], + "repeated": true, + "location": "query" + }, + "customId": { + "type": "string", + "description": "Filter Orders that match a case-insensitive, partner-specific custom id.", + "location": "query" + } + }, + "parameterOrder": [ + "accountId" + ], + "response": { + "$ref": "ListOrdersResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ] + } + } + }, + "experienceLocales": { + "methods": { + "get": { + "id": "playmoviespartner.accounts.experienceLocales.get", + "path": "v1/accounts/{accountId}/experienceLocales/{elId}", + "httpMethod": "GET", + "description": "Get an ExperienceLocale given its id. See _Authentication and Authorization rules_ and _Get methods rules_ for more information about this method.", + "parameters": { + "accountId": { + "type": "string", + "description": "REQUIRED. See _General rules_ for more information about this field.", + "required": true, + "location": "path" + }, + "elId": { + "type": "string", + "description": "REQUIRED. ExperienceLocale ID, as defined by Google.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "elId" + ], + "response": { + "$ref": "ExperienceLocale" + }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ] + }, + "list": { + "id": "playmoviespartner.accounts.experienceLocales.list", + "path": "v1/accounts/{accountId}/experienceLocales", + "httpMethod": "GET", + "description": "List ExperienceLocales owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.", + "parameters": { + "accountId": { + "type": "string", + "description": "REQUIRED. See _General rules_ for more information about this field.", + "required": true, + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "See _List methods rules_ for info about this field.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "location": "query" + }, + "pphNames": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "repeated": true, + "location": "query" + }, + "studioNames": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "repeated": true, + "location": "query" + }, + "titleLevelEidr": { + "type": "string", + "description": "Filter ExperienceLocales that match a given title-level EIDR.", + "location": "query" + }, + "editLevelEidr": { + "type": "string", + "description": "Filter ExperienceLocales that match a given edit-level EIDR.", + "location": "query" + }, + "status": { + "type": "string", + "description": "Filter ExperienceLocales that match one of the given status.", + "enum": [ + "STATUS_UNSPECIFIED", + "STATUS_APPROVED", + "STATUS_FAILED", + "STATUS_PROCESSING", + "STATUS_UNFULFILLED", + "STATUS_NOT_AVAILABLE" + ], + "repeated": true, + "location": "query" + }, + "customId": { + "type": "string", + "description": "Filter ExperienceLocales that match a case-insensitive, partner-specific custom id.", + "location": "query" + }, + "altCutId": { + "type": "string", + "description": "Filter ExperienceLocales that match a case-insensitive, partner-specific Alternative Cut ID.", + "location": "query" + } + }, + "parameterOrder": [ + "accountId" + ], + "response": { + "$ref": "ListExperienceLocalesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ] + } + } + }, + "storeInfos": { + "methods": { + "list": { + "id": "playmoviespartner.accounts.storeInfos.list", + "path": "v1/accounts/{accountId}/storeInfos", + "httpMethod": "GET", + "description": "List StoreInfos owned or managed by the partner. See _Authentication and Authorization rules_ and _List methods rules_ for more information about this method.", + "parameters": { + "accountId": { + "type": "string", + "description": "REQUIRED. See _General rules_ for more information about this field.", + "required": true, + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "See _List methods rules_ for info about this field.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "location": "query" + }, + "pphNames": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "repeated": true, + "location": "query" + }, + "studioNames": { + "type": "string", + "description": "See _List methods rules_ for info about this field.", + "repeated": true, + "location": "query" + }, + "videoId": { + "type": "string", + "description": "Filter StoreInfos that match a given `video_id`. NOTE: this field is deprecated and will be removed on V2; `video_ids` should be used instead.", + "location": "query" + }, + "countries": { + "type": "string", + "description": "Filter StoreInfos that match (case-insensitive) any of the given country codes, using the \"ISO 3166-1 alpha-2\" format (examples: \"US\", \"us\", \"Us\").", + "repeated": true, + "location": "query" + }, + "name": { + "type": "string", + "description": "Filter StoreInfos that match a case-insensitive substring of the default name.", + "location": "query" + }, + "videoIds": { + "type": "string", + "description": "Filter StoreInfos that match any of the given `video_id`s.", + "repeated": true, + "location": "query" + } + }, + "parameterOrder": [ + "accountId" + ], + "response": { + "$ref": "ListStoreInfosResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ] + } + }, + "resources": { + "country": { + "methods": { + "get": { + "id": "playmoviespartner.accounts.storeInfos.country.get", + "path": "v1/accounts/{accountId}/storeInfos/{videoId}/country/{country}", + "httpMethod": "GET", + "description": "Get a StoreInfo given its video id and country. See _Authentication and Authorization rules_ and _Get methods rules_ for more information about this method.", + "parameters": { + "accountId": { + "type": "string", + "description": "REQUIRED. See _General rules_ for more information about this field.", + "required": true, + "location": "path" + }, + "videoId": { + "type": "string", + "description": "REQUIRED. Video ID.", + "required": true, + "location": "path" + }, + "country": { + "type": "string", + "description": "REQUIRED. Edit country.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "videoId", + "country" + ], + "response": { + "$ref": "StoreInfo" + }, + "scopes": [ + "https://www.googleapis.com/auth/playmovies_partner.readonly" + ] + } + } + } + } + } + } + } + } +} diff --git a/etc/api/plus/v1/plus-api.json b/etc/api/plus/v1/plus-api.json index e821175a29..b7fe391e78 100644 --- a/etc/api/plus/v1/plus-api.json +++ b/etc/api/plus/v1/plus-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/I74wFQ2PdmMDOsAx2BuCGBOq9uQ\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/lgRkloFO1UVq7VPz42VZJlIBWaI\"", "discoveryVersion": "v1", "id": "plus:v1", "name": "plus", "version": "v1", - "revision": "20150719", + "revision": "20151014", "title": "Google+ API", "description": "The Google+ API enables developers to build on top of the Google+ platform.", "ownerDomain": "google.com", @@ -119,6 +119,22 @@ "type": "object", "description": "The person who performed this activity.", "properties": { + "clientSpecificActorInfo": { + "type": "object", + "description": "Actor info specific to particular clients.", + "properties": { + "youtubeActorInfo": { + "type": "object", + "description": "Actor info specific to YouTube clients.", + "properties": { + "channelId": { + "type": "string", + "description": "ID of the YouTube channel owned by the Actor." + } + } + } + } + }, "displayName": { "type": "string", "description": "The name of the actor, suitable for display." @@ -154,6 +170,16 @@ "url": { "type": "string", "description": "The link to the actor's Google profile." + }, + "verification": { + "type": "object", + "description": "Verification status of actor.", + "properties": { + "adHocVerified": { + "type": "string", + "description": "Verification for one-time or manual processes." + } + } } } }, @@ -198,6 +224,22 @@ "type": "object", "description": "If this activity's object is itself another activity, such as when a person reshares an activity, this property specifies the original activity's actor.", "properties": { + "clientSpecificActorInfo": { + "type": "object", + "description": "Actor info specific to particular clients.", + "properties": { + "youtubeActorInfo": { + "type": "object", + "description": "Actor info specific to YouTube clients.", + "properties": { + "channelId": { + "type": "string", + "description": "ID of the YouTube channel owned by the Actor." + } + } + } + } + }, "displayName": { "type": "string", "description": "The original actor's name, which is suitable for display." @@ -219,6 +261,16 @@ "url": { "type": "string", "description": "A link to the original actor's Google profile." + }, + "verification": { + "type": "object", + "description": "Verification status of actor.", + "properties": { + "adHocVerified": { + "type": "string", + "description": "Verification for one-time or manual processes." + } + } } } }, @@ -522,6 +574,22 @@ "type": "object", "description": "The person who posted this comment.", "properties": { + "clientSpecificActorInfo": { + "type": "object", + "description": "Actor info specific to particular clients.", + "properties": { + "youtubeActorInfo": { + "type": "object", + "description": "Actor info specific to YouTube clients.", + "properties": { + "channelId": { + "type": "string", + "description": "ID of the YouTube channel owned by the Actor." + } + } + } + } + }, "displayName": { "type": "string", "description": "The name of this actor, suitable for display." @@ -543,6 +611,16 @@ "url": { "type": "string", "description": "A link to the Person resource for this actor." + }, + "verification": { + "type": "object", + "description": "Verification status of actor.", + "properties": { + "adHocVerified": { + "type": "string", + "description": "Verification for one-time or manual processes." + } + } } } }, @@ -1743,26 +1821,6 @@ "https://www.googleapis.com/auth/plus.login", "https://www.googleapis.com/auth/plus.me" ] - }, - "remove": { - "id": "plus.moments.remove", - "path": "moments/{id}", - "httpMethod": "DELETE", - "description": "Delete a moment.", - "parameters": { - "id": { - "type": "string", - "description": "The ID of the moment to delete.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "id" - ], - "scopes": [ - "https://www.googleapis.com/auth/plus.login" - ] } } }, diff --git a/etc/api/plusdomains/v1/plusdomains-api.json b/etc/api/plusdomains/v1/plusdomains-api.json index 8478000193..61e134cce7 100644 --- a/etc/api/plusdomains/v1/plusdomains-api.json +++ b/etc/api/plusdomains/v1/plusdomains-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/HcXhUaCYj8k7XjNpIaT--1ZP6rY\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/JiNeLDZwZ4CDisO5kxxp-UNdJ28\"", "discoveryVersion": "v1", "id": "plusDomains:v1", "name": "plusDomains", "version": "v1", - "revision": "20150719", + "revision": "20151014", "title": "Google+ Domains API", "description": "The Google+ API enables developers to build on top of the Google+ platform.", "ownerDomain": "google.com", @@ -141,6 +141,22 @@ "type": "object", "description": "The person who performed this activity.", "properties": { + "clientSpecificActorInfo": { + "type": "object", + "description": "Actor info specific to particular clients.", + "properties": { + "youtubeActorInfo": { + "type": "object", + "description": "Actor info specific to YouTube clients.", + "properties": { + "channelId": { + "type": "string", + "description": "ID of the YouTube channel owned by the Actor." + } + } + } + } + }, "displayName": { "type": "string", "description": "The name of the actor, suitable for display." @@ -176,6 +192,16 @@ "url": { "type": "string", "description": "The link to the actor's Google profile." + }, + "verification": { + "type": "object", + "description": "Verification status of actor.", + "properties": { + "adHocVerified": { + "type": "string", + "description": "Verification for one-time or manual processes." + } + } } } }, @@ -220,6 +246,22 @@ "type": "object", "description": "If this activity's object is itself another activity, such as when a person reshares an activity, this property specifies the original activity's actor.", "properties": { + "clientSpecificActorInfo": { + "type": "object", + "description": "Actor info specific to particular clients.", + "properties": { + "youtubeActorInfo": { + "type": "object", + "description": "Actor info specific to YouTube clients.", + "properties": { + "channelId": { + "type": "string", + "description": "ID of the YouTube channel owned by the Actor." + } + } + } + } + }, "displayName": { "type": "string", "description": "The original actor's name, which is suitable for display." @@ -241,6 +283,16 @@ "url": { "type": "string", "description": "A link to the original actor's Google profile." + }, + "verification": { + "type": "object", + "description": "Verification status of actor.", + "properties": { + "adHocVerified": { + "type": "string", + "description": "Verification for one-time or manual processes." + } + } } } }, @@ -727,6 +779,22 @@ "type": "object", "description": "The person who posted this comment.", "properties": { + "clientSpecificActorInfo": { + "type": "object", + "description": "Actor info specific to particular clients.", + "properties": { + "youtubeActorInfo": { + "type": "object", + "description": "Actor info specific to YouTube clients.", + "properties": { + "channelId": { + "type": "string", + "description": "ID of the YouTube channel owned by the Actor." + } + } + } + } + }, "displayName": { "type": "string", "description": "The name of this actor, suitable for display." @@ -748,6 +816,16 @@ "url": { "type": "string", "description": "A link to the Person resource for this actor." + }, + "verification": { + "type": "object", + "description": "Verification status of actor.", + "properties": { + "adHocVerified": { + "type": "string", + "description": "Verification for one-time or manual processes." + } + } } } }, diff --git a/etc/api/proximitybeacon/v1beta1/proximitybeacon-api.json b/etc/api/proximitybeacon/v1beta1/proximitybeacon-api.json new file mode 100644 index 0000000000..0552939d99 --- /dev/null +++ b/etc/api/proximitybeacon/v1beta1/proximitybeacon-api.json @@ -0,0 +1,822 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/qiwkKULZKsE5qLcb8g90X8kbnl8\"", + "discoveryVersion": "v1", + "id": "proximitybeacon:v1beta1", + "name": "proximitybeacon", + "version": "v1beta1", + "revision": "20150729", + "title": "Google Proximity Beacon API", + "description": "This API provides services to register, manage, index, and search beacons.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/beacons/proximity/", + "protocol": "rest", + "baseUrl": "https://proximitybeacon.googleapis.com/", + "basePath": "/", + "rootUrl": "https://proximitybeacon.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "schemas": { + "Beacon": { + "id": "Beacon", + "type": "object", + "description": "Details of a beacon device.", + "properties": { + "beaconName": { + "type": "string", + "description": "Resource name of this beacon. A beacon name has the format \"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon. This field must be left empty when registering. After reading a beacon, clients can use the name for future operations." + }, + "advertisedId": { + "$ref": "AdvertisedId", + "description": "The identifier of a beacon as advertised by it. This field must be populated when registering. It may be empty when updating a beacon record because it is ignored in updates." + }, + "status": { + "type": "string", + "description": "Current status of the beacon. Required.", + "enum": [ + "STATUS_UNSPECIFIED", + "ACTIVE", + "DECOMMISSIONED", + "INACTIVE" + ] + }, + "placeId": { + "type": "string", + "description": "The [Google Places API](/places/place-id) Place ID of the place where the beacon is deployed. This is given when the beacon is registered or updated, not automatically detected in any way. Optional." + }, + "latLng": { + "$ref": "LatLng", + "description": "The location of the beacon, expressed as a latitude and longitude pair. This location is given when the beacon is registered or updated. It does not necessarily indicate the actual current location of the beacon. Optional." + }, + "indoorLevel": { + "$ref": "IndoorLevel", + "description": "The indoor level information for this beacon, if known. As returned by the Google Maps API. Optional." + }, + "expectedStability": { + "type": "string", + "description": "Expected location stability. This is set when the beacon is registered or updated, not automatically detected in any way. Optional.", + "enum": [ + "STABILITY_UNSPECIFIED", + "STABLE", + "PORTABLE", + "MOBILE", + "ROVING" + ] + }, + "description": { + "type": "string", + "description": "Free text used to identify and describe the beacon. Maximum length 140 characters. Optional." + }, + "properties": { + "type": "object", + "description": "Properties of the beacon device, for example battery type or firmware version. Optional.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "AdvertisedId": { + "id": "AdvertisedId", + "type": "object", + "description": "Defines a unique identifier of a beacon as broadcast by the device.", + "properties": { + "type": { + "type": "string", + "description": "Specifies the identifier type. Required.", + "enum": [ + "TYPE_UNSPECIFIED", + "EDDYSTONE", + "IBEACON", + "ALTBEACON" + ] + }, + "id": { + "type": "string", + "description": "The actual beacon identifier, as broadcast by the beacon hardware. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. The base64 encoding should be of the binary byte-stream and not any textual (such as hex) representation thereof. Required.", + "format": "byte" + } + } + }, + "LatLng": { + "id": "LatLng", + "type": "object", + "description": "An object representing a latitude/longitude pair. This is expressed as a pair of doubles representing degrees latitude and degrees longitude. Unless specified otherwise, this must conform to the WGS84 standard. Values must be within normalized ranges. Example of normalization code in Python: def NormalizeLongitude(longitude): \"\"\"Wrapsdecimal degrees longitude to [-180.0, 180.0].\"\"\" q, r = divmod(longitude, 360.0) if r \u003e 180.0 or (r == 180.0 and q \u003c= -1.0): return r - 360.0 return r def NormalizeLatLng(latitude, longitude): \"\"\"Wraps decimal degrees latitude and longitude to [-180.0, 180.0] and [-90.0, 90.0], respectively.\"\"\" r = latitude % 360.0 if r = 270.0: return r - 360, NormalizeLongitude(longitude) else: return 180 - r, NormalizeLongitude(longitude + 180.0) assert 180.0 == NormalizeLongitude(180.0) assert -180.0 == NormalizeLongitude(-180.0) assert -179.0 == NormalizeLongitude(181.0) assert (0.0, 0.0) == NormalizeLatLng(360.0, 0.0) assert (0.0, 0.0) == NormalizeLatLng(-360.0, 0.0) assert (85.0, 180.0) == NormalizeLatLng(95.0, 0.0) assert (-85.0, -170.0) == NormalizeLatLng(-95.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(90.0, 10.0) assert (-90.0, -10.0) == NormalizeLatLng(-90.0, -10.0) assert (0.0, -170.0) == NormalizeLatLng(-180.0, 10.0) assert (0.0, -170.0) == NormalizeLatLng(180.0, 10.0) assert (-90.0, 10.0) == NormalizeLatLng(270.0, 10.0) assert (90.0, 10.0) == NormalizeLatLng(-270.0, 10.0)", + "properties": { + "latitude": { + "type": "number", + "description": "The latitude in degrees. It must be in the range [-90.0, +90.0].", + "format": "double" + }, + "longitude": { + "type": "number", + "description": "The longitude in degrees. It must be in the range [-180.0, +180.0].", + "format": "double" + } + } + }, + "IndoorLevel": { + "id": "IndoorLevel", + "type": "object", + "description": "Indoor level, a human-readable string as returned by Google Maps APIs, useful to indicate which floor of a building a beacon is located on.", + "properties": { + "name": { + "type": "string", + "description": "The name of this level." + } + } + }, + "Empty": { + "id": "Empty", + "type": "object", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." + }, + "ListBeaconsResponse": { + "id": "ListBeaconsResponse", + "type": "object", + "description": "Response that contains list beacon results and pagination help.", + "properties": { + "beacons": { + "type": "array", + "description": "The beacons that matched the search criteria.", + "items": { + "$ref": "Beacon" + } + }, + "nextPageToken": { + "type": "string", + "description": "An opaque pagination token that the client may provide in their next request to retrieve the next page of results." + }, + "totalCount": { + "type": "string", + "description": "Estimate of the total number of beacons matched by the query. Higher values may be less accurate.", + "format": "int64" + } + } + }, + "BeaconAttachment": { + "id": "BeaconAttachment", + "type": "object", + "description": "Project-specific data associated with a beacon.", + "properties": { + "attachmentName": { + "type": "string", + "description": "Resource name of this attachment. Attachment names have the format: beacons/beacon_id/attachments/attachment_id. Leave this empty on creation." + }, + "namespacedType": { + "type": "string", + "description": "Specifies what kind of attachment this is. Tells a client how to interpret the `data` field. Format is namespace/type. Namespace provides type separation between clients. Type describes the type of `data`, for use by the client when parsing the `data` field. Required." + }, + "data": { + "type": "string", + "description": "An opaque data container for client-provided data. Must be [base64](http://tools.ietf.org/html/rfc4648#section-4) encoded in HTTP requests, and will be so encoded (with padding) in responses. Required.", + "format": "byte" + } + } + }, + "ListBeaconAttachmentsResponse": { + "id": "ListBeaconAttachmentsResponse", + "type": "object", + "description": "Response to ListBeaconAttachments that contains the requested attachments.", + "properties": { + "attachments": { + "type": "array", + "description": "The attachments that corresponded to the request params.", + "items": { + "$ref": "BeaconAttachment" + } + } + } + }, + "DeleteAttachmentsResponse": { + "id": "DeleteAttachmentsResponse", + "type": "object", + "description": "Response for a request to delete attachments.", + "properties": { + "numDeleted": { + "type": "integer", + "description": "The number of attachments that were deleted.", + "format": "int32" + } + } + }, + "ListNamespacesResponse": { + "id": "ListNamespacesResponse", + "type": "object", + "description": "Response to ListNamespacesRequest that contains all the project's namespaces.", + "properties": { + "namespaces": { + "type": "array", + "description": "The attachments that corresponded to the request params.", + "items": { + "$ref": "Namespace" + } + } + } + }, + "Namespace": { + "id": "Namespace", + "type": "object", + "description": "An attachment namespace defines read and write access for all the attachments created under it. Each namespace is globally unique, and owned by one project which is the only project that can create attachments under it.", + "properties": { + "namespaceName": { + "type": "string", + "description": "Resource name of this namespace. Namespaces names have the format: namespaces/namespace." + }, + "servingVisibility": { + "type": "string", + "description": "Specifies what clients may receive attachments under this namespace via `beaconinfo.getforobserved`.", + "enum": [ + "VISIBILITY_UNSPECIFIED", + "UNLISTED", + "PUBLIC" + ] + } + } + }, + "ListDiagnosticsResponse": { + "id": "ListDiagnosticsResponse", + "type": "object", + "description": "Response that contains the requested diagnostics.", + "properties": { + "diagnostics": { + "type": "array", + "description": "The diagnostics matching the given request.", + "items": { + "$ref": "Diagnostics" + } + }, + "nextPageToken": { + "type": "string", + "description": "Token that can be used for pagination. Returned only if the request matches more beacons than can be returned in this response." + } + } + }, + "Diagnostics": { + "id": "Diagnostics", + "type": "object", + "description": "Diagnostics for a single beacon.", + "properties": { + "beaconName": { + "type": "string", + "description": "Resource name of the beacon." + }, + "estimatedLowBatteryDate": { + "$ref": "Date", + "description": "The date when the battery is expected to be low. If the value is missing then there is no estimate for when the battery will be low. This value is only an estimate, not an exact date." + }, + "alerts": { + "type": "array", + "description": "An unordered list of Alerts that the beacon has.", + "enumDescriptions": [ + "Invalid value. Should never appear.", + "The beacon has been reported in a location different than its registered location. This may indicate that the beacon has been moved. This signal is not 100% accurate, but indicates that further investigation is worth while.", + "The battery level for the beacon is low enough that, given the beacon's current use, its battery will run out with in the next 60 days. This indicates that the battery should be replaced soon." + ], + "items": { + "type": "string", + "enum": [ + "ALERT_UNSPECIFIED", + "WRONG_LOCATION", + "LOW_BATTERY" + ] + } + } + } + }, + "Date": { + "id": "Date", + "type": "object", + "description": "Represents a whole calendar date, e.g. date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a year and month where the day is not significant, e.g. credit card expiration date. The year may be 0 to represent a month and day independent of year, e.g. anniversary date. Related types are [google.type.TimeOfDay][] and `google.protobuf.Timestamp`.", + "properties": { + "year": { + "type": "integer", + "description": "Year of date. Must be from 1 to 9,999, or 0 if specifying a date without a year.", + "format": "int32" + }, + "month": { + "type": "integer", + "description": "Month of year of date. Must be from 1 to 12.", + "format": "int32" + }, + "day": { + "type": "integer", + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year/month where the day is not sigificant.", + "format": "int32" + } + } + }, + "GetInfoForObservedBeaconsRequest": { + "id": "GetInfoForObservedBeaconsRequest", + "type": "object", + "description": "Request for beacon and attachment information about beacons that a mobile client has encountered \"in the wild\".", + "properties": { + "observations": { + "type": "array", + "description": "The beacons that the client has encountered. At least one must be given.", + "items": { + "$ref": "Observation" + } + }, + "namespacedTypes": { + "type": "array", + "description": "Specifies what kind of attachments to include in the response. When given, the response will include only attachments of the given types. When empty, no attachments will be returned. Must be in the format namespace/type. Accepts `*` to specify all types in all namespaces. Optional.", + "items": { + "type": "string" + } + } + } + }, + "Observation": { + "id": "Observation", + "type": "object", + "description": "Represents one beacon observed once.", + "properties": { + "advertisedId": { + "$ref": "AdvertisedId", + "description": "The ID advertised by the beacon the client has encountered. Required." + }, + "telemetry": { + "type": "string", + "description": "The array of telemetry bytes received from the beacon. The server is responsible for parsing it. This field may frequently be empty, as with a beacon that transmits telemetry only occasionally.", + "format": "byte" + }, + "timestampMs": { + "type": "string", + "description": "Time when the beacon was observed. Being sourced from a mobile device, this time may be suspect." + } + } + }, + "GetInfoForObservedBeaconsResponse": { + "id": "GetInfoForObservedBeaconsResponse", + "type": "object", + "description": "Information about the requested beacons, optionally including attachment data.", + "properties": { + "beacons": { + "type": "array", + "description": "Public information about beacons. May be empty if the request matched no beacons.", + "items": { + "$ref": "BeaconInfo" + } + } + } + }, + "BeaconInfo": { + "id": "BeaconInfo", + "type": "object", + "description": "A subset of beacon information served via the `beaconinfo.getforobserved` method, which you call when users of your app encounter your beacons.", + "properties": { + "advertisedId": { + "$ref": "AdvertisedId", + "description": "The ID advertised by the beacon." + }, + "beaconName": { + "type": "string", + "description": "The name under which the beacon is registered." + }, + "description": { + "type": "string", + "description": "Free text used to identify or describe the beacon in a registered establishment. For example: \"entrance\", \"room 101\", etc. May be empty." + }, + "attachments": { + "type": "array", + "description": "Attachments matching the type(s) requested. May be empty if no attachment types were requested, or if none matched.", + "items": { + "$ref": "AttachmentInfo" + } + } + } + }, + "AttachmentInfo": { + "id": "AttachmentInfo", + "type": "object", + "description": "A subset of attachment information served via the `beaconinfo.getforobserved` method, used when your users encounter your beacons.", + "properties": { + "namespacedType": { + "type": "string", + "description": "Specifies what kind of attachment this is. Tells a client how to interpret the `data` field. Format is namespace/type, for example scrupulous-wombat-12345/welcome-message" + }, + "data": { + "type": "string", + "description": "An opaque data container for client-provided data.", + "format": "byte" + } + } + } + }, + "resources": { + "beacons": { + "methods": { + "register": { + "id": "proximitybeacon.beacons.register", + "path": "v1beta1/beacons:register", + "httpMethod": "POST", + "description": "Registers a previously unregistered beacon given its `advertisedId`. These IDs are unique within the system. An ID can be registered only once.", + "request": { + "$ref": "Beacon" + }, + "response": { + "$ref": "Beacon" + } + }, + "decommission": { + "id": "proximitybeacon.beacons.decommission", + "path": "v1beta1/{+beaconName}:decommission", + "httpMethod": "POST", + "description": "Decommissions the specified beacon in the service. This beacon will no longer be returned from `beaconinfo.getforobserved`. This operation is permanent -- you will not be able to re-register a beacon with this ID again.", + "parameters": { + "beaconName": { + "type": "string", + "description": "Beacon that should be decommissioned. Required.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "beaconName" + ], + "response": { + "$ref": "Empty" + } + }, + "get": { + "id": "proximitybeacon.beacons.get", + "path": "v1beta1/{+beaconName}", + "httpMethod": "GET", + "description": "Returns detailed information about the specified beacon.", + "parameters": { + "beaconName": { + "type": "string", + "description": "Beacon that is requested.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "beaconName" + ], + "response": { + "$ref": "Beacon" + } + }, + "list": { + "id": "proximitybeacon.beacons.list", + "path": "v1beta1/beacons", + "httpMethod": "GET", + "description": "Searches the beacon registry for beacons that match the given search criteria. Only those beacons that the client has permission to list will be returned.", + "parameters": { + "q": { + "type": "string", + "description": "Filter query string that supports the following field filters: * `description:\"\"` For example: `description:\"Room 3\"` Returns beacons whose description matches tokens in the string \"Room 3\" (not necessarily that exact string). The string must be double-quoted. * `status:` For example: `status:active` Returns beacons whose status matches the given value. Values must be one of the Beacon.Status enum values (case insensitive). Accepts multiple filters which will be combined with OR logic. * `stability:` For example: `stability:mobile` Returns beacons whose expected stability matches the given value. Values must be one of the Beacon.Stability enum values (case insensitive). Accepts multiple filters which will be combined with OR logic. * `place_id:\"\"` For example: `place_id:\"ChIJVSZzVR8FdkgRXGmmm6SslKw=\"` Returns beacons explicitly registered at the given place, expressed as a Place ID obtained from [Google Places API](/places/place-id). Does not match places inside the given place. Does not consider the beacon's actual location (which may be different from its registered place). Accepts multiple filters that will be combined with OR logic. The place ID must be double-quoted. * `registration_time[|=]` For example: `registration_time\u003e=1433116800` Returns beacons whose registration time matches the given filter. Supports the operators: , =. Timestamp must be expressed as an integer number of seconds since midnight January 1, 1970 UTC. Accepts at most two filters that will be combined with AND logic, to support \"between\" semantics. If more than two are supplied, the latter ones are ignored. * `lat: lng: radius:` For example: `lat:51.1232343 lng:-1.093852 radius:1000` Returns beacons whose registered location is within the given circle. When any of these fields are given, all are required. Latitude and longitude must be decimal degrees between -90.0 and 90.0 and between -180.0 and 180.0 respectively. Radius must be an integer number of meters less than 1,000,000 (1000 km). * `property:\"=\"` For example: `property:\"battery-type=CR2032\"` Returns beacons which have a property of the given name and value. Supports multiple filters which will be combined with OR logic. The entire name=value string must be double-quoted as one string. * `attachment_type:\"\"` For example: `attachment_type:\"my-namespace/my-type\"` Returns beacons having at least one attachment of the given namespaced type. Supports \"any within this namespace\" via the partial wildcard syntax: \"my-namespace/*\". Supports multiple filters which will be combined with OR logic. The string must be double-quoted. Multiple filters on the same field are combined with OR logic (except registration_time which is combined with AND logic). Multiple filters on different fields are combined with AND logic. Filters should be separated by spaces. As with any HTTP query string parameter, the whole filter expression must be URL-encoded. Example REST request: `GET /v1beta1/beacons?q=status:active%20lat:51.123%20lng:-1.095%20radius:1000`", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A pagination token obtained from a previous request to list beacons.", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "The maximum number of records to return for this request, up to a server-defined upper limit.", + "format": "int32", + "location": "query" + } + }, + "response": { + "$ref": "ListBeaconsResponse" + } + }, + "update": { + "id": "proximitybeacon.beacons.update", + "path": "v1beta1/{+beaconName}", + "httpMethod": "PUT", + "description": "Updates the information about the specified beacon. **Any field that you do not populate in the submitted beacon will be permanently erased**, so you should follow the \"read, modify, write\" pattern to avoid inadvertently destroying data. Changes to the beacon status via this method will be silently ignored. To update beacon status, use the separate methods on this API for (de)activation and decommissioning.", + "parameters": { + "beaconName": { + "type": "string", + "description": "Resource name of this beacon. A beacon name has the format \"beacons/N!beaconId\" where the beaconId is the base16 ID broadcast by the beacon and N is a code for the beacon's type. Possible values are `3` for Eddystone, `1` for iBeacon, or `5` for AltBeacon. This field must be left empty when registering. After reading a beacon, clients can use the name for future operations.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "beaconName" + ], + "request": { + "$ref": "Beacon" + }, + "response": { + "$ref": "Beacon" + } + }, + "activate": { + "id": "proximitybeacon.beacons.activate", + "path": "v1beta1/{+beaconName}:activate", + "httpMethod": "POST", + "description": "(Re)activates a beacon. A beacon that is active will return information and attachment data when queried via `beaconinfo.getforobserved`. Calling this method on an already active beacon will do nothing (but will return a successful response code).", + "parameters": { + "beaconName": { + "type": "string", + "description": "The beacon to activate. Required.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "beaconName" + ], + "response": { + "$ref": "Empty" + } + }, + "deactivate": { + "id": "proximitybeacon.beacons.deactivate", + "path": "v1beta1/{+beaconName}:deactivate", + "httpMethod": "POST", + "description": "Deactivates a beacon. Once deactivated, the API will not return information nor attachment data for the beacon when queried via `beaconinfo.getforobserved`. Calling this method on an already inactive beacon will do nothing (but will return a successful response code).", + "parameters": { + "beaconName": { + "type": "string", + "description": "The beacon name of this beacon.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "beaconName" + ], + "response": { + "$ref": "Empty" + } + } + }, + "resources": { + "attachments": { + "methods": { + "create": { + "id": "proximitybeacon.beacons.attachments.create", + "path": "v1beta1/{+beaconName}/attachments", + "httpMethod": "POST", + "description": "Associates the given data with the specified beacon. Attachment data must contain two parts: \n- A namespaced type. \n- The actual attachment data itself. The namespaced type consists of two parts, the namespace and the type. The namespace must be one of the values returned by the `namespaces` endpoint, while the type can be a string of any characters except for the forward slash (`/`) up to 100 characters in length. Attachment data can be up to 1024 bytes long.", + "parameters": { + "beaconName": { + "type": "string", + "description": "The beacon on which the attachment should be created. Required.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "beaconName" + ], + "request": { + "$ref": "BeaconAttachment" + }, + "response": { + "$ref": "BeaconAttachment" + } + }, + "list": { + "id": "proximitybeacon.beacons.attachments.list", + "path": "v1beta1/{+beaconName}/attachments", + "httpMethod": "GET", + "description": "Returns the attachments for the specified beacon that match the specified namespaced-type pattern. To control which namespaced types are returned, you add the `namespacedType` query parameter to the request. You must either use `*/*`, to return all attachments, or the namespace must be one of the ones returned from the `namespaces` endpoint.", + "parameters": { + "beaconName": { + "type": "string", + "description": "The beacon whose attachments are to be fetched. Required.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + }, + "namespacedType": { + "type": "string", + "description": "Specifies the namespace and type of attachment to include in response in namespace/type format. Accepts `*/*` to specify \"all types in all namespaces\".", + "location": "query" + } + }, + "parameterOrder": [ + "beaconName" + ], + "response": { + "$ref": "ListBeaconAttachmentsResponse" + } + }, + "delete": { + "id": "proximitybeacon.beacons.attachments.delete", + "path": "v1beta1/{+attachmentName}", + "httpMethod": "DELETE", + "description": "Deletes the specified attachment for the given beacon. Each attachment has a unique attachment name (`attachmentName`) which is returned when you fetch the attachment data via this API. You specify this with the delete request to control which attachment is removed. This operation cannot be undone.", + "parameters": { + "attachmentName": { + "type": "string", + "description": "The attachment name (`attachmentName`) of the attachment to remove. For example: `beacons/3!893737abc9/attachments/c5e937-af0-494-959-ec49d12738` Required.", + "required": true, + "pattern": "^beacons/[^/]*/attachments/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "attachmentName" + ], + "response": { + "$ref": "Empty" + } + }, + "batchDelete": { + "id": "proximitybeacon.beacons.attachments.batchDelete", + "path": "v1beta1/{+beaconName}/attachments:batchDelete", + "httpMethod": "POST", + "description": "Deletes multiple attachments on a given beacon. This operation is permanent and cannot be undone. You can optionally specify `namespacedType` to choose which attachments should be deleted. If you do not specify `namespacedType`, all your attachments on the given beacon will be deleted. You also may explicitly specify `*/*` to delete all.", + "parameters": { + "beaconName": { + "type": "string", + "description": "The beacon whose attachments are to be deleted. Required.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + }, + "namespacedType": { + "type": "string", + "description": "Specifies the namespace and type of attachments to delete in `namespace/type` format. Accepts `*/*` to specify \"all types in all namespaces\". Optional.", + "location": "query" + } + }, + "parameterOrder": [ + "beaconName" + ], + "response": { + "$ref": "DeleteAttachmentsResponse" + } + } + } + }, + "diagnostics": { + "methods": { + "list": { + "id": "proximitybeacon.beacons.diagnostics.list", + "path": "v1beta1/{+beaconName}/diagnostics", + "httpMethod": "GET", + "description": "List the diagnostics for a single beacon. You can also list diagnostics for all the beacons owned by your Google Developers Console project by using the beacon name `beacons/-`.", + "parameters": { + "beaconName": { + "type": "string", + "description": "Beacon that the diagnostics are for.", + "required": true, + "pattern": "^beacons/[^/]*$", + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Specifies the maximum number of results to return. Defaults to 10. Maximum 1000. Optional.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Requests results that occur after the `page_token`, obtained from the response to a previous request. Optional.", + "location": "query" + }, + "alertFilter": { + "type": "string", + "description": "Requests only beacons that have the given alert. For example, to find beacons that have low batteries use `alert_filter=LOW_BATTERY`.", + "enum": [ + "ALERT_UNSPECIFIED", + "WRONG_LOCATION", + "LOW_BATTERY" + ], + "location": "query" + } + }, + "parameterOrder": [ + "beaconName" + ], + "response": { + "$ref": "ListDiagnosticsResponse" + } + } + } + } + } + }, + "namespaces": { + "methods": { + "list": { + "id": "proximitybeacon.namespaces.list", + "path": "v1beta1/namespaces", + "httpMethod": "GET", + "description": "Lists all attachment namespaces owned by your Google Developers Console project. Attachment data associated with a beacon must include a namespaced type, and the namespace must be owned by your project.", + "response": { + "$ref": "ListNamespacesResponse" + } + } + } + }, + "beaconinfo": { + "methods": { + "getforobserved": { + "id": "proximitybeacon.beaconinfo.getforobserved", + "path": "v1beta1/beaconinfo:getforobserved", + "httpMethod": "POST", + "description": "Given one or more beacon observations, returns any beacon information and attachments accessible to your application.", + "request": { + "$ref": "GetInfoForObservedBeaconsRequest" + }, + "response": { + "$ref": "GetInfoForObservedBeaconsResponse" + } + } + } + } + } +} diff --git a/etc/api/pubsub/v1/pubsub-api.json b/etc/api/pubsub/v1/pubsub-api.json new file mode 100644 index 0000000000..9ad14a7752 --- /dev/null +++ b/etc/api/pubsub/v1/pubsub-api.json @@ -0,0 +1,1036 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/5PwJv4HxhbjrzfsQfToP7wx4-Xk\"", + "discoveryVersion": "v1", + "id": "pubsub:v1", + "name": "pubsub", + "version": "v1", + "revision": "20150526", + "title": "Google Cloud Pub/Sub API", + "description": "Provides reliable, many-to-many, asynchronous messaging between applications.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://cloud.google.com/pubsub/docs", + "protocol": "rest", + "baseUrl": "https://pubsub.googleapis.com/", + "basePath": "/", + "rootUrl": "https://pubsub.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "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/pubsub": { + "description": "View and manage Pub/Sub topics and subscriptions" + } + } + } + }, + "schemas": { + "SetIamPolicyRequest": { + "id": "SetIamPolicyRequest", + "type": "object", + "description": "Request message for `SetIamPolicy` method.", + "properties": { + "policy": { + "$ref": "Policy", + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." + } + } + }, + "Policy": { + "id": "Policy", + "type": "object", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { \"bindings\": [ { \"role\": \"roles/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com\"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).", + "properties": { + "version": { + "type": "integer", + "description": "Version of the `Policy`. The default version is 0.", + "format": "int32" + }, + "bindings": { + "type": "array", + "description": "Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.", + "items": { + "$ref": "Binding" + } + }, + "etag": { + "type": "string", + "description": "Can be used to perform a read-modify-write.", + "format": "byte" + } + } + }, + "Binding": { + "id": "Binding", + "type": "object", + "description": "Associates `members` with a `role`.", + "properties": { + "role": { + "type": "string", + "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required" + }, + "members": { + "type": "array", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", + "items": { + "type": "string" + } + } + } + }, + "TestIamPermissionsRequest": { + "id": "TestIamPermissionsRequest", + "type": "object", + "description": "Request message for `TestIamPermissions` method.", + "properties": { + "permissions": { + "type": "array", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", + "items": { + "type": "string" + } + } + } + }, + "TestIamPermissionsResponse": { + "id": "TestIamPermissionsResponse", + "type": "object", + "description": "Response message for `TestIamPermissions` method.", + "properties": { + "permissions": { + "type": "array", + "description": "A subset of `TestPermissionsRequest.permissions` that the caller is allowed.", + "items": { + "type": "string" + } + } + } + }, + "Topic": { + "id": "Topic", + "type": "object", + "description": "A topic resource.", + "properties": { + "name": { + "type": "string", + "description": "The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`." + } + } + }, + "PublishRequest": { + "id": "PublishRequest", + "type": "object", + "description": "Request for the Publish method.", + "properties": { + "messages": { + "type": "array", + "description": "The messages to publish.", + "items": { + "$ref": "PubsubMessage" + } + } + } + }, + "PubsubMessage": { + "id": "PubsubMessage", + "type": "object", + "description": "A message data and its attributes. The message payload must not be empty; it must contain either a non-empty data field, or at least one attribute.", + "properties": { + "data": { + "type": "string", + "description": "The message payload. For JSON requests, the value of this field must be base64-encoded.", + "format": "byte" + }, + "attributes": { + "type": "object", + "description": "Optional attributes for this message.", + "additionalProperties": { + "type": "string" + } + }, + "messageId": { + "type": "string", + "description": "ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by a publisher in a `Publish` call." + } + } + }, + "PublishResponse": { + "id": "PublishResponse", + "type": "object", + "description": "Response for the `Publish` method.", + "properties": { + "messageIds": { + "type": "array", + "description": "The server-assigned ID of each published message, in the same order as the messages in the request. IDs are guaranteed to be unique within the topic.", + "items": { + "type": "string" + } + } + } + }, + "ListTopicsResponse": { + "id": "ListTopicsResponse", + "type": "object", + "description": "Response for the `ListTopics` method.", + "properties": { + "topics": { + "type": "array", + "description": "The resulting topics.", + "items": { + "$ref": "Topic" + } + }, + "nextPageToken": { + "type": "string", + "description": "If not empty, indicates that there may be more topics that match the request; this value should be passed in a new `ListTopicsRequest`." + } + } + }, + "ListTopicSubscriptionsResponse": { + "id": "ListTopicSubscriptionsResponse", + "type": "object", + "description": "Response for the `ListTopicSubscriptions` method.", + "properties": { + "subscriptions": { + "type": "array", + "description": "The names of the subscriptions that match the request.", + "items": { + "type": "string" + } + }, + "nextPageToken": { + "type": "string", + "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListTopicSubscriptionsRequest` to get more subscriptions." + } + } + }, + "Empty": { + "id": "Empty", + "type": "object", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." + }, + "Subscription": { + "id": "Subscription", + "type": "object", + "description": "A subscription resource.", + "properties": { + "name": { + "type": "string", + "description": "The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`." + }, + "topic": { + "type": "string", + "description": "The name of the topic from which this subscription is receiving messages. The value of this field will be `_deleted-topic_` if the topic has been deleted." + }, + "pushConfig": { + "$ref": "PushConfig", + "description": "If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods." + }, + "ackDeadlineSeconds": { + "type": "integer", + "description": "This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull delivery this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id`. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used.", + "format": "int32" + } + } + }, + "PushConfig": { + "id": "PushConfig", + "type": "object", + "description": "Configuration for a push delivery endpoint.", + "properties": { + "pushEndpoint": { + "type": "string", + "description": "A URL locating the endpoint to which messages should be pushed. For example, a Webhook endpoint might use \"https://example.com/push\"." + }, + "attributes": { + "type": "object", + "description": "Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.", + "additionalProperties": { + "type": "string" + } + } + } + }, + "ListSubscriptionsResponse": { + "id": "ListSubscriptionsResponse", + "type": "object", + "description": "Response for the `ListSubscriptions` method.", + "properties": { + "subscriptions": { + "type": "array", + "description": "The subscriptions that match the request.", + "items": { + "$ref": "Subscription" + } + }, + "nextPageToken": { + "type": "string", + "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions." + } + } + }, + "ModifyAckDeadlineRequest": { + "id": "ModifyAckDeadlineRequest", + "type": "object", + "description": "Request for the ModifyAckDeadline method.", + "properties": { + "ackIds": { + "type": "array", + "description": "List of acknowledgment IDs.", + "items": { + "type": "string" + } + }, + "ackDeadlineSeconds": { + "type": "integer", + "description": "The new ack deadline with respect to the time this request was sent to the Pub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new ack deadline will expire 10 seconds after the `ModifyAckDeadline` call was made. Specifying zero may immediately make the message available for another pull request.", + "format": "int32" + } + } + }, + "AcknowledgeRequest": { + "id": "AcknowledgeRequest", + "type": "object", + "description": "Request for the Acknowledge method.", + "properties": { + "ackIds": { + "type": "array", + "description": "The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the `Pull` response. Must not be empty.", + "items": { + "type": "string" + } + } + } + }, + "PullRequest": { + "id": "PullRequest", + "type": "object", + "description": "Request for the `Pull` method.", + "properties": { + "returnImmediately": { + "type": "boolean", + "description": "If this is specified as true the system will respond immediately even if it is not able to return a message in the `Pull` response. Otherwise the system is allowed to wait until at least one message is available rather than returning no messages. The client may cancel the request if it does not wish to wait any longer for the response." + }, + "maxMessages": { + "type": "integer", + "description": "The maximum number of messages returned for this request. The Pub/Sub system may return fewer than the number specified.", + "format": "int32" + } + } + }, + "PullResponse": { + "id": "PullResponse", + "type": "object", + "description": "Response for the `Pull` method.", + "properties": { + "receivedMessages": { + "type": "array", + "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if there are no more available in the backlog. The Pub/Sub system may return fewer than the `maxMessages` requested even if there are more messages available in the backlog.", + "items": { + "$ref": "ReceivedMessage" + } + } + } + }, + "ReceivedMessage": { + "id": "ReceivedMessage", + "type": "object", + "description": "A message and its corresponding acknowledgment ID.", + "properties": { + "ackId": { + "type": "string", + "description": "This ID can be used to acknowledge the received message." + }, + "message": { + "$ref": "PubsubMessage", + "description": "The message." + } + } + }, + "ModifyPushConfigRequest": { + "id": "ModifyPushConfigRequest", + "type": "object", + "description": "Request for the ModifyPushConfig method.", + "properties": { + "pushConfig": { + "$ref": "PushConfig", + "description": "The push configuration for future deliveries. An empty `pushConfig` indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if `Pull` is not called." + } + } + } + }, + "resources": { + "projects": { + "resources": { + "topics": { + "methods": { + "setIamPolicy": { + "id": "pubsub.projects.topics.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being specified. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`.", + "required": true, + "pattern": "^projects/[^/]*/topics/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "getIamPolicy": { + "id": "pubsub.projects.topics.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "httpMethod": "GET", + "description": "Gets the access control policy for a `resource`. Is empty if the policy or the resource does not exist.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being requested. Resource is usually specified as a path, such as, `projects/{project}`.", + "required": true, + "pattern": "^projects/[^/]*/topics/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "testIamPermissions": { + "id": "pubsub.projects.topics.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy detail is being requested. `resource` is usually specified as a path, such as, `projects/{project}`.", + "required": true, + "pattern": "^projects/[^/]*/topics/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "create": { + "id": "pubsub.projects.topics.create", + "path": "v1/{+name}", + "httpMethod": "PUT", + "description": "Creates the given topic with the given name.", + "parameters": { + "name": { + "type": "string", + "description": "The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "required": true, + "pattern": "^projects/[^/]*/topics/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "Topic" + }, + "response": { + "$ref": "Topic" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "publish": { + "id": "pubsub.projects.topics.publish", + "path": "v1/{+topic}:publish", + "httpMethod": "POST", + "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist. The message payload must not be empty; it must contain either a non-empty data field, or at least one attribute.", + "parameters": { + "topic": { + "type": "string", + "description": "The messages in the request will be published on this topic.", + "required": true, + "pattern": "^projects/[^/]*/topics/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "topic" + ], + "request": { + "$ref": "PublishRequest" + }, + "response": { + "$ref": "PublishResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "get": { + "id": "pubsub.projects.topics.get", + "path": "v1/{+topic}", + "httpMethod": "GET", + "description": "Gets the configuration of a topic.", + "parameters": { + "topic": { + "type": "string", + "description": "The name of the topic to get.", + "required": true, + "pattern": "^projects/[^/]*/topics/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "Topic" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "list": { + "id": "pubsub.projects.topics.list", + "path": "v1/{+project}/topics", + "httpMethod": "GET", + "description": "Lists matching topics.", + "parameters": { + "project": { + "type": "string", + "description": "The name of the cloud project that topics belong to.", + "required": true, + "pattern": "^projects/[^/]*$", + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of topics to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and that the system should return the next page of data.", + "location": "query" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "ListTopicsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "delete": { + "id": "pubsub.projects.topics.delete", + "path": "v1/{+topic}", + "httpMethod": "DELETE", + "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`.", + "parameters": { + "topic": { + "type": "string", + "description": "Name of the topic to delete.", + "required": true, + "pattern": "^projects/[^/]*/topics/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + } + }, + "resources": { + "subscriptions": { + "methods": { + "list": { + "id": "pubsub.projects.topics.subscriptions.list", + "path": "v1/{+topic}/subscriptions", + "httpMethod": "GET", + "description": "Lists the name of the subscriptions for this topic.", + "parameters": { + "topic": { + "type": "string", + "description": "The name of the topic that subscriptions are attached to.", + "required": true, + "pattern": "^projects/[^/]*/topics/[^/]*$", + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of subscription names to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior `ListTopicSubscriptions` call, and that the system should return the next page of data.", + "location": "query" + } + }, + "parameterOrder": [ + "topic" + ], + "response": { + "$ref": "ListTopicSubscriptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + } + } + } + } + }, + "subscriptions": { + "methods": { + "setIamPolicy": { + "id": "pubsub.projects.subscriptions.setIamPolicy", + "path": "v1/{+resource}:setIamPolicy", + "httpMethod": "POST", + "description": "Sets the access control policy on the specified resource. Replaces any existing policy.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being specified. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "SetIamPolicyRequest" + }, + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "getIamPolicy": { + "id": "pubsub.projects.subscriptions.getIamPolicy", + "path": "v1/{+resource}:getIamPolicy", + "httpMethod": "GET", + "description": "Gets the access control policy for a `resource`. Is empty if the policy or the resource does not exist.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy is being requested. Resource is usually specified as a path, such as, `projects/{project}`.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "response": { + "$ref": "Policy" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "testIamPermissions": { + "id": "pubsub.projects.subscriptions.testIamPermissions", + "path": "v1/{+resource}:testIamPermissions", + "httpMethod": "POST", + "description": "Returns permissions that a caller has on the specified resource.", + "parameters": { + "resource": { + "type": "string", + "description": "REQUIRED: The resource for which policy detail is being requested. `resource` is usually specified as a path, such as, `projects/{project}`.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "resource" + ], + "request": { + "$ref": "TestIamPermissionsRequest" + }, + "response": { + "$ref": "TestIamPermissionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "create": { + "id": "pubsub.projects.subscriptions.create", + "path": "v1/{+name}", + "httpMethod": "PUT", + "description": "Creates a subscription to a given topic for a given subscriber. If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.", + "parameters": { + "name": { + "type": "string", + "description": "The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "Subscription" + }, + "response": { + "$ref": "Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "get": { + "id": "pubsub.projects.subscriptions.get", + "path": "v1/{+subscription}", + "httpMethod": "GET", + "description": "Gets the configuration details of a subscription.", + "parameters": { + "subscription": { + "type": "string", + "description": "The name of the subscription to get.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Subscription" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "list": { + "id": "pubsub.projects.subscriptions.list", + "path": "v1/{+project}/subscriptions", + "httpMethod": "GET", + "description": "Lists matching subscriptions.", + "parameters": { + "project": { + "type": "string", + "description": "The name of the cloud project that subscriptions belong to.", + "required": true, + "pattern": "^projects/[^/]*$", + "location": "path" + }, + "pageSize": { + "type": "integer", + "description": "Maximum number of subscriptions to return.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions` call, and that the system should return the next page of data.", + "location": "query" + } + }, + "parameterOrder": [ + "project" + ], + "response": { + "$ref": "ListSubscriptionsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "delete": { + "id": "pubsub.projects.subscriptions.delete", + "path": "v1/{+subscription}", + "httpMethod": "DELETE", + "description": "Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription, or its topic unless the same topic is specified.", + "parameters": { + "subscription": { + "type": "string", + "description": "The subscription to delete.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "subscription" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "modifyAckDeadline": { + "id": "pubsub.projects.subscriptions.modifyAckDeadline", + "path": "v1/{+subscription}:modifyAckDeadline", + "httpMethod": "POST", + "description": "Modifies the ack deadline for a specific message. This method is useful to indicate that more time is needed to process a message by the subscriber, or to make the message available for redelivery if the processing was interrupted.", + "parameters": { + "subscription": { + "type": "string", + "description": "The name of the subscription.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "ModifyAckDeadlineRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "acknowledge": { + "id": "pubsub.projects.subscriptions.acknowledge", + "path": "v1/{+subscription}:acknowledge", + "httpMethod": "POST", + "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.", + "parameters": { + "subscription": { + "type": "string", + "description": "The subscription whose message is being acknowledged.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "AcknowledgeRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "pull": { + "id": "pubsub.projects.subscriptions.pull", + "path": "v1/{+subscription}:pull", + "httpMethod": "POST", + "description": "Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The server may return `UNAVAILABLE` if there are too many concurrent pull requests pending for the given subscription.", + "parameters": { + "subscription": { + "type": "string", + "description": "The subscription from which messages should be pulled.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "PullRequest" + }, + "response": { + "$ref": "PullResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + }, + "modifyPushConfig": { + "id": "pubsub.projects.subscriptions.modifyPushConfig", + "path": "v1/{+subscription}:modifyPushConfig", + "httpMethod": "POST", + "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`.", + "parameters": { + "subscription": { + "type": "string", + "description": "The name of the subscription.", + "required": true, + "pattern": "^projects/[^/]*/subscriptions/[^/]*$", + "location": "path" + } + }, + "parameterOrder": [ + "subscription" + ], + "request": { + "$ref": "ModifyPushConfigRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/pubsub" + ] + } + } + } + } + } + } +} diff --git a/etc/api/pubsub/v1beta1/pubsub-api.json b/etc/api/pubsub/v1beta1/pubsub-api.json index 2aac2a8850..78188f8a52 100644 --- a/etc/api/pubsub/v1beta1/pubsub-api.json +++ b/etc/api/pubsub/v1beta1/pubsub-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/GpjpDLvjZHTVKwwIavBHfgQL16c\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/WREiw9MY3aTruirkUtn50QBMhss\"", "discoveryVersion": "v1", "id": "pubsub:v1beta1", "name": "pubsub", "version": "v1beta1", - "revision": "20150326", + "revision": "20150813", "title": "Google Cloud Pub/Sub API", "description": "Provides reliable, many-to-many, asynchronous messaging between applications.", "ownerDomain": "google.com", @@ -172,7 +172,7 @@ }, "ackIds": { "type": "array", - "description": "List of acknowledgment IDs. Either this field or ack_id should be populated, not both. TODO(handrei): mark the above field deprecated once it's not used internally.", + "description": "List of acknowledgment IDs. Either this field or ack_id should be populated, not both.", "items": { "type": "string" } diff --git a/etc/api/pubsub/v1beta1a/pubsub-api.json b/etc/api/pubsub/v1beta1a/pubsub-api.json index 2295e3bf2c..4d356a2c1d 100644 --- a/etc/api/pubsub/v1beta1a/pubsub-api.json +++ b/etc/api/pubsub/v1beta1a/pubsub-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/qGYIx74Qi92EX9k6GZSlKoaG6o4\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/FIcTWYREiJfCFA5uZlDccoMTpeU\"", "discoveryVersion": "v1", "id": "pubsub:v1beta1a", "name": "pubsub", "version": "v1beta1a", - "revision": "20150604", + "revision": "20150526", "title": "Google Cloud Pub/Sub API", "description": "Provides reliable, many-to-many, asynchronous messaging between applications.", "ownerDomain": "google.com", @@ -17,7 +17,7 @@ "documentationLink": "https://cloud.google.com/pubsub/docs", "protocol": "rest", "baseUrl": "https://pubsub.googleapis.com/", - "basePath": "", + "basePath": "/", "rootUrl": "https://pubsub.googleapis.com/", "servicePath": "", "batchPath": "batch", @@ -407,7 +407,7 @@ }, "ackIds": { "type": "array", - "description": "List of acknowledgment IDs. Either this field or ack_id should be populated, not both. TODO(handrei): mark the above field deprecated once it's not used internally.", + "description": "List of acknowledgment IDs. Either this field or ack_id should be populated, not both.", "items": { "type": "string" } diff --git a/etc/api/pubsub/v1beta2/pubsub-api.json b/etc/api/pubsub/v1beta2/pubsub-api.json index b434fdd9d3..077da571a8 100644 --- a/etc/api/pubsub/v1beta2/pubsub-api.json +++ b/etc/api/pubsub/v1beta2/pubsub-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/jJarxdUjZcANpaMjt3kLHFRtpJA\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/bZNz6VUa9sqtr0UjT-GTq4xvg0E\"", "discoveryVersion": "v1", "id": "pubsub:v1beta2", "name": "pubsub", "version": "v1beta2", - "revision": "20150604", + "revision": "20150526", "title": "Google Cloud Pub/Sub API", "description": "Provides reliable, many-to-many, asynchronous messaging between applications.", "ownerDomain": "google.com", @@ -17,7 +17,7 @@ "documentationLink": "https://cloud.google.com/pubsub/docs", "protocol": "rest", "baseUrl": "https://pubsub.googleapis.com/", - "basePath": "", + "basePath": "/", "rootUrl": "https://pubsub.googleapis.com/", "servicePath": "", "batchPath": "batch", @@ -120,33 +120,27 @@ "properties": { "policy": { "$ref": "Policy", - "description": "REQUIRED: The complete policy to be applied to the 'resource'. The size of the policy is limited to a few 10s of KB. An empty policy is in general a valid policy but certain services (like Projects) might reject them." + "description": "REQUIRED: The complete policy to be applied to the `resource`. The size of the policy is limited to a few 10s of KB. An empty policy is a valid policy but certain Cloud Platform services (such as Projects) might reject them." } } }, "Policy": { "id": "Policy", "type": "object", - "description": "# Overview The `Policy` defines an access control policy language. It is used to define policies that are attached to resources like files, folders, VMs, etc. # Policy structure A `Policy` consists of a list of bindings. A `Binding` binds a set of members to a role, where the members include user accounts, user groups, user domains, and service accounts. A 'role' is a named set of permissions, defined by IAM. The definition of a role is outside the policy. A permission check first determines the roles that include the specified permission, and then determines if the principal specified is a member of a binding to at least one of these roles. The membership check is recursive when a group is bound to a role. Policy examples: ``` { \"bindings\": [ { \"role\": \"roles/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:frontend@example.iam.gserviceaccounts.com\"] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com\"] } ] } ```", + "description": "Defines an Identity and Access Management (IAM) policy. It is used to specify access control policies for Cloud Platform resources. A `Policy` consists of a list of `bindings`. A `Binding` binds a list of `members` to a `role`, where the members can be user accounts, Google groups, Google domains, and service accounts. A `role` is a named list of permissions defined by IAM. **Example** { \"bindings\": [ { \"role\": \"roles/owner\", \"members\": [ \"user:mike@example.com\", \"group:admins@example.com\", \"domain:google.com\", \"serviceAccount:my-other-app@appspot.gserviceaccount.com\"] }, { \"role\": \"roles/viewer\", \"members\": [\"user:sean@example.com\"] } ] } For a description of IAM and its features, see the [IAM developer's guide](https://cloud.google.com/iam).", "properties": { "version": { "type": "integer", - "description": "The policy language version. The version of the policy is represented by the etag. The default version is 0.", + "description": "Version of the `Policy`. The default version is 0.", "format": "int32" }, "bindings": { "type": "array", - "description": "It is an error to specify multiple bindings for the same role. It is an error to specify a binding with no members.", + "description": "Associates a list of `members` to a `role`. Multiple `bindings` must not be specified for the same `role`. `bindings` with no members will result in an error.", "items": { "$ref": "Binding" } }, - "rules": { - "type": "array", - "items": { - "$ref": "Rule" - } - }, "etag": { "type": "string", "description": "Can be used to perform a read-modify-write.", @@ -157,177 +151,21 @@ "Binding": { "id": "Binding", "type": "object", - "description": "Associates members with roles. See below for allowed formats of members.", + "description": "Associates `members` with a `role`.", "properties": { "role": { "type": "string", - "description": "The name of the role to which the members should be bound. Examples: \"roles/viewer\", \"roles/editor\", \"roles/owner\". Required" + "description": "Role that is assigned to `members`. For example, `roles/viewer`, `roles/editor`, or `roles/owner`. Required" }, "members": { "type": "array", - "description": "Format of member entries: 1. allUsers Matches any requesting principal (users, service accounts or anonymous). 2. allAuthenticatedUsers Matches any requesting authenticated principal (users or service accounts). 3. user:{emailid} A google user account using an email address. For example alice@gmail.com, joe@example.com 4. serviceAccount:{emailid} An service account email. 5. group:{emailid} A google group with an email address. For example auth-ti-cloud@google.com 6. domain:{domain} A Google Apps domain name. For example google.com, example.com", + "description": "Specifies the identities requesting access for a Cloud Platform resource. `members` can have the following formats: * `allUsers`: A special identifier that represents anyone who is on the internet; with or without a Google account. * `allAuthenticatedUsers`: A special identifier that represents anyone who is authenticated with a Google account or a service account. * `user:{emailid}`: An email address that represents a specific Google account. For example, `alice@gmail.com` or `joe@example.com`. * `serviceAccount:{emailid}`: An email address that represents a service account. For example, `my-other-app@appspot.gserviceaccount.com`. * `group:{emailid}`: An email address that represents a Google group. For example, `admins@example.com`. * `domain:{domain}`: A Google Apps domain name that represents all the users of that domain. For example, `google.com` or `example.com`.", "items": { "type": "string" } } } }, - "Rule": { - "id": "Rule", - "type": "object", - "description": "A rule to be applied in a Policy.", - "properties": { - "description": { - "type": "string", - "description": "Human-readable description of the rule." - }, - "permissions": { - "type": "array", - "description": "A permission is a string of form '..' (e.g., 'storage.buckets.list'). A value of '*' matches all permissions, and a verb part of '*' (e.g., 'storage.buckets.*') matches all verbs.", - "items": { - "type": "string" - } - }, - "action": { - "type": "string", - "description": "Required", - "enum": [ - "NO_ACTION", - "ALLOW", - "ALLOW_WITH_LOG", - "DENY", - "DENY_WITH_LOG", - "LOG" - ] - }, - "in": { - "type": "array", - "description": "The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is in this set of entries.", - "items": { - "type": "string" - } - }, - "notIn": { - "type": "array", - "description": "The rule matches if the PRINCIPAL/AUTHORITY_SELECTOR is not in this set of entries. The formation for in and not_in entries is the same as members in a Binding above.", - "items": { - "type": "string" - } - }, - "conditions": { - "type": "array", - "description": "Additional restrictions that must be met", - "items": { - "$ref": "Condition" - } - }, - "logConfig": { - "type": "array", - "description": "The config returned to callers of tech.iam.IAM.CheckPolicy for any entries that match the LOG action.", - "items": { - "$ref": "LogConfig" - } - } - } - }, - "Condition": { - "id": "Condition", - "type": "object", - "description": "A condition to be met.", - "properties": { - "iam": { - "type": "string", - "description": "Trusted attributes supplied by the IAM system.", - "enum": [ - "NO_ATTR", - "AUTHORITY", - "ATTRIBUTION" - ] - }, - "sys": { - "type": "string", - "description": "Trusted attributes supplied by any service that owns resources and uses the IAM system for access control.", - "enum": [ - "NO_ATTR", - "REGION", - "SERVICE", - "NAME", - "IP" - ] - }, - "svc": { - "type": "string", - "description": "Trusted attributes discharged by the service." - }, - "op": { - "type": "string", - "description": "An operator to apply the subject with.", - "enum": [ - "NO_OP", - "EQUALS", - "NOT_EQUALS", - "IN", - "NOT_IN", - "DISCHARGED" - ] - }, - "value": { - "type": "string", - "description": "The object of the condition. Exactly one of these must be set." - }, - "values": { - "type": "array", - "description": "The objects of the condition. This is mutually exclusive with 'value'.", - "items": { - "type": "string" - } - } - } - }, - "LogConfig": { - "id": "LogConfig", - "type": "object", - "description": "Specifies what kind of log the caller must write Increment a streamz counter with the specified metric and field names. Metric names should start with a '/', generally be lowercase-only, and end in \"_count\". Field names should not contain an initial slash. The actual exported metric names will have \"/iam/policy\" prepended. Field names correspond to IAM request parameters and field values are their respective values. At present only \"iam_principal\", corresponding to IAMContext.principal, is supported. Examples: counter { metric: \"/debug_access_count\" field: \"iam_principal\" } ==\u003e increment counter /iam/policy/backend_debug_access_count {iam_principal=[value of IAMContext.principal]} At this time we do not support: * multiple field names (though this may be supported in the future) * decrementing the counter * incrementing it by anything other than 1", - "properties": { - "counter": { - "$ref": "CounterOptions", - "description": "Counter options." - }, - "dataAccess": { - "$ref": "DataAccessOptions", - "description": "Data access options." - }, - "cloudAudit": { - "$ref": "CloudAuditOptions", - "description": "Cloud audit options." - } - } - }, - "CounterOptions": { - "id": "CounterOptions", - "type": "object", - "description": "Options for counters", - "properties": { - "metric": { - "type": "string", - "description": "The metric to update." - }, - "field": { - "type": "string", - "description": "The field value to attribute." - } - } - }, - "DataAccessOptions": { - "id": "DataAccessOptions", - "type": "object", - "description": "Write a Data Access (Gin) log" - }, - "CloudAuditOptions": { - "id": "CloudAuditOptions", - "type": "object", - "description": "Write a Cloud Audit log" - }, "TestIamPermissionsRequest": { "id": "TestIamPermissionsRequest", "type": "object", @@ -335,7 +173,7 @@ "properties": { "permissions": { "type": "array", - "description": "The set of permissions to check for the 'resource'. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", + "description": "The set of permissions to check for the `resource`. Permissions with wildcards (such as '*' or 'storage.*') are not allowed.", "items": { "type": "string" } @@ -363,7 +201,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the topic. It must have the format \"projects/{project}/topics/{topic}\" for Google Cloud Pub/Sub API v1 and v1beta2. {topic} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9], dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with \"goog\"." + "description": "The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`." } } }, @@ -384,7 +222,7 @@ "PubsubMessage": { "id": "PubsubMessage", "type": "object", - "description": "A message data and its attributes.", + "description": "A message data and its attributes. The message payload must not be empty; it must contain either a non-empty data field, or at least one attribute.", "properties": { "data": { "type": "string", @@ -400,14 +238,14 @@ }, "messageId": { "type": "string", - "description": "ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a PubsubMessage via a Pull call or a push delivery. It must not be populated by a publisher in a Publish call." + "description": "ID of this message assigned by the server at publication time. Guaranteed to be unique within the topic. This value may be read by a subscriber that receives a `PubsubMessage` via a `Pull` call or a push delivery. It must not be populated by a publisher in a `Publish` call." } } }, "PublishResponse": { "id": "PublishResponse", "type": "object", - "description": "Response for the Publish method.", + "description": "Response for the `Publish` method.", "properties": { "messageIds": { "type": "array", @@ -421,7 +259,7 @@ "ListTopicsResponse": { "id": "ListTopicsResponse", "type": "object", - "description": "Response for the ListTopics method.", + "description": "Response for the `ListTopics` method.", "properties": { "topics": { "type": "array", @@ -432,14 +270,14 @@ }, "nextPageToken": { "type": "string", - "description": "If not empty, indicates that there may be more topics that match the request; this value should be passed in a new ListTopicsRequest." + "description": "If not empty, indicates that there may be more topics that match the request; this value should be passed in a new `ListTopicsRequest`." } } }, "ListTopicSubscriptionsResponse": { "id": "ListTopicSubscriptionsResponse", "type": "object", - "description": "Response for the ListTopicSubscriptions method.", + "description": "Response for the `ListTopicSubscriptions` method.", "properties": { "subscriptions": { "type": "array", @@ -450,7 +288,7 @@ }, "nextPageToken": { "type": "string", - "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new ListTopicSubscriptionsRequest to get more subscriptions." + "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListTopicSubscriptionsRequest` to get more subscriptions." } } }, @@ -466,7 +304,7 @@ "properties": { "name": { "type": "string", - "description": "The name of the subscription. It must have the format \"projects/{project}/subscriptions/{subscription}\" for Google Cloud Pub/Sub API v1 and v1beta2. {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9], dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with \"goog\"." + "description": "The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`." }, "topic": { "type": "string", @@ -474,11 +312,11 @@ }, "pushConfig": { "$ref": "PushConfig", - "description": "If push delivery is used with this subscription, this field is used to configure it. An empty pushConfig signifies that the subscriber will pull and ack messages using API methods." + "description": "If push delivery is used with this subscription, this field is used to configure it. An empty `pushConfig` signifies that the subscriber will pull and ack messages using API methods." }, "ackDeadlineSeconds": { "type": "integer", - "description": "This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull delivery this value is used as the initial value for the ack deadline. It may be overridden for each message using its corresponding ack_id by calling ModifyAckDeadline. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 60 seconds is used.", + "description": "This value is the maximum time after a subscriber receives a message before the subscriber should acknowledge the message. After message delivery but before the ack deadline expires and before the message is acknowledged, it is an outstanding message and will not be delivered again during that time (on a best-effort basis). For pull delivery this value is used as the initial value for the ack deadline. To override this value for a given message, call `ModifyAckDeadline` with the corresponding `ack_id`. For push delivery, this value is also used to set the request timeout for the call to the push endpoint. If the subscriber never acknowledges the message, the Pub/Sub system will eventually redeliver the message. If this parameter is not set, the default value of 10 seconds is used.", "format": "int32" } } @@ -494,7 +332,7 @@ }, "attributes": { "type": "object", - "description": "Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the CreateSubscription call, it will default to the version of the API used to make such call. If not present during a ModifyPushConfig call, its value will not be changed. GetSubscription calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.", + "description": "Endpoint configuration attributes. Every endpoint has a set of API supported attributes that can be used to control different aspects of the message delivery. The currently supported attribute is `x-goog-version`, which you can use to change the format of the push message. This attribute indicates the version of the data expected by the endpoint. This controls the shape of the envelope (i.e. its fields and metadata). The endpoint version is based on the version of the Pub/Sub API. If not present during the `CreateSubscription` call, it will default to the version of the API used to make such call. If not present during a `ModifyPushConfig` call, its value will not be changed. `GetSubscription` calls will always return a valid version, even if the subscription was created without this attribute. The possible values for this attribute are: * `v1beta1`: uses the push format defined in the v1beta1 Pub/Sub API. * `v1` or `v1beta2`: uses the push format defined in the v1 Pub/Sub API.", "additionalProperties": { "type": "string" } @@ -504,7 +342,7 @@ "ListSubscriptionsResponse": { "id": "ListSubscriptionsResponse", "type": "object", - "description": "Response for the ListSubscriptions method.", + "description": "Response for the `ListSubscriptions` method.", "properties": { "subscriptions": { "type": "array", @@ -515,7 +353,7 @@ }, "nextPageToken": { "type": "string", - "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new ListSubscriptionsRequest to get more subscriptions." + "description": "If not empty, indicates that there may be more subscriptions that match the request; this value should be passed in a new `ListSubscriptionsRequest` to get more subscriptions." } } }, @@ -537,7 +375,7 @@ }, "ackDeadlineSeconds": { "type": "integer", - "description": "The new ack deadline with respect to the time this request was sent to the Pub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new ack deadline will expire 10 seconds after the ModifyAckDeadline call was made. Specifying zero may immediately make the message available for another pull request.", + "description": "The new ack deadline with respect to the time this request was sent to the Pub/Sub system. Must be \u003e= 0. For example, if the value is 10, the new ack deadline will expire 10 seconds after the `ModifyAckDeadline` call was made. Specifying zero may immediately make the message available for another pull request.", "format": "int32" } } @@ -549,7 +387,7 @@ "properties": { "ackIds": { "type": "array", - "description": "The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the Pull response. Must not be empty.", + "description": "The acknowledgment ID for the messages being acknowledged that was returned by the Pub/Sub system in the `Pull` response. Must not be empty.", "items": { "type": "string" } @@ -559,11 +397,11 @@ "PullRequest": { "id": "PullRequest", "type": "object", - "description": "Request for the Pull method.", + "description": "Request for the `Pull` method.", "properties": { "returnImmediately": { "type": "boolean", - "description": "If this is specified as true the system will respond immediately even if it is not able to return a message in the Pull response. Otherwise the system is allowed to wait until at least one message is available rather than returning no messages. The client may cancel the request if it does not wish to wait any longer for the response." + "description": "If this is specified as true the system will respond immediately even if it is not able to return a message in the `Pull` response. Otherwise the system is allowed to wait until at least one message is available rather than returning no messages. The client may cancel the request if it does not wish to wait any longer for the response." }, "maxMessages": { "type": "integer", @@ -575,11 +413,11 @@ "PullResponse": { "id": "PullResponse", "type": "object", - "description": "Response for the Pull method.", + "description": "Response for the `Pull` method.", "properties": { "receivedMessages": { "type": "array", - "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if there are no more available in the backlog. The Pub/Sub system may return fewer than the maxMessages requested even if there are more messages available in the backlog.", + "description": "Received Pub/Sub messages. The Pub/Sub system will return zero messages if there are no more available in the backlog. The Pub/Sub system may return fewer than the `maxMessages` requested even if there are more messages available in the backlog.", "items": { "$ref": "ReceivedMessage" } @@ -608,7 +446,7 @@ "properties": { "pushConfig": { "$ref": "PushConfig", - "description": "The push configuration for future deliveries. An empty pushConfig indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if Pull is not called." + "description": "The push configuration for future deliveries. An empty `pushConfig` indicates that the Pub/Sub system should stop pushing messages from the given subscription and allow messages to be pulled and acknowledged - effectively pausing the subscription if `Pull` is not called." } } } @@ -626,7 +464,7 @@ "parameters": { "resource": { "type": "string", - "description": "REQUIRED: The resource for which policy is being specified. Resource is usually specified as a path, such as, projects/{project}/zones/{zone}/disks/{disk}.", + "description": "REQUIRED: The resource for which policy is being specified. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`.", "required": true, "pattern": "^projects/[^/]*/topics/[^/]*$", "location": "path" @@ -650,11 +488,11 @@ "id": "pubsub.projects.topics.getIamPolicy", "path": "v1beta2/{+resource}:getIamPolicy", "httpMethod": "GET", - "description": "Gets the access control policy for a resource. Is empty if the policy or the resource does not exist.", + "description": "Gets the access control policy for a `resource`. Is empty if the policy or the resource does not exist.", "parameters": { "resource": { "type": "string", - "description": "REQUIRED: The resource for which policy is being requested. Resource is usually specified as a path, such as, projects/{project}.", + "description": "REQUIRED: The resource for which policy is being requested. Resource is usually specified as a path, such as, `projects/{project}`.", "required": true, "pattern": "^projects/[^/]*/topics/[^/]*$", "location": "path" @@ -679,7 +517,7 @@ "parameters": { "resource": { "type": "string", - "description": "REQUIRED: The resource for which policy detail is being requested. Resource is usually specified as a path, such as, projects/{project}.", + "description": "REQUIRED: The resource for which policy detail is being requested. `resource` is usually specified as a path, such as, `projects/{project}`.", "required": true, "pattern": "^projects/[^/]*/topics/[^/]*$", "location": "path" @@ -707,7 +545,7 @@ "parameters": { "name": { "type": "string", - "description": "The name of the topic. It must have the format \"projects/{project}/topics/{topic}\" for Google Cloud Pub/Sub API v1 and v1beta2. {topic} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9], dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with \"goog\".", + "description": "The name of the topic. It must have the format `\"projects/{project}/topics/{topic}\"`. `{topic}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", "required": true, "pattern": "^projects/[^/]*/topics/[^/]*$", "location": "path" @@ -731,7 +569,7 @@ "id": "pubsub.projects.topics.publish", "path": "v1beta2/{+topic}:publish", "httpMethod": "POST", - "description": "Adds one or more messages to the topic. Returns NOT_FOUND if the topic does not exist.", + "description": "Adds one or more messages to the topic. Returns `NOT_FOUND` if the topic does not exist. The message payload must not be empty; it must contain either a non-empty data field, or at least one attribute.", "parameters": { "topic": { "type": "string", @@ -801,7 +639,7 @@ }, "pageToken": { "type": "string", - "description": "The value returned by the last ListTopicsResponse; indicates that this is a continuation of a prior ListTopics call, and that the system should return the next page of data.", + "description": "The value returned by the last `ListTopicsResponse`; indicates that this is a continuation of a prior `ListTopics` call, and that the system should return the next page of data.", "location": "query" } }, @@ -820,7 +658,7 @@ "id": "pubsub.projects.topics.delete", "path": "v1beta2/{+topic}", "httpMethod": "DELETE", - "description": "Deletes the topic with the given name. Returns NOT_FOUND if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`.", + "description": "Deletes the topic with the given name. Returns `NOT_FOUND` if the topic does not exist. After a topic is deleted, a new topic may be created with the same name; this is an entirely new topic with none of the old configuration or subscriptions. Existing subscriptions to this topic are not deleted, but their `topic` field is set to `_deleted-topic_`.", "parameters": { "topic": { "type": "string", @@ -866,7 +704,7 @@ }, "pageToken": { "type": "string", - "description": "The value returned by the last ListTopicSubscriptionsResponse; indicates that this is a continuation of a prior ListTopicSubscriptions call, and that the system should return the next page of data.", + "description": "The value returned by the last `ListTopicSubscriptionsResponse`; indicates that this is a continuation of a prior `ListTopicSubscriptions` call, and that the system should return the next page of data.", "location": "query" } }, @@ -895,7 +733,7 @@ "parameters": { "resource": { "type": "string", - "description": "REQUIRED: The resource for which policy is being specified. Resource is usually specified as a path, such as, projects/{project}/zones/{zone}/disks/{disk}.", + "description": "REQUIRED: The resource for which policy is being specified. `resource` is usually specified as a path, such as, `projects/{project}/zones/{zone}/disks/{disk}`.", "required": true, "pattern": "^projects/[^/]*/subscriptions/[^/]*$", "location": "path" @@ -919,11 +757,11 @@ "id": "pubsub.projects.subscriptions.getIamPolicy", "path": "v1beta2/{+resource}:getIamPolicy", "httpMethod": "GET", - "description": "Gets the access control policy for a resource. Is empty if the policy or the resource does not exist.", + "description": "Gets the access control policy for a `resource`. Is empty if the policy or the resource does not exist.", "parameters": { "resource": { "type": "string", - "description": "REQUIRED: The resource for which policy is being requested. Resource is usually specified as a path, such as, projects/{project}.", + "description": "REQUIRED: The resource for which policy is being requested. Resource is usually specified as a path, such as, `projects/{project}`.", "required": true, "pattern": "^projects/[^/]*/subscriptions/[^/]*$", "location": "path" @@ -948,7 +786,7 @@ "parameters": { "resource": { "type": "string", - "description": "REQUIRED: The resource for which policy detail is being requested. Resource is usually specified as a path, such as, projects/{project}.", + "description": "REQUIRED: The resource for which policy detail is being requested. `resource` is usually specified as a path, such as, `projects/{project}`.", "required": true, "pattern": "^projects/[^/]*/subscriptions/[^/]*$", "location": "path" @@ -972,11 +810,11 @@ "id": "pubsub.projects.subscriptions.create", "path": "v1beta2/{+name}", "httpMethod": "PUT", - "description": "Creates a subscription to a given topic for a given subscriber. If the subscription already exists, returns ALREADY_EXISTS. If the corresponding topic doesn't exist, returns NOT_FOUND. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.", + "description": "Creates a subscription to a given topic for a given subscriber. If the subscription already exists, returns `ALREADY_EXISTS`. If the corresponding topic doesn't exist, returns `NOT_FOUND`. If the name is not provided in the request, the server will assign a random name for this subscription on the same project as the topic.", "parameters": { "name": { "type": "string", - "description": "The name of the subscription. It must have the format \"projects/{project}/subscriptions/{subscription}\" for Google Cloud Pub/Sub API v1 and v1beta2. {subscription} must start with a letter, and contain only letters ([A-Za-z]), numbers ([0-9], dashes (-), underscores (_), periods (.), tildes (~), plus (+) or percent signs (%). It must be between 3 and 255 characters in length, and it must not start with \"goog\".", + "description": "The name of the subscription. It must have the format `\"projects/{project}/subscriptions/{subscription}\"`. `{subscription}` must start with a letter, and contain only letters (`[A-Za-z]`), numbers (`[0-9]`), dashes (`-`), underscores (`_`), periods (`.`), tildes (`~`), plus (`+`) or percent signs (`%`). It must be between 3 and 255 characters in length, and it must not start with `\"goog\"`.", "required": true, "pattern": "^projects/[^/]*/subscriptions/[^/]*$", "location": "path" @@ -1042,7 +880,7 @@ }, "pageToken": { "type": "string", - "description": "The value returned by the last ListSubscriptionsResponse; indicates that this is a continuation of a prior ListSubscriptions call, and that the system should return the next page of data.", + "description": "The value returned by the last `ListSubscriptionsResponse`; indicates that this is a continuation of a prior `ListSubscriptions` call, and that the system should return the next page of data.", "location": "query" } }, @@ -1061,7 +899,7 @@ "id": "pubsub.projects.subscriptions.delete", "path": "v1beta2/{+subscription}", "httpMethod": "DELETE", - "description": "Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to Pull after deletion will return NOT_FOUND. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription, or its topic unless the same topic is specified.", + "description": "Deletes an existing subscription. All pending messages in the subscription are immediately dropped. Calls to `Pull` after deletion will return `NOT_FOUND`. After a subscription is deleted, a new one may be created with the same name, but the new one has no association with the old subscription, or its topic unless the same topic is specified.", "parameters": { "subscription": { "type": "string", @@ -1114,7 +952,7 @@ "id": "pubsub.projects.subscriptions.acknowledge", "path": "v1beta2/{+subscription}:acknowledge", "httpMethod": "POST", - "description": "Acknowledges the messages associated with the ack tokens in the AcknowledgeRequest. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.", + "description": "Acknowledges the messages associated with the `ack_ids` in the `AcknowledgeRequest`. The Pub/Sub system can remove the relevant messages from the subscription. Acknowledging a message whose ack deadline has expired may succeed, but such a message may be redelivered later. Acknowledging a message more than once will not result in an error.", "parameters": { "subscription": { "type": "string", @@ -1142,7 +980,7 @@ "id": "pubsub.projects.subscriptions.pull", "path": "v1beta2/{+subscription}:pull", "httpMethod": "POST", - "description": "Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The server may return UNAVAILABLE if there are too many concurrent pull requests pending for the given subscription.", + "description": "Pulls messages from the server. Returns an empty list if there are no messages available in the backlog. The server may return `UNAVAILABLE` if there are too many concurrent pull requests pending for the given subscription.", "parameters": { "subscription": { "type": "string", @@ -1170,7 +1008,7 @@ "id": "pubsub.projects.subscriptions.modifyPushConfig", "path": "v1beta2/{+subscription}:modifyPushConfig", "httpMethod": "POST", - "description": "Modifies the PushConfig for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty PushConfig) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the PushConfig.", + "description": "Modifies the `PushConfig` for a specified subscription. This may be used to change a push subscription to a pull one (signified by an empty `PushConfig`) or vice versa, or change the endpoint URL and other attributes of a push subscription. Messages will accumulate for delivery continuously through the call regardless of changes to the `PushConfig`.", "parameters": { "subscription": { "type": "string", diff --git a/etc/api/replicapool/v1beta1/replicapool-api.json b/etc/api/replicapool/v1beta1/replicapool-api.json index 04820cbba6..7d82f26648 100644 --- a/etc/api/replicapool/v1beta1/replicapool-api.json +++ b/etc/api/replicapool/v1beta1/replicapool-api.json @@ -1,6 +1,6 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/bbBsSTsXQi92V3hzGiyxok5bZF0\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/3LBsJh0TU5kp5gt4okT0XAt0lsw\"", "discoveryVersion": "v1", "id": "replicapool:v1beta1", "name": "replicapool", @@ -75,6 +75,9 @@ "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" + }, "https://www.googleapis.com/auth/ndev.cloudman": { "description": "View and manage your Google Cloud Platform management resources and deployment status information" }, @@ -728,6 +731,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly", "https://www.googleapis.com/auth/replicapool", @@ -811,6 +815,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly", "https://www.googleapis.com/auth/replicapool", @@ -996,6 +1001,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly", "https://www.googleapis.com/auth/replicapool", @@ -1051,6 +1057,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/ndev.cloudman", "https://www.googleapis.com/auth/ndev.cloudman.readonly", "https://www.googleapis.com/auth/replicapool", diff --git a/etc/api/replicapool/v1beta2/replicapool-api.json b/etc/api/replicapool/v1beta2/replicapool-api.json index fe0737bb37..8f54118a24 100644 --- a/etc/api/replicapool/v1beta2/replicapool-api.json +++ b/etc/api/replicapool/v1beta2/replicapool-api.json @@ -1,6 +1,6 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/QPdxF7lKZPugyM4sPnwbbuOltwY\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/67X4oa_z2X9akk2jDtoTiNGUkaE\"", "discoveryVersion": "v1", "id": "replicapool:v1beta2", "name": "replicapool", @@ -75,6 +75,9 @@ "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" + }, "https://www.googleapis.com/auth/compute": { "description": "View and manage your Google Compute Engine resources" }, @@ -672,6 +675,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] @@ -770,6 +774,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly" ] diff --git a/etc/api/replicapoolupdater/v1beta1/replicapoolupdater-api.json b/etc/api/replicapoolupdater/v1beta1/replicapoolupdater-api.json index 96b9c320f3..a6fbcc059d 100644 --- a/etc/api/replicapoolupdater/v1beta1/replicapoolupdater-api.json +++ b/etc/api/replicapoolupdater/v1beta1/replicapoolupdater-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/VmJ_vmyXHKjcZlOaFyHKHkKE8I0\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/a9_NhKO1DW_f-K-sZ0-h8ToME8I\"", "discoveryVersion": "v1", "id": "replicapoolupdater:v1beta1", "name": "replicapoolupdater", "version": "v1beta1", - "revision": "20150326", + "revision": "20150904", "title": "Google Compute Engine Instance Group Updater API", "description": "The Google Compute Engine Instance Group Updater API provides services for updating groups of Compute Engine Instances.", "ownerDomain": "google.com", @@ -75,6 +75,9 @@ "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" + }, "https://www.googleapis.com/auth/replicapool": { "description": "View and manage replica pools" }, @@ -119,7 +122,7 @@ }, "instance": { "type": "string", - "description": "URL of the instance being updated." + "description": "Fully-qualified URL of the instance being updated." }, "status": { "type": "string", @@ -214,7 +217,7 @@ }, "kind": { "type": "string", - "description": "[Output Only] Type of the resource. Always kind#operation for Operation resources.", + "description": "[Output Only] Type of the resource. Always replicapoolupdater#operation for Operation resources.", "default": "replicapoolupdater#operation" }, "name": { @@ -299,6 +302,37 @@ } } }, + "OperationList": { + "id": "OperationList", + "type": "object", + "description": "Contains a list of Operation resources.", + "properties": { + "id": { + "type": "string", + "description": "[Output Only] Unique identifier for the resource; defined by the server." + }, + "items": { + "type": "array", + "description": "[Output Only] The Operation resources.", + "items": { + "$ref": "Operation" + } + }, + "kind": { + "type": "string", + "description": "[Output Only] Type of resource. Always replicapoolupdater#operations for Operations resource.", + "default": "replicapoolupdater#operationList" + }, + "nextPageToken": { + "type": "string", + "description": "[Output Only] A token used to continue a truncate." + }, + "selfLink": { + "type": "string", + "description": "[Output Only] Server-defined URL for this resource." + } + } + }, "RollingUpdate": { "id": "RollingUpdate", "type": "object", @@ -364,6 +398,10 @@ "description": "[Output Only] Type of the resource.", "default": "replicapoolupdater#rollingUpdate" }, + "oldInstanceTemplate": { + "type": "string", + "description": "Fully-qualified URL of the instance template encountered while starting the update." + }, "policy": { "type": "object", "description": "Parameters of the update process.", @@ -524,6 +562,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/replicapool", "https://www.googleapis.com/auth/replicapool.readonly" ] @@ -574,11 +613,6 @@ "description": "Optional. Filter expression for filtering listed resources.", "location": "query" }, - "instanceGroupManager": { - "type": "string", - "description": "The name of the instance group manager. Use this parameter to return only updates to instances that are part of a specific instance group.", - "location": "query" - }, "maxResults": { "type": "integer", "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.", @@ -616,6 +650,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/replicapool", "https://www.googleapis.com/auth/replicapool.readonly" ] @@ -675,6 +710,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/replicapool", "https://www.googleapis.com/auth/replicapool.readonly" ] @@ -838,6 +874,57 @@ "https://www.googleapis.com/auth/cloud-platform", "https://www.googleapis.com/auth/replicapool" ] + }, + "list": { + "id": "replicapoolupdater.zoneOperations.list", + "path": "{project}/zones/{zone}/operations", + "httpMethod": "GET", + "description": "Retrieves the list of Operation resources contained within the specified zone.", + "parameters": { + "filter": { + "type": "string", + "description": "Optional. Filter expression for filtering listed resources.", + "location": "query" + }, + "maxResults": { + "type": "integer", + "description": "Optional. Maximum count of results to be returned. Maximum value is 500 and default value is 500.", + "default": "500", + "format": "uint32", + "minimum": "0", + "maximum": "500", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "Optional. Tag returned by a previous list request truncated by maxResults. Used to continue a previous list request.", + "location": "query" + }, + "project": { + "type": "string", + "description": "Name of the project scoping this request.", + "required": true, + "pattern": "(?:(?:[-a-z0-9]{1,63}\\.)*(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?):)?(?:[0-9]{1,19}|(?:[a-z](?:[-a-z0-9]{0,61}[a-z0-9])?))", + "location": "path" + }, + "zone": { + "type": "string", + "description": "Name of the zone scoping this request.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "zone" + ], + "response": { + "$ref": "OperationList" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/replicapool" + ] } } } diff --git a/etc/api/resourceviews/v1beta1/resourceviews-api.json b/etc/api/resourceviews/v1beta1/resourceviews-api.json index 0025d167ce..81ae0151f4 100644 --- a/etc/api/resourceviews/v1beta1/resourceviews-api.json +++ b/etc/api/resourceviews/v1beta1/resourceviews-api.json @@ -1,6 +1,6 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/cQvoowMiSr7N8G8JWSVMnopHtSU\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/zGXHhFNf_BjX91GfOIqcxzMz9hQ\"", "discoveryVersion": "v1", "id": "resourceviews:v1beta1", "name": "resourceviews", @@ -75,6 +75,9 @@ "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" + }, "https://www.googleapis.com/auth/compute": { "description": "View and manage your Google Compute Engine resources" }, @@ -425,6 +428,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -508,6 +512,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -563,6 +568,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -722,6 +728,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -805,6 +812,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -860,6 +868,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", diff --git a/etc/api/resourceviews/v1beta2/resourceviews-api.json b/etc/api/resourceviews/v1beta2/resourceviews-api.json index 3d150f6e2a..68d5d7371c 100644 --- a/etc/api/resourceviews/v1beta2/resourceviews-api.json +++ b/etc/api/resourceviews/v1beta2/resourceviews-api.json @@ -1,6 +1,6 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Czl2mkcl-UOWxqwK4LFExYmF-RA\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/Q2Fm4OHaHKaTfeWzlGIBAoc7BO8\"", "discoveryVersion": "v1", "id": "resourceviews:v1beta2", "name": "resourceviews", @@ -75,6 +75,9 @@ "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" + }, "https://www.googleapis.com/auth/compute": { "description": "View and manage your Google Compute Engine resources" }, @@ -551,6 +554,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -606,6 +610,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -732,6 +737,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -859,6 +865,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", @@ -948,6 +955,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/compute", "https://www.googleapis.com/auth/compute.readonly", "https://www.googleapis.com/auth/ndev.cloudman", diff --git a/etc/api/script/v1/script-api.json b/etc/api/script/v1/script-api.json new file mode 100644 index 0000000000..ffbbba04ac --- /dev/null +++ b/etc/api/script/v1/script-api.json @@ -0,0 +1,319 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/naX8yNJ_bY3dR5Ft8Kwm0spj_ao\"", + "discoveryVersion": "v1", + "id": "script:v1", + "name": "script", + "version": "v1", + "revision": "20150922", + "title": "Google Apps Script Execution API", + "description": "An API for executing Google Apps Script projects.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/apps-script/execution/rest/v1/run", + "protocol": "rest", + "baseUrl": "https://script.googleapis.com/", + "basePath": "/", + "rootUrl": "https://script.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://mail.google.com/": { + "description": "View and manage your mail" + }, + "https://www.google.com/calendar/feeds": { + "description": "Manage your calendars" + }, + "https://www.google.com/m8/feeds": { + "description": "Manage your contacts" + }, + "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.user": { + "description": "View and manage the provisioning of users on your domain" + }, + "https://www.googleapis.com/auth/drive": { + "description": "View and manage the files in your Google Drive" + }, + "https://www.googleapis.com/auth/forms": { + "description": "View and manage your forms in Google Drive" + }, + "https://www.googleapis.com/auth/forms.currentonly": { + "description": "View and manage forms that this application has been installed in" + }, + "https://www.googleapis.com/auth/groups": { + "description": "View and manage your Google Groups" + }, + "https://www.googleapis.com/auth/userinfo.email": { + "description": "View your email address" + } + } + } + }, + "schemas": { + "ExecutionRequest": { + "id": "ExecutionRequest", + "type": "object", + "description": "A request to run the function in a script. The script is identified by the specified `script_id`. Executing a function on a script will return results based on the implementation of the script.", + "properties": { + "function": { + "type": "string", + "description": "The name of the function to execute in the given script. The name does not include parentheses or parameters." + }, + "parameters": { + "type": "array", + "description": "The parameters to be passed to the function being executed. The type for each parameter should match the expected type in Apps Script. Parameters cannot be Apps Script-specific objects (such as a `Document` or `Calendar`); they can only be primitive types such as a `string`, `number`, `array`, `object`, or `boolean`. Optional.", + "items": { + "type": "any" + } + }, + "sessionState": { + "type": "string", + "description": "This field is not used." + }, + "devMode": { + "type": "boolean", + "description": "If `true` and the user is an owner of the script, the script runs at the most recently saved version rather than the version deployed for use with the Execution API. Optional; default is `false`." + } + } + }, + "Operation": { + "id": "Operation", + "type": "object", + "description": "The response will not arrive until the function finishes executing. The maximum runtime is listed in the guide to [limitations in Apps Script](https://developers.google.com/apps-script/guides/services/quotas#current_limitations).\nIf the script function returns successfully, the `response` field will contain an `ExecutionResponse` object with the function's return value in the object's `result` field.\n\nIf the script function (or Apps Script itself) throws an exception, the `error` field will contain a `Status` object. The `Status` object's `details` field will contain an array with a single `ExecutionError` object that provides information about the nature of the error.\n\nIf the `run` call itself fails (for example, because of a malformed request or an authorization error), the method will return an HTTP response code in the 4XX range with a different format for the response body. Client libraries will automatically convert a 4XX response into an exception class.", + "properties": { + "name": { + "type": "string", + "description": "This field is not used." + }, + "metadata": { + "type": "object", + "description": "This field is not used.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + }, + "done": { + "type": "boolean", + "description": "This field is not used." + }, + "error": { + "$ref": "Status", + "description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, this field will contain a `Status` object. The `Status` object's `details` field will contain an array with a single `ExecutionError` object that provides information about the nature of the error." + }, + "response": { + "type": "object", + "description": "If the script function returns successfully, this field will contain an `ExecutionResponse` object with the function's return value as the object's `result` field.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + } + } + }, + "Status": { + "id": "Status", + "type": "object", + "description": "If a `run` call succeeds but the script function (or Apps Script itself) throws an exception, the response body's `error` field will contain this `Status` object.", + "properties": { + "code": { + "type": "integer", + "description": "The status code, which should be an enum value of google.rpc.Code.", + "format": "int32" + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the google.rpc.Status.details field, or localized by the client." + }, + "details": { + "type": "array", + "description": "An array that contains a single `ExecutionError` object that provides information about the nature of the error.", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + } + } + } + }, + "ExecutionError": { + "id": "ExecutionError", + "type": "object", + "description": "An object that provides information about the nature of an error in the Apps Script Execution API. If an `run` call succeeds but the script function (or Apps Script itself) throws an exception, the response body's `error` field will contain a `Status` object. The `Status` object's `details` field will contain an array with a single one of these `ExecutionError` objects.", + "properties": { + "scriptStackTraceElements": { + "type": "array", + "description": "An array of objects that provide a stack trace through the script to show where the execution failed, with the deepest call first.", + "items": { + "$ref": "ScriptStackTraceElement" + } + }, + "errorMessage": { + "type": "string", + "description": "The error message thrown by Apps Script, usually localized into the user's language." + }, + "errorType": { + "type": "string", + "description": "The error type, for example `TypeError` or `ReferenceError`. If the error type is unavailable, this field is not included." + } + } + }, + "ScriptStackTraceElement": { + "id": "ScriptStackTraceElement", + "type": "object", + "description": "A stack trace through the script that shows where the execution failed.", + "properties": { + "function": { + "type": "string", + "description": "The name of the function that failed." + }, + "lineNumber": { + "type": "integer", + "description": "The line number where the script failed.", + "format": "int32" + } + } + }, + "ExecutionResponse": { + "id": "ExecutionResponse", + "type": "object", + "description": "An object that provides the return value of a function executed through the Apps Script Execution API. If an `run` call succeeds and the script function returns successfully, the response body's `response` field will contain this `ExecutionResponse` object.", + "properties": { + "result": { + "type": "any", + "description": "The return value of the script function. The type will match the type returned in Apps Script. Functions called through the Execution API cannot return Apps Script-specific objects (such as a `Document` or `Calendar`); they can only return primitive types such as a `string`, `number`, `array`, `object`, or `boolean`." + } + } + } + }, + "resources": { + "scripts": { + "methods": { + "run": { + "id": "script.scripts.run", + "path": "v1/scripts/{scriptId}:run", + "httpMethod": "POST", + "description": "Runs a function in an Apps Script project that has been deployed for use with the Apps Script Execution API. This method requires authorization with an OAuth 2.0 token that includes at least one of the scopes listed in the [Authentication](#authentication) section; script projects that do not require authorization cannot be executed through this API. To find the correct scopes to include in the authentication token, open the project in the script editor, then select **File \u003e Project properties** and click the **Scopes** tab.", + "parameters": { + "scriptId": { + "type": "string", + "description": "The project key of the script to be executed. To find the project key, open the project in the script editor, then select **File \u003e Project properties**.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "scriptId" + ], + "request": { + "$ref": "ExecutionRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://mail.google.com/", + "https://www.google.com/calendar/feeds", + "https://www.google.com/m8/feeds", + "https://www.googleapis.com/auth/admin.directory.group", + "https://www.googleapis.com/auth/admin.directory.user", + "https://www.googleapis.com/auth/drive", + "https://www.googleapis.com/auth/forms", + "https://www.googleapis.com/auth/forms.currentonly", + "https://www.googleapis.com/auth/groups", + "https://www.googleapis.com/auth/userinfo.email" + ] + } + } + } + } +} diff --git a/etc/api/siteverification/v1/siteverification-api.json b/etc/api/siteverification/v1/siteverification-api.json index 69f87cae94..2c6b228562 100644 --- a/etc/api/siteverification/v1/siteverification-api.json +++ b/etc/api/siteverification/v1/siteverification-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/RwYHc_wr_RI-M8LU9rCXtGC2FOg\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/IkolANVaIesVGlsS7q8ngexzb-M\"", "discoveryVersion": "v1", "id": "siteVerification:v1", "name": "siteVerification", "version": "v1", - "revision": "20131007", + "revision": "20151007", "title": "Google Site Verification API", "description": "Lets you programatically verify ownership of websites or domains with Google.", "ownerDomain": "google.com", diff --git a/etc/api/spectrum/v1explorer/spectrum-api.json b/etc/api/spectrum/v1explorer/spectrum-api.json index 6878b4fc7a..08010deafb 100644 --- a/etc/api/spectrum/v1explorer/spectrum-api.json +++ b/etc/api/spectrum/v1explorer/spectrum-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/MBdb_2wPLVZ-z9ZaAuo8xEjfMbY\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/wI-lQbcmt6LcF5eeoDCxDE3YWiw\"", "discoveryVersion": "v1", "id": "spectrum:v1explorer", "name": "spectrum", "version": "v1explorer", - "revision": "20150112", + "revision": "20150716", "title": "Google Spectrum Database API", "description": "API for spectrum-management functions.", "ownerDomain": "google.com", diff --git a/etc/api/sqladmin/v1beta3/sqladmin-api.json b/etc/api/sqladmin/v1beta3/sqladmin-api.json index 7194ad6576..13eb67b327 100644 --- a/etc/api/sqladmin/v1beta3/sqladmin-api.json +++ b/etc/api/sqladmin/v1beta3/sqladmin-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/3wqGzGH7n55HIf3ZiG2TqGSB2lQ\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/5lmXP1mLMuGQWN_b7yMjJBScYec\"", "discoveryVersion": "v1", "id": "sqladmin:v1beta3", "name": "sqladmin", "canonicalName": "SQL Admin", "version": "v1beta3", - "revision": "20150305", + "revision": "20151013", "title": "Cloud SQL Administration API", "description": "API for Cloud SQL database instance management.", "ownerDomain": "google.com", diff --git a/etc/api/sqladmin/v1beta4/sqladmin-api.json b/etc/api/sqladmin/v1beta4/sqladmin-api.json index e3d62d91ca..d3b835946c 100644 --- a/etc/api/sqladmin/v1beta4/sqladmin-api.json +++ b/etc/api/sqladmin/v1beta4/sqladmin-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/tWiKG-tAYUfQIEzSxsK_muuAjks\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/dmM5e1LsyAJYfrXQoy2C4h3tVuA\"", "discoveryVersion": "v1", "id": "sqladmin:v1beta4", "name": "sqladmin", "canonicalName": "SQL Admin", "version": "v1beta4", - "revision": "20150305", + "revision": "20151013", "title": "Cloud SQL Administration API", "description": "API for Cloud SQL database instance management.", "ownerDomain": "google.com", @@ -477,6 +477,10 @@ "type": "object", "description": "Options for exporting data as SQL statements.", "properties": { + "schemaOnly": { + "type": "boolean", + "description": "Export only schemas." + }, "tables": { "type": "array", "description": "Tables to export, or that were exported, from the specified database. If you specify tables, specify one and only one database.", @@ -492,6 +496,23 @@ } } }, + "FailoverContext": { + "id": "FailoverContext", + "type": "object", + "description": "Database instance failover context.", + "properties": { + "kind": { + "type": "string", + "description": "This is always sql#failoverContext.", + "default": "sql#failoverContext" + }, + "settingsVersion": { + "type": "string", + "description": "The current settings version of this instance. Request will be rejected if this version doesn't match the current settings version.", + "format": "int64" + } + } + }, "Flag": { "id": "Flag", "type": "object", @@ -506,7 +527,7 @@ }, "appliesTo": { "type": "array", - "description": "The database version this flag applies to. Currently this can only be [MYSQL_5_5].", + "description": "The database version this flag applies to. Can be MYSQL_5_5, MYSQL_5_6, or both.", "items": { "type": "string" } @@ -618,6 +639,17 @@ } } }, + "InstancesFailoverRequest": { + "id": "InstancesFailoverRequest", + "type": "object", + "description": "Instance failover request.", + "properties": { + "failoverContext": { + "$ref": "FailoverContext", + "description": "Failover Context." + } + } + }, "InstancesImportRequest": { "id": "InstancesImportRequest", "type": "object", @@ -929,6 +961,10 @@ "type": "object", "description": "Read-replica configuration for connecting to the master.", "properties": { + "failoverTarget": { + "type": "boolean", + "description": "Specifies if the replica is the failover target. If the field is set to true the replica will be designated as a failover replica. In case the master instance fails, the replica instance will be promoted as the new master instance.\nOnly one replica can be specified as failover target, and the replica has to be in different zone with the master instance." + }, "kind": { "type": "string", "description": "This is always sql#replicaConfiguration.", @@ -990,6 +1026,11 @@ "type": "boolean", "description": "Configuration specific to read replica instances. Indicates whether database flags for crash-safe replication are enabled." }, + "dataDiskSizeGb": { + "type": "string", + "description": "The size of data disk for the performance instance, specified in GB. Setting this value for non-performance instances will result in an error.", + "format": "int64" + }, "databaseFlags": { "type": "array", "description": "The database flags passed to the instance at startup.", @@ -1105,6 +1146,17 @@ } } }, + "SslCertsCreateEphemeralRequest": { + "id": "SslCertsCreateEphemeralRequest", + "type": "object", + "description": "SslCerts create ephemeral certificate request.", + "properties": { + "public_key": { + "type": "string", + "description": "PEM encoded public key to include in the signed certificate." + } + } + }, "SslCertsInsertRequest": { "id": "SslCertsInsertRequest", "type": "object", @@ -1270,6 +1322,45 @@ "resources": { "backupRuns": { "methods": { + "delete": { + "id": "sql.backupRuns.delete", + "path": "projects/{project}/instances/{instance}/backupRuns/{id}", + "httpMethod": "DELETE", + "description": "Deletes the backup taken by a backup run.", + "parameters": { + "id": { + "type": "string", + "description": "The ID of the Backup Run to delete. To find a Backup Run ID, use the list method.", + "required": true, + "format": "int64", + "location": "path" + }, + "instance": { + "type": "string", + "description": "Cloud SQL instance ID. This does not include the project ID.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID of the project that contains the instance.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "instance", + "id" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "get": { "id": "sql.backupRuns.get", "path": "projects/{project}/instances/{instance}/backupRuns/{id}", @@ -1697,6 +1788,40 @@ "https://www.googleapis.com/auth/cloud-platform" ] }, + "failover": { + "id": "sql.instances.failover", + "path": "projects/{project}/instances/{instance}/failover", + "httpMethod": "POST", + "description": "Failover the instance to its failover replica instance.", + "parameters": { + "instance": { + "type": "string", + "description": "Cloud SQL instance ID. This does not include the project ID.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "ID of the project that contains the read replica.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "instance" + ], + "request": { + "$ref": "InstancesFailoverRequest" + }, + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "get": { "id": "sql.instances.get", "path": "projects/{project}/instances/{instance}", @@ -2162,6 +2287,40 @@ }, "sslCerts": { "methods": { + "createEphemeral": { + "id": "sql.sslCerts.createEphemeral", + "path": "projects/{project}/instances/{instance}/createEphemeral", + "httpMethod": "POST", + "description": "Generates a short-lived X509 certificate containing the provided public key and signed by a private key specific to the target instance. Users may use the certificate to authenticate as themselves when connecting to the database.", + "parameters": { + "instance": { + "type": "string", + "description": "Cloud SQL instance ID. This does not include the project ID.", + "required": true, + "location": "path" + }, + "project": { + "type": "string", + "description": "Project ID of the Cloud SQL project.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "project", + "instance" + ], + "request": { + "$ref": "SslCertsCreateEphemeralRequest" + }, + "response": { + "$ref": "SslCert" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/sqlservice.admin" + ] + }, "delete": { "id": "sql.sslCerts.delete", "path": "projects/{project}/instances/{instance}/sslCerts/{sha1Fingerprint}", diff --git a/etc/api/storage/v1/storage-api.json b/etc/api/storage/v1/storage-api.json index 9cdaee7f06..d97a4687c9 100644 --- a/etc/api/storage/v1/storage-api.json +++ b/etc/api/storage/v1/storage-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/o6fIbxE4MR_Z46vbs1q1tFmo4DI\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/N6tKJW3LYMQm0Iy7CDmwkEgtf6o\"", "discoveryVersion": "v1", "id": "storage:v1", "name": "storage", "version": "v1", - "revision": "20150710", - "title": "Cloud Storage API", + "revision": "20151007", + "title": "Cloud Storage JSON API", "description": "Lets you store and retrieve potentially-large, immutable data objects.", "ownerDomain": "google.com", "ownerName": "Google", @@ -75,6 +75,9 @@ "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" + }, "https://www.googleapis.com/auth/devstorage.full_control": { "description": "Manage your data and permissions in Google Cloud Storage" }, @@ -271,7 +274,12 @@ }, "timeCreated": { "type": "string", - "description": "Creation time of the bucket in RFC 3339 format.", + "description": "The creation time of the bucket in RFC 3339 format.", + "format": "date-time" + }, + "updated": { + "type": "string", + "description": "The modification time of the bucket in RFC 3339 format.", "format": "date-time" }, "versioning": { @@ -648,6 +656,11 @@ "type": "string", "description": "Storage class of the object." }, + "timeCreated": { + "type": "string", + "description": "The creation time of the object in RFC 3339 format.", + "format": "date-time" + }, "timeDeleted": { "type": "string", "description": "The deletion time of the object in RFC 3339 format. Will be returned if and only if this version of the object has been deleted.", @@ -655,7 +668,7 @@ }, "updated": { "type": "string", - "description": "The creation or modification time of the object in RFC 3339 format. For buckets with versioning enabled, changing an object's metadata does not change this property.", + "description": "The modification time of the object metadata in RFC 3339 format.", "format": "date-time" } } @@ -1074,6 +1087,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write" @@ -1211,6 +1225,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write" @@ -1417,6 +1432,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write" @@ -1640,7 +1656,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -1680,7 +1696,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -1717,7 +1733,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -1756,7 +1772,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -1798,7 +1814,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -1844,7 +1860,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -1882,7 +1898,7 @@ }, "destinationObject": { "type": "string", - "description": "Name of the new object.", + "description": "Name of the new object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" }, @@ -1945,7 +1961,7 @@ "parameters": { "destinationBucket": { "type": "string", - "description": "Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.", + "description": "Name of the bucket in which to store the new object. Overrides the provided object metadata's bucket value, if any.For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" }, @@ -2051,7 +2067,7 @@ }, "sourceObject": { "type": "string", - "description": "Name of the source object.", + "description": "Name of the source object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -2119,7 +2135,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -2178,7 +2194,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" }, @@ -2205,6 +2221,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write" @@ -2254,7 +2271,7 @@ }, "name": { "type": "string", - "description": "Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.", + "description": "Name of the object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "location": "query" }, "predefinedAcl": { @@ -2385,6 +2402,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write" @@ -2435,7 +2453,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" }, @@ -2504,7 +2522,7 @@ }, "destinationObject": { "type": "string", - "description": "Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any.", + "description": "Name of the new object. Required when the object metadata is not otherwise provided. Overrides the object metadata's name value, if any. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" }, @@ -2615,7 +2633,7 @@ }, "sourceObject": { "type": "string", - "description": "Name of the source object.", + "description": "Name of the source object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" } @@ -2682,7 +2700,7 @@ }, "object": { "type": "string", - "description": "Name of the object.", + "description": "Name of the object. For information about how to URL encode object names to be path safe, see Encoding URI Path Parts.", "required": true, "location": "path" }, @@ -2803,6 +2821,7 @@ }, "scopes": [ "https://www.googleapis.com/auth/cloud-platform", + "https://www.googleapis.com/auth/cloud-platform.read-only", "https://www.googleapis.com/auth/devstorage.full_control", "https://www.googleapis.com/auth/devstorage.read_only", "https://www.googleapis.com/auth/devstorage.read_write" diff --git a/etc/api/storage/v1beta1/storage-api.json b/etc/api/storage/v1beta1/storage-api.json index e2504e901a..c7deff5869 100644 --- a/etc/api/storage/v1beta1/storage-api.json +++ b/etc/api/storage/v1beta1/storage-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/y_eWUHoJ8dbmnSoSXc2EL0M3dbo\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/bTGfIvC19RkllzOnE1QWbh07cyk\"", "discoveryVersion": "v1", "id": "storage:v1beta1", "name": "storage", "version": "v1beta1", - "revision": "20150710", - "title": "Cloud Storage API", + "revision": "20151007", + "title": "Cloud Storage JSON API", "description": "Lets you store and retrieve potentially-large, immutable data objects.", "ownerDomain": "google.com", "ownerName": "Google", diff --git a/etc/api/storage/v1beta2/storage-api.json b/etc/api/storage/v1beta2/storage-api.json index 0dcb6c3dec..a7ac03e08a 100644 --- a/etc/api/storage/v1beta2/storage-api.json +++ b/etc/api/storage/v1beta2/storage-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/05UP-kVXwMzvJEtAas1m5IU3zdM\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/58I9am2CtsQcuFUTzCVHg3vRyjQ\"", "discoveryVersion": "v1", "id": "storage:v1beta2", "name": "storage", "version": "v1beta2", - "revision": "20150710", - "title": "Cloud Storage API", + "revision": "20151007", + "title": "Cloud Storage JSON API", "description": "Lets you store and retrieve potentially-large, immutable data objects.", "ownerDomain": "google.com", "ownerName": "Google", diff --git a/etc/api/storagetransfer/v1/storagetransfer-api.json b/etc/api/storagetransfer/v1/storagetransfer-api.json new file mode 100644 index 0000000000..15a4b38cf4 --- /dev/null +++ b/etc/api/storagetransfer/v1/storagetransfer-api.json @@ -0,0 +1,1033 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/YnaUc-cj9ChhpJCT0y2OALoDn9Q\"", + "discoveryVersion": "v1", + "id": "storagetransfer:v1", + "name": "storagetransfer", + "version": "v1", + "revision": "20150811", + "title": "Google Storage Transfer API", + "description": "Transfers data from external data sources to a Google Cloud Storage bucket or between Google Cloud Storage buckets.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://cloud.google.com/storage/transfer", + "protocol": "rest", + "baseUrl": "https://storagetransfer.googleapis.com/", + "basePath": "/", + "rootUrl": "https://storagetransfer.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/cloud-platform": { + "description": "View and manage your data across Google Cloud Platform services" + } + } + } + }, + "schemas": { + "GoogleServiceAccount": { + "id": "GoogleServiceAccount", + "type": "object", + "description": "Google service account", + "properties": { + "accountEmail": { + "type": "string", + "description": "Required." + } + } + }, + "TransferJob": { + "id": "TransferJob", + "type": "object", + "description": "This resource represents the configuration of a transfer job that runs periodically.", + "properties": { + "name": { + "type": "string", + "description": "A globally unique name assigned by Storage Transfer Service when the job is created. This field should be left empty in requests to create a new transfer job; otherwise, the requests result in an `INVALID_ARGUMENT` error." + }, + "description": { + "type": "string", + "description": "A description provided by the user for the job. Its max length is 1024 bytes when Unicode-encoded." + }, + "projectId": { + "type": "string", + "description": "The ID of the Google Developers Console project that owns the job. Required." + }, + "transferSpec": { + "$ref": "TransferSpec", + "description": "Transfer specification. Required." + }, + "schedule": { + "$ref": "Schedule", + "description": "Schedule specification. Required." + }, + "status": { + "type": "string", + "description": "Status of the job. This value MUST be specified for `CreateTransferJobRequests`. NOTE: The effect of the new job status takes place during a subsequent job run. For example, if you change the job status from `ENABLED` to `DISABLED`, and an operation spawned by the transfer is running, the status change would not affect the current operation.", + "enum": [ + "STATUS_UNSPECIFIED", + "ENABLED", + "DISABLED", + "DELETED" + ] + }, + "creationTime": { + "type": "string", + "description": "This field cannot be changed by user requests." + }, + "lastModificationTime": { + "type": "string", + "description": "This field cannot be changed by user requests." + }, + "deletionTime": { + "type": "string", + "description": "This field cannot be changed by user requests." + } + } + }, + "TransferSpec": { + "id": "TransferSpec", + "type": "object", + "description": "Configuration for running a transfer.", + "properties": { + "gcsDataSource": { + "$ref": "GcsData", + "description": "A Google Cloud Storage data source." + }, + "awsS3DataSource": { + "$ref": "AwsS3Data", + "description": "An AWS S3 data source." + }, + "httpDataSource": { + "$ref": "HttpData", + "description": "An HTTP URL data source." + }, + "gcsDataSink": { + "$ref": "GcsData", + "description": "A Google Cloud Storage data sink." + }, + "objectConditions": { + "$ref": "ObjectConditions", + "description": "Only objects that satisfy these object conditions are included in the set of data source and data sink objects. Object conditions based on objects' `lastModificationTime` do not exclude objects in a data sink." + }, + "transferOptions": { + "$ref": "TransferOptions", + "description": "If the option `deleteObjectsUniqueInSink` is `true`, object conditions based on objects' `lastModificationTime` are ignored and do not exclude objects in a data source or a data sink." + } + } + }, + "GcsData": { + "id": "GcsData", + "type": "object", + "description": "In a GcsData, an object's name is the Google Cloud Storage object's name and its `lastModificationTime` refers to the object's updated time, which changes when the content or the metadata of the object is updated.", + "properties": { + "bucketName": { + "type": "string", + "description": "Google Cloud Storage bucket name (see [Bucket Name Requirements](https://cloud.google.com/storage/docs/bucket-naming#requirements)). Required." + } + } + }, + "AwsS3Data": { + "id": "AwsS3Data", + "type": "object", + "description": "An AwsS3Data can be a data source, but not a data sink. In an AwsS3Data, an object's name is the S3 object's key name.", + "properties": { + "bucketName": { + "type": "string", + "description": "S3 Bucket name (see [Creating a bucket](http://docs.aws.amazon.com/AmazonS3/latest/dev/create-bucket-get-location-example.html)). Required." + }, + "awsAccessKey": { + "$ref": "AwsAccessKey", + "description": "AWS access key used to sign the API requests to the AWS S3 bucket. Permissions on the bucket must be granted to the access ID of the AWS access key. Required." + } + } + }, + "AwsAccessKey": { + "id": "AwsAccessKey", + "type": "object", + "description": "AWS access key (see [AWS Security Credentials](http://docs.aws.amazon.com/general/latest/gr/aws-security-credentials.html)).", + "properties": { + "accessKeyId": { + "type": "string", + "description": "AWS access key ID. Required." + }, + "secretAccessKey": { + "type": "string", + "description": "AWS secret access key. This field is not returned in RPC responses. Required." + } + } + }, + "HttpData": { + "id": "HttpData", + "type": "object", + "description": "An HttpData specifies a list of objects on the web to be transferred over HTTP. The information of the objects to be transferred is contained in a file referenced by a URL. The first line in the file must be \"TsvHttpData-1.0\", which specifies the format of the file. Subsequent lines specify the information of the list of objects, one object per list entry. Each entry has the following tab-delimited fields: * HTTP URL * Length * MD5 - This field is a base64-encoded MD5 hash of the object An HTTP URL that points to the object to be transferred. It must be a valid URL with URL scheme HTTP or HTTPS. When an object with URL `http(s)://hostname:port/` is transferred to the data sink, the name of the object at the data sink is `/`. Length and MD5 provide the size and the base64-encoded MD5 hash of the object. If Length does not match the actual length of the object fetched, the object will not be transferred. If MD5 does not match the MD5 computed from the transferred bytes, the object transfer will fail. `lastModificationTime` is not available in HttpData objects. The objects that the URL list points to must allow public access. Storage Transfer Service obeys `robots.txt` rules and requires the HTTP server to support Range requests and to return a Content-Length header in each response.", + "properties": { + "listUrl": { + "type": "string", + "description": "The URL that points to the file that stores the object list entries. This file must allow public access. Currently, only URLs with HTTP and HTTPS schemes are supported. Required." + } + } + }, + "ObjectConditions": { + "id": "ObjectConditions", + "type": "object", + "description": "Conditions that determine which objects will be transferred.", + "properties": { + "minTimeElapsedSinceLastModification": { + "type": "string", + "description": "If unspecified, `minTimeElapsedSinceLastModification` takes a zero value and `maxTimeElapsedSinceLastModification` takes the maximum possible value of Duration. Objects that satisfy the object conditions must either have a `lastModificationTime` greater or equal to `NOW` - `maxTimeElapsedSinceLastModification` and less than `NOW` - `minTimeElapsedSinceLastModification`, or not have a `lastModificationTime`." + }, + "maxTimeElapsedSinceLastModification": { + "type": "string", + "description": "`maxTimeElapsedSinceLastModification` is the complement to `minTimeElapsedSinceLastModification`." + }, + "includePrefixes": { + "type": "array", + "description": "If `includePrefixes` is specified, objects that satisfy the object conditions must have names that start with one of the `includePrefixes` and that do not start with any of the `excludePrefixes`. If `includePrefixes` is not specified, all objects except those that have names starting with one of the `excludePrefixes` must satisfy the object conditions. Requirements: * Each include-prefix and exclude-prefix can contain any sequence of Unicode characters, of max length 1024 bytes when UTF8-encoded, and must not contain Carriage Return or Line Feed characters. Wildcard matching and regular expression matching are not supported. * None of the include-prefix or the exclude-prefix values can be empty, if specified. * Each include-prefix must include a distinct portion of the object namespace, i.e., no include-prefix may be a prefix of another include-prefix. * Each exclude-prefix must exclude a distinct portion of the object namespace, i.e., no exclude-prefix may be a prefix of another exclude-prefix. * If `includePrefixes` is specified, then each exclude-prefix must start with the value of a path explicitly included by `includePrefixes`. The max size of `includePrefixes` is 20.", + "items": { + "type": "string" + } + }, + "excludePrefixes": { + "type": "array", + "description": "`excludePrefixes` must follow the requirements described for `includePrefixes`. The max size of `excludePrefixes` is 20.", + "items": { + "type": "string" + } + } + } + }, + "TransferOptions": { + "id": "TransferOptions", + "type": "object", + "description": "TransferOptions uses three boolean parameters to define the actions to be performed on objects in a transfer.", + "properties": { + "overwriteObjectsAlreadyExistingInSink": { + "type": "boolean", + "description": "Whether overwriting objects that already exist in the sink is allowed." + }, + "deleteObjectsUniqueInSink": { + "type": "boolean", + "description": "Whether objects that exist only in the sink should be deleted." + }, + "deleteObjectsFromSourceAfterTransfer": { + "type": "boolean", + "description": "Whether objects should be deleted from the source after they are transferred to the sink." + } + } + }, + "Schedule": { + "id": "Schedule", + "type": "object", + "description": "Transfers can be scheduled to recur or to run just once.", + "properties": { + "scheduleStartDate": { + "$ref": "Date", + "description": "The first day the recurring transfer is scheduled to run. Required." + }, + "scheduleEndDate": { + "$ref": "Date", + "description": "The last day the recurring transfer will be run. If `scheduleEndDate` is the same as `scheduleStartDate`, the transfer will be executed only once." + }, + "startTimeOfDay": { + "$ref": "TimeOfDay", + "description": "The time in UTC at which the transfer will be scheduled to start in a day. Transfers may start later than this time. If not specified, transfers are scheduled to start at midnight UTC." + } + } + }, + "Date": { + "id": "Date", + "type": "object", + "description": "Represents a whole calendar date, e.g. date of birth. The time of day and time zone are either specified elsewhere or are not significant. The date is relative to the Proleptic Gregorian Calendar. The day may be 0 to represent a year and month where the day is not significant, e.g. credit card expiration date. The year may be 0 to represent a month and day independent of year, e.g. anniversary date. Related types are [google.type.TimeOfDay][google.type.TimeOfDay] and `google.protobuf.Timestamp`.", + "properties": { + "year": { + "type": "integer", + "description": "Year of date. Must be from 1 to 9,999, or 0 if specifying a date without a year.", + "format": "int32" + }, + "month": { + "type": "integer", + "description": "Month of year of date. Must be from 1 to 12.", + "format": "int32" + }, + "day": { + "type": "integer", + "description": "Day of month. Must be from 1 to 31 and valid for the year and month, or 0 if specifying a year/month where the day is not sigificant.", + "format": "int32" + } + } + }, + "TimeOfDay": { + "id": "TimeOfDay", + "type": "object", + "description": "Represents a time of day. The date and time zone are either not significant or are specified elsewhere. An API may chose to allow leap seconds. Related types are [google.type.Date][google.type.Date] and `google.protobuf.Timestamp`.", + "properties": { + "hours": { + "type": "integer", + "description": "Hours of day in 24 hour format. Should be from 0 to 23. An API may choose to allow the value \"24:00:00\" for scenarios like business closing time.", + "format": "int32" + }, + "minutes": { + "type": "integer", + "description": "Minutes of hour of day. Must be from 0 to 59.", + "format": "int32" + }, + "seconds": { + "type": "integer", + "description": "Seconds of minutes of the time. Must normally be from 0 to 59. An API may allow the value 60 if it allows leap-seconds.", + "format": "int32" + }, + "nanos": { + "type": "integer", + "description": "Fractions of seconds in nanoseconds. Must be from 0 to 999,999,999.", + "format": "int32" + } + } + }, + "UpdateTransferJobRequest": { + "id": "UpdateTransferJobRequest", + "type": "object", + "description": "Request passed to UpdateTransferJob.", + "properties": { + "projectId": { + "type": "string", + "description": "The ID of the Google Developers Console project that owns the job. Required." + }, + "transferJob": { + "$ref": "TransferJob", + "description": "The job to update. Required." + }, + "updateTransferJobFieldMask": { + "type": "string", + "description": "The field mask of the fields in `transferJob` that are to be updated in this request. Fields in `transferJob` that can be updated are: `description`, `transferSpec`, and `status`. To update the `transferSpec` of the job, a complete transfer specification has to be provided. An incomplete specification which misses any required fields will be rejected with the error `INVALID_ARGUMENT`." + } + } + }, + "ListTransferJobsResponse": { + "id": "ListTransferJobsResponse", + "type": "object", + "description": "Response from ListTransferJobs.", + "properties": { + "transferJobs": { + "type": "array", + "description": "A list of transfer jobs.", + "items": { + "$ref": "TransferJob" + } + }, + "nextPageToken": { + "type": "string", + "description": "The list next page token." + } + } + }, + "PauseTransferOperationRequest": { + "id": "PauseTransferOperationRequest", + "type": "object", + "description": "Request passed to PauseTransferOperation." + }, + "Empty": { + "id": "Empty", + "type": "object", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." + }, + "ResumeTransferOperationRequest": { + "id": "ResumeTransferOperationRequest", + "type": "object", + "description": "Request passed to ResumeTransferOperation." + }, + "Operation": { + "id": "Operation", + "type": "object", + "description": "This resource represents a long-running operation that is the result of a network API call.", + "properties": { + "name": { + "type": "string", + "description": "The server-assigned name, which is only unique within the same service that originally returns it. If you use the default HTTP mapping above, the `name` should have the format of `operations/some/unique/name`." + }, + "metadata": { + "type": "object", + "description": "Represents the transfer operation object.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + }, + "done": { + "type": "boolean", + "description": "If the value is `false`, it means the operation is still in progress. If true, the operation is completed and the `result` is available." + }, + "error": { + "$ref": "Status", + "description": "The error result of the operation in case of failure." + }, + "response": { + "type": "object", + "description": "The normal response of the operation in case of success. If the original method returns no data on success, such as `Delete`, the response is `google.protobuf.Empty`. If the original method is standard `Get`/`Create`/`Update`, the response should be the resource. For other methods, the response should have the type `XxxResponse`, where `Xxx` is the original method name. For example, if the original method name is `TakeSnapshot()`, the inferred response type is `TakeSnapshotResponse`.", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + } + } + }, + "Status": { + "id": "Status", + "type": "object", + "description": "The `Status` type defines a logical error model that is suitable for different programming environments, including REST APIs and RPC APIs. It is used by [gRPC](https://github.com/grpc). The error model is designed to be: - Simple to use and understand for most users - Flexible enough to meet unexpected needs # Overview The `Status` message contains three pieces of data: error code, error message, and error details. The error code should be an enum value of [google.rpc.Code][google.rpc.Code], but it may accept additional error codes if needed. The error message should be a developer-facing English message that helps developers *understand* and *resolve* the error. If a localized user-facing error message is needed, put the localized message in the error details or localize it in the client. The optional error details may contain arbitrary information about the error. There is a predefined set of error detail types in the package `google.rpc` which can be used for common error conditions. # Language mapping The `Status` message is the logical representation of the error model, but it is not necessarily the actual wire format. When the `Status` message is exposed in different client libraries and different wire protocols, it can be mapped differently. For example, it will likely be mapped to some exceptions in Java, but more likely mapped to some error codes in C. # Other uses The error model and the `Status` message can be used in a variety of environments, either with or without APIs, to provide a consistent developer experience across different environments. Example uses of this error model include: - Partial errors. If a service needs to return partial errors to the client, it may embed the `Status` in the normal response to indicate the partial errors. - Workflow errors. A typical workflow has multiple steps. Each step may have a `Status` message for error reporting purpose. - Batch operations. If a client uses batch request and batch response, the `Status` message should be used directly inside batch response, one for each error sub-response. - Asynchronous operations. If an API call embeds asynchronous operation results in its response, the status of those operations should be represented directly using the `Status` message. - Logging. If some API errors are stored in logs, the message `Status` could be used directly after any stripping needed for security/privacy reasons.", + "properties": { + "code": { + "type": "integer", + "description": "The status code, which should be an enum value of [google.rpc.Code][google.rpc.Code].", + "format": "int32" + }, + "message": { + "type": "string", + "description": "A developer-facing error message, which should be in English. Any user-facing error message should be localized and sent in the [google.rpc.Status.details][google.rpc.Status.details] field, or localized by the client." + }, + "details": { + "type": "array", + "description": "A list of messages that carry the error details. There will be a common set of message types for APIs to use.", + "items": { + "type": "object", + "additionalProperties": { + "type": "any", + "description": "Properties of the object. Contains field @ype with type URL." + } + } + } + } + }, + "ListOperationsResponse": { + "id": "ListOperationsResponse", + "type": "object", + "description": "The response message for [Operations.ListOperations][google.longrunning.Operations.ListOperations].", + "properties": { + "operations": { + "type": "array", + "description": "A list of operations that matches the specified filter in the request.", + "items": { + "$ref": "Operation" + } + }, + "nextPageToken": { + "type": "string", + "description": "The standard List next-page token." + } + } + }, + "TransferOperation": { + "id": "TransferOperation", + "type": "object", + "description": "A description of the execution of a transfer.", + "properties": { + "name": { + "type": "string", + "description": "A globally unique ID assigned by the system." + }, + "projectId": { + "type": "string", + "description": "The ID of the Google Developers Console project that owns the operation. Required." + }, + "transferSpec": { + "$ref": "TransferSpec", + "description": "Transfer specification. Required." + }, + "startTime": { + "type": "string", + "description": "Start time of this transfer execution." + }, + "endTime": { + "type": "string", + "description": "End time of this transfer execution." + }, + "status": { + "type": "string", + "description": "Status of the transfer operation.", + "enum": [ + "STATUS_UNSPECIFIED", + "IN_PROGRESS", + "PAUSED", + "SUCCESS", + "FAILED", + "ABORTED" + ] + }, + "counters": { + "$ref": "TransferCounters", + "description": "Information about the progress of the transfer operation." + }, + "errorBreakdowns": { + "type": "array", + "description": "Summarizes errors encountered with sample error log entries.", + "items": { + "$ref": "ErrorSummary" + } + }, + "transferJobName": { + "type": "string", + "description": "The name of the transfer job that triggers this transfer operation." + } + } + }, + "TransferCounters": { + "id": "TransferCounters", + "type": "object", + "description": "A collection of counters that report the progress of a transfer operation.", + "properties": { + "objectsFoundFromSource": { + "type": "string", + "description": "Objects found in the data source that are scheduled to be transferred, which will be copied, excluded based on conditions, or skipped due to failures.", + "format": "int64" + }, + "bytesFoundFromSource": { + "type": "string", + "description": "Bytes found in the data source that are scheduled to be transferred, which will be copied, excluded based on conditions, or skipped due to failures.", + "format": "int64" + }, + "objectsFoundOnlyFromSink": { + "type": "string", + "description": "Objects found only in the data sink that are scheduled to be deleted.", + "format": "int64" + }, + "bytesFoundOnlyFromSink": { + "type": "string", + "description": "Bytes found only in the data sink that are scheduled to be deleted.", + "format": "int64" + }, + "objectsFromSourceSkippedBySync": { + "type": "string", + "description": "Objects in the data source that are not transferred because they already exist in the data sink.", + "format": "int64" + }, + "bytesFromSourceSkippedBySync": { + "type": "string", + "description": "Bytes in the data source that are not transferred because they already exist in the data sink.", + "format": "int64" + }, + "objectsCopiedToSink": { + "type": "string", + "description": "Objects that are copied to the data sink.", + "format": "int64" + }, + "bytesCopiedToSink": { + "type": "string", + "description": "Bytes that are copied to the data sink.", + "format": "int64" + }, + "objectsDeletedFromSource": { + "type": "string", + "description": "Objects that are deleted from the data source.", + "format": "int64" + }, + "bytesDeletedFromSource": { + "type": "string", + "description": "Bytes that are deleted from the data source.", + "format": "int64" + }, + "objectsDeletedFromSink": { + "type": "string", + "description": "Objects that are deleted from the data sink.", + "format": "int64" + }, + "bytesDeletedFromSink": { + "type": "string", + "description": "Bytes that are deleted from the data sink.", + "format": "int64" + }, + "objectsFromSourceFailed": { + "type": "string", + "description": "Objects in the data source that failed during the transfer.", + "format": "int64" + }, + "bytesFromSourceFailed": { + "type": "string", + "description": "Bytes in the data source that failed during the transfer.", + "format": "int64" + }, + "objectsFailedToDeleteFromSink": { + "type": "string", + "description": "Objects that failed to be deleted from the data sink.", + "format": "int64" + }, + "bytesFailedToDeleteFromSink": { + "type": "string", + "description": "Bytes that failed to be deleted from the data sink.", + "format": "int64" + } + } + }, + "ErrorSummary": { + "id": "ErrorSummary", + "type": "object", + "description": "A summary of errors by error code, plus a count and sample error log entries.", + "properties": { + "errorCode": { + "type": "string", + "description": "Required.", + "enum": [ + "OK", + "CANCELLED", + "UNKNOWN", + "INVALID_ARGUMENT", + "DEADLINE_EXCEEDED", + "NOT_FOUND", + "ALREADY_EXISTS", + "PERMISSION_DENIED", + "UNAUTHENTICATED", + "RESOURCE_EXHAUSTED", + "FAILED_PRECONDITION", + "ABORTED", + "OUT_OF_RANGE", + "UNIMPLEMENTED", + "INTERNAL", + "UNAVAILABLE", + "DATA_LOSS" + ] + }, + "errorCount": { + "type": "string", + "description": "Count of this type of error. Required.", + "format": "int64" + }, + "errorLogEntries": { + "type": "array", + "description": "Error samples.", + "items": { + "$ref": "ErrorLogEntry" + } + } + } + }, + "ErrorLogEntry": { + "id": "ErrorLogEntry", + "type": "object", + "description": "An entry describing an error that has occurred.", + "properties": { + "url": { + "type": "string", + "description": "A URL that refers to the target (a data source, a data sink, or an object) with which the error is associated. Required." + }, + "errorDetails": { + "type": "array", + "description": "A list of messages that carry the error details.", + "items": { + "type": "string" + } + } + } + } + }, + "resources": { + "googleServiceAccounts": { + "methods": { + "get": { + "id": "storagetransfer.googleServiceAccounts.get", + "path": "v1/googleServiceAccounts/{projectId}", + "httpMethod": "GET", + "description": "Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Developers Console project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service.", + "parameters": { + "projectId": { + "type": "string", + "description": "The ID of the Google Developers Console project that the Google service account is associated with. Required.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "projectId" + ], + "response": { + "$ref": "GoogleServiceAccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "v1": { + "methods": { + "getGoogleServiceAccount": { + "id": "storagetransfer.getGoogleServiceAccount", + "path": "v1:getGoogleServiceAccount", + "httpMethod": "GET", + "description": "Returns the Google service account that is used by Storage Transfer Service to access buckets in the project where transfers run or in other projects. Each Google service account is associated with one Google Developers Console project. Users should add this service account to the Google Cloud Storage bucket ACLs to grant access to Storage Transfer Service. This service account is created and owned by Storage Transfer Service and can only be used by Storage Transfer Service.", + "parameters": { + "projectId": { + "type": "string", + "description": "The ID of the Google Developers Console project that the Google service account is associated with. Required.", + "location": "query" + } + }, + "response": { + "$ref": "GoogleServiceAccount" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "transferJobs": { + "methods": { + "create": { + "id": "storagetransfer.transferJobs.create", + "path": "v1/transferJobs", + "httpMethod": "POST", + "description": "Creates a transfer job that runs periodically.", + "request": { + "$ref": "TransferJob" + }, + "response": { + "$ref": "TransferJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "patch": { + "id": "storagetransfer.transferJobs.patch", + "path": "v1/{+jobName}", + "httpMethod": "PATCH", + "description": "Updates a transfer job. Updating a job's transfer spec does not affect transfer operations that are running already. Updating the scheduling of a job is not allowed.", + "parameters": { + "jobName": { + "type": "string", + "description": "The name of job to update. Required.", + "required": true, + "pattern": "^transferJobs/.*$", + "location": "path" + } + }, + "parameterOrder": [ + "jobName" + ], + "request": { + "$ref": "UpdateTransferJobRequest" + }, + "response": { + "$ref": "TransferJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "storagetransfer.transferJobs.get", + "path": "v1/{+jobName}", + "httpMethod": "GET", + "description": "Gets a transfer job.", + "parameters": { + "jobName": { + "type": "string", + "description": "The job to get. Required.", + "required": true, + "pattern": "^transferJobs/.*$", + "location": "path" + }, + "projectId": { + "type": "string", + "description": "The ID of the Google Developers Console project that owns the job. Required.", + "location": "query" + } + }, + "parameterOrder": [ + "jobName" + ], + "response": { + "$ref": "TransferJob" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "id": "storagetransfer.transferJobs.list", + "path": "v1/transferJobs", + "httpMethod": "GET", + "description": "Lists transfer jobs.", + "parameters": { + "filter": { + "type": "string", + "description": "A list of query parameters specified as JSON text in the form of {\"`project_id`\":\"my_project_id\", \"`job_names`\":[\"jobid1\",\"jobid2\",...], \"`job_statuses`\":[\"status1\",\"status2\",...]}. Since `job_names` and `job_statuses` support multiple values, their values must be specified with array notation. `project_id` is required. `job_names` and `job_statuses` are optional. The valid values for `job_statuses` are case-insensitive: `ENABLED`, `DISABLED`, and `DELETED`.", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "The list page size. The max allowed value is 256.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The list page token.", + "location": "query" + } + }, + "response": { + "$ref": "ListTransferJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + }, + "transferOperations": { + "methods": { + "pause": { + "id": "storagetransfer.transferOperations.pause", + "path": "v1/{+name}:pause", + "httpMethod": "POST", + "description": "Pauses a transfer operation.", + "parameters": { + "name": { + "type": "string", + "description": "The name of the transfer operation. Required.", + "required": true, + "pattern": "^transferOperations/.*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "PauseTransferOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "resume": { + "id": "storagetransfer.transferOperations.resume", + "path": "v1/{+name}:resume", + "httpMethod": "POST", + "description": "Resumes a transfer operation that is paused.", + "parameters": { + "name": { + "type": "string", + "description": "The name of the transfer operation. Required.", + "required": true, + "pattern": "^transferOperations/.*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "request": { + "$ref": "ResumeTransferOperationRequest" + }, + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "get": { + "id": "storagetransfer.transferOperations.get", + "path": "v1/{+name}", + "httpMethod": "GET", + "description": "Gets the latest state of a long-running operation. Clients can use this method to poll the operation result at intervals as recommended by the API service.", + "parameters": { + "name": { + "type": "string", + "description": "The name of the operation resource.", + "required": true, + "pattern": "^transferOperations/.*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Operation" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "list": { + "id": "storagetransfer.transferOperations.list", + "path": "v1/{+name}", + "httpMethod": "GET", + "description": "Lists operations that match the specified filter in the request. If the server doesn't support this method, it returns `UNIMPLEMENTED`. NOTE: the `name` binding below allows API services to override the binding to use different resource name schemes, such as `users/*/operations`.", + "parameters": { + "name": { + "type": "string", + "description": "The value `transferOperations`.", + "required": true, + "pattern": "^transferOperations$", + "location": "path" + }, + "filter": { + "type": "string", + "description": "The standard list filter.", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "The standard list page size.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "The standard list page token.", + "location": "query" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "ListOperationsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "cancel": { + "id": "storagetransfer.transferOperations.cancel", + "path": "v1/{+name}:cancel", + "httpMethod": "POST", + "description": "Cancels a transfer. Use the get method to check whether the cancellation succeeded or whether the operation completed despite cancellation.", + "parameters": { + "name": { + "type": "string", + "description": "The name of the operation resource to be cancelled.", + "required": true, + "pattern": "^transferOperations/.*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + }, + "delete": { + "id": "storagetransfer.transferOperations.delete", + "path": "v1/{+name}", + "httpMethod": "DELETE", + "description": "This method is not supported and the server returns `UNIMPLEMENTED`.", + "parameters": { + "name": { + "type": "string", + "description": "The name of the operation resource to be deleted.", + "required": true, + "pattern": "^transferOperations/.*$", + "location": "path" + } + }, + "parameterOrder": [ + "name" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/cloud-platform" + ] + } + } + } + } +} diff --git a/etc/api/tagmanager/v1/tagmanager-api.json b/etc/api/tagmanager/v1/tagmanager-api.json index 2fbf9fc33e..eef47d78c5 100644 --- a/etc/api/tagmanager/v1/tagmanager-api.json +++ b/etc/api/tagmanager/v1/tagmanager-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/RYltSVORyo-2lH4YNllLHLLyJN4\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/-5hQwJsgwNQCq1DK1Ud7--ggMIg\"", "discoveryVersion": "v1", "id": "tagmanager:v1", "name": "tagmanager", "canonicalName": "Tag Manager", "version": "v1", - "revision": "20150526", + "revision": "20151008", "title": "Tag Manager API", "description": "API for accessing Tag Manager accounts and containers.", "ownerDomain": "google.com", @@ -158,14 +158,14 @@ "properties": { "parameter": { "type": "array", - "description": "A list of named parameters (key/value), depending on the condition's type. Notes: \n- For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively. \n- At this time, the left operand (arg0) must be a reference to a macro. \n- For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive. \n- To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.", + "description": "A list of named parameters (key/value), depending on the condition's type. Notes: \n- For binary operators, include parameters named arg0 and arg1 for specifying the left and right operands, respectively. \n- At this time, the left operand (arg0) must be a reference to a variable. \n- For case-insensitive Regex matching, include a boolean parameter named ignore_case that is set to true. If not specified or set to any other value, the matching will be case sensitive. \n- To negate an operator, include a boolean parameter named negate boolean parameter that is set to true.", "items": { "$ref": "Parameter" }, "annotations": { "required": [ - "tagmanager.accounts.containers.rules.create", - "tagmanager.accounts.containers.rules.update" + "tagmanager.accounts.containers.triggers.create", + "tagmanager.accounts.containers.triggers.update" ] } }, @@ -182,7 +182,8 @@ "less", "lessOrEquals", "matchRegex", - "startsWith" + "startsWith", + "urlMatches" ], "enumDescriptions": [ "", @@ -194,12 +195,13 @@ "", "", "", + "", "" ], "annotations": { "required": [ - "tagmanager.accounts.containers.rules.create", - "tagmanager.accounts.containers.rules.update" + "tagmanager.accounts.containers.triggers.create", + "tagmanager.accounts.containers.triggers.update" ] } } @@ -258,6 +260,7 @@ "formText", "formUrl", "historySource", + "htmlId", "language", "newHistoryFragment", "newHistoryState", @@ -314,6 +317,7 @@ "", "", "", + "", "" ] } @@ -364,10 +368,14 @@ "type": "string", "enum": [ "android", + "androidSdk5", "ios", + "iosSdk5", "web" ], "enumDescriptions": [ + "", + "", "", "", "" @@ -442,6 +450,13 @@ "type": "string", "description": "The fingerprint of the GTM Container Version as computed at storage time. This value is recomputed whenever the container version is modified." }, + "folder": { + "type": "array", + "description": "The folders in the container that this version was taken from.", + "items": { + "$ref": "Folder" + } + }, "macro": { "type": "array", "description": "The macros in the container that this version was taken from.", @@ -568,6 +583,66 @@ } } }, + "Folder": { + "id": "Folder", + "type": "object", + "description": "Represents a Google Tag Manager Folder.", + "properties": { + "accountId": { + "type": "string", + "description": "GTM Account ID." + }, + "containerId": { + "type": "string", + "description": "GTM Container ID." + }, + "fingerprint": { + "type": "string", + "description": "The fingerprint of the GTM Folder as computed at storage time. This value is recomputed whenever the folder is modified." + }, + "folderId": { + "type": "string", + "description": "The Folder ID uniquely identifies the GTM Folder." + }, + "name": { + "type": "string", + "description": "Folder display name.", + "annotations": { + "required": [ + "tagmanager.accounts.containers.folders.create" + ] + } + } + } + }, + "FolderEntities": { + "id": "FolderEntities", + "type": "object", + "description": "Represents a Google Tag Manager Folder's contents.", + "properties": { + "tag": { + "type": "array", + "description": "The list of tags inside the folder.", + "items": { + "$ref": "Tag" + } + }, + "trigger": { + "type": "array", + "description": "The list of triggers inside the folder.", + "items": { + "$ref": "Trigger" + } + }, + "variable": { + "type": "array", + "description": "The list of variables inside the folder.", + "items": { + "$ref": "Variable" + } + } + } + }, "ListAccountUsersResponse": { "id": "ListAccountUsersResponse", "type": "object", @@ -631,30 +706,16 @@ } } }, - "ListMacrosResponse": { - "id": "ListMacrosResponse", + "ListFoldersResponse": { + "id": "ListFoldersResponse", "type": "object", - "description": "List Macros Response.", + "description": "List Folders Response.", "properties": { - "macros": { + "folders": { "type": "array", - "description": "All GTM Macros of a GTM Container.", + "description": "All GTM Folders of a GTM Container.", "items": { - "$ref": "Macro" - } - } - } - }, - "ListRulesResponse": { - "id": "ListRulesResponse", - "type": "object", - "description": "List Rules Response.", - "properties": { - "rules": { - "type": "array", - "description": "All GTM Rules of a GTM Container.", - "items": { - "$ref": "Rule" + "$ref": "Folder" } } } @@ -738,12 +799,7 @@ }, "name": { "type": "string", - "description": "Macro display name.", - "annotations": { - "required": [ - "tagmanager.accounts.containers.macros.create" - ] - } + "description": "Macro display name." }, "notes": { "type": "string", @@ -756,6 +812,10 @@ "$ref": "Parameter" } }, + "parentFolderId": { + "type": "string", + "description": "Parent folder id." + }, "scheduleEndMs": { "type": "string", "description": "The end timestamp in milliseconds to schedule a macro.", @@ -768,13 +828,7 @@ }, "type": { "type": "string", - "description": "GTM Macro Type.", - "annotations": { - "required": [ - "tagmanager.accounts.containers.macros.create", - "tagmanager.accounts.containers.macros.update" - ] - } + "description": "GTM Macro Type." } } }, @@ -803,7 +857,7 @@ }, "type": { "type": "string", - "description": "The parameter type. Valid values are: \n- boolean: The value represents a boolean, represented as 'true' or 'false' \n- integer: The value represents a 64-bit signed integer value, in base 10 \n- list: A list of parameters should be specified \n- map: A map of parameters should be specified \n- template: The value represents any text; this can include macro references (even macro references that might return non-string types)", + "description": "The parameter type. Valid values are: \n- boolean: The value represents a boolean, represented as 'true' or 'false' \n- integer: The value represents a 64-bit signed integer value, in base 10 \n- list: A list of parameters should be specified \n- map: A map of parameters should be specified \n- template: The value represents any text; this can include variable references (even variable references that might return non-string types)", "enum": [ "boolean", "integer", @@ -820,18 +874,18 @@ ], "annotations": { "required": [ - "tagmanager.accounts.containers.macros.create", - "tagmanager.accounts.containers.macros.update", - "tagmanager.accounts.containers.rules.create", - "tagmanager.accounts.containers.rules.update", "tagmanager.accounts.containers.tags.create", - "tagmanager.accounts.containers.tags.update" + "tagmanager.accounts.containers.tags.update", + "tagmanager.accounts.containers.triggers.create", + "tagmanager.accounts.containers.triggers.update", + "tagmanager.accounts.containers.variables.create", + "tagmanager.accounts.containers.variables.update" ] } }, "value": { "type": "string", - "description": "A parameter's value (may contain macro references such as \"{{myMacro}}\") as appropriate to the specified type." + "description": "A parameter's value (may contain variable references such as \"{{myVariable}}\") as appropriate to the specified type." } } }, @@ -876,12 +930,7 @@ }, "name": { "type": "string", - "description": "Rule display name.", - "annotations": { - "required": [ - "tagmanager.accounts.containers.rules.create" - ] - } + "description": "Rule display name." }, "notes": { "type": "string", @@ -893,6 +942,20 @@ } } }, + "SetupTag": { + "id": "SetupTag", + "type": "object", + "properties": { + "stopOnSetupFailure": { + "type": "boolean", + "description": "If true, fire the main tag if and only if the setup tag fires successfully. If false, fire the main tag regardless of setup tag firing status." + }, + "tagName": { + "type": "string", + "description": "The name of the setup tag." + } + } + }, "Tag": { "id": "Tag", "type": "object", @@ -962,6 +1025,10 @@ "$ref": "Parameter" } }, + "parentFolderId": { + "type": "string", + "description": "Parent folder id." + }, "priority": { "$ref": "Parameter", "description": "User defined numeric priority of the tag. Tags are fired asynchronously in order of priority. Tags with higher numeric value fire first. A tag's priority can be a positive or negative value. The default value is 0." @@ -976,10 +1043,38 @@ "description": "The start timestamp in milliseconds to schedule a tag.", "format": "int64" }, + "setupTag": { + "type": "array", + "description": "The list of setup tags. Currently we only allow one.", + "items": { + "$ref": "SetupTag" + } + }, + "tagFiringOption": { + "type": "string", + "description": "Option to fire this tag.", + "enum": [ + "oncePerEvent", + "oncePerLoad", + "unlimited" + ], + "enumDescriptions": [ + "", + "", + "" + ] + }, "tagId": { "type": "string", "description": "The Tag ID uniquely identifies the GTM Tag." }, + "teardownTag": { + "type": "array", + "description": "The list of teardown tags. Currently we only allow one.", + "items": { + "$ref": "TeardownTag" + } + }, "type": { "type": "string", "description": "GTM Tag Type.", @@ -991,6 +1086,20 @@ } } }, + "TeardownTag": { + "id": "TeardownTag", + "type": "object", + "properties": { + "stopTeardownOnFailure": { + "type": "boolean", + "description": "If true, fire the teardown tag if and only if the main tag fires successfully. If false, fire the teardown tag regardless of main tag firing status." + }, + "tagName": { + "type": "string", + "description": "The name of the teardown tag." + } + } + }, "Trigger": { "id": "Trigger", "type": "object", @@ -1058,6 +1167,10 @@ ] } }, + "parentFolderId": { + "type": "string", + "description": "Parent folder id." + }, "triggerId": { "type": "string", "description": "The Trigger ID uniquely identifies the GTM Trigger." @@ -1210,6 +1323,10 @@ "$ref": "Parameter" } }, + "parentFolderId": { + "type": "string", + "description": "Parent folder id." + }, "scheduleEndMs": { "type": "string", "description": "The end timestamp in milliseconds to schedule a variable.", @@ -1462,13 +1579,13 @@ } }, "resources": { - "macros": { + "folders": { "methods": { "create": { - "id": "tagmanager.accounts.containers.macros.create", - "path": "accounts/{accountId}/containers/{containerId}/macros", + "id": "tagmanager.accounts.containers.folders.create", + "path": "accounts/{accountId}/containers/{containerId}/folders", "httpMethod": "POST", - "description": "Creates a GTM Macro.", + "description": "Creates a GTM Folder.", "parameters": { "accountId": { "type": "string", @@ -1488,20 +1605,20 @@ "containerId" ], "request": { - "$ref": "Macro" + "$ref": "Folder" }, "response": { - "$ref": "Macro" + "$ref": "Folder" }, "scopes": [ "https://www.googleapis.com/auth/tagmanager.edit.containers" ] }, "delete": { - "id": "tagmanager.accounts.containers.macros.delete", - "path": "accounts/{accountId}/containers/{containerId}/macros/{macroId}", + "id": "tagmanager.accounts.containers.folders.delete", + "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}", "httpMethod": "DELETE", - "description": "Deletes a GTM Macro.", + "description": "Deletes a GTM Folder.", "parameters": { "accountId": { "type": "string", @@ -1515,9 +1632,9 @@ "required": true, "location": "path" }, - "macroId": { + "folderId": { "type": "string", - "description": "The GTM Macro ID.", + "description": "The GTM Folder ID.", "required": true, "location": "path" } @@ -1525,17 +1642,17 @@ "parameterOrder": [ "accountId", "containerId", - "macroId" + "folderId" ], "scopes": [ "https://www.googleapis.com/auth/tagmanager.edit.containers" ] }, "get": { - "id": "tagmanager.accounts.containers.macros.get", - "path": "accounts/{accountId}/containers/{containerId}/macros/{macroId}", + "id": "tagmanager.accounts.containers.folders.get", + "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}", "httpMethod": "GET", - "description": "Gets a GTM Macro.", + "description": "Gets a GTM Folder.", "parameters": { "accountId": { "type": "string", @@ -1549,9 +1666,9 @@ "required": true, "location": "path" }, - "macroId": { + "folderId": { "type": "string", - "description": "The GTM Macro ID.", + "description": "The GTM Folder ID.", "required": true, "location": "path" } @@ -1559,10 +1676,10 @@ "parameterOrder": [ "accountId", "containerId", - "macroId" + "folderId" ], "response": { - "$ref": "Macro" + "$ref": "Folder" }, "scopes": [ "https://www.googleapis.com/auth/tagmanager.edit.containers", @@ -1570,10 +1687,10 @@ ] }, "list": { - "id": "tagmanager.accounts.containers.macros.list", - "path": "accounts/{accountId}/containers/{containerId}/macros", + "id": "tagmanager.accounts.containers.folders.list", + "path": "accounts/{accountId}/containers/{containerId}/folders", "httpMethod": "GET", - "description": "Lists all GTM Macros of a Container.", + "description": "Lists all GTM Folders of a Container.", "parameters": { "accountId": { "type": "string", @@ -1593,7 +1710,7 @@ "containerId" ], "response": { - "$ref": "ListMacrosResponse" + "$ref": "ListFoldersResponse" }, "scopes": [ "https://www.googleapis.com/auth/tagmanager.edit.containers", @@ -1601,10 +1718,10 @@ ] }, "update": { - "id": "tagmanager.accounts.containers.macros.update", - "path": "accounts/{accountId}/containers/{containerId}/macros/{macroId}", + "id": "tagmanager.accounts.containers.folders.update", + "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}", "httpMethod": "PUT", - "description": "Updates a GTM Macro.", + "description": "Updates a GTM Folder.", "parameters": { "accountId": { "type": "string", @@ -1620,12 +1737,12 @@ }, "fingerprint": { "type": "string", - "description": "When provided, this fingerprint must match the fingerprint of the macro in storage.", + "description": "When provided, this fingerprint must match the fingerprint of the folder in storage.", "location": "query" }, - "macroId": { + "folderId": { "type": "string", - "description": "The GTM Macro ID.", + "description": "The GTM Folder ID.", "required": true, "location": "path" } @@ -1633,163 +1750,71 @@ "parameterOrder": [ "accountId", "containerId", - "macroId" + "folderId" ], "request": { - "$ref": "Macro" + "$ref": "Folder" }, "response": { - "$ref": "Macro" + "$ref": "Folder" }, "scopes": [ "https://www.googleapis.com/auth/tagmanager.edit.containers" ] } + }, + "resources": { + "entities": { + "methods": { + "list": { + "id": "tagmanager.accounts.containers.folders.entities.list", + "path": "accounts/{accountId}/containers/{containerId}/folders/{folderId}/entities", + "httpMethod": "GET", + "description": "List all entities in a GTM Folder.", + "parameters": { + "accountId": { + "type": "string", + "description": "The GTM Account ID.", + "required": true, + "location": "path" + }, + "containerId": { + "type": "string", + "description": "The GTM Container ID.", + "required": true, + "location": "path" + }, + "folderId": { + "type": "string", + "description": "The GTM Folder ID.", + "required": true, + "location": "path" + } + }, + "parameterOrder": [ + "accountId", + "containerId", + "folderId" + ], + "response": { + "$ref": "FolderEntities" + }, + "scopes": [ + "https://www.googleapis.com/auth/tagmanager.edit.containers", + "https://www.googleapis.com/auth/tagmanager.readonly" + ] + } + } + } } }, - "rules": { + "move_folders": { "methods": { - "create": { - "id": "tagmanager.accounts.containers.rules.create", - "path": "accounts/{accountId}/containers/{containerId}/rules", - "httpMethod": "POST", - "description": "Creates a GTM Rule.", - "parameters": { - "accountId": { - "type": "string", - "description": "The GTM Account ID.", - "required": true, - "location": "path" - }, - "containerId": { - "type": "string", - "description": "The GTM Container ID.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "accountId", - "containerId" - ], - "request": { - "$ref": "Rule" - }, - "response": { - "$ref": "Rule" - }, - "scopes": [ - "https://www.googleapis.com/auth/tagmanager.edit.containers" - ] - }, - "delete": { - "id": "tagmanager.accounts.containers.rules.delete", - "path": "accounts/{accountId}/containers/{containerId}/rules/{ruleId}", - "httpMethod": "DELETE", - "description": "Deletes a GTM Rule.", - "parameters": { - "accountId": { - "type": "string", - "description": "The GTM Account ID.", - "required": true, - "location": "path" - }, - "containerId": { - "type": "string", - "description": "The GTM Container ID.", - "required": true, - "location": "path" - }, - "ruleId": { - "type": "string", - "description": "The GTM Rule ID.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "accountId", - "containerId", - "ruleId" - ], - "scopes": [ - "https://www.googleapis.com/auth/tagmanager.edit.containers" - ] - }, - "get": { - "id": "tagmanager.accounts.containers.rules.get", - "path": "accounts/{accountId}/containers/{containerId}/rules/{ruleId}", - "httpMethod": "GET", - "description": "Gets a GTM Rule.", - "parameters": { - "accountId": { - "type": "string", - "description": "The GTM Account ID.", - "required": true, - "location": "path" - }, - "containerId": { - "type": "string", - "description": "The GTM Container ID.", - "required": true, - "location": "path" - }, - "ruleId": { - "type": "string", - "description": "The GTM Rule ID.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "accountId", - "containerId", - "ruleId" - ], - "response": { - "$ref": "Rule" - }, - "scopes": [ - "https://www.googleapis.com/auth/tagmanager.edit.containers", - "https://www.googleapis.com/auth/tagmanager.readonly" - ] - }, - "list": { - "id": "tagmanager.accounts.containers.rules.list", - "path": "accounts/{accountId}/containers/{containerId}/rules", - "httpMethod": "GET", - "description": "Lists all GTM Rules of a Container.", - "parameters": { - "accountId": { - "type": "string", - "description": "The GTM Account ID.", - "required": true, - "location": "path" - }, - "containerId": { - "type": "string", - "description": "The GTM Container ID.", - "required": true, - "location": "path" - } - }, - "parameterOrder": [ - "accountId", - "containerId" - ], - "response": { - "$ref": "ListRulesResponse" - }, - "scopes": [ - "https://www.googleapis.com/auth/tagmanager.edit.containers", - "https://www.googleapis.com/auth/tagmanager.readonly" - ] - }, "update": { - "id": "tagmanager.accounts.containers.rules.update", - "path": "accounts/{accountId}/containers/{containerId}/rules/{ruleId}", + "id": "tagmanager.accounts.containers.move_folders.update", + "path": "accounts/{accountId}/containers/{containerId}/move_folders/{folderId}", "httpMethod": "PUT", - "description": "Updates a GTM Rule.", + "description": "Moves entities to a GTM Folder.", "parameters": { "accountId": { "type": "string", @@ -1803,31 +1828,35 @@ "required": true, "location": "path" }, - "fingerprint": { + "folderId": { "type": "string", - "description": "When provided, this fingerprint must match the fingerprint of the rule in storage.", + "description": "The GTM Folder ID.", + "required": true, + "location": "path" + }, + "tagId": { + "type": "string", + "description": "The tags to be moved to the folder.", + "repeated": true, "location": "query" }, - "ruleId": { + "triggerId": { "type": "string", - "description": "The GTM Rule ID.", - "required": true, - "location": "path" + "description": "The triggers to be moved to the folder.", + "repeated": true, + "location": "query" + }, + "variableId": { + "type": "string", + "description": "The variables to be moved to the folder.", + "repeated": true, + "location": "query" } }, "parameterOrder": [ "accountId", "containerId", - "ruleId" - ], - "request": { - "$ref": "Rule" - }, - "response": { - "$ref": "Rule" - }, - "scopes": [ - "https://www.googleapis.com/auth/tagmanager.edit.containers" + "folderId" ] } } @@ -2579,7 +2608,7 @@ "id": "tagmanager.accounts.containers.versions.restore", "path": "accounts/{accountId}/containers/{containerId}/versions/{containerVersionId}/restore", "httpMethod": "POST", - "description": "Restores a Container Version. This will overwrite the container's current configuration (including its macros, rules and tags). The operation will not have any effect on the version that is being served (i.e. the published version).", + "description": "Restores a Container Version. This will overwrite the container's current configuration (including its variables, triggers and tags). The operation will not have any effect on the version that is being served (i.e. the published version).", "parameters": { "accountId": { "type": "string", diff --git a/etc/api/webmasters/v3/webmasters-api.json b/etc/api/webmasters/v3/webmasters-api.json index 614d7f57bf..2133906cd5 100644 --- a/etc/api/webmasters/v3/webmasters-api.json +++ b/etc/api/webmasters/v3/webmasters-api.json @@ -1,11 +1,11 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/j0enR1Y0uYrSDV6RMbQcmkIwHg4\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/2KfwPsPFjdvTmw1MTymtM96q3zo\"", "discoveryVersion": "v1", "id": "webmasters:v3", "name": "webmasters", "version": "v3", - "revision": "20150624", + "revision": "20150804", "title": "Webmaster Tools API", "description": "Lets you view Google Webmaster Tools data for your verified sites.", "ownerDomain": "google.com", @@ -143,11 +143,11 @@ "properties": { "aggregationType": { "type": "string", - "description": "[Optional; Default is AUTO] How data is aggregated. If aggregated by property, all data for the same property is aggregated; if aggregated by page, all data is aggregated by canonical URI. If you filter or group by page, choose AUTO; otherwise you can aggregate either by property or by page, depending on how you want your data calculated; see the help documentation to learn how data is calculated differently by site versus by page.\n\nNote: If you group or filter by page, you cannot aggregate by property.\n\nIf you specify any value other than AUTO, the aggregation type in the result will match the requested type, or if you request an invalid type, you will get an error. The API will never change your aggregation type if the requested type is invalid." + "description": "[Optional; Default is \"auto\"] How data is aggregated. If aggregated by property, all data for the same property is aggregated; if aggregated by page, all data is aggregated by canonical URI. If you filter or group by page, choose AUTO; otherwise you can aggregate either by property or by page, depending on how you want your data calculated; see the help documentation to learn how data is calculated differently by site versus by page.\n\nNote: If you group or filter by page, you cannot aggregate by property.\n\nIf you specify any value other than AUTO, the aggregation type in the result will match the requested type, or if you request an invalid type, you will get an error. The API will never change your aggregation type if the requested type is invalid." }, "dimensionFilterGroups": { "type": "array", - "description": "[Optional] Zero or more filters to apply to the dimension grouping values; for example, 'Country CONTAINS \"Guinea\"' to see only data where the country contains the substring \"Guinea\". You can filter by a dimension without grouping by it.", + "description": "[Optional] Zero or more filters to apply to the dimension grouping values; for example, 'query contains \"buy\"' to see only data where the query string contains the substring \"buy\" (not case-sensitive). You can filter by a dimension without grouping by it.", "items": { "$ref": "ApiDimensionFilterGroup" } @@ -165,12 +165,12 @@ }, "rowLimit": { "type": "integer", - "description": "[Optional; Default is 1000] The maximum number of rows to return. Must be a number from 1 to 1,000 (inclusive).", + "description": "[Optional; Default is 1000] The maximum number of rows to return. Must be a number from 1 to 5,000 (inclusive).", "format": "int32" }, "searchType": { "type": "string", - "description": "[Optional; Default is WEB] The search type to filter for." + "description": "[Optional; Default is \"web\"] The search type to filter for." }, "startDate": { "type": "string", @@ -436,7 +436,7 @@ "id": "webmasters.searchanalytics.query", "path": "sites/{siteUrl}/searchAnalytics/query", "httpMethod": "POST", - "description": "[LIMITED ACCESS]\n\nQuery your data with filters and parameters that you define. Returns zero or more rows grouped by the row keys that you define. You must define a date range of one or more days.\n\nWhen date is one of the group by values, any days without data are omitted from the result list. If you need to know which days have data, issue a broad date range query grouped by date for any metric, and see which day rows are returned.", + "description": "Query your data with filters and parameters that you define. Returns zero or more rows grouped by the row keys that you define. You must define a date range of one or more days.\n\nWhen date is one of the group by values, any days without data are omitted from the result list. If you need to know which days have data, issue a broad date range query grouped by date for any metric, and see which day rows are returned.", "parameters": { "siteUrl": { "type": "string", diff --git a/etc/api/youtube/v3/youtube-api.json b/etc/api/youtube/v3/youtube-api.json index 062202a50f..34f3806512 100644 --- a/etc/api/youtube/v3/youtube-api.json +++ b/etc/api/youtube/v3/youtube-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/dDzLANLY4y_3rdEpUNli-dPof40\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/4-0NBGYpnIwmGOtwWyiB-28Ef00\"", "discoveryVersion": "v1", "id": "youtube:v3", "name": "youtube", "canonicalName": "YouTube", "version": "v3", - "revision": "20150706", + "revision": "20151012", "title": "YouTube Data API", "description": "Programmatic access to YouTube features.", "ownerDomain": "google.com", @@ -1721,11 +1721,11 @@ "ContentRating": { "id": "ContentRating", "type": "object", - "description": "Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 65", + "description": "Ratings schemes. The country-specific ratings are mostly for movies and shows. NEXT_ID: 66", "properties": { "acbRating": { "type": "string", - "description": "Rating system in Australia - Australian Classification Board", + "description": "The video's Australian Classification Board (ACB) or Australian Communications and Media Authority (ACMA) rating. ACMA ratings are used to classify children's television programming.", "enum": [ "acbC", "acbE", @@ -1751,7 +1751,7 @@ }, "agcomRating": { "type": "string", - "description": "Rating system for Italy - Autorit� per le Garanzie nelle Comunicazioni", + "description": "The video's rating from Italy's Autorità per le Garanzie nelle Comunicazioni (AGCOM).", "enum": [ "agcomT", "agcomUnrated", @@ -1767,7 +1767,7 @@ }, "anatelRating": { "type": "string", - "description": "Rating system for Chile - Asociaci�n Nacional de Televisi�n", + "description": "The video's Anatel (Asociación Nacional de Televisión) rating for Chilean television.", "enum": [ "anatelA", "anatelF", @@ -1791,7 +1791,7 @@ }, "bbfcRating": { "type": "string", - "description": "British Board of Film Classification", + "description": "The video's British Board of Film Classification (BBFC) rating.", "enum": [ "bbfc12", "bbfc12a", @@ -1815,7 +1815,7 @@ }, "bfvcRating": { "type": "string", - "description": "Rating system for Thailand - Board of Filmand Video Censors", + "description": "The video's rating from Thailand's Board of Film and Video Censors.", "enum": [ "bfvc13", "bfvc15", @@ -1839,7 +1839,7 @@ }, "bmukkRating": { "type": "string", - "description": "Rating system for Austria - Bundesministerium f�r Unterricht, Kunst und Kultur", + "description": "The video's rating from the Austrian Board of Media Classification (Bundesministerium für Unterricht, Kunst und Kultur).", "enum": [ "bmukk10", "bmukk12", @@ -1863,7 +1863,7 @@ }, "catvRating": { "type": "string", - "description": "Rating system for Canadian TV - Canadian TV Classification System", + "description": "Rating system for Canadian TV - Canadian TV Classification System The video's rating from the Canadian Radio-Television and Telecommunications Commission (CRTC) for Canadian English-language broadcasts. For more information, see the Canadian Broadcast Standards Council website.", "enum": [ "catv14plus", "catv18plus", @@ -1885,7 +1885,7 @@ }, "catvfrRating": { "type": "string", - "description": "Rating system for French Canadian TV - Regie du cinema", + "description": "The video's rating from the Canadian Radio-Television and Telecommunications Commission (CRTC) for Canadian French-language broadcasts. For more information, see the Canadian Broadcast Standards Council website.", "enum": [ "catvfr13plus", "catvfr16plus", @@ -1905,7 +1905,7 @@ }, "cbfcRating": { "type": "string", - "description": "Rating system in India - Central Board of Film Certification", + "description": "The video's Central Board of Film Certification (CBFC - India) rating.", "enum": [ "cbfcA", "cbfcS", @@ -1923,7 +1923,7 @@ }, "cccRating": { "type": "string", - "description": "Rating system for Chile - Consejo de Calificaci�n Cinematogr�fica", + "description": "The video's Consejo de Calificación Cinematográfica (Chile) rating.", "enum": [ "ccc14", "ccc18", @@ -1945,7 +1945,7 @@ }, "cceRating": { "type": "string", - "description": "Rating system for Portugal - Comiss�o de Classifica��o de Espect�culos", + "description": "The video's rating from Portugal's Comissão de Classificação de Espect´culos.", "enum": [ "cceM12", "cceM16", @@ -1965,7 +1965,7 @@ }, "chfilmRating": { "type": "string", - "description": "Rating system for Switzerland - Switzerland Rating System", + "description": "The video's rating in Switzerland.", "enum": [ "chfilm0", "chfilm12", @@ -1985,7 +1985,7 @@ }, "chvrsRating": { "type": "string", - "description": "Canadian Home Video Rating System", + "description": "The video's Canadian Home Video Rating System (CHVRS) rating.", "enum": [ "chvrs14a", "chvrs18a", @@ -2007,7 +2007,7 @@ }, "cicfRating": { "type": "string", - "description": "Rating system for Belgium - Belgium Rating System", + "description": "The video's rating from the Commission de Contrôle des Films (Belgium).", "enum": [ "cicfE", "cicfKntEna", @@ -2023,7 +2023,7 @@ }, "cnaRating": { "type": "string", - "description": "Rating system for Romania - CONSILIUL NATIONAL AL AUDIOVIZUALULUI - CNA", + "description": "The video's rating from Romania's CONSILIUL NATIONAL AL AUDIOVIZUALULUI (CNA).", "enum": [ "cna12", "cna15", @@ -2041,15 +2041,38 @@ "" ] }, + "cncRating": { + "type": "string", + "description": "Rating system in France - Commission de classification cinematographique", + "enum": [ + "cnc10", + "cnc12", + "cnc16", + "cnc18", + "cncE", + "cncT", + "cncUnrated" + ], + "enumDescriptions": [ + "", + "", + "", + "", + "", + "", + "" + ] + }, "csaRating": { "type": "string", - "description": "Rating system for France - Conseil sup�rieur de l?audiovisuel", + "description": "The video's rating from France's Conseil supérieur de l?audiovisuel, which rates broadcast content.", "enum": [ "csa10", "csa12", "csa16", "csa18", "csaInterdiction", + "csaT", "csaUnrated" ], "enumDescriptions": [ @@ -2058,12 +2081,13 @@ "", "", "", + "", "" ] }, "cscfRating": { "type": "string", - "description": "Rating system for Luxembourg - Commission de surveillance de la classification des films", + "description": "The video's rating from Luxembourg's Commission de surveillance de la classification des films (CSCF).", "enum": [ "cscf12", "cscf16", @@ -2087,7 +2111,7 @@ }, "czfilmRating": { "type": "string", - "description": "Rating system for Czech republic - Czech republic Rating System", + "description": "The video's rating in the Czech Republic.", "enum": [ "czfilm12", "czfilm14", @@ -2105,7 +2129,7 @@ }, "djctqRating": { "type": "string", - "description": "Rating system in Brazil - Department of Justice, Rating, Titles and Qualification", + "description": "The video's Departamento de Justiça, Classificação, Qualificação e Títulos (DJCQT - Brazil) rating.", "enum": [ "djctq10", "djctq12", @@ -2127,6 +2151,7 @@ }, "djctqRatingReasons": { "type": "array", + "description": "Reasons that explain why the video received its DJCQT (Brazil) rating.", "items": { "type": "string", "enum": [ @@ -2161,7 +2186,7 @@ }, "eefilmRating": { "type": "string", - "description": "Rating system for Estonia - Estonia Rating System", + "description": "The video's rating in Estonia.", "enum": [ "eefilmK12", "eefilmK14", @@ -2187,7 +2212,7 @@ }, "egfilmRating": { "type": "string", - "description": "Rating system for Egypt - Egypt Rating System", + "description": "The video's rating in Egypt.", "enum": [ "egfilm18", "egfilmBn", @@ -2203,7 +2228,7 @@ }, "eirinRating": { "type": "string", - "description": "Rating system in Japan - Eiga Rinri Kanri Iinkai", + "description": "The video's Eirin (映倫) rating. Eirin is the Japanese rating system.", "enum": [ "eirinG", "eirinPg12", @@ -2221,7 +2246,7 @@ }, "fcbmRating": { "type": "string", - "description": "Rating system for Malaysia - Film Censorship Board of Malaysia", + "description": "The video's rating from Malaysia's Film Censorship Board.", "enum": [ "fcbm18", "fcbm18pa", @@ -2247,9 +2272,10 @@ }, "fcoRating": { "type": "string", - "description": "Rating system for Hong kong - Office for Film, Newspaper and Article Administration", + "description": "The video's rating from Hong Kong's Office for Film, Newspaper and Article Administration.", "enum": [ "fcoI", + "fcoIi", "fcoIia", "fcoIib", "fcoIii", @@ -2260,12 +2286,13 @@ "", "", "", + "", "" ] }, "fmocRating": { "type": "string", - "description": "Rating system in France - French Minister of Culture", + "description": "This property has been deprecated. Use the contentDetails.contentRating.cncRating instead.", "enum": [ "fmoc10", "fmoc12", @@ -2287,7 +2314,7 @@ }, "fpbRating": { "type": "string", - "description": "Rating system for South africa - Film & Publication Board", + "description": "The video's rating from South Africa's Film and Publication Board.", "enum": [ "fpb1012Pg", "fpb13", @@ -2315,7 +2342,7 @@ }, "fskRating": { "type": "string", - "description": "Rating system in Germany - Voluntary Self Regulation of the Movie Industry", + "description": "The video's Freiwillige Selbstkontrolle der Filmwirtschaft (FSK - Germany) rating.", "enum": [ "fsk0", "fsk12", @@ -2335,7 +2362,7 @@ }, "grfilmRating": { "type": "string", - "description": "Rating system for Greece - Greece Rating System", + "description": "The video's rating in Greece.", "enum": [ "grfilmE", "grfilmK", @@ -2353,7 +2380,7 @@ }, "icaaRating": { "type": "string", - "description": "Rating system in Spain - Instituto de Cinematografia y de las Artes Audiovisuales", + "description": "The video's Instituto de la Cinematografía y de las Artes Audiovisuales (ICAA - Spain) rating.", "enum": [ "icaa12", "icaa13", @@ -2377,7 +2404,7 @@ }, "ifcoRating": { "type": "string", - "description": "Rating system in Ireland - Irish Film Classification Office", + "description": "The video's Irish Film Classification Office (IFCO - Ireland) rating. See the IFCO website for more information.", "enum": [ "ifco12", "ifco12a", @@ -2403,7 +2430,7 @@ }, "ilfilmRating": { "type": "string", - "description": "Rating system for Israel - Israel Rating System", + "description": "The video's rating in Israel.", "enum": [ "ilfilm12", "ilfilm16", @@ -2421,7 +2448,7 @@ }, "incaaRating": { "type": "string", - "description": "Rating system for Argentina - Instituto Nacional de Cine y Artes Audiovisuales", + "description": "The video's INCAA (Instituto Nacional de Cine y Artes Audiovisuales - Argentina) rating.", "enum": [ "incaaAtp", "incaaC", @@ -2441,7 +2468,7 @@ }, "kfcbRating": { "type": "string", - "description": "Rating system for Kenya - Kenya Film Classification Board", + "description": "The video's rating from the Kenya Film Classification Board.", "enum": [ "kfcb16plus", "kfcbG", @@ -2459,7 +2486,7 @@ }, "kijkwijzerRating": { "type": "string", - "description": "Rating system for Netherlands - Nederlands Instituut voor de Classificatie van Audiovisuele Media", + "description": "voor de Classificatie van Audiovisuele Media (Netherlands).", "enum": [ "kijkwijzer12", "kijkwijzer16", @@ -2481,7 +2508,7 @@ }, "kmrbRating": { "type": "string", - "description": "Rating system in South Korea - Korea Media Rating Board", + "description": "The video's Korea Media Rating Board (영상물등급위원회) rating. The KMRB rates videos in South Korea.", "enum": [ "kmrb12plus", "kmrb15plus", @@ -2501,7 +2528,7 @@ }, "lsfRating": { "type": "string", - "description": "Rating system for Indonesia - Lembaga Sensor Film", + "description": "The video's rating from Indonesia's Lembaga Sensor Film.", "enum": [ "lsf13", "lsf17", @@ -2527,7 +2554,7 @@ }, "mccaaRating": { "type": "string", - "description": "Rating system for Malta - Film Age-Classification Board", + "description": "The video's rating from Malta's Film Age-Classification Board.", "enum": [ "mccaa12", "mccaa12a", @@ -2553,7 +2580,7 @@ }, "mccypRating": { "type": "string", - "description": "Rating system for Denmark - The Media Council for Children and Young People", + "description": "The video's rating from the Danish Film Institute's (Det Danske Filminstitut) Media Council for Children and Young People.", "enum": [ "mccyp11", "mccyp15", @@ -2571,7 +2598,7 @@ }, "mdaRating": { "type": "string", - "description": "Rating system for Singapore - Media Development Authority", + "description": "The video's rating from Singapore's Media Development Authority (MDA) and, specifically, it's Board of Film Censors (BFC).", "enum": [ "mdaG", "mdaM18", @@ -2593,12 +2620,15 @@ }, "medietilsynetRating": { "type": "string", - "description": "Rating system for Norway - Medietilsynet", + "description": "The video's rating from Medietilsynet, the Norwegian Media Authority.", "enum": [ "medietilsynet11", + "medietilsynet12", "medietilsynet15", "medietilsynet18", + "medietilsynet6", "medietilsynet7", + "medietilsynet9", "medietilsynetA", "medietilsynetUnrated" ], @@ -2608,12 +2638,15 @@ "", "", "", + "", + "", + "", "" ] }, "mekuRating": { "type": "string", - "description": "Rating system for Finland - Finnish Centre for Media Education and Audiovisual Media", + "description": "The video's rating from Finland's Kansallinen Audiovisuaalinen Instituutti (National Audiovisual Institute).", "enum": [ "meku12", "meku16", @@ -2633,7 +2666,7 @@ }, "mibacRating": { "type": "string", - "description": "Rating system in Italy - Ministero dei Beni e delle Attivita Culturali e del Turismo", + "description": "The video's rating from the Ministero dei Beni e delle Attività Culturali e del Turismo (Italy).", "enum": [ "mibacT", "mibacUnrated", @@ -2653,7 +2686,7 @@ }, "mocRating": { "type": "string", - "description": "Rating system for Colombia - MoC", + "description": "The video's Ministerio de Cultura (Colombia) rating.", "enum": [ "moc12", "moc15", @@ -2679,7 +2712,7 @@ }, "moctwRating": { "type": "string", - "description": "Rating system for Taiwan - Ministry of Culture - Tawan", + "description": "The video's rating from Taiwan's Ministry of Culture (文化部).", "enum": [ "moctwG", "moctwP", @@ -2697,7 +2730,7 @@ }, "mpaaRating": { "type": "string", - "description": "Motion Picture Association of America rating for the content.", + "description": "The video's Motion Picture Association of America (MPAA) rating.", "enum": [ "mpaaG", "mpaaNc17", @@ -2717,7 +2750,7 @@ }, "mtrcbRating": { "type": "string", - "description": "Rating system for Philippines - MOVIE AND TELEVISION REVIEW AND CLASSIFICATION BOARD", + "description": "The video's rating from the Movie and Television Review and Classification Board (Philippines).", "enum": [ "mtrcbG", "mtrcbPg", @@ -2739,7 +2772,7 @@ }, "nbcRating": { "type": "string", - "description": "Rating system for Maldives - National Bureau of Classification", + "description": "The video's rating from the Maldives National Bureau of Classification.", "enum": [ "nbc12plus", "nbc15plus", @@ -2763,7 +2796,7 @@ }, "nbcplRating": { "type": "string", - "description": "Rating system for Poland - National Broadcasting Council", + "description": "The video's rating in Poland.", "enum": [ "nbcpl18plus", "nbcplI", @@ -2783,7 +2816,7 @@ }, "nfrcRating": { "type": "string", - "description": "Rating system for Bulgaria - National Film Centre", + "description": "The video's rating from the Bulgarian National Film Center.", "enum": [ "nfrcA", "nfrcB", @@ -2803,7 +2836,7 @@ }, "nfvcbRating": { "type": "string", - "description": "Rating system for Nigeria - National Film and Video Censors Board", + "description": "The video's rating from Nigeria's National Film and Video Censors Board.", "enum": [ "nfvcb12", "nfvcb12a", @@ -2827,7 +2860,7 @@ }, "nkclvRating": { "type": "string", - "description": "Rating system for Latvia - National Film Center of Latvia", + "description": "The video's rating from the Nacionãlais Kino centrs (National Film Centre of Latvia).", "enum": [ "nkclv12plus", "nkclv18plus", @@ -2845,7 +2878,7 @@ }, "oflcRating": { "type": "string", - "description": "Rating system in New Zealand - Office of Film and Literature Classification", + "description": "The video's Office of Film and Literature Classification (OFLC - New Zealand) rating.", "enum": [ "oflcG", "oflcM", @@ -2873,7 +2906,7 @@ }, "pefilmRating": { "type": "string", - "description": "Rating system for Peru - Peru Rating System", + "description": "The video's rating in Peru.", "enum": [ "pefilm14", "pefilm18", @@ -2891,7 +2924,7 @@ }, "rcnofRating": { "type": "string", - "description": "Rating system for Hungary - Rating Committee of the National Office of Film", + "description": "The video's rating from the Hungarian Nemzeti Filmiroda, the Rating Committee of the National Office of Film.", "enum": [ "rcnofI", "rcnofIi", @@ -2913,7 +2946,7 @@ }, "resorteviolenciaRating": { "type": "string", - "description": "Rating system for Venezuela - SiBCI", + "description": "The video's rating in Venezuela.", "enum": [ "resorteviolenciaA", "resorteviolenciaB", @@ -2933,7 +2966,7 @@ }, "rtcRating": { "type": "string", - "description": "Rating system in Mexico - General Directorate of Radio, Television and Cinematography", + "description": "The video's General Directorate of Radio, Television and Cinematography (Mexico) rating.", "enum": [ "rtcA", "rtcAa", @@ -2955,7 +2988,7 @@ }, "rteRating": { "type": "string", - "description": "Rating system for Ireland - Raidi� Teilif�s �ireann", + "description": "The video's rating from Ireland's Raidió Teilifís Éireann.", "enum": [ "rteCh", "rteGa", @@ -2973,7 +3006,7 @@ }, "russiaRating": { "type": "string", - "description": "Rating system in Russia", + "description": "The video's National Film Registry of the Russian Federation (MKRF - Russia) rating.", "enum": [ "russia0", "russia12", @@ -2993,7 +3026,7 @@ }, "skfilmRating": { "type": "string", - "description": "Rating system for Slovakia - Slovakia Rating System", + "description": "The video's rating in Slovakia.", "enum": [ "skfilmG", "skfilmP2", @@ -3011,7 +3044,7 @@ }, "smaisRating": { "type": "string", - "description": "Rating system for Iceland - SMAIS", + "description": "The video's rating in Iceland.", "enum": [ "smais12", "smais14", @@ -3033,7 +3066,7 @@ }, "smsaRating": { "type": "string", - "description": "Rating system for Sweden - Statens medier�d (National Media Council)", + "description": "The video's rating from Statens medieråd (Sweden's National Media Council).", "enum": [ "smsa11", "smsa15", @@ -3051,7 +3084,7 @@ }, "tvpgRating": { "type": "string", - "description": "TV Parental Guidelines rating of the content.", + "description": "The video's TV Parental Guidelines (TVPG) rating.", "enum": [ "pg14", "tvpgG", @@ -3075,7 +3108,7 @@ }, "ytRating": { "type": "string", - "description": "Internal YouTube rating.", + "description": "A rating that YouTube uses to identify age-restricted content.", "enum": [ "ytAgeRestricted" ], @@ -3741,6 +3774,10 @@ "isDefaultBroadcast": { "type": "boolean" }, + "liveChatId": { + "type": "string", + "description": "The id of the live chat for this broadcast." + }, "publishedAt": { "type": "string", "description": "The date and time that the broadcast was added to YouTube's live broadcast schedule. The value is specified in ISO 8601 (YYYY-MM-DDThh:mm:ss.sZ) format.", @@ -5151,7 +5188,7 @@ "properties": { "ageGating": { "$ref": "VideoAgeGating", - "description": "Age restriction details related to a video." + "description": "Age restriction details related to a video. This data can only be retrieved by the video owner." }, "contentDetails": { "$ref": "VideoContentDetails", @@ -6078,7 +6115,7 @@ }, "tags": { "type": "array", - "description": "A list of keyword tags associated with the video. Tags may contain spaces. This field is only visible to the video's uploader.", + "description": "A list of keyword tags associated with the video. Tags may contain spaces.", "items": { "type": "string" } @@ -6501,12 +6538,6 @@ "httpMethod": "DELETE", "description": "Deletes a specified caption track.", "parameters": { - "debugProjectIdOverride": { - "type": "string", - "description": "The debugProjectIdOverride parameter should be used for mimicking a request for a certain project ID", - "format": "int64", - "location": "query" - }, "id": { "type": "string", "description": "The id parameter identifies the caption track that is being deleted. The value is a caption track ID as identified by the id property in a caption resource.", @@ -6538,12 +6569,6 @@ "httpMethod": "GET", "description": "Downloads a caption track. The caption track is returned in its original format unless the request specifies a value for the tfmt parameter and in its original language unless the request specifies a value for the tlang parameter.", "parameters": { - "debugProjectIdOverride": { - "type": "string", - "description": "The debugProjectIdOverride parameter should be used for mimicking a request for a certain project ID", - "format": "int64", - "location": "query" - }, "id": { "type": "string", "description": "The id parameter identifies the caption track that is being retrieved. The value is a caption track ID as identified by the id property in a caption resource.", @@ -6600,12 +6625,6 @@ "httpMethod": "POST", "description": "Uploads a caption track.", "parameters": { - "debugProjectIdOverride": { - "type": "string", - "description": "The debugProjectIdOverride parameter should be used for mimicking a request for a certain project ID.", - "format": "int64", - "location": "query" - }, "onBehalfOf": { "type": "string", "description": "ID of the Google+ Page for the channel that the request is be on behalf of", @@ -6667,12 +6686,6 @@ "httpMethod": "GET", "description": "Returns a list of caption tracks that are associated with a specified video. Note that the API response does not contain the actual captions and that the captions.download method provides the ability to retrieve a caption track.", "parameters": { - "debugProjectIdOverride": { - "type": "string", - "description": "The debugProjectIdOverride parameter should be used for mimicking a request for a certain project ID.", - "format": "int64", - "location": "query" - }, "id": { "type": "string", "description": "The id parameter specifies a comma-separated list of IDs that identify the caption resources that should be retrieved. Each ID must identify a caption track associated with the specified video.", @@ -6719,12 +6732,6 @@ "httpMethod": "PUT", "description": "Updates a caption track. When updating a caption track, you can change the track's draft status, upload a new caption file for the track, or both.", "parameters": { - "debugProjectIdOverride": { - "type": "string", - "description": "The debugProjectIdOverride parameter should be used for mimicking a request for a certain project ID.", - "format": "int64", - "location": "query" - }, "onBehalfOf": { "type": "string", "description": "ID of the Google+ Page for the channel that the request is be on behalf of", @@ -7113,12 +7120,6 @@ "description": "The part parameter identifies the properties that the API response will include. Set the parameter value to snippet. The snippet part has a quota cost of 2 units.", "required": true, "location": "query" - }, - "shareOnGooglePlus": { - "type": "boolean", - "description": "The shareOnGooglePlus parameter indicates whether the top-level comment and any replies that are made to that comment should also be posted to the author's Google+ profile.", - "default": "false", - "location": "query" } }, "parameterOrder": [ @@ -9206,12 +9207,6 @@ ], "location": "query" }, - "debugProjectIdOverride": { - "type": "string", - "description": "The debugProjectIdOverride parameter should be used for mimicking a request for a certain project ID", - "format": "int64", - "location": "query" - }, "hl": { "type": "string", "description": "The hl parameter instructs the API to retrieve localized resource metadata for a specific application language that the YouTube website supports. The parameter value must be a language code included in the list returned by the i18nLanguages.list method.\n\nIf localized resource details are available in that language, the resource's snippet.localized object will contain the localized values. However, if localized details are not available, the snippet.localized object will contain resource details in the resource's default language.", diff --git a/etc/api/youtubeanalytics/v1/youtubeanalytics-api.json b/etc/api/youtubeanalytics/v1/youtubeanalytics-api.json index 0f25e62c57..9b2c17dd7c 100644 --- a/etc/api/youtubeanalytics/v1/youtubeanalytics-api.json +++ b/etc/api/youtubeanalytics/v1/youtubeanalytics-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/C3vQT4j_3dhMyf8QNzNOBvuZRuQ\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/-DUcp2cMrBVAw72x_6E3nnMB2yY\"", "discoveryVersion": "v1", "id": "youtubeAnalytics:v1", "name": "youtubeAnalytics", "canonicalName": "YouTube Analytics", "version": "v1", - "revision": "20150304", + "revision": "20150921", "title": "YouTube Analytics API", "description": "Retrieve your YouTube Analytics reports.", "ownerDomain": "google.com", diff --git a/etc/api/youtubeanalytics/v1beta1/youtubeanalytics-api.json b/etc/api/youtubeanalytics/v1beta1/youtubeanalytics-api.json index 66c3c031c8..e75a59dacc 100644 --- a/etc/api/youtubeanalytics/v1beta1/youtubeanalytics-api.json +++ b/etc/api/youtubeanalytics/v1beta1/youtubeanalytics-api.json @@ -1,12 +1,12 @@ { "kind": "discovery#restDescription", - "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/wzHkxHWEX9PcW7ZnULAilfkQsbM\"", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/C_p4T8Uech5h2lRHyahm9Nw2ab8\"", "discoveryVersion": "v1", "id": "youtubeAnalytics:v1beta1", "name": "youtubeAnalytics", "canonicalName": "YouTube Analytics", "version": "v1beta1", - "revision": "20150304", + "revision": "20150921", "title": "YouTube Analytics API", "description": "Retrieve your YouTube Analytics reports.", "ownerDomain": "google.com", diff --git a/etc/api/youtubereporting/v1/youtubereporting-api.json b/etc/api/youtubereporting/v1/youtubereporting-api.json new file mode 100644 index 0000000000..c6dd6e5edf --- /dev/null +++ b/etc/api/youtubereporting/v1/youtubereporting-api.json @@ -0,0 +1,522 @@ +{ + "kind": "discovery#restDescription", + "etag": "\"ye6orv2F-1npMW3u9suM3a7C5Bo/8bskZWHrpgKCT1-uvibNvSv4NtA\"", + "discoveryVersion": "v1", + "id": "youtubereporting:v1", + "name": "youtubereporting", + "canonicalName": "YouTube Reporting", + "version": "v1", + "revision": "20150923", + "title": "YouTube Reporting API", + "description": "An API to schedule reporting jobs and download the resulting bulk data reports about YouTube channels, videos etc. in the form of CSV files.", + "ownerDomain": "google.com", + "ownerName": "Google", + "icons": { + "x16": "http://www.google.com/images/icons/product/search-16.gif", + "x32": "http://www.google.com/images/icons/product/search-32.gif" + }, + "documentationLink": "https://developers.google.com/youtube/reporting/v1/reports/", + "protocol": "rest", + "baseUrl": "https://youtubereporting.googleapis.com/", + "basePath": "/", + "rootUrl": "https://youtubereporting.googleapis.com/", + "servicePath": "", + "batchPath": "batch", + "parameters": { + "access_token": { + "type": "string", + "description": "OAuth access token.", + "location": "query" + }, + "alt": { + "type": "string", + "description": "Data format for response.", + "default": "json", + "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" + }, + "bearer_token": { + "type": "string", + "description": "OAuth bearer token.", + "location": "query" + }, + "callback": { + "type": "string", + "description": "JSONP", + "location": "query" + }, + "fields": { + "type": "string", + "description": "Selector specifying which fields to include in a partial response.", + "location": "query" + }, + "key": { + "type": "string", + "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" + }, + "oauth_token": { + "type": "string", + "description": "OAuth 2.0 token for the current user.", + "location": "query" + }, + "pp": { + "type": "boolean", + "description": "Pretty-print response.", + "default": "true", + "location": "query" + }, + "prettyPrint": { + "type": "boolean", + "description": "Returns response with indentations and line breaks.", + "default": "true", + "location": "query" + }, + "quotaUser": { + "type": "string", + "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" + }, + "upload_protocol": { + "type": "string", + "description": "Upload protocol for media (e.g. \"raw\", \"multipart\").", + "location": "query" + }, + "uploadType": { + "type": "string", + "description": "Legacy upload protocol for media (e.g. \"media\", \"multipart\").", + "location": "query" + }, + "$.xgafv": { + "type": "string", + "description": "V1 error format.", + "enumDescriptions": [ + "v1 error format", + "v2 error format" + ], + "location": "query" + } + }, + "auth": { + "oauth2": { + "scopes": { + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly": { + "description": "View monetary and non-monetary YouTube Analytics reports for your YouTube content" + }, + "https://www.googleapis.com/auth/yt-analytics.readonly": { + "description": "View YouTube Analytics reports for your YouTube content" + } + } + } + }, + "schemas": { + "Media": { + "id": "Media", + "type": "object", + "description": "Media resource.", + "properties": { + "resourceName": { + "type": "string", + "description": "Name of the media resource." + } + } + }, + "ListReportTypesResponse": { + "id": "ListReportTypesResponse", + "type": "object", + "description": "Response message for ReportingService.ListReportTypes.", + "properties": { + "reportTypes": { + "type": "array", + "description": "The list of report types.", + "items": { + "$ref": "ReportType" + } + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve next page of results. Pass this value in the ListReportTypesRequest.page_token field in the subsequent call to `ListReportTypes` method to retrieve the next page of results." + } + } + }, + "ReportType": { + "id": "ReportType", + "type": "object", + "description": "A report type.", + "properties": { + "id": { + "type": "string", + "description": "The ID of the report type (max. 100 characters)." + }, + "name": { + "type": "string", + "description": "The name of the report type (max. 100 characters)." + } + } + }, + "Job": { + "id": "Job", + "type": "object", + "description": "A job creating reports of a specific type.", + "properties": { + "id": { + "type": "string", + "description": "The server-generated ID of the job (max. 40 characters)." + }, + "reportTypeId": { + "type": "string", + "description": "The type of reports this job creates. Corresponds to the ID of a ReportType." + }, + "name": { + "type": "string", + "description": "The name of the job (max. 100 characters). TODO(lanthaler) Clarify what this will actually be used for" + }, + "createTime": { + "type": "string", + "description": "The creation date/time of the job." + } + } + }, + "ListJobsResponse": { + "id": "ListJobsResponse", + "type": "object", + "description": "Response message for ReportingService.ListJobs.", + "properties": { + "jobs": { + "type": "array", + "description": "The list of jobs.", + "items": { + "$ref": "Job" + } + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve next page of results. Pass this value in the ListJobsRequest.page_token field in the subsequent call to `ListJobs` method to retrieve the next page of results." + } + } + }, + "Empty": { + "id": "Empty", + "type": "object", + "description": "A generic empty message that you can re-use to avoid defining duplicated empty messages in your APIs. A typical example is to use it as the request or the response type of an API method. For instance: service Foo { rpc Bar(google.protobuf.Empty) returns (google.protobuf.Empty); } The JSON representation for `Empty` is empty JSON object `{}`." + }, + "ListReportsResponse": { + "id": "ListReportsResponse", + "type": "object", + "description": "Response message for ReportingService.ListReports.", + "properties": { + "reports": { + "type": "array", + "description": "The list of report types.", + "items": { + "$ref": "Report" + } + }, + "nextPageToken": { + "type": "string", + "description": "A token to retrieve next page of results. Pass this value in the ListReportsRequest.page_token field in the subsequent call to `ListReports` method to retrieve the next page of results." + } + } + }, + "Report": { + "id": "Report", + "type": "object", + "description": "A report's metadata including the URL from which the report itself can be downloaded.", + "properties": { + "id": { + "type": "string", + "description": "The server-generated ID of the report." + }, + "jobId": { + "type": "string", + "description": "The ID of the job that created this report." + }, + "startTime": { + "type": "string", + "description": "The start of the time period that the report instance covers. The value is inclusive." + }, + "endTime": { + "type": "string", + "description": "The end of the time period that the report instance covers. The value is exclusive." + }, + "createTime": { + "type": "string", + "description": "The date/time when this report was created." + }, + "downloadUrl": { + "type": "string", + "description": "The URL from which the report can be downloaded (max. 1000 characters)." + } + } + } + }, + "resources": { + "media": { + "methods": { + "download": { + "id": "youtubereporting.media.download", + "path": "v1/media/{+resourceName}", + "httpMethod": "GET", + "description": "Method for media download. Download is supported on the URI `/v1/media/{+name}?alt=media`.", + "parameters": { + "resourceName": { + "type": "string", + "description": "Name of the media that is being downloaded. See [][ByteStream.ReadRequest.resource_name].", + "required": true, + "pattern": "^.*$", + "location": "path" + } + }, + "parameterOrder": [ + "resourceName" + ], + "response": { + "$ref": "Media" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ], + "supportsMediaDownload": true + } + } + }, + "reportTypes": { + "methods": { + "list": { + "id": "youtubereporting.reportTypes.list", + "path": "v1/reportTypes", + "httpMethod": "GET", + "description": "Lists report types.", + "parameters": { + "onBehalfOfContentOwner": { + "type": "string", + "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token returned in response to the previous call to the `ListReportTypes` method.", + "location": "query" + } + }, + "response": { + "$ref": "ListReportTypesResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ] + } + } + }, + "jobs": { + "methods": { + "create": { + "id": "youtubereporting.jobs.create", + "path": "v1/jobs", + "httpMethod": "POST", + "description": "Creates a job and returns it.", + "parameters": { + "onBehalfOfContentOwner": { + "type": "string", + "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).", + "location": "query" + } + }, + "request": { + "$ref": "Job" + }, + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ] + }, + "list": { + "id": "youtubereporting.jobs.list", + "path": "v1/jobs", + "httpMethod": "GET", + "description": "Lists jobs.", + "parameters": { + "onBehalfOfContentOwner": { + "type": "string", + "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "Requested page size. Server may return fewer jobs than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A token identifying a page of results the server should return. Typically, this is the value of ListReportTypesResponse.next_page_token returned in response to the previous call to the `ListJobs` method.", + "location": "query" + } + }, + "response": { + "$ref": "ListJobsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ] + }, + "get": { + "id": "youtubereporting.jobs.get", + "path": "v1/jobs/{jobId}", + "httpMethod": "GET", + "description": "Gets a job.", + "parameters": { + "jobId": { + "type": "string", + "description": "The ID of the job to retrieve.", + "required": true, + "location": "path" + }, + "onBehalfOfContentOwner": { + "type": "string", + "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).", + "location": "query" + } + }, + "parameterOrder": [ + "jobId" + ], + "response": { + "$ref": "Job" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ] + }, + "delete": { + "id": "youtubereporting.jobs.delete", + "path": "v1/jobs/{jobId}", + "httpMethod": "DELETE", + "description": "Deletes a job.", + "parameters": { + "jobId": { + "type": "string", + "description": "The ID of the job to delete.", + "required": true, + "location": "path" + }, + "onBehalfOfContentOwner": { + "type": "string", + "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).", + "location": "query" + } + }, + "parameterOrder": [ + "jobId" + ], + "response": { + "$ref": "Empty" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ] + } + }, + "resources": { + "reports": { + "methods": { + "list": { + "id": "youtubereporting.jobs.reports.list", + "path": "v1/jobs/{jobId}/reports", + "httpMethod": "GET", + "description": "Lists reports created by a specific job. Returns NOT_FOUND if the job does not exist.", + "parameters": { + "jobId": { + "type": "string", + "description": "The ID of the job.", + "required": true, + "location": "path" + }, + "onBehalfOfContentOwner": { + "type": "string", + "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).", + "location": "query" + }, + "pageSize": { + "type": "integer", + "description": "Requested page size. Server may return fewer report types than requested. If unspecified, server will pick an appropriate default.", + "format": "int32", + "location": "query" + }, + "pageToken": { + "type": "string", + "description": "A token identifying a page of results the server should return. Typically, this is the value of ListReportsResponse.next_page_token returned in response to the previous call to the `ListReports` method.", + "location": "query" + } + }, + "parameterOrder": [ + "jobId" + ], + "response": { + "$ref": "ListReportsResponse" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ] + }, + "get": { + "id": "youtubereporting.jobs.reports.get", + "path": "v1/jobs/{jobId}/reports/{reportId}", + "httpMethod": "GET", + "description": "Gets the metadata of a specific report.", + "parameters": { + "jobId": { + "type": "string", + "description": "The ID of the job.", + "required": true, + "location": "path" + }, + "reportId": { + "type": "string", + "description": "The ID of the report to retrieve.", + "required": true, + "location": "path" + }, + "onBehalfOfContentOwner": { + "type": "string", + "description": "The content owner's external ID on which behalf the user is acting on. If not set, the user is acting for himself (his own channel).", + "location": "query" + } + }, + "parameterOrder": [ + "jobId", + "reportId" + ], + "response": { + "$ref": "Report" + }, + "scopes": [ + "https://www.googleapis.com/auth/yt-analytics-monetary.readonly", + "https://www.googleapis.com/auth/yt-analytics.readonly" + ] + } + } + } + } + } + } +}